1 package org.opendaylight.controller.cluster.datastore.utils;
3 import org.opendaylight.controller.cluster.datastore.node.utils.NodeIdentifierFactory;
4 import org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages;
5 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
6 import org.slf4j.Logger;
7 import org.slf4j.LoggerFactory;
9 import java.util.ArrayList;
10 import java.util.List;
15 public class InstanceIdentifierUtils {
17 protected static final Logger logger = LoggerFactory
18 .getLogger(InstanceIdentifierUtils.class);
20 public static String getParentPath(String currentElementPath) {
22 StringBuilder parentPath = new StringBuilder();
24 if (currentElementPath != null) {
25 String[] parentPaths = currentElementPath.split("/");
26 if (parentPaths.length > 2) {
27 for (int i = 0; i < parentPaths.length - 1; i++) {
28 if (parentPaths[i].length() > 0) {
29 parentPath.append( "/");
30 parentPath.append( parentPaths[i]);
35 return parentPath.toString();
39 public static YangInstanceIdentifier from(String path) {
40 String[] ids = path.split("/");
42 List<YangInstanceIdentifier.PathArgument> pathArguments =
44 for (String nodeId : ids) {
45 if (!"".equals(nodeId)) {
47 .add(NodeIdentifierFactory.getArgument(nodeId));
50 final YangInstanceIdentifier instanceIdentifier =
51 YangInstanceIdentifier.create(pathArguments);
52 return instanceIdentifier;
56 * @deprecated Use {@link org.opendaylight.controller.cluster.datastore.util.InstanceIdentifierUtils} instead
61 public static NormalizedNodeMessages.InstanceIdentifier toSerializable(YangInstanceIdentifier path){
62 return org.opendaylight.controller.cluster.datastore.util.InstanceIdentifierUtils.toSerializable(path);
66 * @deprecated Use {@link org.opendaylight.controller.cluster.datastore.util.InstanceIdentifierUtils} instead
71 public static YangInstanceIdentifier fromSerializable(NormalizedNodeMessages.InstanceIdentifier path){
72 return org.opendaylight.controller.cluster.datastore.util.InstanceIdentifierUtils.fromSerializable(path);