Author: azeez
Date: Sun Mar 13 21:41:45 2011
New Revision: 1081225
URL: http://svn.apache.org/viewvc?rev=1081225&view=rev
Log:
Do not replicate empty StateClusteringCommandCollections
Modified:
axis/axis2/java/core/trunk/modules/clustering/src/org/apache/axis2/clustering/state/DefaultStateManager.java
axis/axis2/java/core/trunk/modules/clustering/src/org/apache/axis2/clustering/state/commands/StateClusteringCommandCollection.java
Modified:
axis/axis2/java/core/trunk/modules/clustering/src/org/apache/axis2/clustering/state/DefaultStateManager.java
URL:
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/clustering/src/org/apache/axis2/clustering/state/DefaultStateManager.java?rev=1081225&r1=1081224&r2=1081225&view=diff
==============================================================================
---
axis/axis2/java/core/trunk/modules/clustering/src/org/apache/axis2/clustering/state/DefaultStateManager.java
(original)
+++
axis/axis2/java/core/trunk/modules/clustering/src/org/apache/axis2/clustering/state/DefaultStateManager.java
Sun Mar 13 21:41:45 2011
@@ -76,8 +76,10 @@ public class DefaultStateManager impleme
public void updateContexts(AbstractContext[] contexts) throws
ClusteringFault {
StateClusteringCommandCollection cmd =
StateClusteringCommandFactory.getCommandCollection(contexts,
-
excludedReplicationPatterns);
- sender.sendToGroup(cmd);
+
excludedReplicationPatterns);
+ if (!cmd.isEmpty()) {
+ sender.sendToGroup(cmd);
+ }
}
public void replicateState(StateClusteringCommand command) throws
ClusteringFault {
Modified:
axis/axis2/java/core/trunk/modules/clustering/src/org/apache/axis2/clustering/state/commands/StateClusteringCommandCollection.java
URL:
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/clustering/src/org/apache/axis2/clustering/state/commands/StateClusteringCommandCollection.java?rev=1081225&r1=1081224&r2=1081225&view=diff
==============================================================================
---
axis/axis2/java/core/trunk/modules/clustering/src/org/apache/axis2/clustering/state/commands/StateClusteringCommandCollection.java
(original)
+++
axis/axis2/java/core/trunk/modules/clustering/src/org/apache/axis2/clustering/state/commands/StateClusteringCommandCollection.java
Sun Mar 13 21:41:45 2011
@@ -24,27 +24,29 @@ import org.apache.axis2.clustering.state
import org.apache.axis2.context.ConfigurationContext;
import java.util.ArrayList;
+import java.util.List;
/**
- *
+ * A StateClusteringCommand consisting of a collection of other
StateClusteringCommands
*/
public class StateClusteringCommandCollection extends StateClusteringCommand {
- private final ArrayList commands;
+ private final List<StateClusteringCommand> commands;
- public StateClusteringCommandCollection(ArrayList commands) {
+ public StateClusteringCommandCollection(List<StateClusteringCommand>
commands) {
this.commands = commands;
}
public void execute(ConfigurationContext configContext) throws
ClusteringFault {
- for (int i = 0; i < commands.size(); i++) {
- StateClusteringCommand cmd = (StateClusteringCommand)
commands.get(i);
- if (cmd != null) {
- cmd.execute(configContext);
- }
+ for (StateClusteringCommand command : commands) {
+ command.execute(configContext);
}
}
+ public boolean isEmpty(){
+ return commands != null && commands.isEmpty();
+ }
+
public String toString() {
return "StateClusteringCommandCollection";
}