/** * Create a getter for the specified process parent business data and a property for the parent * process id (if it has parent and if the parent has business data) * * @param process * @param propertiesToKept return a set of properties to kept */ private Set<DMObject> createPropertiesForParentProcessBusinessData(FlexoProcess process) { Set<DMObject> propertiesToKept = new HashSet<DMObject>(); if (process.getParentProcess() != null && process.getParentProcess().getBusinessDataType() != null) { propertiesToKept.add( createPropertyForProcessKey( getParentProcessBusinessDataIdKey(process.getParentProcess()), Integer.class)); DMProcessBusinessDataAccessingMethod foundMethod = DMProcessBusinessDataAccessingMethod.getProcessBusinessDataAccessingMethod( this, process.getParentProcess(), CodeType.AUTOGENERATEDBUSINESSDATA_PARENT); if (foundMethod == null) { foundMethod = new DMProcessBusinessDataAccessingMethod( this, process.getParentProcess(), CodeType.AUTOGENERATEDBUSINESSDATA_PARENT); } else { foundMethod.updateProcess(process.getParentProcess()); } propertiesToKept.add(foundMethod); } return propertiesToKept; }
@Override protected boolean isEnabledForSelection( FlexoProcess object, Vector<WKFObject> globalSelection) { return object != null && !object.isImported() && object.getParentProcess() != null; }