X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fforwardingrules-manager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fforwardingrulesmanager%2Fconsumer%2Fimpl%2FGroupConsumerImpl.java;h=7d16cb5b428452dfa25e110ebbc7ad795c298a18;hb=3f83be2d86dfe0aea7d9f1392c75939ee678324e;hp=381faa41b082ea069df75ca8b5a82736d94fd642;hpb=56c8c501c2b61b8145257768249f58a40830fe44;p=controller.git diff --git a/opendaylight/md-sal/forwardingrules-manager/src/main/java/org/opendaylight/controller/forwardingrulesmanager/consumer/impl/GroupConsumerImpl.java b/opendaylight/md-sal/forwardingrules-manager/src/main/java/org/opendaylight/controller/forwardingrulesmanager/consumer/impl/GroupConsumerImpl.java index 381faa41b0..7d16cb5b42 100644 --- a/opendaylight/md-sal/forwardingrules-manager/src/main/java/org/opendaylight/controller/forwardingrulesmanager/consumer/impl/GroupConsumerImpl.java +++ b/opendaylight/md-sal/forwardingrules-manager/src/main/java/org/opendaylight/controller/forwardingrulesmanager/consumer/impl/GroupConsumerImpl.java @@ -58,7 +58,7 @@ public class GroupConsumerImpl implements IForwardingRulesManager { private final GroupEventListener groupEventListener = new GroupEventListener(); private Registration groupListener; private SalGroupService groupService; - private GroupDataCommitHandler commitHandler; + private GroupDataCommitHandler groupCommitHandler; private ConcurrentMap originalSwGroupView; private ConcurrentMap installedSwGroupView; @@ -74,9 +74,6 @@ public class GroupConsumerImpl implements IForwardingRulesManager { InstanceIdentifier path = InstanceIdentifier.builder(Groups.class).toInstance(); groupService = FRMConsumerImpl.getProviderSession().getRpcService(SalGroupService.class); - clusterGroupContainerService = FRMConsumerImpl.getClusterContainerService(); - container = FRMConsumerImpl.getContainer(); - if (!(cacheStartup())) { logger.error("Unanle to allocate/retrieve group cache"); System.out.println("Unable to allocate/retrieve group cache"); @@ -97,8 +94,10 @@ public class GroupConsumerImpl implements IForwardingRulesManager { return; } - commitHandler = new GroupDataCommitHandler(); - FRMConsumerImpl.getDataProviderService().registerCommitHandler(path, commitHandler); + groupCommitHandler = new GroupDataCommitHandler(); + FRMConsumerImpl.getDataProviderService().registerCommitHandler(path, groupCommitHandler); + clusterGroupContainerService = FRMConsumerImpl.getClusterContainerService(); + container = FRMConsumerImpl.getContainer(); } private boolean allocateGroupCaches() { @@ -220,23 +219,13 @@ public class GroupConsumerImpl implements IForwardingRulesManager { logger.error("Container Name is invalid %s" + containerName); return new Status(StatusCode.BADREQUEST, "Container Name is invalid"); } - + groupName = group.getGroupName(); if (!FRMUtil.isNameValid(groupName)) { logger.error("Group Name is invalid %s" + groupName); return new Status(StatusCode.BADREQUEST, "Group Name is invalid"); } - - /* returnResult = doesGroupEntryExists(group.getKey(), groupName, containerName); - - if (FRMUtil.operation.ADD == operation && returnResult) { - logger.error("Record with same Group Name exists"); - return new Status(StatusCode.BADREQUEST, "Group record exists"); - } else if (!returnResult) { - logger.error("Group record does not exist"); - return new Status(StatusCode.BADREQUEST, "Group record does not exist"); - }*/ - + if (!(group.getGroupType().getIntValue() >= GroupTypes.GroupAll.getIntValue() && group.getGroupType() .getIntValue() <= GroupTypes.GroupFf.getIntValue())) { logger.error("Invalid Group type %d" + group.getGroupType().getIntValue()); @@ -258,24 +247,8 @@ public class GroupConsumerImpl implements IForwardingRulesManager { } return new Status(StatusCode.SUCCESS); - } - /* private boolean doesGroupEntryExists(GroupKey key, String groupName, String containerName) { - if (!originalSwGroupView.containsKey(key)) { - return false; - } - - for (ConcurrentMap.Entry entry : originalSwGroupView.entrySet()) { - if (entry.getValue().getGroupName().equals(groupName)) { - if (entry.getValue().getContainerName().equals(containerName)) { - return true; - } - } - } - return true; - }*/ - /** * Update Group entries to the southbound plugin/inventory and our internal * database @@ -293,27 +266,12 @@ public class GroupConsumerImpl implements IForwardingRulesManager { logger.error("Group data object validation failed %s" + groupUpdateDataObject.getGroupName()); return groupOperationStatus; } - - /*if (originalSwGroupView.containsKey(groupKey)) { - originalSwGroupView.remove(groupKey); - originalSwGroupView.put(groupKey, groupUpdateDataObject); - } -*/ - if (groupUpdateDataObject.isInstall()) { - UpdateGroupInputBuilder groupData = new UpdateGroupInputBuilder(); - updateGroupBuilder = new UpdatedGroupBuilder(); - updateGroupBuilder.fieldsFrom(groupUpdateDataObject); - groupData.setUpdatedGroup(updateGroupBuilder.build()); - // TODO how to get original group and modified group. - - /* if (installedSwGroupView.containsKey(groupKey)) { - installedSwGroupView.remove(groupKey); - installedSwGroupView.put(groupKey, groupUpdateDataObject); - }*/ - - groupService.updateGroup(groupData.build()); - } - + + UpdateGroupInputBuilder groupData = new UpdateGroupInputBuilder(); + updateGroupBuilder = new UpdatedGroupBuilder(); + updateGroupBuilder.fieldsFrom(groupUpdateDataObject); + groupData.setUpdatedGroup(updateGroupBuilder.build()); + groupService.updateGroup(groupData.build()); return groupOperationStatus; } @@ -331,20 +289,14 @@ public class GroupConsumerImpl implements IForwardingRulesManager { logger.error("Group data object validation failed %s" + groupAddDataObject.getGroupName()); return groupOperationStatus; } - - //originalSwGroupView.put(groupKey, groupAddDataObject); - - if (groupAddDataObject.isInstall()) { - AddGroupInputBuilder groupData = new AddGroupInputBuilder(); - groupData.setBuckets(groupAddDataObject.getBuckets()); - groupData.setContainerName(groupAddDataObject.getContainerName()); - groupData.setGroupId(groupAddDataObject.getGroupId()); - groupData.setGroupType(groupAddDataObject.getGroupType()); - groupData.setNode(groupAddDataObject.getNode()); - // installedSwGroupView.put(groupKey, groupAddDataObject); - groupService.addGroup(groupData.build()); - } - + + AddGroupInputBuilder groupData = new AddGroupInputBuilder(); + groupData.setBuckets(groupAddDataObject.getBuckets()); + groupData.setContainerName(groupAddDataObject.getContainerName()); + groupData.setGroupId(groupAddDataObject.getGroupId()); + groupData.setGroupType(groupAddDataObject.getGroupType()); + groupData.setNode(groupAddDataObject.getNode()); + groupService.addGroup(groupData.build()); return groupOperationStatus; } @@ -362,19 +314,14 @@ public class GroupConsumerImpl implements IForwardingRulesManager { logger.error("Group data object validation failed %s" + groupRemoveDataObject.getGroupName()); return groupOperationStatus; } - //originalSwGroupView.put(groupKey, groupAddDataObject); - - if (groupRemoveDataObject.isInstall()) { - RemoveGroupInputBuilder groupData = new RemoveGroupInputBuilder(); - groupData.setBuckets(groupRemoveDataObject.getBuckets()); - groupData.setContainerName(groupRemoveDataObject.getContainerName()); - groupData.setGroupId(groupRemoveDataObject.getGroupId()); - groupData.setGroupType(groupRemoveDataObject.getGroupType()); - groupData.setNode(groupRemoveDataObject.getNode()); - // installedSwGroupView.put(groupKey, groupAddDataObject); - groupService.removeGroup(groupData.build()); - } - + + RemoveGroupInputBuilder groupData = new RemoveGroupInputBuilder(); + groupData.setBuckets(groupRemoveDataObject.getBuckets()); + groupData.setContainerName(groupRemoveDataObject.getContainerName()); + groupData.setGroupId(groupRemoveDataObject.getGroupId()); + groupData.setGroupType(groupRemoveDataObject.getGroupType()); + groupData.setNode(groupRemoveDataObject.getNode()); + groupService.removeGroup(groupData.build()); return groupOperationStatus; } @@ -405,7 +352,7 @@ public class GroupConsumerImpl implements IForwardingRulesManager { } } - return Rpcs.getRpcResult(true, null, null); + return Rpcs.getRpcResult(true, null, Collections.emptySet()); } private final class GroupDataCommitHandler implements DataCommitHandler, DataObject> { @@ -506,7 +453,6 @@ public class GroupConsumerImpl implements IForwardingRulesManager { @Override public void onGroupAdded(GroupAdded notification) { - System.out.println("added Group.........................."); addedGroups.add(notification); }