
org.ow2.bonita.services.impl.DefaultUUIDGenerator Maven / Gradle / Ivy
/**
* Copyright (C) 2007 Bull S. A. S.
* Bull, Rue Jean Jaures, B.P.68, 78340, Les Clayes-sous-Bois
* This library is free software; you can redistribute it and/or modify it under the terms
* of the GNU Lesser General Public License as published by the Free Software Foundation
* version 2.1 of the License.
* This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public License along with this
* program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301, USA.
**/
package org.ow2.bonita.services.impl;
import org.ow2.bonita.facade.uuid.ActivityDefinitionUUID;
import org.ow2.bonita.facade.uuid.ActivityInstanceUUID;
import org.ow2.bonita.facade.uuid.ActivitySetDefinitionUUID;
import org.ow2.bonita.facade.uuid.ApplicationDefinitionUUID;
import org.ow2.bonita.facade.uuid.AutomaticBodyUUID;
import org.ow2.bonita.facade.uuid.DataFieldDefinitionUUID;
import org.ow2.bonita.facade.uuid.PackageDefinitionUUID;
import org.ow2.bonita.facade.uuid.ParticipantDefinitionUUID;
import org.ow2.bonita.facade.uuid.ProcessDefinitionUUID;
import org.ow2.bonita.facade.uuid.ProcessInstanceUUID;
import org.ow2.bonita.facade.uuid.RouteBodyUUID;
import org.ow2.bonita.facade.uuid.SubflowBodyUUID;
import org.ow2.bonita.facade.uuid.TaskUUID;
import org.ow2.bonita.facade.uuid.TransitionDefinitionUUID;
import org.ow2.bonita.services.UUIDGenerator;
import org.ow2.bonita.util.EnvTool;
/**
* @author Guillaume Porcher
*
*/
public class DefaultUUIDGenerator implements UUIDGenerator {
public ActivityInstanceUUID getActivityInstanceUUID(final ProcessInstanceUUID instanceUUID, final String activityId) {
final long activityNb = EnvTool.getRepository().getNextActivityInstanceNb(instanceUUID, activityId);
return new ActivityInstanceUUID(instanceUUID + "-" + activityId + "$" + activityNb);
}
public PackageDefinitionUUID getPackageDefinitionUUID(final String packageName, final String packageVersion) {
return new PackageDefinitionUUID(packageName + "-" + packageVersion);
}
public ProcessDefinitionUUID getProcessDefinitionUUID(final PackageDefinitionUUID packageUUID,
final String processName, final String processVersion) {
return new ProcessDefinitionUUID(packageUUID + "-" + processName + "-" + processVersion);
}
public ActivityDefinitionUUID getActivityDefinitionUUID(final PackageDefinitionUUID packageUUID,
final ProcessDefinitionUUID processUUID, final String activityId) {
return new ActivityDefinitionUUID((processUUID != null ? processUUID : packageUUID) + "-" + activityId);
}
public ActivitySetDefinitionUUID getActivitySetDefinitionUUID(final ProcessDefinitionUUID processUUID,
final String activitySetId) {
return new ActivitySetDefinitionUUID(processUUID + "-" + activitySetId);
}
public ApplicationDefinitionUUID getApplicationDefinitionUUID(final PackageDefinitionUUID packageUUID,
final ProcessDefinitionUUID processUUID, final String applicationId) {
return new ApplicationDefinitionUUID((processUUID == null ? packageUUID : processUUID) + "-" + applicationId);
}
public AutomaticBodyUUID getAutomaticBodyUUID(final ActivityInstanceUUID activityInstanceUUID) {
return new AutomaticBodyUUID(activityInstanceUUID.toString());
}
public RouteBodyUUID getRouteBodyUUID(final ActivityInstanceUUID activityInstanceUUID) {
return new RouteBodyUUID(activityInstanceUUID.toString());
}
public SubflowBodyUUID getSubflowBodyUUID(final ActivityInstanceUUID activityInstanceUUID) {
return new SubflowBodyUUID(activityInstanceUUID.toString());
}
public TaskUUID getTaskUUID(final ActivityInstanceUUID activityInstanceUUID) {
return new TaskUUID(activityInstanceUUID.toString());
}
public DataFieldDefinitionUUID getDataFieldDefinitionUUID(final PackageDefinitionUUID packageUUID,
final ProcessDefinitionUUID processUUID, final String dataFieldId) {
return new DataFieldDefinitionUUID((processUUID != null ? processUUID : packageUUID) + "-" + dataFieldId);
}
public ParticipantDefinitionUUID getParticipantDefinitionUUID(final PackageDefinitionUUID packageUUID,
final ProcessDefinitionUUID processUUID, final String participantId) {
return new ParticipantDefinitionUUID((processUUID != null ? processUUID : packageUUID) + "-" + participantId);
}
public ProcessInstanceUUID getProcessInstanceUUID(final ProcessDefinitionUUID processUUID) {
final long instanceNb = EnvTool.getRepository().getNextProcessInstanceNb(processUUID);
return new ProcessInstanceUUID(processUUID + "$" + instanceNb);
}
public TransitionDefinitionUUID getTransitionDefinitionUUID(final ProcessDefinitionUUID processUUID,
final String transitionId) {
return new TransitionDefinitionUUID(processUUID + "-" + transitionId);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy