📄 genericeventprocessor.java
字号:
* @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 + -