planetj.dataengine.operation
Class UserAuthorizationOperation

java.lang.Object
  extended byplanetj.database.Row
      extended byplanetj.dataengine.PropertyRow
          extended byplanetj.dataengine.operation.Operation
              extended byplanetj.dataengine.sqloperation.SQLOperation
                  extended byplanetj.dataengine.operation.UserAuthorizationOperation
All Implemented Interfaces:
java.lang.Cloneable, IActionObject, IAuthorizationOperation, IBatchProcessObject, IBusinessObject, ICSVRow, IFDFObject, IGuarded, INamedCollection, INavigationObject, IOperation, IOwner, IRowCreator, ISQLOperation, IXMLObject, java.io.Serializable

public class UserAuthorizationOperation
extends SQLOperation
implements IAuthorizationOperation

This operation contains an SQL string that may be executed to get a list of user names that can be used to determine authorization.

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.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
UserAuthorizationOperation()
           
 
Method Summary
protected  java.util.List getUserNamesFromResults(Field field, Row row, ExecutingContext ec)
          Creation date: (4/25/2003 8:50:20 AM)
 boolean isAuthorized(Field field, Row row, ExecutingContext ec)
           
 boolean isFieldApplicable(Field fld, ExecutingContext ec)
          Tests if a field is applicable in the current scenario
 
Methods inherited from class planetj.dataengine.sqloperation.SQLOperation
createInsertObject, createInsertObject, dataTransferred, delete, execute, 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, 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, update, 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, postDelete, 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

UserAuthorizationOperation

public UserAuthorizationOperation()
Method Detail

getUserNamesFromResults

protected java.util.List getUserNamesFromResults(Field field,
                                                 Row row,
                                                 ExecutingContext ec)
                                          throws CMException
Creation date: (4/25/2003 8:50:20 AM)

Returns:
List containing the names of authorized users - authorized for ?.
Throws:
CMException

isAuthorized

public boolean isAuthorized(Field field,
                            Row row,
                            ExecutingContext ec)
                     throws CMException
Specified by:
isAuthorized in interface IAuthorizationOperation
Returns:
boolean - true if current user is contained in first column of the results of the query. If validating pRow and Authorization Op has parameterized SQL the Row cannot be null or the users will never gain access. Creation date: (4/25/2003 8:50:20 AM)
Throws:
CMException

isFieldApplicable

public boolean isFieldApplicable(Field fld,
                                 ExecutingContext ec)
                          throws CMException
Tests if a field is applicable in the current scenario

Overrides:
isFieldApplicable in class SQLOperation
Parameters:
fld - The field which may or may not be applicable
Throws:
CMException