X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fentityownership%2FEntityOwnersModel.java;h=645183394f58a2d01ef63f0885dcc7d4263bdebb;hb=7220409ebe0ed82a23dedc0513ce07f72c9f6f22;hp=1b5e512c593eda9aad664ee7a71be4618eb2a583;hpb=83c901ab9309bda0f78e8a847a5511061f6e79b5;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnersModel.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnersModel.java index 1b5e512c59..645183394f 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnersModel.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnersModel.java @@ -13,6 +13,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controll import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.clustering.entity.owners.rev150804.entity.owners.EntityType; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.clustering.entity.owners.rev150804.entity.owners.entity.type.Entity; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.clustering.entity.owners.rev150804.entity.owners.entity.type.entity.Candidate; +import org.opendaylight.yangtools.util.SharedSingletonMapTemplate; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; @@ -49,69 +50,76 @@ public final class EntityOwnersModel { static final YangInstanceIdentifier ENTITY_TYPES_PATH = YangInstanceIdentifier.of(EntityOwners.QNAME).node(EntityType.QNAME); - static YangInstanceIdentifier entityPath(String entityType, YangInstanceIdentifier entityId) { + private static final SharedSingletonMapTemplate NODE_KEY_TEMPLATE = SharedSingletonMapTemplate.ordered( + CANDIDATE_NAME_QNAME); + + private EntityOwnersModel() { + } + + static YangInstanceIdentifier entityPath(final String entityType, final YangInstanceIdentifier entityId) { return YangInstanceIdentifier.builder(ENTITY_OWNERS_PATH).node(EntityType.QNAME) .nodeWithKey(EntityType.QNAME, ENTITY_TYPE_QNAME, entityType).node(ENTITY_QNAME) .nodeWithKey(ENTITY_QNAME, ENTITY_ID_QNAME, entityId).build(); } - static YangInstanceIdentifier candidatePath(String entityType, YangInstanceIdentifier entityId, - String candidateName) { + static YangInstanceIdentifier candidatePath(final String entityType, final YangInstanceIdentifier entityId, + final String candidateName) { return YangInstanceIdentifier.builder(ENTITY_OWNERS_PATH).node(EntityType.QNAME) .nodeWithKey(EntityType.QNAME, ENTITY_TYPE_QNAME, entityType).node(ENTITY_QNAME) .nodeWithKey(ENTITY_QNAME, ENTITY_ID_QNAME, entityId).node(Candidate.QNAME) .nodeWithKey(Candidate.QNAME, CANDIDATE_NAME_QNAME, candidateName).build(); - } - static YangInstanceIdentifier candidatePath(YangInstanceIdentifier entityPath, String candidateName) { + static YangInstanceIdentifier candidatePath(final YangInstanceIdentifier entityPath, final String candidateName) { return YangInstanceIdentifier.builder(entityPath).node(Candidate.QNAME).nodeWithKey( Candidate.QNAME, CANDIDATE_NAME_QNAME, candidateName).build(); } - static NodeIdentifierWithPredicates candidateNodeKey(String candidateName) { - return new NodeIdentifierWithPredicates(Candidate.QNAME, CANDIDATE_NAME_QNAME, candidateName); + static NodeIdentifierWithPredicates candidateNodeKey(final String candidateName) { + return new NodeIdentifierWithPredicates(Candidate.QNAME, NODE_KEY_TEMPLATE.instantiateWithValue(candidateName)); } - static NormalizedNode entityOwnersWithCandidate(String entityType, YangInstanceIdentifier entityId, - String candidateName) { + static NormalizedNode entityOwnersWithCandidate(final String entityType, + final YangInstanceIdentifier entityId, final String candidateName) { return entityOwnersWithEntityTypeEntry(entityTypeEntryWithEntityEntry(entityType, entityEntryWithCandidateEntry(entityId, candidateName))); } - static ContainerNode entityOwnersWithEntityTypeEntry(MapEntryNode entityTypeNode) { + static ContainerNode entityOwnersWithEntityTypeEntry(final MapEntryNode entityTypeNode) { return ImmutableContainerNodeBuilder.create().withNodeIdentifier( ENTITY_OWNERS_NODE_ID).addChild(ImmutableNodes.mapNodeBuilder(EntityType.QNAME) .addChild(entityTypeNode).build()).build(); } - static MapEntryNode entityTypeEntryWithEntityEntry(String entityType, MapEntryNode entityNode) { + static MapEntryNode entityTypeEntryWithEntityEntry(final String entityType, final MapEntryNode entityNode) { return ImmutableNodes.mapEntryBuilder(EntityType.QNAME, ENTITY_TYPE_QNAME, entityType).addChild(ImmutableNodes.mapNodeBuilder( ENTITY_QNAME).addChild(entityNode).build()).build(); } - static MapEntryNode entityEntryWithCandidateEntry(YangInstanceIdentifier entityId, String candidateName) { + static MapEntryNode entityEntryWithCandidateEntry(final YangInstanceIdentifier entityId, + final String candidateName) { return ImmutableNodes.mapEntryBuilder(ENTITY_QNAME, ENTITY_ID_QNAME, entityId).addChild( candidateEntry(candidateName)).build(); } - static MapNode candidateEntry(String candidateName) { + static MapNode candidateEntry(final String candidateName) { return ImmutableOrderedMapNodeBuilder.create().withNodeIdentifier(new NodeIdentifier(Candidate.QNAME)) .addChild(candidateMapEntry(candidateName)).build(); } - static MapEntryNode candidateMapEntry(String candidateName) { + static MapEntryNode candidateMapEntry(final String candidateName) { return ImmutableNodes.mapEntry(Candidate.QNAME, CANDIDATE_NAME_QNAME, candidateName); } - static MapEntryNode entityEntryWithOwner(YangInstanceIdentifier entityId, String owner) { - return ImmutableNodes.mapEntryBuilder(ENTITY_QNAME, ENTITY_ID_QNAME, entityId).addChild( - ImmutableNodes.leafNode(ENTITY_OWNER_QNAME, owner)).build(); + static MapEntryNode entityEntryWithOwner(final YangInstanceIdentifier entityId, final String owner) { + return ImmutableNodes.mapEntryBuilder(ENTITY_QNAME, ENTITY_ID_QNAME, entityId) + .addChild(ImmutableNodes.leafNode(ENTITY_OWNER_QNAME, owner != null ? owner : "")) + .build(); } - public static String entityTypeFromEntityPath(YangInstanceIdentifier entityPath) { + public static String entityTypeFromEntityPath(final YangInstanceIdentifier entityPath) { YangInstanceIdentifier parent = entityPath; while (!parent.isEmpty()) { if (EntityType.QNAME.equals(parent.getLastPathArgument().getNodeType())) { @@ -124,7 +132,7 @@ public final class EntityOwnersModel { return null; } - static DOMEntity createEntity(YangInstanceIdentifier entityPath) { + static DOMEntity createEntity(final YangInstanceIdentifier entityPath) { String entityType = null; YangInstanceIdentifier entityId = null; for (PathArgument pathArg: entityPath.getPathArguments()) {