planetj.dataengine.autorun
Class AutoRunOperation

java.lang.Object
  extended byplanetj.database.Row
      extended byplanetj.dataengine.PropertyRow
          extended byplanetj.dataengine.operation.Operation
              extended byplanetj.dataengine.sqloperation.SQLOperation
                  extended byplanetj.dataengine.autorun.AutoRunOperation
All Implemented Interfaces:
java.lang.Cloneable, IActionObject, IBatchProcessObject, IBusinessObject, ICSVRow, IFDFObject, IGuarded, INamedCollection, INavigationObject, IOperation, IOwner, IRowCreator, ISQLOperation, IXMLObject, java.io.Serializable
Direct Known Subclasses:
AutoRunBatchProcessOperation, EmailOperation

public abstract class AutoRunOperation
extends SQLOperation

An Operation which describes how a different operation should be autorun

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class planetj.database.Row
Row.SpacingRow
 
Field Summary
 
Fields inherited from class planetj.dataengine.sqloperation.SQLOperation
SQL_OP_APPLICABLE_PROPERTY_GROUPS
 
Fields inherited from class planetj.dataengine.operation.Operation
className
 
Fields inherited from class planetj.database.Row
DISPLAY_ORDER_COMPARATOR, MODE_ALTER, MODE_COPY, MODE_DELETE, MODE_INSERT, MODE_READ, MODE_SEARCH, MODE_UNKNOWN, MODE_UPDATE, mRowEventListeners
 
Fields inherited from interface planetj.dataengine.sqloperation.ISQLOperation
CACHING_LEVEL_CACHE_FOR_1_DAY, CACHING_LEVEL_CACHE_FOR_1_HOUR, CACHING_LEVEL_CACHE_FOR_1_WEEK, CACHING_LEVEL_CACHE_FOR_15_MINUTES, CACHING_LEVEL_CACHE_FOR_30_MINUTES, CACHING_LEVEL_CHECK_AND_STORE_IN_CACHE, CACHING_LEVEL_NO_CACHE, CACHING_LEVEL_ONLY_CHECK_CACHE, CACHING_LEVEL_ONLY_STORE_IN_CACHE, CURRENT_SQL_OPERATION, INSIDE_APPLICATION, SQL_OPERATION, SQL_OPERATION_HTTP_ID, SQL_OPERATION_ID, SQL_OPERATION_MODE, SQL_OPERATION_ONLY
 
