Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Wstęp

Przydatne klasy:

Operacje

Utworzenie procesu
		ProcessService processService = ServiceFactory.getProcessService();
        ProcessBuilderDefinition definition = new ProcessBuilderDefinition();
        definition.setPackageId( "suncode" );
        definition.setCreator( "admin" );
        definition.setCreatorPassword( "enhydra" );
        definition.setProcessDefId( "proces1" );
        Map<String, Object> variables = new HashMap<String, Object>();
        variables.put( "zmienna1", "abc" );
        definition.setVariables( variables );
        String processId = processService.createProcess( definition );
Pobranie otwartych zadań z procesu
	 	ActivityFinder activityFinder=FinderFactory.getActivityFinder();
        List<Activity> activities=activityFinder.findOpenedActivities( processId );
        for ( Activity activity : activities )
        {
            String activityId=activity.getActivityId();
        }


 

Zmiana wartości zmiennych zadania
	 	ActivityService activityService = ServiceFactory.getActivityService();
        Map<String,Object> activityContext=activityService.getActivityContext( processId, activityId );
        activityContext.put( "zmienna", "wartość" );
        activityService.setActivityContext( processId, activityId, activityContext );

Powyższy kod zmienia mapę zmiennych zadania. Jeżeli w aktualnym wątku mamy otwartą transakcję, np. jesteśmy w zadaniu automatycznym to metody getActivityContext i setActivityContext automatycznie podłączą się do aktywnej transakcji. Jeżeli chcemy zmienić wartości zmiennych procesu, lecz nie chcemy zaakceptować zadania to należy ustawić ActivityContext, oraz ProcessContext:

 

Zmiana wartości zmiennych procesu
	 	ActivityService activityService = ServiceFactory.getActivityService();
        ProcessService processService = ServiceFactory.getProcessService();
        Map<String, Object> activityContext = activityService.getActivityContext( processId, activityId );
        activityContext.put( "zmienna", "wartość" );
        activityService.setActivityContext( processId, activityId, activityContext );
        Map<String, Object> processContext = processService.getProcessContext( processId );
        processContext.put( "zmienna", "wartość" );
        processService.setProcessContext( processId, processContext );


TODO Opisać możliwość utworzenie ręczenie transakcji SharkTransaction która będzie kompatybilna z serviceami API.

  • No labels