⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 workeffortapplication.java

📁 国外的一套开源CRM
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/*
 * $Id: WorkEffortApplication.java,v 1.1 2003/08/18 16:29:43 jonesde Exp $
 *
 * Copyright (c) 2001, 2002 The Open For Business Project - www.ofbiz.org
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included
 * in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
 * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
 * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 *
 */
package org.ofbiz.workeffort.workeffort;

import java.io.IOException;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import javax.servlet.jsp.PageContext;

import org.ofbiz.base.util.BshUtil;
import org.ofbiz.base.util.Debug;
import org.ofbiz.base.util.StringUtil;
import org.ofbiz.base.util.UtilMisc;
import org.ofbiz.entity.GenericDelegator;
import org.ofbiz.entity.GenericEntityException;
import org.ofbiz.entity.GenericValue;
import org.ofbiz.entity.serialize.SerializeException;
import org.ofbiz.entity.serialize.XmlSerializer;
import org.ofbiz.workflow.WfException;
import org.ofbiz.workflow.WfUtil;

import bsh.EvalError;

/**
 * WorkEffortWorker - Worker class to reduce code in JSPs & make it more reusable
 *
 * @author     Manuel Soto
 * @version    $Revision: 1.1 $
 * @since      2.0
 */
public final class WorkEffortApplication {

    public static final String module = WorkEffortApplication.class.getName();

    /** 
     * Determine if the workeffort is an activity and has an Application as the implementation
     * @param pageContext
     * @param workEffort The work effort to be examined
     * @return
     */
    public static boolean isApplication(GenericValue workEffort) {

        if (!workEffort.get("workEffortTypeId").equals("ACTIVITY"))
            return false;
        // check for the existence of applications
        try {
            if (getApplications(workEffort).isEmpty())
                return false;
        } catch (GenericEntityException ee) {
            Debug.logWarning(ee, module);
            return false;
        }

        return true;

    }

    /** 
     * Determine if the workeffort is an activity and has an Application as the implementation
     * @param workEffortAttrName The work effort to be examined. Located in the pageContext
     * @return
     */
    public static void isApplication(
        PageContext pageContext,
        String workEffortAttrName,
        String isApplicationAttrName) {

        pageContext.setAttribute(
            isApplicationAttrName,
            new Boolean(isApplication((GenericValue) pageContext.getAttribute(workEffortAttrName))));

    }

    public static String getApplicationId(PageContext pageContext, String partyAssignsAttrName) {
        Collection partyAssigns = (Collection) pageContext.getAttribute(partyAssignsAttrName);
        if (!partyAssigns.isEmpty()) {
            // look for acepted
            GenericValue partyAssignAcepted = null;
            for (Iterator partyAssignIt = partyAssigns.iterator(); partyAssignIt.hasNext();) {
                GenericValue partyAssign = (GenericValue) partyAssignIt.next();
                if (((String) partyAssign.get("statusId")).equals("CAL_ACCEPTED")) {
                    partyAssignAcepted = partyAssign;
                    break;
                }
            }
            if (partyAssignAcepted != null)
                try {
                    final Collection applicationSandboxs = partyAssignAcepted.getRelated("ApplicationSandbox");
                    GenericValue applicationSandbox = (GenericValue) applicationSandboxs.toArray()[0];
                    return (String) applicationSandbox.get("applicationId");
                } catch (GenericEntityException ee) {
                    Debug.logWarning(ee, module);
                }
        }
        Debug.logWarning("Can't find applicationId", module);
        return null;
    }

    /** 
     * Retrieve the information of the application in the implementation of the activity ans save in the page context
     * It asume that an activity has at least one application
     *
     * @param pageContext The page context where the information is to be saved
     * @param workEffortAttrName The attribute name to localte the workeffort in the pageCOntext
     * @param applicationAttrName The name of the attribute where the application's specification will be savd in the page context
     * @throws WfException
     * @see getApplication
     */
    public static void getApplication(PageContext pageContext, String workEffortAttrName, String applicationAttrName)
            throws WfException {
        getApplication(pageContext, workEffortAttrName, applicationAttrName, null, null, null);
    }

    /** 
     * Retrieve the information of the application in the implementation of the activity ans save in the page context
     * It asume that an activity has at least one application
     *
     * @param pageContext The page context where the information is to be saved
     * @param workEffortAttrName The attribute name to localte the workeffort in the pageContext
     * @param applicationAttrName The name of the attribute where the application's specification will be savd in the page context
     * @param applicationContextSignatureName The name of the attribute where the application's context Signature specification will be savd in the page context
     * @param applicationResultSignatureName The name of the attribute where the application's result Signature specification will be saved in the page context
     * @param applicationContextName The name of the attribute where the application's context  will be savd in the page context
     * @throws WfException
     */
    public static void getApplication(PageContext pageContext, String workEffortAttrName, String applicationAttrName,            
            String applicationContextSignatureName, String applicationResultSignatureName, String applicationContextName)
            throws WfException {
        GenericValue workEffort = (GenericValue) pageContext.getAttribute(workEffortAttrName);
        GenericDelegator delegator = (GenericDelegator) pageContext.getRequest().getAttribute("delegator");
        try {
            Collection applications = getApplications(workEffort);

            if (applications.iterator().hasNext()) {
                GenericValue workflowActivityTool = (GenericValue) applications.iterator().next();
                if (applicationAttrName != null && applicationAttrName.length() != 0)
                    pageContext.setAttribute(applicationAttrName, workflowActivityTool);

                Map contextSignature = new HashMap();
                Map resultSignature = new HashMap();
                getApplicationSignatures(delegator, workflowActivityTool, contextSignature, resultSignature);

                Map context =
                    getApplicationContext(
                        delegator,
                        contextSignature,
                        (String) workflowActivityTool.get("actualParameters"),
                        (String) workflowActivityTool.get("extendedAttributes"),

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -