public class SoftwareCatalog extends Mbo implements SoftwareCatalogRemote
Modifier and Type | Field and Description |
---|---|
protected static java.lang.String[] |
emptyNameList |
protected static java.lang.String |
FILTER_CANBERELEASE_CLAUSE |
protected static java.lang.String |
FILTER_CANBEVERSION_CLAUSE |
protected static java.lang.String |
FILTER_HASSAMESWNAME_CLAUSE |
protected static java.lang.String |
FILTER_NOHIERARCHYCHILD_CLAUSE |
protected static java.lang.String |
FILTER_NOHIERARCHYPARENT_CLAUSE |
protected static java.lang.String |
FILTER_NORELATIONSHIPCHILD_CLAUSE |
protected static java.lang.String |
FILTER_NORELATIONSHIPPARENT_CLAUSE |
protected static java.lang.String |
FILTER_NOTDELETED_CLAUSE |
protected static java.lang.String |
FILTER_NOTEXTERNALCATALOG_CLAUSE |
protected static java.lang.String |
FILTER_NOTSELF_CLAUSE |
protected static java.lang.String |
FILTER_NOTSYNONYM_CLAUSE |
static java.lang.String |
FILTER_TYPE_CHILDRELATION
make the selected records product parents of the current main record
|
static java.lang.String |
FILTER_TYPE_CHILDRELEASE
make the selected records hierarchical release children of the current main record (which must be a version)
|
static java.lang.String |
FILTER_TYPE_CHILDVERSION
make the selected records hierarchical version children of the current main record (which must be a release)
|
static java.lang.String |
FILTER_TYPE_CONVERSIONVARIANT
make the selected records conversion variants of the current main record
|
static java.lang.String |
FILTER_TYPE_PARENTRELATION
make the selected records product children of the current main record
|
protected boolean |
isBreakingHierarchy
true if this is a hierarchy child record marked for disassociation (never delete these children)
|
protected boolean |
isDisassociating
true if this is a variant record marked for disassociation (never delete variants)
|
protected static java.lang.String[] |
TLOAMSOFTWARE_EXTERNAL_CATALOG_MANAGED_ATTRIBUTES
These attributes are managed in SwKBT and TADz, so if source is one of these we set them as read-only
|
protected static java.lang.String[] |
TLOAMSOFTWARE_THIRDPARTY_EDITABLE_ATTRIBUTES
These attributes are enabled for editing for third-party software, so if source is third-party set them as editable
|
MULTILANGCOPY, phantomList, phantomQueue
UNIQUE_ID_COMPONENTS, UNIQUE_ID_SEPARATOR, VER_REL_SEPARATOR
ALLROWS, CHANGEDBY_USER, COUNT_ADDITIONS, COUNT_AFTERSAVE, COUNT_DATABASE, COUNT_DELETED, COUNT_EXISTING, DBCONFIG, DELAYVALIDATION, DELAYVALIDATIONONLY, DISCARDABLE, GOTCOMPLETEWHERE, HIDDEN, NO_RELATEDMBOS_OF_OWNERSCHILDREN_FETCH, NOACCESSCHECK, NOACTION, NOADD, NOCOMMIT, NODELETE, NONE, NOOVERWRITE, NOSAVE, NOSETVALUE, NOUPDATE, NOVALIDATION, NOVALIDATION_AND_NOACTION, NOVALIDATION_AND_NOACTION_ALLOWCROSSOVER, READONLY, REBUILD, REQUIRED, SAMEVALUEVALIDATION, SETBYPARENT, USER
Constructor and Description |
---|
SoftwareCatalog(MboSet ms)
The boilerplate constructor
|
Modifier and Type | Method and Description |
---|---|
void |
add()
Set isreviewed and make it Read-Only.
|
void |
canDelete()
Do not allow the entry to be deleted if there is any reference to it
|
static java.lang.String |
combineSubClauses(java.lang.String[] subClauses)
Utility method to combine sub-clauses into one clause, joining them with the operator "and"
|
void |
delete(long accessModifier)
If this is a variant then disassociate it.
|
java.lang.String |
generateUniqueId()
Generate a "unique" ID for this MBO.
|
static java.lang.String |
generateUniqueId(java.lang.String swname,
java.lang.String version,
java.lang.String release,
java.lang.String manufacturer,
java.lang.String unknownString)
Generate a "unique" ID based on four parameters:
For SWNAME, VERSION, RELEASE, MANUFACTURER,
Replace nulls parameters with with empty strings
Set SWNAME := TRIM(SWNAME);
Set VERSION := TRIM(VERSION);
Set RELEASE := TRIM(RELEASE);
Set MANUFACTURER := TRIM(MANUFACTURER);
If (RELEASE is empty) then {Set VERREL := VERSION} else {Set VERREL := VERSION + '.' + RELEASE};
// note that if version is empty there will be two adjacent | characters
If (SWNAME is empty) then SWNAME := [dpa_unknown property value];
If (VERREL is empty) then VERREL := [dpa_unknown property value];
// Note that if version is empty but release is not, there will not be UNKKNOWN in the place of version
If (MANUFACTURER is empty) then MANUFACTURER := [dpa_unknown property value];
Set uniqueid := UPPERCASE(SWNAME + '|' + VERREL + '|' + MANUFACTURER);
|
static MboRemote |
getCatalogRecord(long tloamsoftwareid,
UserInfo userInfo)
Retrieve from the database the catalog record based on its unique TLOAMSOFTWAREID
|
static java.lang.String |
getFilterClause(java.lang.String requestedType) |
SoftwareCatalogRemote |
getParent()
Get Parent in the Product-Version-Release hierarchy
|
protected java.lang.String |
getUnknownString() |
java.lang.String |
getVuiExhibitID()
Get the Value Unit Exhibit List ID.
|
void |
init()
Manage read-only attributes based on if this is a new object, or an imported one.
|
protected boolean |
isHierarchyChild()
Return true if this record is hierarchically linked to a parent
|
protected boolean |
isVariantObject()
Return true if this is a variant object
|
void |
modify()
Set the hidden unique key as many times as needed
|
void |
save()
Always force the reviewed flag on manual save.
|
void |
setNameAndTypeReadOnly()
Make the fields SWNAME and TYPE of this MBO read-only if this MBO is a main record
|
protected void |
setReadOnly(boolean readOnly)
Set all attributes of the object to read only flag to match the parameter
readOnly ,
with the exception of a set of attributes that always remain read/write |
protected void |
setReviewed()
Force the record to reviewed status
|
boolean |
toBeSaved()
If disassociating a variant or breaking the hierarchy, always save; otherwise return base implementation
|
void |
undelete()
If this is a variant then reassociate it.
|
addMboSetForRequiredCheck, addToDeleteForInsertList, andEvaluateConditions, appValidate, blindCopy, checkFieldAccess, checkMethodAccess, checkMethodAccess, checkQualifiedRestriction, checkRecordLock, checkSiteOrgAccessForSave, clear, clearRelatedSets, clearRelatedSets, commit, copy, copy, copy, copyFake, copyValue, copyValue, createComm, delete, deleteDoclinks, determineRequiredFieldsFromERM, duplicate, enableMethod, evaluateCondition, evaluateCondition, evaluateCtrlConditions, evaluateCtrlConditions, evaluateRestriction, excludeObjectForPropagate, findAllNullRequiredFields, fireEvent, generateAutoKey, generateContentUID, getAlwaysFlags, getAttrRestrictionFlag, getAttrRestrictions, getBoolean, getByte, getBytes, getCheckpoint, getClientLocale, getClientTimeZone, getCommLogOwnerNameAndUniqueId, getCondition, getDatabaseValue, getDate, getDeleteForInsertList, getDocLinksCount, getDomainFilterWhere, getDomainIDs, getDouble, getESId, getExistingMboSet, getFetchIndex, getFieldExceptions, getFlags, getFloat, getIgnoreLockCheck, getInitialValue, getInsertCompanySetId, getInsertItemSetId, getInsertOrganization, getInsertOrgForSite, getInsertSite, getInstanciatedMboSet, getInstanciatedMboValue, getInt, getIntegrationService, getKeyValue, getLanguageRecordRowStamp, getLinesRelationship, getList, getLockedByDisplayName, getLockedByUserID, getLong, getMatchingAttr, getMatchingAttr, getMatchingAttrs, getMaxMessage, getMboCtx, getMboData, getMboDataSet, getMboForAttribute, getMboForAttributeStatic, getMboInitialValue, getMboList, getMboLogger, getMboRecordData, getMboServer, getMboSet, getMboSet, getMboSet, getMboSetInfo, getMboSetInfo, getMboValue, getMboValueData, getMboValueData, getMboValueData, getMboValueDataForDownload, getMboValueInfoStatic, getMboValueInfoStatic, getMessage, getMessage, getMessage, getMessage, getMXTransaction, getName, getOrgForGL, getOrgSiteForMaxvar, getOwner, getProfile, getPropagateKeyFlag, getProxy, getRecordIdentifer, getRecordMboName, getRecordType, getRelatedSets, getRelatedWhere, getRelatedWhere, getRelationshipNameToLangTable, getResourceName, getRowRestrictionFlag, getRowStamp, getRowStampObject, getSecurityLogger, getSiteOrg, getSqlLogger, getString, getString, getStringInBaseLanguage, getStringInSpecificLocale, getStringTransparent, getSynonymValueWhere, getTenantId, getTenantIdForNoMboRecordData, getThisMboSet, getTranslator, getUniqueIdentifer, getUniqueIDName, getUniqueIDValue, getUniqueLanguageIDRecord, getUserInfo, getUserName, getValidateOrder, hasFieldAccess, hasHierarchyLink, hasLockSaveRights, hasRelatedQbe, hasUniqueID, initFieldFlagsOnMbo, initRelationship, isApiBatchError, isAppLockEnabled, isAutoKeyed, isBasedOn, isChangeByUserWhenSetFromLookup, isDuringInit, isEAuditFieldModified, isESigFieldModified, isFlagSet, isForDM, isLocked, isLocked, isLockedByMe, isMasterTenant, isMboLockedByMe, isModified, isModified, isNew, isNoSql, isNull, isOptionGranted, isSelected, isSkipCopyField, isValid, isZombie, lock, moveFieldFlagsToMboValue, needCallInitFieldFlag, orEvaluateConditions, propagateKeyValue, removeCtx, removeRelatedSet, resolveNoSqlWhere, rollbackToCheckpoint, select, setAppDefaultValue, setApplicationError, setApplicationRequired, setAutokeyFields, setCopyDefaults, setDatabaseDefaultValues, setDatabaseDefaultValues, setDefaultValue, setDefaultValues, setDeleted, setDuringInit, setEAuditFieldModified, setESId, setESigFieldModified, setFetchIndex, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlags, setFlag, setFlag, setFlags, setForDM, setHierarchyLink, setIgnoreRecordLockCheck, setLangCodeDefault, setMboCtx, setMLValue, setModified, setModifiedForIntegrationOnly, setNewMbo, setNoSql, setPropagateKeyFlag, setPropagateKeyFlag, setProxy, setReadonlyWhenParentIsReadonly, setRecordType, setReferencedMbo, setReferencedMbo, setResolveNoSqlWhere, setResourceName, setTenantIdForNoMboRecordData, setUniqueIDValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValueFromSequence, setValueNull, setValueNull, sigopGranted, sigopGranted, sigopGranted, sigopGranted, sigOptionAccessAuthorized, skipCopyField, smartFill, smartFind, smartFind, smartFind, smartFindByObjectName, smartFindByObjectName, smartFindByObjectNameDirect, startCheckpoint, thisToBeUpdated, throwRequiredException, toBeAdded, toBeDeleted, toBeUpdated, toBeValidated, undeleteDoclinks, unlock, unselect, useDataSecurity, validate, validateAttributes, validateKeyUniqueness, valueChanged
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addMboSetForRequiredCheck, addToDeleteForInsertList, blindCopy, checkMethodAccess, clear, copy, copy, copy, copyFake, copyValue, copyValue, createComm, delete, duplicate, evaluateCondition, evaluateCtrlConditions, evaluateCtrlConditions, excludeObjectForPropagate, generateAutoKey, getBoolean, getByte, getBytes, getCommLogOwnerNameAndUniqueId, getDatabaseValue, getDate, getDeleteForInsertList, getDocLinksCount, getDomainIDs, getDouble, getExistingMboSet, getFlags, getFloat, getIgnoreLockCheck, getInitialValue, getInsertCompanySetId, getInsertItemSetId, getInsertOrganization, getInsertSite, getInt, getKeyValue, getLinesRelationship, getList, getLockedByDisplayName, getLong, getMatchingAttr, getMatchingAttr, getMatchingAttrs, getMaxMessage, getMboData, getMboDataSet, getMboInitialValue, getMboList, getMboSet, getMboSet, getMboSet, getMboValueData, getMboValueData, getMboValueData, getMboValueDataForDownload, getMboValueInfoStatic, getMboValueInfoStatic, getMessage, getMessage, getMessage, getMessage, getMXTransaction, getName, getOrgForGL, getOrgSiteForMaxvar, getOwner, getPropagateKeyFlag, getRecordIdentifer, getSiteOrg, getString, getString, getStringInBaseLanguage, getStringInSpecificLocale, getStringTransparent, getThisMboSet, getUniqueIDName, getUniqueIDValue, getUserInfo, getUserName, hasHierarchyLink, hasLockSaveRights, isAutoKeyed, isBasedOn, isFlagSet, isForDM, isLocked, isLocked, isMasterTenant, isMboLockedByMe, isModified, isModified, isNew, isNull, isOptionGranted, isSelected, isZombie, lock, propagateKeyValue, rollbackToCheckpoint, select, setApplicationError, setApplicationRequired, setAutokeyFields, setCopyDefaults, setDeleted, setESigFieldModified, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlags, setFlag, setFlag, setFlags, setForDM, setIgnoreRecordLockCheck, setMLValue, setModified, setNewMbo, setPropagateKeyFlag, setPropagateKeyFlag, setReferencedMbo, setReferencedMbo, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValueNull, setValueNull, sigopGranted, sigopGranted, sigopGranted, sigOptionAccessAuthorized, smartFill, smartFind, smartFind, smartFind, smartFindByObjectName, smartFindByObjectName, smartFindByObjectNameDirect, startCheckpoint, thisToBeUpdated, toBeAdded, toBeDeleted, toBeUpdated, toBeValidated, unlock, unselect, validate, validateAttributes
protected static final java.lang.String[] TLOAMSOFTWARE_EXTERNAL_CATALOG_MANAGED_ATTRIBUTES
protected static final java.lang.String[] TLOAMSOFTWARE_THIRDPARTY_EDITABLE_ATTRIBUTES
protected static final java.lang.String[] emptyNameList
protected static final java.lang.String FILTER_NOTSELF_CLAUSE
protected static final java.lang.String FILTER_NOTDELETED_CLAUSE
protected static final java.lang.String FILTER_NOTSYNONYM_CLAUSE
protected static final java.lang.String FILTER_NOTEXTERNALCATALOG_CLAUSE
protected static final java.lang.String FILTER_NOHIERARCHYPARENT_CLAUSE
protected static final java.lang.String FILTER_NOHIERARCHYCHILD_CLAUSE
protected static final java.lang.String FILTER_NORELATIONSHIPCHILD_CLAUSE
protected static final java.lang.String FILTER_NORELATIONSHIPPARENT_CLAUSE
protected static final java.lang.String FILTER_CANBEVERSION_CLAUSE
protected static final java.lang.String FILTER_CANBERELEASE_CLAUSE
protected static final java.lang.String FILTER_HASSAMESWNAME_CLAUSE
public static final java.lang.String FILTER_TYPE_CHILDVERSION
public static final java.lang.String FILTER_TYPE_CHILDRELEASE
public static final java.lang.String FILTER_TYPE_PARENTRELATION
public static final java.lang.String FILTER_TYPE_CHILDRELATION
public static final java.lang.String FILTER_TYPE_CONVERSIONVARIANT
protected boolean isDisassociating
protected boolean isBreakingHierarchy
public SoftwareCatalog(MboSet ms) throws MXException, java.rmi.RemoteException
ms
- MXException
java.rmi.RemoteException
public void init() throws MXException
Restrict the editability of TYPE if conditions are met
Make ISREVIEWED field Read-Only if its value is TRUE
init
in class Mbo
MXException
public void setNameAndTypeReadOnly() throws MXException, java.rmi.RemoteException
setNameAndTypeReadOnly
in interface SoftwareCatalogRemote
MXException
java.rmi.RemoteException
public void add() throws MXException, java.rmi.RemoteException
add
in interface MboRemote
add
in class Mbo
MXException
java.rmi.RemoteException
protected void setReadOnly(boolean readOnly) throws java.rmi.RemoteException
readOnly
,
with the exception of a set of attributes that always remain read/writeboolean
- java.rmi.RemoteException
protected boolean isVariantObject() throws java.rmi.RemoteException, MXException
java.rmi.RemoteException
MXException
protected boolean isHierarchyChild() throws java.rmi.RemoteException, MXException
java.rmi.RemoteException
MXException
protected void setReviewed() throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
public boolean toBeSaved() throws java.rmi.RemoteException
public java.lang.String generateUniqueId() throws java.rmi.RemoteException, MXException
generateUniqueId
in interface SoftwareCatalogRemote
java.rmi.RemoteException
MXException
public static java.lang.String generateUniqueId(java.lang.String swname, java.lang.String version, java.lang.String release, java.lang.String manufacturer, java.lang.String unknownString) throws java.rmi.RemoteException, MXException
java.rmi.RemoteException
MXException
protected java.lang.String getUnknownString() throws java.rmi.RemoteException, MXException
java.rmi.RemoteException
MXException
public void modify() throws MXException, java.rmi.RemoteException
modify
in class Mbo
MXException
java.rmi.RemoteException
Mbo.modify()
public void save() throws MXException, java.rmi.RemoteException
save
in class Mbo
java.rmi.RemoteException
MXException
public void delete(long accessModifier) throws MXException, java.rmi.RemoteException
delete
in interface MboRemote
delete
in class Mbo
long
- MXException
java.rmi.RemoteException
Mbo.delete(long)
public void undelete() throws MXException, java.rmi.RemoteException
undelete
in interface MboRemote
undelete
in class Mbo
long
- MXException
java.rmi.RemoteException
public void canDelete() throws MXException, java.rmi.RemoteException
canDelete
in class Mbo
MXException
java.rmi.RemoteException
public java.lang.String getVuiExhibitID() throws MXException, java.rmi.RemoteException
getVuiExhibitID
in interface SoftwareCatalogRemote
MXException
java.rmi.RemoteException
public SoftwareCatalogRemote getParent() throws MXException, java.rmi.RemoteException
getParent
in interface SoftwareCatalogRemote
MXException
java.rmi.RemoteException
public static java.lang.String getFilterClause(java.lang.String requestedType)
public static java.lang.String combineSubClauses(java.lang.String[] subClauses)
subClauses
- an array of sub-clauses to be combinedpublic static MboRemote getCatalogRecord(long tloamsoftwareid, UserInfo userInfo) throws java.rmi.RemoteException, MXException
tloamsoftwareid
- - the key value for TLOAMSOFTWARE.TLOAMSOFTWAREIDuserInfo
- - the user credentials to retrieve the MBOMXException
java.rmi.RemoteException