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

📄 genericeventprocessor.java

📁 国外的一套开源CRM
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
     * @param userInfo 
     * @param entityNameList 
     * @param delegator 
     * @param dataMatrix 
     *
     * @return 
     *
     * @throws GenericEntityException 
     */
    public int showQuery(UserInfo userInfo, List entityNameList,
        GenericDelegator delegator, DataMatrix dataMatrix)
        throws GenericEntityException {

        Vector blankGVV = new Vector();

        Debug.logVerbose("Entity name List: " + entityNameList.toString(), module);

        Iterator entityNameIterator = entityNameList.iterator();

        while (entityNameIterator.hasNext()) {
            String entityName = (String) entityNameIterator.next();
            ModelEntity entityME = delegator.getModelEntity(entityName);
            GenericValue blankGV = new GenericValue(entityME);
            blankGV.setDelegator(delegator);

            Debug.logVerbose("Adding a blank generic value for entity \"" +
                    entityName + "\".", module);

            blankGVV.add(blankGV);
        }

        dataMatrix.getCurrentBuffer().addEmptyRow();

        //		if (DEBUG) Debug.logVerbose("genericValueVectorList at end of GenericEventProcessor.create method: " + genericValueVectorList.toString());
        return STATUS_CONTINUE;
    }

    /**
     * DOCUMENT ME!
     *
     * @param userInfo 
     * @param entityNameList 
     * @param delegator 
     * @param dataMatrix 
     *
     * @return 
     */
    protected int postShowQuery(UserInfo userInfo, List entityNameList,
        GenericDelegator delegator, DataMatrix dataMatrix) {

        return STATUS_CONTINUE;
    }

    //-------------------------------------------------------------------------
    // SHOWREPORT - Re-displays the query criteria in query mode.
    //-------------------------------------------------------------------------
    public int processShowReport(UserInfo userInfo, GenericDelegator delegator,
        DataMatrix dataMatrix) throws GenericEntityException {

        int status = STATUS_CONTINUE;

        // Trigger the preShowReport event.
        status = this.preShowReport(userInfo, delegator, dataMatrix);

        if (status != STATUS_CONTINUE) {
            return status;
        }

        // Trigger the showReport event.
        status = this.showReport(userInfo, delegator, dataMatrix);

        if (status != STATUS_CONTINUE) {
            return status;
        }

        // Trigger the postShowReport event.
        status = this.postShowReport(userInfo, delegator, dataMatrix);

        return status;
    }

    /**
     * DOCUMENT ME!
     *
     * @param userInfo 
     * @param delegator 
     * @param dataMatrix 
     *
     * @return 
     */
    protected int preShowReport(UserInfo userInfo, GenericDelegator delegator,
        DataMatrix dataMatrix) {

        return STATUS_CONTINUE;
    }

    /**
     * DOCUMENT ME!
     *
     * @param userInfo 
     * @param delegator 
     * @param dataMatrix 
     *
     * @return 
     *
     * @throws GenericEntityException 
     */
    public int showReport(UserInfo userInfo, GenericDelegator delegator,
        DataMatrix dataMatrix) throws GenericEntityException {

        return STATUS_CONTINUE;
    }

    /**
     * DOCUMENT ME!
     *
     * @param userInfo 
     * @param delegator 
     * @param dataMatrix 
     *
     * @return 
     */
    protected int postShowReport(UserInfo userInfo, GenericDelegator delegator,
        DataMatrix dataMatrix) {

        return STATUS_CONTINUE;
    }

    //-------------------------------------------------------------------------
    // INSERT - Inserts a new set of entities into the data base.
    //-------------------------------------------------------------------------
    public int processInsert(UserInfo userInfo, GenericDelegator delegator,
        DataMatrix dataMatrix) throws GenericEntityException {

        if (userInfo == null) {
            userInfo = new UserInfo();
        }

        int status = STATUS_CONTINUE;

        // If necessary, generate keys.
        for (int entityNbr = 0;
                entityNbr < dataMatrix.getEntityNameVector().size();
                entityNbr++) {
            if (dataMatrix.getHasSequenceKey(entityNbr)) {
                String entityName = dataMatrix.getEntityName(entityNbr);
                String seqId = GenericReplicator.getNextSeqId(entityName,
                        delegator);
                GenericValue genericValue = (GenericValue) (dataMatrix.getCurrentBuffer()
                                                                      .getContentsRow(0)
                                                                      .get(entityNbr));
                List pks = delegator.getModelEntity(entityName).getPksCopy();
                String pkAttributeName = ((ModelField) pks.get(0)).getName();
                genericValue.set(pkAttributeName, seqId);
            }
        }

        // Trigger the pre-insert event.
        status = this.preInsert(userInfo, delegator, dataMatrix);

        if (status != STATUS_CONTINUE) {
            return status;
        }

        // Trigger the insert event.
        status = this.insert(userInfo, delegator, dataMatrix);

        if (status != STATUS_CONTINUE) {
            return status;
        }

        // Trigger the post-insert event.
        status = this.postInsert(userInfo, delegator, dataMatrix);

        return status;
    }

    /**
     * DOCUMENT ME!
     *
     * @param userInfo 
     * @param delegator 
     * @param dataMatrix 
     *
     * @return 
     */
    protected int preInsert(UserInfo userInfo, GenericDelegator delegator,
        DataMatrix dataMatrix) {

        return STATUS_CONTINUE;
    }

    /**
     * DOCUMENT ME!
     *
     * @param userInfo 
     * @param delegator 
     * @param dataMatrix 
     *
     * @return 
     *
     * @throws GenericEntityException 
     */
    public int insert(UserInfo userInfo, GenericDelegator delegator,
        DataMatrix dataMatrix) throws GenericEntityException {

        for (int row = 0; row < dataMatrix.getCurrentBuffer().getRowCount();
                row++) {
            Debug.logVerbose("row: " + String.valueOf(row), module);

            Debug.logVerbose("Values to insert = " +
                    dataMatrix.getCurrentBuffer().getContentsRow(row).toString(),
                    module);

            Vector currentRow = dataMatrix.getCurrentBuffer().getContentsRow(row);

            //			Vector originalRow = dataMatrix.getOriginalBuffer().getContentsRow(row);
            if (currentRow.size() > 0) {
                // Create a List of generic values to be stored.
                List storeGVL = new LinkedList();

                // Check for updateable entities.
                for (int entityNumber = 0; entityNumber < currentRow.size();
                        entityNumber++) {
                    if (dataMatrix.getIsUpdateable(entityNumber)) {
                        // This entity is updateable.  Append it to the List to be stored.
                        storeGVL.add((GenericValue) currentRow.get(entityNumber));
                    }
                }


                Debug.logVerbose("Generic value(s) to insert = " + storeGVL.toString(), module);

                try {
                    delegator.storeAll(storeGVL);
                } catch (GenericEntityException e2) {
                    Debug.logWarning("Error inserting: " +
                        e2.getLocalizedMessage(), "insert");
                }

                Debug.logVerbose("Inserted row " + String.valueOf(row), module);
            } else {
                return STATUS_CANCEL;
            }
        }

        return STATUS_CONTINUE;
    }

    /**
     * DOCUMENT ME!
     *
     * @param userInfo 
     * @param delegator 
     * @param dataMatrix 
     *
     * @return 
     */
    protected int postInsert(UserInfo userInfo, GenericDelegator delegator,
        DataMatrix dataMatrix) {

        return STATUS_CONTINUE;
    }

    //-------------------------------------------------------------------------
    // DELETE - Deletes data for an entity from the data base.
    //-------------------------------------------------------------------------
    public int processDelete(UserInfo userInfo, GenericDelegator delegator,
        ModelEntity primaryModelEntity, HashMap fields)
        throws GenericEntityException {

        int status = STATUS_CONTINUE;

        // Get the primary entity record.
        GenericValue entityGV = null;

        //		try {
        entityGV = delegator.findByPrimaryKey(primaryModelEntity.getEntityName(),
                fields);

        //		} catch (GenericEntityException e) {
        //			Debug.logWarning("Error retrieving entity to be deleted: " + e.getLocalizedMessage());
        //			return STATUS_ERROR;
        //		}
        // Trigger the pre-delete event.
        status = this.preDelete(userInfo, delegator, "", entityGV);

        if (status != STATUS_CONTINUE) {
            return status;
        }

        // Trigger the delete event.
        status = this.delete(userInfo, delegator, "", entityGV);

        if (status != STATUS_CONTINUE) {
            return status;
        }

        // Trigger the post-delete event.
        status = this.postDelete(userInfo, delegator, "", entityGV);

        return status;
    }

    /**
     * DOCUMENT ME!
     *
     * @param userInfo 
     * @param delegator 
     * @param originatingEntityName 
     * @param entityGV 
     *
     * @return 
     */
    protected int preDelete(UserInfo userInfo, GenericDelegator delegator,
        String originatingEntityName, GenericValue entityGV) {

        return STATUS_CONTINUE;
    }

    /**
     * DOCUMENT ME!
     *
     * @param userInfo 
     * @param delegator 
     * @param originatingEntityName 
     * @param entityGV 
     *
     * @return 
     */
    public int delete(UserInfo userInfo, GenericDelegator delegator,
        String originatingEntityName, GenericValue entityGV) {
        GenericPK entityPK = null;
        String entityName = null;
        String entityKeyString = entityGV.getPrimaryKey().toString();

        Debug.logVerbose("Removing entities dependent on " + entityKeyString, module);

        int status = deleteAllRelated(userInfo, delegator,
                originatingEntityName, entityGV);

        if (status != STATUS_CONTINUE) {
            return status;
        }

        try {

            entityGV.remove();
        } catch (GenericEntityException e) {
            Debug.logError("Error removing " + entityGV.getEntityName() + " " +
                entityKeyString, module);

            return STATUS_ERROR;
        }

        return STATUS_CONTINUE;
    }

    /**
     * DOCUMENT ME!
     *
     * @param userInfo 
     * @param delegator 
     * @param originatingEntityName 
     * @param entityGV 
     *
     * @return 
     */
    protected int postDelete(UserInfo userInfo, GenericDelegator delegator,
        String originatingEntityName, GenericValue entityGV) {

        return STATUS_CONTINUE;
    }

    /**
     * DOCUMENT ME!
     *
     * @param userInfo 
     * @param delegator 
     * @param originatingEntityName 
     * @param entityGV 
     *
     * @return 
     */
    public int deleteAllRelated(UserInfo userInfo, GenericDelegator delegator,
        String originatingEntityName, GenericValue entityGV) {

        // Override this in the descendant to delete all entities that are dependent on the
        // specified entity (the one being deleted in the main delete method).  This will call the
        // deleteOneRelated method once for each entity class that is dependent on the current entity.
        return STATUS_CONTINUE;
    }

    /**
     * DOCUMENT ME!
     *
     * @param userInfo 
     * @param delegator 
     * @param entityGV 
     * @param relationTitle 
     * @param relatedEntityName 
     * @param originatingEntityName 
     * @param relatedEventProcessor 
     *
     * @return 
     */
    public int deleteOneRelated(UserInfo userInfo, GenericDelegator delegator,
        GenericValue entityGV, String relationTitle, String relatedEntityName,
        String originatingEntityName,
        GenericEventProcessor relatedEventProcessor) {
        return deleteOneRelated(userInfo, delegator, entityGV, relationTitle,
            relatedEntityName, originatingEntityName, relatedEventProcessor,
            false);
    }

    /**
     * DOCUMENT ME!
     *
     * @param userInfo 
     * @param delegator 
     * @param entityGV 
     * @param relationTitle 
     * @param relatedEntityName 
     * @param originatingEntityName 
     * @param relatedEventProcessor 
     * @param allowRecursive 
     *
     * @return 
     */
    public int deleteOneRelated(UserInfo userInfo, GenericDelegator delegator,
        GenericValue entityGV, String relationTitle, String relatedEntityName,
        String originatingEntityName,
        GenericEventProcessor relatedEventProcessor, boolean allowRecursive) {

        // Check to make sure we are not in an infinite loop caused by two entities trying to delete each other.
        if (originatingEntityName.equals(relatedEntityName) && !allowRecursive) {
            // The entity being deleted is the one that originated the delete in the first place.
            // It has been deleted anyway.  Skip it to avoid infinite loop.
            Debug.logVerbose("Skipping delete of related " +
                    relatedEntityName + " records to avoid infinite loop.", module);

            return STATUS_CONTINUE;
        }

        List relatedGVL = findOneRelated(userInfo, delegator, entityGV,

⌨️ 快捷键说明

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