org.imixs.workflow.jee.ejb
Class ModelService

java.lang.Object
  extended by org.imixs.workflow.jee.ejb.ModelService
All Implemented Interfaces:
org.imixs.workflow.ExtendedModel, org.imixs.workflow.Model

@DeclareRoles(value={"org.imixs.ACCESSLEVEL.NOACCESS","org.imixs.ACCESSLEVEL.READERACCESS","org.imixs.ACCESSLEVEL.AUTHORACCESS","org.imixs.ACCESSLEVEL.EDITORACCESS","org.imixs.ACCESSLEVEL.MANAGERACCESS"})
@RolesAllowed(value={"org.imixs.ACCESSLEVEL.NOACCESS","org.imixs.ACCESSLEVEL.READERACCESS","org.imixs.ACCESSLEVEL.AUTHORACCESS","org.imixs.ACCESSLEVEL.EDITORACCESS","org.imixs.ACCESSLEVEL.MANAGERACCESS"})
public class ModelService
extends java.lang.Object
implements org.imixs.workflow.ExtendedModel

The ModelManager is independend form the IX JEE Entity EJBs and uses the standard IntemCollection Object as a data transfer object to comunitcate with clients. Since Version 1.7.0 The Implementation handles multiple model versions. Different Versions of an Model Entity can be saved and updated. The Getter methods can be furthermore Controlled by providing a valid Model Version. If no model version is set this Implementation automatically defaults to the highest available ModelVersion

Author:
rsoika
See Also:
org.imixs.workflow.ModelManager, org.imixs.workflow.jee.ejb.ModelManager

Constructor Summary
ModelService()
           
 
Method Summary
 org.imixs.workflow.ItemCollection getActivityEntity(int processid, int activityid)
          This method returns the ActivityEntity with the highest Version number ($modelversion)
 org.imixs.workflow.ItemCollection getActivityEntityByVersion(int processid, int activityid, java.lang.String modelVersion)
           
 java.util.Collection<org.imixs.workflow.ItemCollection> getActivityEntityList(int processid)
          returns a collection of ItemCollections representing the model activity Entities for the coresponding processid
 java.util.Collection<org.imixs.workflow.ItemCollection> getActivityEntityListByVersion(int processid, java.lang.String aModelVersion)
           
 java.util.List<java.lang.String> getAllModelVersions()
          returns a String list of all accessible Modelversions
 java.util.List<org.imixs.workflow.ItemCollection> getAllProcessEntitiesByGroup(java.lang.String aGroup)
          returns a list of all ProcessEntities for a specific ProcessGroup independent from the modelversion.
 java.util.List<org.imixs.workflow.ItemCollection> getAllProcessEntitiesByGroupByVersion(java.lang.String aGroup, java.lang.String aversion)
          returns a list of all ProcessEntities for a specific ProcessGroup and modelversion.
 java.util.List<org.imixs.workflow.ItemCollection> getAllStartProcessEntities()
          returns a list of all ProcessEntities which are the first one in each ProcessGroup.
 java.util.List<org.imixs.workflow.ItemCollection> getAllStartProcessEntitiesByVersion(java.lang.String version)
          returns a list of all ProcessEntities which are the first one in each ProcessGroup.
 java.util.List<java.lang.String> getAllWorkflowGroups()
          returns a String list of all existing ProcessGroup Names
 java.util.List<java.lang.String> getAllWorkflowGroupsByVersion(java.lang.String version)
           
 java.util.Collection<org.imixs.workflow.ItemCollection> getEnvironmentEntityList()
           
 java.util.Collection<org.imixs.workflow.ItemCollection> getEnvironmentEntityListByVersion(java.lang.String modelversion)
           
 java.lang.String getLatestVersion()
          This helper method finds the highest Model Version available in the system.
 org.imixs.workflow.ItemCollection getProcessEntity(int processid)
           
 org.imixs.workflow.ItemCollection getProcessEntityByVersion(int processid, java.lang.String modelversion)
           
 java.util.Collection<org.imixs.workflow.ItemCollection> getProcessEntityList()
          returns a collection of ItemCollections representing the model process Entities
 java.util.Collection<org.imixs.workflow.ItemCollection> getProcessEntityListByVersion(java.lang.String aModelVersion)
          returns a collection of ItemCollections representing the model process Entities
 java.util.List<org.imixs.workflow.ItemCollection> getPublicActivities(int aprocessid)
          returns all the activities in a list for a corresponding process entity The method returns only Activities where keypublicresult !
 java.util.List<org.imixs.workflow.ItemCollection> getPublicActivitiesByVersion(int aprocessid, java.lang.String version)
          returns all the activities in a list for a corresponding process entity The method returns only Activities where keypublicresult !
 void removeModelVersion(java.lang.String modelversion)
          This method removes a spcific ModelVersion defined by param 'modelversion'.
 void saveActivityEntity(org.imixs.workflow.ItemCollection ic)
          Saves or updates an ActivityEntity represented by an ItemCollection.
 void saveEnvironmentEntity(org.imixs.workflow.ItemCollection ic)
          Saves or updates an EnvironmentEntity represented by an ItemCollection.
 void saveProcessEntity(org.imixs.workflow.ItemCollection ic)
          Saves or updates a ProcessEntitiy represented by an ItemCollection.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ModelService

public ModelService()
Method Detail

getActivityEntity

public org.imixs.workflow.ItemCollection getActivityEntity(int processid,
                                                           int activityid)
                                                    throws org.imixs.workflow.exceptions.ModelException
This method returns the ActivityEntity with the highest Version number ($modelversion)

Specified by:
getActivityEntity in interface org.imixs.workflow.Model
Throws:
org.imixs.workflow.exceptions.ModelException

getActivityEntityByVersion

public org.imixs.workflow.ItemCollection getActivityEntityByVersion(int processid,
                                                                    int activityid,
                                                                    java.lang.String modelVersion)
                                                             throws org.imixs.workflow.exceptions.ModelException
Specified by:
getActivityEntityByVersion in interface org.imixs.workflow.ExtendedModel
Throws:
org.imixs.workflow.exceptions.ModelException

getProcessEntity

public org.imixs.workflow.ItemCollection getProcessEntity(int processid)
                                                   throws org.imixs.workflow.exceptions.ModelException
Specified by:
getProcessEntity in interface org.imixs.workflow.Model
Throws:
org.imixs.workflow.exceptions.ModelException

getProcessEntityByVersion

public org.imixs.workflow.ItemCollection getProcessEntityByVersion(int processid,
                                                                   java.lang.String modelversion)
                                                            throws org.imixs.workflow.exceptions.ModelException
Specified by:
getProcessEntityByVersion in interface org.imixs.workflow.ExtendedModel
Throws:
org.imixs.workflow.exceptions.ModelException

getActivityEntityList

public java.util.Collection<org.imixs.workflow.ItemCollection> getActivityEntityList(int processid)
                                                                              throws org.imixs.workflow.exceptions.ModelException
returns a collection of ItemCollections representing the model activity Entities for the coresponding processid

Specified by:
getActivityEntityList in interface org.imixs.workflow.Model
Throws:
org.imixs.workflow.exceptions.ModelException

getActivityEntityListByVersion

public java.util.Collection<org.imixs.workflow.ItemCollection> getActivityEntityListByVersion(int processid,
                                                                                              java.lang.String aModelVersion)
                                                                                       throws org.imixs.workflow.exceptions.ModelException
Specified by:
getActivityEntityListByVersion in interface org.imixs.workflow.ExtendedModel
Throws:
org.imixs.workflow.exceptions.ModelException

getProcessEntityList

public java.util.Collection<org.imixs.workflow.ItemCollection> getProcessEntityList()
                                                                             throws org.imixs.workflow.exceptions.ModelException
returns a collection of ItemCollections representing the model process Entities

Specified by:
getProcessEntityList in interface org.imixs.workflow.Model
Throws:
org.imixs.workflow.exceptions.ModelException

getProcessEntityListByVersion

public java.util.Collection<org.imixs.workflow.ItemCollection> getProcessEntityListByVersion(java.lang.String aModelVersion)
                                                                                      throws org.imixs.workflow.exceptions.ModelException
returns a collection of ItemCollections representing the model process Entities

Specified by:
getProcessEntityListByVersion in interface org.imixs.workflow.ExtendedModel
Throws:
org.imixs.workflow.exceptions.ModelException

getEnvironmentEntityList

public java.util.Collection<org.imixs.workflow.ItemCollection> getEnvironmentEntityList()
                                                                                 throws org.imixs.workflow.exceptions.ModelException
Throws:
org.imixs.workflow.exceptions.ModelException

getEnvironmentEntityListByVersion

public java.util.Collection<org.imixs.workflow.ItemCollection> getEnvironmentEntityListByVersion(java.lang.String modelversion)
                                                                                          throws org.imixs.workflow.exceptions.ModelException
Throws:
org.imixs.workflow.exceptions.ModelException

saveActivityEntity

public void saveActivityEntity(org.imixs.workflow.ItemCollection ic)
                        throws org.imixs.workflow.exceptions.ModelException,
                               org.imixs.workflow.exceptions.AccessDeniedException
Saves or updates an ActivityEntity represented by an ItemCollection. The Entity is unique identified of its Attributes 'numProcessID', 'numActivityID' and '$modelversion' The Method verifies that an existing instance will be updated.

