* the moment
*/
private boolean importSimulations(SimulationType[] simulations,
PetriNetModelProcessor currentPetrinet) throws Exception {
boolean savedFlag = true;
SimulationModel currSimulation;
TransitionModel currTransition;
String currSimulationID;
int greatestSimulationIDnumber = 0;
for (int k = 0; k < simulations.length; k++) {
// collect the information about the current simulation in local
// variables
currSimulationID = simulations[k].getId();
simulations[k].getSimulationdate();
OccuredtransitionType[] occuredTransitions = simulations[k]
.getTransitionsequence().getOccuredtransitionArray();
Vector<TransitionModel> currentTransitions = new Vector<TransitionModel>();
String currTransitionID = null;
String currTransitionName = null;
String arcSource, arcTarget;
for (int l = 0; l < occuredTransitions.length; l++) {
currTransition = null;
currTransitionID = occuredTransitions[l].getTransitionID();
if (currTransitionID.charAt(0) == 'a') {
// for XOR-transitions the simulation has to fire arcs
// instead of simpletransitions
// because of the inner representation of van der
// Aalst-operators.
// Therefore a virtual helper-transition with the arcs' ID
// and a special name is created.
arcSource = currentPetrinet.getElementContainer()
.getArcById(currTransitionID).getSourceId();
arcTarget = currentPetrinet.getElementContainer()
.getArcById(currTransitionID).getTargetId();
if (arcSource.charAt(0) == 't') {
currTransitionName = arcSource + " -> (" + arcTarget
+ ")";
} else {
currTransitionName = "(" + arcSource + ") -> "
+ arcTarget;
}
CreationMap map = CreationMap.createMap();
map.setId(currTransitionID);
currTransition = new TransitionModel(map);
currTransition.setNameValue(currTransitionName);
LoggerManager.debug(Constants.FILE_LOGGER,
" ... Simulation: HelperTransition for arc ("
+ currTransitionID + ") created");
} else {
currTransition = (TransitionModel) currentPetrinet
.getElementContainer().getElementById(
currTransitionID);
}
currentTransitions.add(currTransition);
}
currSimulation = new SimulationModel(currSimulationID,
simulations[k].getSimulationname(), currentTransitions,
simulations[k].getNetFingerprint(), simulations[k]
.getSimulationdate().getTime());
// check if current fingerprint of the net equals the imported one
// if not ask the user if he want's to keep the simulation