Fields inherited from interface planetj.dataengine.operation.IOperation
ALLOW_DELETES, ALLOW_DETAILS, ALLOW_INSERTS, ALLOW_UPDATES, APPLICABLE_CODE_ONLY, APPLICABLE_ONLY_FOR_DISPLAY, APPLICABLE_ONLY_FOR_SQL, APPLICATION_ID, AUTHORIZE_EXECUTE_OPERATION, AUTO_RUN_ID, AUTO_RUN_STATUS, CACHE_LEVEL, CONNECTION_ALIAS, CSS_LINK_CLASS, CURRENT_FIELD, CURRENT_REQUEST, CURRENT_RESPONSE, CURRENT_ROW, CURRENT_ROW_COLLECTION, CURRENT_SERVLET, CURRENT_USER, DEPENDS_ON_ID, DESCRIPTION, DETAILS_JSP_FILE, DISPLAY_COLUMNS, DISPLAY_LOCATION, DISPLAY_LOCATION_LEFT, DISPLAY_LOCATION_TOP, DISPLAY_ORDER, DISPLAY_RULE, DISPLAY_RULE_HIDE, DISPLAY_RULE_UNKNOWN, ENCRYPTION_ID, EXECUTION_MODE, EXECUTION_MODE_NO, EXECUTION_MODE_YES, EXECUTION_RULE, EXECUTION_RULE_EXECUTE_ONLY, EXECUTION_RULE_EXECUTE_THEN_PROMPT, EXECUTION_RULE_PROMPT_THEN_EXECUTE, INSTRUCTIONS, JSP_FILE, LABEL, OPERATION_CLASS, OPERATION_CODE, OPERATION_DISPLAY_MODE, OPERATION_DISPLAY_MODE_FULL, OPERATION_DISPLAY_MODE_SKINNY, OPERATION_HTTP_ID, OPERATION_ID, OPERATION_SET, OPERATION_SQL, OPERATION_TABLE_NAME, OUTPUT_ALIAS, OWNER_ID, PARAMETERS_JSP_FILE, PARENT_ID, PERFORMACE_STATISTICS_ID, PROPERTIES, ROW_CLASS, ROW_COLLECTION_CLASS, ROW_COUNT, SECURITY_ID, SECURITY_TYPE, SET_NAME, THEME_ID, TITLE, TYPE, TYPE_ASSOCIATED_EXECUTION_GROUP, TYPE_ASSOCIATED_JAVA_OPERATION, TYPE_ASSOCIATED_JOIN, TYPE_ASSOCIATION_1_TO_1, TYPE_ASSOCIATION_1_TO_MANY, TYPE_AUTHENTICATION, TYPE_AUTO_POPULATE, TYPE_AUTORUN_BATCH_PROCESS, TYPE_AUTORUN_EMAIL, TYPE_BLOB_DOWNLOAD, TYPE_EMAIL, TYPE_EXECUTION_GROUP, TYPE_FILE_UPLOAD, TYPE_HTML_CODE, TYPE_HTML_CODE_ASSOCIATION, TYPE_HTML_REFERENCE, TYPE_HTML_REFERENCE_ASSOCIATION, TYPE_JAVA_OPERATION, TYPE_JSP_REFERENCE, TYPE_JSP_REFERENCE_ASSOCIATION, TYPE_POSSIBLE_VALUES, TYPE_POSSIBLE_VALUES_SEARCH, TYPE_POSSIBLE_VALUES_SELECTOR, TYPE_REFERER_AUTHORIZATION_OPERATION, TYPE_SQL, TYPE_TABBED, TYPE_TABBED_ASSOCIATION, TYPE_UNKNOWN, TYPE_USER_AUTHENTICATION_LIST_OPERATION, TYPE_USER_AUTHORIZATION_LIST_OPERATION, TYPE_USER_AUTHORIZATION_OPERATION, TYPE_VIEW_SELECTED_ASSOCIATION, USAGE_ID
 
Fields inherited from interface planetj.dataengine.security.IGuarded
TYPE_ID_UNKNOWN, TYPE_NAME_FIELD, TYPE_NAME_SQLOPERATION, TYPE_SECURED_BY_LEVEL, TYPE_SECURED_BY_OPERATION, TYPE_UNSECURED
 
Constructor Summary
AutoRunOperation()
           
 
Method Summary
 void cancelAllTasks(boolean pPermanently)
          Cancels all of this operation's tasks.
abstract  AutoRunTask createAutoRunTask(Operation pOperation)
          Creates a AutoRunTask which will be used to automatically run a specified operation (different than this operation)
 java.lang.Object execute(Field field, Row row, ExecutingContext ec, boolean checkConnectionPool)
          Child classes should override for functionality Creation date: (4/23/2003 7:40:14 AM)
protected  AutoRunPropertyGroup getAutoRunPropertyGroup()
          Gets the property group containing the auto run properties.
protected  void postDelete(int changed, ExecutingContext ec)
          This method provides a "hook" for altering the current Row after a delete is performed.
 void rescheduleAllTasks()
          Cancels all of this operation's tasks and then reschedules them.
 int update(java.sql.Connection conn, ExecutingContext ec)
          Updates the database with the values in this Row.
 
Methods inherited from class planetj.dataengine.sqloperation.SQLOperation
createInsertObject, createInsertObject, dataTransferred, delete, execute, execute, getActionNamesForType, getApplicablePropertyGroupNames, getCachingLevel, getCachingTimeMillis, getConnectionAlias, getConnectionRow, getContextClass, getDefaultOperationCode, getDescription, getEncryptionId, getHeaderText, getInnerResultsJsp, getInsertRow, getInstructions, getNewContextInternal, getNewSQLOperationContext, getNewSQLOperationContext, getOperationSQL, getParametersJspFile, getPerformanceStatisticsId, getReportBreakCollection, getSecuredTypeId, getSecuredTypeName, getSetName, getThemeId, getTranslatedLabel, getTranslatedTitle, isCallStatement, isDeleteStatement, isFieldApplicable, isInsertStatement, isRowCollectionOperation, isSelectStatement, isSQLParameterized, isUpdateStatement, isUserPromptingRequired, postExecute, preExecute, setAllowDeletes, setAllowDetails, setAllowInserts, setAllowUpdates, setApplication, setApplicationId, setAutoRunId, setCacheLevel, setConnectionAlias, setDescription, setDisplayOrder, setEncryptionId, setInstructions, setIsSQLParameterized, setJspFile, setLabel, setOperationSetName, setOperationSQL, setOwnerId, setParametersJspFile, setPerformanceStatisticsId, setReportBreakCollection, setRowPropertyGroupsInternal, setSecurityId, setSetName, setThemeId, setTitle, setType, validate, validate
 
Methods inherited from class planetj.dataengine.operation.Operation
adjustRequest, createAction, createMagicRequest, createMagicRequest, createMagicRequest, createMagicRequest, createMagicRequest, createRow, createSQLContextForDelete, createSQLContextForInsert, createSQLContextForUpdate, execute, execute, execute, execute, execute, getActionDefaultLocation, getActionDescriptor, getActions, getActionsForType, getApplication, getApplicationId, getApplicationIdAsInteger, getAutoRunId, getAutoRunOperation, getAutoRunStatus, getChildren, getConnectionAlias, getConnectionRow, getCSSLinkClass, getCurrentTab, getDeleteConfirmationMessage, getDependants, getDependsOn, getDependsOnId, getDependsOnIdAsInteger, getDetailsJspFile, getDisplayColumns, getDisplayColumnsAsString, getDisplayColumnsAsStringArray, getDisplayLocation, getDisplayOrder, getDisplayRule, getExecutionRule, getFieldDefaultValue, getId, getIdAsInteger, getJspFile, getLabel, getLayoutProperties, getNavigationSuffix, getNewContext, getNewContext, getNewContextInternal, getOperationClass, getOperationCode, getOperationHandledActionNames, getOperationSetName, getOriginalInstructions, getOutputAlias, getOwnerId, getOwnerIdField, getParent, getParentId, getParentIdAsInteger, getPropertyFieldName, getRowClass, getRowClassName, getRowCollectionClass, getRowCollectionClassName, getRowCount, getRowPropertyGroups, getSecurityId, getSecurityType, getTitle, getTitleForDisplay, getType, getUsageId, getUserMessageForOperation, hasDependants, initializeRow, insert, isAllowDeletes, isAllowDetails, isAllowInserts, isAllowUpdates, isAssociation, isAuthentication, isAuthorizedForExecution, isAutoPopulate, isAutoRunOperation, isBlobDownload, isChild, isContextCurrent, isDependant, isDisplayable, isDisplayRule, isExecutionGroup, isFileUpload, isHide, isHtml, isHTMLAssociation, isHtmlCode, isHtmlCodeAssocation, isHtmlReference, isHtmlReferenceAssociation, isJava, isJavaAssociation, isJSPReference, isJSPReferenceAssociation, isOneToManyAssociation, isOneToOneAssociation, isParent, isPleaseWait, isPossibleValues, isPossibleValuesSearch, isPossibleValuesSelector, isSQL, isSQLAssociation, isTabDataOperation, isUserAuthenticationListOperation, isUserAuthorizationListOperation, isUserAuthorizationOperation, openForExecution, postInsert, prepareForRun, setCurrentTab, setDefaultOperationCode, setDisplayColumns, setDisplayColumns, setDisplayColumns, setId, setId, setOperationCode, setRowClass, setRowClassInternal, setRowClassName, setRowClassNameInternal, setRowCollectionClass, setRowCollectionClassInternal, setRowCollectionClassName, setRowCollectionClassNameInternal, setRowCount, setUsageId, statusChanged, toString, validateOperationCode
 
Methods inherited from class planetj.dataengine.PropertyRow
getProperties, getRowPropertyGroup, getRowPropertyGroups, setProperties, setPropertiesInternal, setRowPropertyGroups, transferDataTo, transferPropertiesTo
 
Methods inherited from class planetj.database.Row
add, add, addObject, addPropertyChangeListener, addPropertyChangeListener, addRowEventListener, addRowEventListeners, addTable, addToRowCollection, appendDisplayType, batchProcess, clearFields, clearTables, clearValidationException, clone, cloneRow, commitFieldValues, commitFieldValues, commitFieldValues, concatenateFieldFullLengthValues, concatenateFieldValues, containsField, copy, copyIntoRowFieldsWithCommonFieldNames, copyIntoRowFieldsWithCommonFieldNames, copyIntoRowFieldsWithCommonUsageIds, copyIntoRowFieldsWithGivenFieldNames, copyIntoRowFieldsWithGivenFieldNames, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, createNamedActionRequest, defaultMerge, delete, delete, delete, deleteObject, divide, duplicateKey, duplicateKey, enforceExclusiveOr, equals, equals, equalsInstance, fieldHasPossibleValuesSQLOperation, firePropertyChange, fireRowEvent, getActionRequest, getActionRequest, getActionsForFields, getActionsForOperation, getAssociation, getAssociation, getAssociationByOperationUsageId, getAssociationOperation, getAttribute, getAutoIncrementDatabaseDrivenField, getBackgroundColor, getChangedFields, getColumnSpan, getCompleteRow, getCompleteRow, getConcurrentFields, getConfigProperty, getCopiedFieldValues, getCreationContext, getCSVRow, getCSVRow, getDatabaseRow, getDatabaseRow, getDatabaseRow, getDatabaseRow, getDBSystem, getDeleteConfirmation, getDisjointRowClass, getDisplayValue, getDisplayValueByUsageId, getDisplayValueForKey, getErrorMessageForOperation, getExternalName, getExternalNames, getFDFData, getFDTable, getField, getField, getField, getFieldAssociationOperation, getFieldCollection, getFieldDescriptor, getFieldDescriptor, getFieldDescriptor, getFieldDescriptorsWithUsage, getFieldDescriptorsWithUsageId, getFieldDescriptorWithUsageId, getFieldDisplayComponent, getFieldDisplayOrder, getFieldDisplayValue, getFieldDisplayValue, getFieldExternalName, getFieldFieldClassParameters, getFieldFieldSetName, getFieldIncrementor, getFieldMaxLength, getFieldNames, getFieldNames, getFieldPossibleValues, getFields, getFields, getFieldSearchDefaultValue, getFieldSets, getFieldsForInsert, getFieldSQLObject, getFieldStatusChange, getFieldsToDisplay, getFieldsToDisplayStrict, getFieldsToDisplayStrict, getFieldStyleClass, getFieldsWithUsageId, getFieldUsageIds, getFieldValue, getFieldValueWithUsageId, getFieldWithUsageId, getHorizontalAlignment, getJSPFor, getKeyFieldNames, getKeyFields, getKeyFields, getLibraryName, getMaxFieldLengths, getMaxFieldLengths, getMaxInsertRetries, getMetaDataSystemAlias, getNamed, getNamed, getNamesOfUpdatedFields, getNavigationKey, getNavigationListKey, getNextOperationToRun, getOperation, getOperation, getOperationFromDB, getOperationFromDBByUsage, getPercentage, getPhysicalFieldNames, getPossibleValueClass, getPossibleValueClass, getPossibleValues, getPossibleValuesKey, getPossibleValuesOperation, getPropertyChangeSupport, getPropertyGroup, getPropertyGroups, getPropertyGroups, getReplacementFieldsToDisplay, getReplacementFieldsToDisplay, getRequiredFields, getRow, getRowCollection, getRowDisplayAttributes, getRowDisplayAttributes, getRowHandledActionNames, getRowKey, getSQL, getSQLContext, getStaticAttribute, getStaticAttributes, getSum, getSystemAlias, getTabbedOperation, getTable, getTable, getTableName, getTables, getTimestamp, getUpdatedFields, getUserMessageForOperation, getUseWOWLibrary, getValidationExceptions, getValueAsBoolean, getValueAsByte, getValueAsDate, getValueAsDate, getValueAsDouble, getValueAsDouble, getValueAsFloat, getValueAsFullLengthString, getValueAsInt, getValueAsInt, getValueAsLong, getValueAsNumber, getValueAsNumber, getValueAsShort, getValueAsString, getValueAsString, getValueAsStringByUsageId, getValueByUsageId, getValueForKey, getValues, getXMLData, getXMLData, getXMLHeaderData, goToNextOperation, handleAction, hasAssociationOperation, hasChildRows, hasMultipleStyleClasses, hasPossibleValuesKeyClassOrOp, hasPossibleValuesOperation, hasPropertyChangeListeners, incrementFieldValue, initializeRow, initializeRow, initializeRow, initializeRow, initializeRow, insert, insert, insert, is, isActionApplicable, isActionRepeatable, isARow, isARowCollection, isChanged, isChanged, isChangedRealTime, isChangedSinceLastCheck, isCloneNeeded, isContainsAllFields, isCopyable, isCurrent, isDeletable, isDistinctRow, isEditable, isEmpty, isFieldAuthorizedForEdit, isFieldAuthorizedForRead, isFieldAutoIncrement, isFieldAutoIncrementDatabaseDriven, isFieldAutoIncrementWOWDriven, isFieldDisplayable, isFieldPresent, isFieldReadOnly, isFieldReadOnlyOnSearch, isFieldRequired, isFieldRequiredOnSearch, isFieldsChanged, isFieldUpdateable, isFieldValueNotBlank, isFieldValuePossibleValue, isFieldValuesDatabaseDefaults, isGenerateChildRows, isGroupByRow, isGuarded, isHasColumnNames, isInARowCollection, isIncrementorResetAfterMaxInsertRetries, isInitializeDerivedFieldEnabled, isInitializeDerivedFieldsEnabled, isJoinedRow, isKeyFieldsPresent, isLogicalRow, isMultipleDeleteEnabled, isParameterRow, isPersistent, isPhysicalRow, isPrepareFieldValue, isPropertyChangeEventsEnabled, isReturningFromPossibleValuesSearch, isRowDisplayable, isRowKeyed, isSelectable, isStatusChange, isToBeSelected, isUnionRow, isUpdateable, isUseRowForFieldSets, isValidateDerivedFields, isValidateRequired, isValidationRequiredForAutoPopulate, isViewable, iterator, joinedDatabaseAccessFailure, joinedDelete, joinedDelete, joinedInsert, joinedInsert, joinedUpdate, joinedUpdate, merge, newField, newField, newField, newField, openFor, persist, populate, populate, populate, populateFD, postCreate, postExtract, postInsert, postUpdate, postUpdate, preDelete, preInsert, prepareForDetails, prepareForParameters, prepareForResultsDisplay, prepareFromFieldNames, preUpdate, removeField, removeField, removeNavigationKey, removePropertyChangeListener, removePropertyChangeListener, removeRowEventListener, removeRowEventListeners, replaceField, replaceFields, replaceFieldValues, replaceNumbersWithNames, reread, rereadIfNeeded, resetDisplayValues, rollbackChanges, runSQLQuery, runSQLQuery, runSQLStatement, runSQLStatement, setAttribute, setAutoUpdateFieldValues, setCreationContext, setCreationOperation, setFieldInitialValue, setFieldValue, setFieldValue, setFieldValue, setFieldValue, setFieldValueAsString, setFieldValueAsString, setFieldValuesAsDate, setFieldValuesToDefault, setFieldValuesWithCommonFieldNames, setFieldValuesWithCommonFieldNames, setFieldValuesWithCommonFieldNames, setFieldValuesWithCommonUsageIds, setFieldValueToDefault, setMultipleDeleteEnabled, setNavigationKey, setParameterRow, setPersistent, setPropertyChangeEventsEnabled, setPropertyGroups, setReturningFromPossibleValuesSearch, setRowDisplayAttributes, setSavepoint, setSavepoint, setSavepoint, setStaticAttribute, setTables, setTables, setUseWOWLibrary, setValidateDerivedFields, setValidateRequired, setValues, size, splitAndSetFieldValues, swapFieldValues, toCSV, toDOC, toDOC, toFDF, toPDF, toPDF, toString, toUpperCase, toXML, transferDataTo, update, update, update, updateFieldValues, updateGlobalValues, updateObject, validate, validateField, validateRowOperation
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface planetj.dataengine.application.IOwner
getOwnerIdField
 
Methods inherited from interface planetj.dataengine.action.IActionObject
getActionRequest, getActionRequest, handleAction, isActionApplicable
 

Constructor Detail

AutoRunOperation

public AutoRunOperation()
Method Detail

cancelAllTasks

public void cancelAllTasks(boolean pPermanently)
                    throws CMException
Cancels all of this operation's tasks. This method is invoked by the DataEngine when an autorun operation is updated.

Parameters:
pPermanently - If the link between this autorun operation all of its target operations should be severed
Throws:
CMException

createAutoRunTask

public abstract AutoRunTask createAutoRunTask(Operation pOperation)
                                       throws CMException
Creates a AutoRunTask which will be used to automatically run a specified operation (different than this operation)

Throws:
CMException

getAutoRunPropertyGroup

protected AutoRunPropertyGroup getAutoRunPropertyGroup()
                                                throws CMException
Gets the property group containing the auto run properties. It is assumed that there is only one of these property groups

Throws:
CMException

rescheduleAllTasks

public void rescheduleAllTasks()
                        throws CMException
Cancels all of this operation's tasks and then reschedules them. This method is invoked by the DataEngine when an autorun operation is updated.

Throws:
CMException

execute

public java.lang.Object execute(Field field,
                                Row row,
                                ExecutingContext ec,
                                boolean checkConnectionPool)
                         throws CMException
Child classes should override for functionality Creation date: (4/23/2003 7:40:14 AM)

Overrides:
execute in class SQLOperation
Parameters:
ec - planetj.dataengine.ExecutingContext
field - planetj.database.Field
checkConnectionPool - boolean - true if connection pool should be started.
Throws:
CMException

postDelete

protected void postDelete(int changed,
                          ExecutingContext ec)
                   throws CMException
This method provides a "hook" for altering the current Row after a delete is performed.

Overrides:
postDelete in class Operation
Parameters:
ec - current context in which code is running
Throws:
CMException

update

public int update(java.sql.Connection conn,
                  ExecutingContext ec)
           throws CMException
Updates the database with the values in this Row. If concurrent alterations to the database prevent this row from being updated, a ConcurrentAlterationException is thrown.

Overrides:
update in class SQLOperation
Parameters:
conn - The connection to use for the update
Returns:
The number of updated rows
Throws:
CMException