Parameters:
ic -
Throws:
org.imixs.workflow.exceptions.AccessDeniedException
java.lang.Exception
org.imixs.workflow.exceptions.ModelException

saveProcessEntity

public void saveProcessEntity(org.imixs.workflow.ItemCollection ic)
                       throws org.imixs.workflow.exceptions.ModelException,
                              org.imixs.workflow.exceptions.AccessDeniedException
Saves or updates a ProcessEntitiy represented by an ItemCollection. The Entity is unique identified of its Attributes 'numProcessID' and '$modelversion' The Method verifies that an existing instance will be updated.

Parameters:
ic -
Throws:
org.imixs.workflow.exceptions.AccessDeniedException
org.imixs.workflow.exceptions.ModelException

saveEnvironmentEntity

public void saveEnvironmentEntity(org.imixs.workflow.ItemCollection ic)
                           throws org.imixs.workflow.exceptions.ModelException,
                                  org.imixs.workflow.exceptions.AccessDeniedException
Saves or updates an EnvironmentEntity represented by an ItemCollection. The Entity is unique identified of its Attributes 'txtName' and '$modelversion' The Method verifies that an existing instance will be updated.

Parameters:
ic -
Throws:
org.imixs.workflow.exceptions.AccessDeniedException
java.lang.Exception
org.imixs.workflow.exceptions.ModelException

removeModelVersion

public void removeModelVersion(java.lang.String modelversion)
                        throws org.imixs.workflow.exceptions.ModelException,
                               org.imixs.workflow.exceptions.AccessDeniedException
This method removes a spcific ModelVersion defined by param 'modelversion'. If modelVersion is null the method will remove all models

Throws:
org.imixs.workflow.exceptions.AccessDeniedException
org.imixs.workflow.exceptions.ModelException

getLatestVersion

public java.lang.String getLatestVersion()
                                  throws org.imixs.workflow.exceptions.ModelException
This helper method finds the highest Model Version available in the system. Returns an empty String if no version was found!

Returns:
String with the latest model version
Throws:
org.imixs.workflow.exceptions.ModelException

getAllModelVersions

public java.util.List<java.lang.String> getAllModelVersions()
returns a String list of all accessible Modelversions

Returns:

getPublicActivities

public java.util.List<org.imixs.workflow.ItemCollection> getPublicActivities(int aprocessid)
returns all the activities in a list for a corresponding process entity The method returns only Activities where keypublicresult != "0"

Returns:
List of activity Entities

getPublicActivitiesByVersion

public java.util.List<org.imixs.workflow.ItemCollection> getPublicActivitiesByVersion(int aprocessid,
                                                                                      java.lang.String version)
returns all the activities in a list for a corresponding process entity The method returns only Activities where keypublicresult != "0"

Returns:
List of activity Entities

getAllWorkflowGroups

public java.util.List<java.lang.String> getAllWorkflowGroups()
returns a String list of all existing ProcessGroup Names

Returns:

getAllWorkflowGroupsByVersion

public java.util.List<java.lang.String> getAllWorkflowGroupsByVersion(java.lang.String version)

getAllStartProcessEntities

public java.util.List<org.imixs.workflow.ItemCollection> getAllStartProcessEntities()
returns a list of all ProcessEntities which are the first one in each ProcessGroup. So for each ProcessGroup the ProcessEntity with the lowest processID will be returned. The method builds a cash with the best (lowest) ProcessID for each process group.

Returns:

getAllStartProcessEntitiesByVersion

public java.util.List<org.imixs.workflow.ItemCollection> getAllStartProcessEntitiesByVersion(java.lang.String version)
returns a list of all ProcessEntities which are the first one in each ProcessGroup. The ModelVersion specifies the Model to be analiezed. So for each ProcessGroup the ProcessEntity with the lowest processID will be returned. The method builds a cash with the best (lowest) ProcessID for each process group. The collection returned will be sorted by the numProcessID

Returns:

getAllProcessEntitiesByGroup

public java.util.List<org.imixs.workflow.ItemCollection> getAllProcessEntitiesByGroup(java.lang.String aGroup)
returns a list of all ProcessEntities for a specific ProcessGroup independent from the modelversion. The same workflowGroup contained in to different model versions will be returned twice.

Returns:

getAllProcessEntitiesByGroupByVersion

public java.util.List<org.imixs.workflow.ItemCollection> getAllProcessEntitiesByGroupByVersion(java.lang.String aGroup,
                                                                                               java.lang.String aversion)
returns a list of all ProcessEntities for a specific ProcessGroup and modelversion.

Parameters:
aGroup -
aversion -
Returns:


Copyright © 2006-2012 Imixs Software Solutions GmbH. All Rights Reserved.