Created sal-clustering-commons and moved
[controller.git] / opendaylight / md-sal / sal-protocolbuffer-encoding / src / main / java / org / opendaylight / controller / cluster / datastore / node / utils / NodeIdentifierWithPredicatesGenerator.java
diff --git a/opendaylight/md-sal/sal-protocolbuffer-encoding/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/NodeIdentifierWithPredicatesGenerator.java b/opendaylight/md-sal/sal-protocolbuffer-encoding/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/NodeIdentifierWithPredicatesGenerator.java
deleted file mode 100644 (file)
index 6d3a26a..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- *
- *  Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
- *
- *  This program and the accompanying materials are made available under the
- *  terms of the Eclipse Public License v1.0 which accompanies this distribution,
- *  and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- */
-
-package org.opendaylight.controller.cluster.datastore.node.utils;
-
-import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
-import org.opendaylight.yangtools.yang.data.impl.codec.TypeDefinitionAwareCodec;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class NodeIdentifierWithPredicatesGenerator{
-    private final String id;
-    private static final Pattern pattern = Pattern.compile("(.*)\\Q[{\\E(.*)\\Q}]\\E");
-    private final Matcher matcher;
-    private final boolean doesMatch;
-    private final ListSchemaNode listSchemaNode;
-
-    public NodeIdentifierWithPredicatesGenerator(String id, DataSchemaNode schemaNode){
-        this.id = id;
-        matcher = pattern.matcher(this.id);
-        doesMatch = matcher.matches();
-
-        if(schemaNode instanceof  ListSchemaNode){
-            this.listSchemaNode = (ListSchemaNode) schemaNode;
-        } else {
-            this.listSchemaNode = null;
-        }
-    }
-
-
-    public boolean matches(){
-        return doesMatch;
-    }
-
-    public YangInstanceIdentifier.NodeIdentifierWithPredicates getPathArgument(){
-        final String group = matcher.group(2);
-        final String[] keyValues = group.split(",");
-        Map<QName, Object> nameValues = new HashMap<>();
-
-        for(String keyValue : keyValues){
-            int eqIndex = keyValue.lastIndexOf('=');
-            try {
-                final QName key = QNameFactory
-                    .create(keyValue.substring(0, eqIndex));
-                nameValues.put(key, getValue(key, keyValue.substring(eqIndex + 1)));
-            } catch(IllegalArgumentException e){
-                System.out.println("Error processing identifier : " + id);
-                throw e;
-            }
-        }
-
-        return new YangInstanceIdentifier.NodeIdentifierWithPredicates(QNameFactory.create(matcher.group(1)), nameValues);
-    }
-
-
-    private Object getValue(QName key, String value){
-        if(listSchemaNode != null){
-            for(DataSchemaNode node : listSchemaNode.getChildNodes()){
-                if(node instanceof LeafSchemaNode && node.getQName().equals(key)){
-                    return TypeDefinitionAwareCodec.from(LeafSchemaNode.class.cast(node).getType()).deserialize(value);
-                }
-            }
-        }
-        return value;
-    }
-}