View Javadoc

1   package org.andromda.cartridges.bpm4struts.metafacades;
2   
3   import java.util.ArrayList;
4   import java.util.Collection;
5   import java.util.Iterator;
6   import java.util.LinkedHashSet;
7   import java.util.List;
8   
9   import org.andromda.metafacades.uml.DependencyFacade;
10  import org.andromda.metafacades.uml.ModelElementFacade;
11  import org.andromda.metafacades.uml.OperationFacade;
12  import org.andromda.metafacades.uml.ParameterFacade;
13  
14  
15  /**
16   * MetafacadeLogic implementation.
17   *
18   * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsController
19   */
20  public class StrutsControllerLogicImpl
21      extends StrutsControllerLogic
22  {
23      public StrutsControllerLogicImpl(
24          java.lang.Object metaObject,
25          java.lang.String context)
26      {
27          super(metaObject, context);
28      }
29  
30      /**
31       * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsController#getFullPath()
32       */
33      protected java.lang.String handleGetFullPath()
34      {
35          return '/' + getPackageName().replace('.', '/') + '/' + getName();
36      }
37  
38      /**
39       * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsController#getDeferringActions()
40       */
41      public List getDeferringActions()
42      {
43          final Collection deferringActions = new LinkedHashSet();
44  
45          final Collection operations = getOperations();
46          for (final Iterator operationIterator = operations.iterator(); operationIterator.hasNext();)
47          {
48              final StrutsControllerOperation operation = (StrutsControllerOperation)operationIterator.next();
49              deferringActions.addAll(operation.getDeferringActions());
50          }
51          return new ArrayList(deferringActions);
52      }
53  
54      /**
55       * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsController#getSessionObjects()
56       */
57      protected List handleGetSessionObjects()
58      {
59          final List objectsList = new ArrayList();
60  
61          final Collection dependencies = this.getSourceDependencies();
62          for (final Iterator iterator = dependencies.iterator(); iterator.hasNext();)
63          {
64              final DependencyFacade dependency = (DependencyFacade)iterator.next();
65              final ModelElementFacade modelElement = dependency.getTargetElement();
66              if (modelElement instanceof StrutsSessionObject)
67                  objectsList.add(modelElement);
68          }
69  
70          return objectsList;
71      }
72  
73      /**
74       * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsController#getAllArguments()
75       */
76      protected List handleGetAllArguments()
77      {
78          final List allArguments = new ArrayList();
79          final Collection operations = this.getOperations();
80  
81          for (final Iterator operationIterator = operations.iterator(); operationIterator.hasNext();)
82          {
83              final OperationFacade operationFacade = (OperationFacade)operationIterator.next();
84              final Collection arguments = operationFacade.getArguments();
85              for (final Iterator argumentIterator = arguments.iterator(); argumentIterator.hasNext();)
86              {
87                  final ParameterFacade parameterFacade = (ParameterFacade)argumentIterator.next();
88                  allArguments.add(parameterFacade);
89              }
90          }
91  
92          return allArguments;
93      }
94  }