Package org.apache.lenya.workflow

Examples of org.apache.lenya.workflow.Version


        DocumentHelper.setSimpleElementText(element, datestr);

        // set issued date on first time publish
        Workflowable dw = WorkflowUtil.getWorkflowable(this.manager, this.getSession(), this
                .getLogger(), doc);
        Version versions[] = dw.getVersions();
        boolean wasLive = false;
        for (int i = 0; i < versions.length; i++) {
            if (versions[i].getValue("is_live")) {
                wasLive = true;
                break;
View Full Code Here


        User sender = getSession().getIdentity().getUser();

        String reason = getParameterAsString(REJECT_REASON);
        Workflowable workflowable = WorkflowUtil.getWorkflowable(this.manager, getSession(),
                getLogger(), authoringDocument);
        Version versions[] = workflowable.getVersions();
        // current version is reject, want originating submit
        Version version = versions[versions.length - 2];

        // we assume that the document has been submitted, otherwise we do
        // nothing
        if (version.getEvent().equals("submit")) {

            String userId = version.getUserId();
            User user = PolicyUtil.getUser(this.manager, authoringDocument.getCanonicalWebappURL(),
                    userId, getLogger());

            Identifiable[] recipients = { user };
View Full Code Here

            DocumentException, AccessControlException {
        User sender = getSession().getIdentity().getUser();

        Workflowable workflowable = WorkflowUtil.getWorkflowable(this.manager, getSession(),
                getLogger(), authoringDocument);
        Version versions[] = workflowable.getVersions();
        Version version = versions[versions.length - 2];

        // we assume that the document has been submitted, otherwise we do
        // nothing
        if (version.getEvent().equals("submit")) {

            String userId = version.getUserId();
            User user = PolicyUtil.getUser(this.manager, authoringDocument.getCanonicalWebappURL(),
                    userId, getLogger());

            Identifiable[] recipients = { user };
View Full Code Here

                entry.setValue(KEY_LAST_MODIFIED, lastModified);

                if (WorkflowUtil.hasWorkflow(this.manager, getSession(), getLogger(), documents[i])) {
                    Workflowable workflowable = WorkflowUtil.getWorkflowable(this.manager,
                            getSession(), getLogger(), documents[i]);
                    Version latestVersion = workflowable.getLatestVersion();
                    String state;
                    if (latestVersion != null) {
                        state = latestVersion.getState();
                    } else {
                        Workflow workflow = WorkflowUtil.getWorkflowSchema(this.manager,
                                getSession(), getLogger(), documents[i]);
                        state = workflow.getInitialState();
                    }
View Full Code Here

                    String string = versionStrings[i];
                    int spaceIndex = string.indexOf(" ");
                    String numberString = string.substring(0, spaceIndex);
                    int number = Integer.parseInt(numberString);
                    String versionString = string.substring(spaceIndex + 1);
                    Version version = decodeVersion(versionString);
                    number2version.put(new Integer(number), version);
                }
               
                int number = 0;
                for (Iterator i = number2version.keySet().iterator(); i.hasNext(); ) {
                    Version version = (Version) number2version.get(i.next());
                    this.versions[number] = version;
                    number++;
                }
               
                this.lastModified = meta.getLastModified();
View Full Code Here

    /**
     * @see org.apache.lenya.workflow.Workflowable#getLatestVersion()
     */
    public Version getLatestVersion() {
        Version version = null;
        Version[] versions = getVersions();
        if (versions.length > 0) {
            version = versions[versions.length - 1];
        }
        return version;
View Full Code Here

                String[] nameValue = steps[1].split("=");
                variables.put(nameValue[0], nameValue[1]);
            }
        }

        Version version = new LenyaVersion(event, state);
        for (Iterator i = variables.keySet().iterator(); i.hasNext();) {
            String name = (String) i.next();
            String value = (String) variables.get(name);
            version.setUserId(user);
            version.setDate(date);
            version.setIPAddress(machine);
            version.setValue(name, Boolean.valueOf(value).booleanValue());
        }
        return version;
    }
View Full Code Here

                        session,
                        getLogger(),
                        document);
                if (wfManager.hasWorkflow(workflowable)) {

                    Version latestVersion = workflowable.getLatestVersion();

                    if (name.equals(STATE)) {
                        if (latestVersion == null) {
                            Workflow workflow = wfManager.getWorkflowSchema(workflowable);
                            value = workflow.getInitialState();
                        } else {
                            value = latestVersion.getState();
                        }
                    } else if (name.startsWith(VARIABLE_PREFIX)) {
                        String variableName = name.substring(VARIABLE_PREFIX.length());
                        Workflow workflow = wfManager.getWorkflowSchema(workflowable);
                        String[] variableNames = workflow.getVariableNames();
                        if (Arrays.asList(variableNames).contains(variableName)) {
                            if (latestVersion == null) {
                                value = Boolean.valueOf(workflow.getInitialValue(variableName));
                            } else {
                                value = Boolean.valueOf(latestVersion.getValue(variableName));
                            }
                        }
                    } else if (name.startsWith(LAST_USER_PREFIX)) {
                        String event = name.substring(LAST_USER_PREFIX.length());
                        Version latestEventVersion = getLatestVersion(workflowable, event);
                        if (latestEventVersion != null) {
                            value = latestEventVersion.getUserId();
                        }
                    } else if (name.startsWith(LAST_DATE_PREFIX)) {
                        String event = name.substring(LAST_DATE_PREFIX.length());
                        Version latestEventVersion = getLatestVersion(workflowable, event);
                        if (latestEventVersion != null) {
                            synchronized(lock) {
                                value = this.DATE_FORMAT.format(latestEventVersion.getDate());
                            }
                        }
                    } else {
                        throw new ConfigurationException("The attribute [" + name
                                + "] is not supported!");
View Full Code Here

        }
        return value;
    }

    protected Version getLatestVersion(Workflowable workflowable, String event) {
        Version latestEventVersion = null;
        Version versions[] = workflowable.getVersions();
        int i = versions.length - 1;
        while (i > -1 && !versions[i].getEvent().equals(event)) {
            i--;
        }
        if (i > -1) {
View Full Code Here

            firingTransition = (Transition) firingTransitions.get(0);
        }

        String destination = firingTransition.getDestination();

        Version newVersion = createNewVersion(workflowable, workflow, event, destination);

        Action[] actions = firingTransition.getActions();
        for (int i = 0; i < actions.length; i++) {
            actions[i].execute(newVersion);
        }
View Full Code Here

TOP

Related Classes of org.apache.lenya.workflow.Version

Copyright © 2018 www.massapicom. 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.