Examples of YIdentifier


Examples of au.edu.qut.yawl.elements.state.YIdentifier

                P_YIdentifier pid = runner.get_standin_caseIDForNet();

                if (runner.getContainingTaskID() == null) {
                    // This is a root net runner
                    YIdentifier id = restoreYID(pmgr, runnermap, idtoid, pid, null, runner.getYNetID(), net);
                    runner.set_caseIDForNet(id);
                    addRunner(runner);
                }

                YIdentifier yid = new YIdentifier(runner.get_caseID());
                YWorkItemRepository.getInstance().setNetRunnerToCaseIDBinding(runner, yid);

                Set busytasks = runner.getBusyTaskNames();

                for (Iterator busyit = busytasks.iterator(); busyit.hasNext();) {
                    String name = (String) busyit.next();
                    YExternalNetElement element = net.getNetElement(name);

                    runner.addBusyTask(element);
                }

                Set enabledtasks = runner.getEnabledTaskNames();

                for (Iterator enabit = enabledtasks.iterator(); enabit.hasNext();) {
                    String name = (String) enabit.next();
                    YExternalNetElement element = net.getNetElement(name);

                    if (element instanceof YTask) {
                        YTask externalTask = (YTask) element;
                        runner.addEnabledTask(externalTask);
                    }

                }
            }

            // restore case & exception observers (where they exist)
            for (int i = 0; i < runners.size(); i++) {
                YNetRunner runner = (YNetRunner) runners.get(i);
                runner.restoreObservers();
            }

            logger.info("Restoring process instances - Ends");

            logger.info("Restoring work items - Starts");
            query = pmgr.createQuery("from au.edu.qut.yawl.engine.YWorkItem");
            for (Iterator it = query.iterate(); it.hasNext();) {
                YWorkItem witem = (YWorkItem) it.next();

                if (witem.getStatus().equals(YWorkItem.statusEnabled)) {
                    witem.setStatus(YWorkItem.statusEnabled);
                }
                if (witem.getStatus().equals(YWorkItem.statusFired)) {
                    witem.setStatus(YWorkItem.statusFired);
                }
                if (witem.getStatus().equals(YWorkItem.statusExecuting)) {
                    witem.setStatus(YWorkItem.statusExecuting);
                }
                if (witem.getStatus().equals(YWorkItem.statusComplete)) {
                    witem.setStatus(YWorkItem.statusComplete);
                }
                if (witem.getStatus().equals(YWorkItem.statusIsParent)) {
                    witem.setStatus(YWorkItem.statusIsParent);
                }
                if (witem.getStatus().equals(YWorkItem.statusDeadlocked)) {
                    witem.setStatus(YWorkItem.statusDeadlocked);
                }
                if (witem.getStatus().equals(YWorkItem.statusDeleted)) {
                    witem.setStatus(YWorkItem.statusDeleted);
                }
                if (witem.getStatus().equals(YWorkItem.statusForcedComplete)) {
                    witem.setStatus(YWorkItem.statusForcedComplete);
                }
                if (witem.getStatus().equals(YWorkItem.statusFailed)) {
                    witem.setStatus(YWorkItem.statusFailed);
                }
                if (witem.getStatus().equals(YWorkItem.statusSuspended)) {
                    witem.setStatus(YWorkItem.statusSuspended);
                }

                if (witem.getData_string() != null) {
                    StringReader reader = new StringReader(witem.getData_string());
                    SAXBuilder builder = new SAXBuilder();
                    Document data = builder.build(reader);
                    witem.setInitData(data.getRootElement());
                }

                java.util.StringTokenizer st = new java.util.StringTokenizer(witem.getThisId(), ":");
                String caseandid = st.nextToken();
                java.util.StringTokenizer st2 = new java.util.StringTokenizer(caseandid, ".");
                //String caseid =
                st2.nextToken();
                String taskid = st.nextToken();
                // AJH: Strip off unique ID to obtain our taskID
                {
                    java.util.StringTokenizer st3 = new java.util.StringTokenizer(taskid, "!");
                    taskid = st3.nextToken();
                }
                YIdentifier workitemid = (YIdentifier) idtoid.get(caseandid);
                if (workitemid != null) {
                    witem.setWorkItemID(new YWorkItemID(workitemid, taskid));
                    witem.addToRepository();
                } else {
                    pmgr.deleteObject(witem);
View Full Code Here

Examples of au.edu.qut.yawl.elements.state.YIdentifier

    }


    public YIdentifier restoreYID(YPersistenceManager pmgr, HashMap runnermap, Map idtoid, P_YIdentifier pid, YIdentifier father, String specname, YNet net) throws YPersistenceException {

        YIdentifier id = new YIdentifier(pid.toString());

        YNet sendnet = net;

        id.set_father(father);

        List list = pid.get_children();

        if (list.size() > 0) {
            List idlist = new Vector();

            for (int i = 0; i < list.size(); i++) {
                P_YIdentifier child = (P_YIdentifier) list.get(i);

                YNetRunner netRunner = (YNetRunner) runnermap.get(child.toString());
                if (netRunner != null) {
                    sendnet = netRunner.getNet();
                }
                YIdentifier caseid = restoreYID(pmgr, runnermap, idtoid, child, id, specname, sendnet);

                if (netRunner != null) {
                    netRunner.set_caseIDForNet(caseid);
                }
View Full Code Here

Examples of au.edu.qut.yawl.elements.state.YIdentifier

            logger.debug("--> getCaseID");

            Set idSet = _caseIDToNetRunnerMap.keySet();
            for (Iterator idSetIter = idSet.iterator(); idSetIter.hasNext();) {
                YIdentifier identifier = (YIdentifier) idSetIter.next();
                if (identifier.toString().equals(caseIDStr)) {
                    return identifier;
                }
            }
            return null;
        }
View Full Code Here

Examples of au.edu.qut.yawl.elements.state.YIdentifier

            logger.debug("--> getStateTextForCase: ID=" + caseID.get_idString());

            Set allChildren = caseID.getDescendants();
            Set allLocations = new HashSet();
            for (Iterator childIter = allChildren.iterator(); childIter.hasNext();) {
                YIdentifier identifier = (YIdentifier) childIter.next();
                allLocations.addAll(identifier.getLocations());
            }
            StringBuffer stateText = new StringBuffer();
            stateText.append("#######################################" +
                    "######################\r\n" + "CaseID: ")
                    .append(caseID)
                    .append("\r\n" + "Spec:   ")
                    .append(_runningCaseIDToSpecIDMap.get(caseID))
                    .append("\r\n" + "###############################" +
                    "##############################\r\n");
            for (Iterator locationsIter = allLocations.iterator(); locationsIter.hasNext();) {
                YNetElement element = (YNetElement) locationsIter.next();
                if (element instanceof YCondition) {
                    stateText.append("CaseIDs in: ")
                            .append(element.toString())
                            .append("\r\n");
                    List identifiers = ((YConditionInterface) element).getIdentifiers();
                    stateText.append("\thashcode ")
                            .append(element.hashCode())
                            .append("\r\n");
                    for (Iterator idIter = identifiers.iterator(); idIter.hasNext();) {
                        YIdentifier identifier = (YIdentifier) idIter.next();
                        stateText.append("\t")
                                .append(identifier.toString())
                                .append("\r\n");
                    }
                } else if (element instanceof YTask) {
                    stateText.append("CaseIDs in: ")
                            .append(element.toString())
                            .append("\r\n");
                    YTask task = (YTask) element;
                    for (int i = 0; i < 4; i++) {
                        YInternalCondition internalCondition;
                        if (i == 0) {
                            internalCondition = task.getMIActive();
                        }
                        else if (i == 1) {
                            internalCondition = task.getMIEntered();
                        }
                        else if (i == 2) {
                            internalCondition = task.getMIExecuting();
                        }
                        else {//(i == 3)
                            internalCondition = task.getMIComplete();
                        }
                        if (internalCondition.containsIdentifier()) {
                            stateText.append("\t")
                                    .append(internalCondition.toString())
                                    .append("\r\n");
                            List identifiers = internalCondition.getIdentifiers();
                            for (Iterator iterator = identifiers.iterator(); iterator.hasNext();) {
                                YIdentifier identifier = (YIdentifier) iterator.next();
                                stateText.append("\t\t")
                                        .append(identifier.toString())
                                        .append("\r\n");
                            }
                        }
                    }
                }
View Full Code Here

Examples of au.edu.qut.yawl.elements.state.YIdentifier

        synchronized (mutex) {

            Set allChildren = caseID.getDescendants();
            Set allLocations = new HashSet();
            for (Iterator childIter = allChildren.iterator(); childIter.hasNext();) {
                YIdentifier identifier = (YIdentifier) childIter.next();
                allLocations.addAll(identifier.getLocations());
            }
            StringBuffer stateText = new StringBuffer();
            stateText.append("<caseState " + "caseID=\"")
                    .append(caseID)
                    .append("\" " + "specID=\"")
                    .append(_runningCaseIDToSpecIDMap.get(caseID))
                    .append("\">");
            for (Iterator locationsIter = allLocations.iterator(); locationsIter.hasNext();) {
                YNetElement element = (YNetElement) locationsIter.next();
                if (element instanceof YCondition) {
                    stateText.append("<condition " + "id=\"")
                            .append(element.toString())
                            .append("\" " + "name=\"")
                            .append(((YCondition) element).getName())
                            .append("\" " + "documentation=\"")
                            .append(((YCondition) element).getDocumentation())
                            .append("\">");
                    List identifiers = ((YConditionInterface) element).getIdentifiers();
                    for (Iterator idIter = identifiers.iterator(); idIter.hasNext();) {
                        YIdentifier identifier = (YIdentifier) idIter.next();
                        stateText.append("<identifier>")
                                .append(identifier.toString())
                                .append("</identifier>");
                    }

                    /**
                     * AJH: Add in flow/link data
                     */
                    stateText.append("<flowsInto>");

                    Iterator postsetFlows = ((YCondition)element).getPostsetFlows().iterator();
                    if (postsetFlows != null)
                    {
                        while(postsetFlows.hasNext())
                        {
                            Object obj = postsetFlows.next();
                            if (obj instanceof YFlow)
                            {
                                YFlow flow = (YFlow)obj;
                                String doc;
                                if (flow.getDocumentation() == null)
                                {
                                    doc = "";
                                }
                                else
                                {
                                    doc = flow.getDocumentation();
                                }

                                stateText.append("<nextElementRef id=\"")
                                        .append(flow.getNextElement().getID())
                                        .append("\" " + "documentation=\"")
                                        .append(doc)
                                        .append("\"/>");
                            }
                        }
                    }

                    stateText.append("</flowsInto>");

                    stateText.append("</condition>");
                } else if (element instanceof YTask) {
                    stateText.append("<task " + "id=\"")
                            .append(element.toString())
                            .append("\" " + "name=\"")
                            .append(((YTask) element)
                                    .getDecompositionPrototype().getID())
                            .append("\">");
                    YTask task = (YTask) element;
                    for (int i = 0; i < 4; i++) {
                        YInternalCondition internalCondition;
                        if (i == 0) {
                            internalCondition = task.getMIActive();
                        }
                        else if (i == 1) {
                            internalCondition = task.getMIEntered();
                        }
                        else if (i == 2) {
                            internalCondition = task.getMIExecuting();
                        }
                        else {//if (i == 3)
                            internalCondition = task.getMIComplete();
                        }
                        if (internalCondition.containsIdentifier()) {
                            stateText.append("<internalCondition " + "id=\"")
                                    .append(internalCondition.toString())
                                    .append("\">");
                            List identifiers = internalCondition.getIdentifiers();
                            for (Iterator iterator = identifiers.iterator(); iterator.hasNext();) {
                                YIdentifier identifier = (YIdentifier) iterator.next();
                                stateText.append("<identifier>")
                                        .append(identifier.toString())
                                        .append("</identifier>");
                            }
                            stateText.append("</internalCondition>");
                        }
                    }
View Full Code Here

Examples of au.edu.qut.yawl.elements.state.YIdentifier

                        List childCaseIDs;
                        childCaseIDs = netRunner.attemptToFireAtomicTask(pmgr, workItem.getTaskID());

                        if (childCaseIDs != null) {
                            for (int i = 0; i < childCaseIDs.size(); i++) {
                                YIdentifier childID = (YIdentifier) childCaseIDs.get(i);
                                YWorkItem nextWorkItem = workItem.createChild(pmgr, childID);
                                if (i == 0) {
                                    netRunner.startWorkItemInTask(pmgr, nextWorkItem.getCaseID(), workItem.getTaskID());
                                    nextWorkItem.setStatusToStarted(pmgr, userID);
                                    Element dataList = ((YTask)
View Full Code Here

Examples of au.edu.qut.yawl.elements.state.YIdentifier

            YWorkItem item = _workItemRepository.getWorkItem(workItemID);
            if (item != null) {
                if (item.getStatus().equals(YWorkItem.statusExecuting)) {
                    if (item.allowsDynamicCreation()) {
                        YIdentifier identifier = item.getCaseID().getParent();
                        YNetRunner netRunner =
                                _workItemRepository.getNetRunner(identifier);
                        boolean addEnabled =
                                netRunner.isAddEnabled(item.getTaskID(), item.getCaseID());
                        if (addEnabled) {
View Full Code Here

Examples of au.edu.qut.yawl.elements.state.YIdentifier

        //##########            BEGIN State inspection code             #############
        //###########################################################################
        Set allChildren = parentID.getDescendants();
        Set allLocations = new HashSet();
        for (Iterator childIter = allChildren.iterator(); childIter.hasNext();) {
            YIdentifier identifier = (YIdentifier) childIter.next();
            allLocations.addAll(identifier.getLocations());
        }
        StringBuffer stateText = new StringBuffer();
        for (Iterator locationsIter = allLocations.iterator(); locationsIter.hasNext();) {
            YNetElement element = (YNetElement) locationsIter.next();
            if (element instanceof YCondition) {
                stateText.append("CaseIDs in: " + element.toString() + "\r\n");
                List identifiers = ((YConditionInterface) element).getIdentifiers();
                for (Iterator idIter = identifiers.iterator(); idIter.hasNext();) {
                    YIdentifier identifier = (YIdentifier) idIter.next();
                    stateText.append("\t" + identifier.toString() + "\r\n");
                }
            } else if (element instanceof YTask) {
                stateText.append("CaseIDs in: " + element.toString() + "\r\n");
                YTask task = (YTask) element;
                for (int i = 0; i < 4; i++) {
                    YInternalCondition internalCondition = null;
                    if (i == 0) {
                        internalCondition = task.getMIActive();
                    }
                    if (i == 1) {
                        internalCondition = task.getMIEntered();
                    }
                    if (i == 2) {
                        internalCondition = task.getMIExecuting();
                    }
                    if (i == 3) {
                        internalCondition = task.getMIComplete();
                    }
                    if (internalCondition.containsIdentifier()) {
                        stateText.append("\t" + internalCondition.toString() + "\r\n");
                        List identifiers = internalCondition.getIdentifiers();
                        for (Iterator iterator = identifiers.iterator(); iterator.hasNext();) {
                            YIdentifier identifier = (YIdentifier) iterator.next();
                            stateText.append("\t\t" + identifier.toString() + "\r\n");
                        }
                    }
                }

            }
View Full Code Here

Examples of au.edu.qut.yawl.elements.state.YIdentifier

            try {
                if (workItem == null) {
                    throw new YStateException("No work item found.");
                }
                String taskID = workItem.getTaskID();
                YIdentifier siblingID = workItem.getCaseID();
                YNetRunner netRunner = _workItemRepository.getNetRunner(siblingID.getParent());
                synchronized (netRunner) {
                    checkElegibilityToAddInstances(workItem.getIDString());
                    //calling it again to double check while we hold the semaphore to the netRunner
                    SAXBuilder builder = new SAXBuilder();
                    //doing this because Saxon can't do an effective query when the whitespace is there
                    try {
                        Document d;
                        d = builder.build(new StringReader(paramValueForMICreation));
                        Document e = YDocumentCleaner.cleanDocument(d);
                        Element el = e.detachRootElement();
                        YIdentifier id = netRunner.addNewInstance(pmgr, taskID, workItem.getCaseID(), el);
                        if (id != null) {
                            YWorkItem firedItem = workItem.getParent().createChild(pmgr, id);

                            if (pmgr != null) {
                                pmgr.commit();
View Full Code Here

Examples of au.edu.qut.yawl.elements.state.YIdentifier

            if (isJournalising()) {
                pmgr = new YPersistenceManager(getPMSessionFactory());
                pmgr.startTransactionalSession();
            }

            YIdentifier caseID = startCase(username, pmgr, specID, caseParams, completionObserver);

            if (caseID != null) {
                caseIDString = caseID.toString();
            } else {
                if (isJournalising()) {
                    pmgr.rollbackTransaction();
                }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.