/** * Converts a list represented by a comma delimited string so to a DataValue * * @param stringValue * a comma separated list of values * @return DataValue representation of stringValue */ protected Data convertStringToDataValue(String stringValue) { Data data = null; if (stringValue != null) { data = new Data(); String[] stringValues = stringValue.split(","); for (String value : stringValues) { data.add(value); } } return data; }
/** * Converts the data map to a bracketed string representation * @return */ private String _toString(){ StringBuffer dataString = new StringBuffer(); dataString.append("{"); for (Iterator itr = this.iterator(); itr.hasNext();) { Property p = (Property) itr.next(); dataString.append(p.getKey() + "=" + p.getValue()); if (itr.hasNext()) { dataString.append(", "); } } dataString.append("}"); return dataString.toString(); }
Iterator<Data.Property> iter1 = data.iterator(); if (iter1.hasNext()) { table.buildHeaders(); if(metadata!=null&&metadata.getInitialLookup()!=null){ QueryPath translatedPath = QueryPath.concat("_runtimeData", prop.getKey().toString(), "id-translation"); dataValue = data.query(translatedPath); QueryPath fieldPath = translatePath(path, fullPath, model); Object o = rowData.query(fieldPath); if (o != null) { if (cellData != null && cellData.size() > 0) { StringBuilder sb = new StringBuilder(); Iterator<Data.Property> iter = cellData.realPropertyIterator(); while (iter.hasNext()) { Data.Property p = iter.next(); Data d = p.getValue(); String key = table.getConfig().getConcatenatedFields().get(fullPath.toString()); sb.append(d.get(key)).append(", ");
@Override public void applyOutboundDataFilter(Data data, Metadata metadata, Map<String, Object> properties) throws Exception { Data previousVersionData = (Data)properties.get(VersionProgramFilter.PREVIOUS_VERSION_DATA); String versionFromId = data.query(ProgramConstants.VERSION_FROM_ID); if (versionFromId != null){ CoreProgramInfo previousVersionCoreInfo = programService.getCoreProgram(versionFromId, ContextUtils.getContextInfo()); if (previousVersionData == null){ //This is an initial get. Create previous version data to send back to client previousVersionData = new Data(); previousVersionData.set(ProgramConstants.ID, previousVersionCoreInfo.getId()); previousVersionData.set(ProgramConstants.END_PROGRAM_ENTRY_TERM, previousVersionCoreInfo.getEndProgramEntryTerm()); previousVersionData.set(ProgramConstants.END_PROGRAM_ENROLL_TERM, previousVersionCoreInfo.getEndTerm()); previousVersionData.set(ProgramConstants.STATE, previousVersionCoreInfo.getStateKey()); } data.set(PREVIOUS_VERSION_INFO, previousVersionData); } }
String existingId = (String) ((Data) prop.getValue()).get(ProgramConstants.ID); existingVariationIds.add(existingId); String updatedId = event.getData().get(ProgramConstants.ID); Integer updatedKey = null; String id = (String) ((Data) prop.getValue()).get(ProgramConstants.ID); if (updatedId.equals(id)) { updatedKey = prop.getKey(); Data currentMetaInfo = ((Data) prop.getValue()).get("meta"); String latestVersionInd = currentMetaInfo.get("versionInd"); Data newMetaInfo = event.getData().get("meta"); if (newMetaInfo == null) { newMetaInfo = new Data(); event.getData().set("meta", newMetaInfo); newMetaInfo.set("versionInd", latestVersionInd); break; currentVariations.set(updatedKey, event.getData()); } else { currentVariations.add(event.getData());
/** * Returns all selected values along with their translations in the _runtime data. * * @return */ public Value getValueWithTranslations() { Data data = new Data(); Data _runtimeData = new Data(); for (KSItemLabel item : selectedItems) { data.add(item.getKey()); Data displayData = new Data(); displayData.set("id-translation", item.getDisplayText()); _runtimeData.add(displayData); } if (null != picker && picker.getDisplayValue().equals(UtilConstants.IMPOSSIBLE_CHARACTERS)) { data.add(UtilConstants.IMPOSSIBLE_CHARACTERS); Data displayData = new Data(); displayData.set("id-translation", UtilConstants.IMPOSSIBLE_CHARACTERS); _runtimeData.add(displayData); } data.set(new StringKey("_runtimeData"), _runtimeData); DataValue result = new DataValue(data); return result; }
if (data != null && metadata != null) { for (Iterator<Property> iter = data.realPropertyIterator(); iter.hasNext();) { Property prop = iter.next(); } else { for (Iterator<Property> listIter = ((Data) fieldData).realPropertyIterator(); listIter .hasNext();) { Property listItem = listIter.next(); IdTranslation trans = idTranslator.getTranslation( fieldMetadata.getInitialLookup(), ((Data) listData).<String> get("orgId")); if (trans != null) { Integer index = listItem.getKey(); } else if (((Data) prop.getValue()).size() == 1 && ((Data) prop.getValue()).get(0) != null) { ((Data) prop.getValue()).get(0).toString()); if (trans != null) { setTranslation(data, prop.getKey().toString(), null, trans.getDisplay()); data.set(prop.getKey().toString(), ((Data) prop.getValue()).get(0).toString()); iter.remove(); } else {
/** * Performs a recursive comparison of the two parameters. * * @return true when all members of the provided hierarchies are equivalent */ private static boolean deepEquals(Data o1, Data o2) { Iterator<Property> iter = o1.iterator(); while (iter.hasNext()) { Property prop = iter.next(); Key key = prop.getWrappedKey(); Object value1 = prop.getValue(); Object value2 = o2.get(key); if (value1 == null ^ value2 == null) { return false; } else if (value1 != null && value1 instanceof Data && value2 instanceof Data) { boolean recursiveResult = deepEquals((Data) value1, (Data) value2); if (!recursiveResult) { return false; } } else if (value1 != value2 && !(value1.equals(value2))) { return false; } } return true; } }
public static Data createNewSpecializationBasedOnMajor(DataModel programModel) { Data newSpecializationData = new Data(); newSpecializationData.set(ProgramConstants.STATE, programModel.<String>get(ProgramConstants.STATE)); newSpecializationData.set(ProgramConstants.TYPE, ProgramConstants.VARIATION_TYPE_KEY); newSpecializationData.set(ProgramConstants.PROGRAM_REQUIREMENTS, new Data()); //Manually copy default values here... we don't have access to the metadata and we only want to default the first time newSpecializationData.set(ProgramConstants.FINANCIAL_CONTROL_DIVISION, programModel.<Data>get(ProgramConstants.FINANCIAL_CONTROL_DIVISION)==null?null:programModel.<Data>get(ProgramConstants.FINANCIAL_CONTROL_DIVISION).copy()); newSpecializationData.set(ProgramConstants.FINANCIAL_CONTROL_UNIT, programModel.<Data>get(ProgramConstants.FINANCIAL_CONTROL_UNIT)==null?null:programModel.<Data>get(ProgramConstants.FINANCIAL_CONTROL_UNIT).copy()); newSpecializationData.set(ProgramConstants.FINANCIAL_RESOURCES_DIVISION, programModel.<Data>get(ProgramConstants.FINANCIAL_RESOURCES_DIVISION)==null?null:programModel.<Data>get(ProgramConstants.FINANCIAL_RESOURCES_DIVISION).copy()); newSpecializationData.set(ProgramConstants.FINANCIAL_RESOURCES_UNIT, programModel.<Data>get(ProgramConstants.FINANCIAL_RESOURCES_UNIT)==null?null:programModel.<Data>get(ProgramConstants.FINANCIAL_RESOURCES_UNIT).copy()); newSpecializationData.set(ProgramConstants.CURRICULUM_OVERSIGHT_DIVISION, programModel.<Data>get(ProgramConstants.CURRICULUM_OVERSIGHT_DIVISION)==null?null:programModel.<Data>get(ProgramConstants.CURRICULUM_OVERSIGHT_DIVISION).copy()); newSpecializationData.set(ProgramConstants.CURRICULUM_OVERSIGHT_UNIT, programModel.<Data>get(ProgramConstants.CURRICULUM_OVERSIGHT_UNIT)==null?null:programModel.<Data>get(ProgramConstants.CURRICULUM_OVERSIGHT_UNIT).copy()); newSpecializationData.set(ProgramConstants.DEPLOYMENT_DIVISION, programModel.<Data>get(ProgramConstants.DEPLOYMENT_DIVISION)==null?null:programModel.<Data>get(ProgramConstants.DEPLOYMENT_DIVISION).copy()); newSpecializationData.set(ProgramConstants.DEPLOYMENT_UNIT, programModel.<Data>get(ProgramConstants.DEPLOYMENT_UNIT)==null?null:programModel.<Data>get(ProgramConstants.DEPLOYMENT_UNIT).copy()); newSpecializationData.set(ProgramConstants.STUDENT_OVERSIGHT_DIVISION, programModel.<Data>get(ProgramConstants.STUDENT_OVERSIGHT_DIVISION)==null?null:programModel.<Data>get(ProgramConstants.STUDENT_OVERSIGHT_DIVISION).copy()); newSpecializationData.set(ProgramConstants.STUDENT_OVERSIGHT_UNIT, programModel.<Data>get(ProgramConstants.STUDENT_OVERSIGHT_UNIT)==null?null:programModel.<Data>get(ProgramConstants.STUDENT_OVERSIGHT_UNIT).copy()); addCredentialProgramDataToVariation(newSpecializationData, programModel); return newSpecializationData; }
public void setReferenceable(Boolean referenceable) { Boolean newValue = referenceable; if (referenceable == null) { newValue = new Boolean(false); } data.set(Properties.REFERENCEABLE.getKey(), newValue); } public Boolean getReferenceable() {
/** * Converts a list represented by DataValue to a list of values as a comma delimited StringValue * * @param dataValue * DataValue representing a list object * @return the list converted to a comma delimited StringValue */ protected String convertDataValueToStringValue(Data data) { StringBuffer sbValue = new StringBuffer(); Iterator<Property> propertyIterator = data.realPropertyIterator(); while (propertyIterator.hasNext()) { Property property = propertyIterator.next(); String propertyValue = property.getValue(); sbValue.append(","); sbValue.append(propertyValue); } if (sbValue.toString().isEmpty()) { return ""; } else { return sbValue.toString().substring(1); } }
@Override public void exec(Boolean result) { Data program = ((DataModel)model).getRoot().get(ProgramConstants.PROGRAM_REQUIREMENTS); Iterator<Data.Property> realPropertyIterator = program.realPropertyIterator(); ArrayList<String> programRequirementIds = new ArrayList<String>(); while(realPropertyIterator.hasNext()) { programRequirementIds.add((String)realPropertyIterator.next().getValue()); } retrieveStatementTypes(programRequirementIds, onReadyCallback); } });
/** * Add the related CredentialPrograms' longTitle */ @Override public void applyOutboundDataFilter(Data data, Metadata metadata, Map<String, Object> properties) throws Exception { String coreProgramId = data.get(ProgramConstants.ID); Data credPgmData = findCredentialTitles(coreProgramId); if (credPgmData != null) { // Add the Credential Programs' titles to the data passed in data.set(ProgramConstants.CREDENTIAL_PROGRAMS, credPgmData); } }
/** * Performs initial comparison of two data hierarchies, then examines them recursively if necessary * * @return true when all members of the provided hierarchies are equivalent */ protected static boolean nullsafeEquals(Data o1, Data o2) { if (o1 == null && o2 == null) { return true; } else if (o1 != null && o2 != null && o1.size() != o2.size()) { return false; } else if (o1 != null && o2 != null && o1.size() == o2.size()) { return deepEquals(o1, o2); } else { return false; } }
@Override public String getKey(Data data) { String result; if (data == null) { return null; } result = (String) data.get(VALUE); return result; }
public static String getVersionIndicator(Data data) { String result = null; Data versions = getVersions(data); if (versions == null) { return null; } if (versions.size() > 0) { Data v = versions.get(0); if (v != null) { result = v.get(VersionProperties.VERSION_INDICATOR.getKey()); } } return result; }