View Javadoc
1 package org.smartcomps.twister.engine.priv.core.definition.impl; 2 3 import org.smartcomps.twister.engine.priv.core.definition.Activity; 4 import org.smartcomps.twister.engine.priv.core.definition.StructuredActivity; 5 import org.smartcomps.twister.engine.priv.core.dynamic.StructuredEC; 6 7 import java.util.ArrayList; 8 import java.util.HashSet; 9 import java.util.Iterator; 10 import java.util.List; 11 import java.util.Set; 12 import java.util.SortedSet; 13 import java.util.TreeSet; 14 import java.util.Collection; 15 16 /*** 17 * Persistent implementation of the StructuredActivity interface. 18 * @see org.smartcomps.twister.engine.priv.core.definition.StructuredActivity 19 */ 20 public abstract class StructuredActivityImpl extends ActivityImpl implements StructuredActivity { 21 22 private Set activitySet = new HashSet(); 23 private Collection executionContexts = new HashSet(); 24 25 public List getActivities() { 26 // Making sure the set is ordered before using it to create the List. 27 SortedSet sortedSet = new TreeSet(activitySet); 28 return new ArrayList(sortedSet); 29 } 30 31 public void setActivities(List activities) { 32 this.activitySet = new HashSet(activities); 33 } 34 35 public Set getActivitySet() { 36 return activitySet; 37 } 38 39 /*** 40 * Do not use this method, its doesn't maintain activity indexes properly, use 41 * the addActivity method instead. 42 * @param activitySet 43 */ 44 public void setActivitySet(Set activitySet) { 45 this.activitySet = activitySet; 46 } 47 48 public void addActivity(Activity activity) { 49 ActivityImpl impl = (ActivityImpl) activity; 50 impl.setIndex(nextActivityIndex()); 51 getActivitySet().add(activity); 52 impl.setContainer(this); 53 } 54 55 public Collection getExecutionContexts() { 56 return executionContexts; 57 } 58 59 public void setExecutionContexts(Collection executionContexts) { 60 if (!(executionContexts instanceof Set)) { 61 this.executionContexts = new HashSet(executionContexts); 62 } else { 63 this.executionContexts = executionContexts; 64 } 65 } 66 67 public void addExecutionContext(StructuredEC context) { 68 this.executionContexts.add(context); 69 } 70 71 private int nextActivityIndex() { 72 int index = 0; 73 for (Iterator actIterator = getActivitySet().iterator(); actIterator.hasNext();) { 74 ActivityImpl activity = (ActivityImpl) actIterator.next(); 75 if (activity.getIndex() > index) 76 index = activity.getIndex(); 77 } 78 return index + 1; 79 } 80 81 82 }

This page was automatically generated by Maven