Package com.alibaba.dubbo.common

Examples of com.alibaba.dubbo.common.Constants$Attachments


        int i = 0;
        for (org.intalio.tempo.workflow.task.attachments.Attachment attachment : attachments) {
            attsTable[i] = transformAttachment(attachment);
            i++;
        }
        Attachments atts = (Attachments) Attachments.Factory.newInstance();
        atts.setAttachmentArray(attsTable);
        GetAttachmentsResponseDocumentImpl response = (GetAttachmentsResponseDocumentImpl) GetAttachmentsResponseDocument.Factory.newInstance();
        response.setGetAttachmentsResponse(atts);
        return XmlTooling.convertDocument(response);
    }
View Full Code Here


            taskMetadataElement.setUserProcessCompleteSOAPAction(crTask.getCompleteSOAPAction());
        }

        if (task instanceof ITaskWithAttachments) {
            ITaskWithAttachments taskWithAttachments = (ITaskWithAttachments) task;
            Attachments xmlAttachments = taskMetadataElement.addNewAttachments();
            for (Attachment attachment : taskWithAttachments.getAttachments()) {
                com.intalio.bpms.workflow.taskManagementServices20051109.Attachment xmlAttachment = xmlAttachments
                        .addNewAttachment();
                com.intalio.bpms.workflow.taskManagementServices20051109.AttachmentMetadata xmlAttachmentMetadata = xmlAttachment
                        .addNewAttachmentMetadata();

                AttachmentMetadata metadata = attachment.getMetadata();
View Full Code Here

        String failureReason = taskMetadata.getFailureReason();
        expectElementValue(taskMetadata, "userProcessEndpoint");
        // TODO: these violate the WSDL! do something
        expectElementValue(taskMetadata, "userProcessNamespaceURI");
        String completeSOAPAction = taskMetadata.getUserProcessCompleteSOAPAction();
        Attachments attachmentsElement = taskMetadata.getAttachments();
        String isChainedBeforeStr = expectElementValue(taskMetadata, "isChainedBefore");
        String previousTaskID = expectElementValue(taskMetadata, "previousTaskId");

        Class<? extends Task> taskClass = TaskTypeMapper.getTypeClassByName(taskTypeStr);
        Task resultTask = null;
        TaskState taskState = null;

        if (!ITaskWithState.class.isAssignableFrom(taskClass)) {
            forbidParameter(taskStateStr, "task state");
            forbidParameter(failureCode, "failure code");
            forbidParameter(failureReason, "failure reason");
        } else {
            try {
                taskState = (taskStateStr == null) ? TaskState.READY : TaskState.valueOf(taskStateStr.toUpperCase());
            } catch (IllegalArgumentException e) {
                _logger.error("Error in unmarshalling task from metadata", e);
                throw new InvalidInputFormatException("Unknown task state: '" + taskStateStr + "'");
            }
        }
        if (IProcessBoundTask.class.isAssignableFrom(taskClass)) {
            if (taskMetadata.xgetProcessId() == null) {
                /*
                 * The following line will be commented to support versions of
                 * designer that do not generate the processId
                 */

                // throw new
                // InvalidInputFormatException("ProcessID not specified");
            }
        } else {
            forbidParameter(processID, "processID");
        }
        if (IInstanceBoundTask.class.isAssignableFrom(taskClass)) {
            if (taskMetadata.xgetInstanceId() == null) {
                /*
                 * The following line will be commented to support versions of
                 * designer that do not generate the InstanceId
                 */
                // throw new
                // InvalidInputFormatException("instanceID not specified");
            }
        } else {
            forbidParameter(instanceID, "instanceID");
        }
        if (ICompleteReportingTask.class.isAssignableFrom(taskClass)) {
            requireParameter(completeSOAPAction, "completion SOAPAction");
        } else {
            forbidParameter(completeSOAPAction, "completion SOAPAction");
        }
        if (!ITaskWithAttachments.class.isAssignableFrom(taskClass)) {
            forbidParameter(attachmentsElement, "task attachment(s)");
        }
        if (!IChainableTask.class.isAssignableFrom(taskClass)) {
            forbidParameter(isChainedBeforeStr, "is-chained-before flag");
            forbidParameter(previousTaskID, "previous chained task ID");
        }

        resultTask = TaskTypeMapper.getNewInstance(taskClass, taskID, formURL);

        resultTask.getUserOwners().addAll(userOwners);
        resultTask.getRoleOwners().addAll(roleOwners);

        resultTask.setDescription(description == null ? "" : description);

        try {
            Calendar creationDate = taskMetadata.getCreationDate();
            if (creationDate != null)
                resultTask.setCreationDate(creationDate.getTime());
            else
                resultTask.setCreationDate(new Date());
        } catch (XmlValueOutOfRangeException e) {
            resultTask.setCreationDate(new Date());
        }

        for (String action : actions) {
            ACL acl = readACL(taskMetadata, action);
            authorize(resultTask, action, acl);
        }

        if (ITaskWithState.class.isAssignableFrom(taskClass)) {
            ITaskWithState taskWithState = (ITaskWithState) resultTask;
            taskWithState.setState(taskState);
            if (taskWithState.getState().equals(TaskState.FAILED)) {
                requireParameter(failureCode, "failure code");

                taskWithState.setFailureCode(failureCode);
                taskWithState.setFailureReason(failureReason == null ? "" : failureReason);
            } else {
                forbidParameter(failureCode, "failure code");
                forbidParameter(failureReason, "failure reason");
            }
        }
        if (InitTask.class.isAssignableFrom(taskClass)) {
            InitTask task = (InitTask) resultTask;
            String uri1 = taskMetadata.getInitMessageNamespaceURI();
            if (uri1 != null)
                task.setInitMessageNamespaceURI(URI.create(uri1));
            String soap = taskMetadata.getInitOperationSOAPAction();
            if (soap != null)
                task.setInitOperationSOAPAction(soap);
            String uri2 = taskMetadata.getProcessEndpoint();
            if (uri2 != null)
                task.setProcessEndpoint(URI.create(uri2));
        }
        if (IProcessBoundTask.class.isAssignableFrom(taskClass)) {
            if (taskMetadata.xgetProcessId() != null && processID != null)
                ((IProcessBoundTask) resultTask).setProcessID(processID);
        }
        if (IInstanceBoundTask.class.isAssignableFrom(taskClass)) {
            if (taskMetadata.xgetInstanceId() != null && taskMetadata.getInstanceId() != null) {
                ((IInstanceBoundTask) resultTask).setInstanceId(instanceID);
            }
        }

        if (ICompleteReportingTask.class.isAssignableFrom(taskClass)) {
            ((ICompleteReportingTask) resultTask).setCompleteSOAPAction(completeSOAPAction);
        }
        if (ITaskWithAttachments.class.isAssignableFrom(taskClass)) {
            ITaskWithAttachments taskWithAttachments = (ITaskWithAttachments) resultTask;

            if (attachmentsElement != null) {
                for (int i = 0; i < attachmentsElement.sizeOfAttachmentArray(); i++) {
                    com.intalio.bpms.workflow.taskManagementServices20051109.Attachment attachmentElement = attachmentsElement.getAttachmentArray(i);

                    if (attachmentElement != null) {
                        // The following line has been added to handle the case
                        // where an attachment element is present
                        // but do not contain any data: no title,
View Full Code Here

TOP

Related Classes of com.alibaba.dubbo.common.Constants$Attachments

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.