@Override protected PropertyGroupWrapper createVersionDataGroup() { PropertyGroupWrapper versionDataGroup = super.createVersionDataGroup(); VersionUtility.addMDComponentModelGroup(getFormContext(), versionDataGroup); return versionDataGroup; }
@Override public EFieldType getFieldType() { if (m_fieldType == null && isField()) { String fieldTypeName = getFieldTypeName(); String businessType = getBusinessType(); // For local refs to a date, the fieldTypeName becomes "D" and businessType is blank // if ("date".equalsIgnoreCase(fieldTypeName) || "D".equalsIgnoreCase(businessType) || "DDMM".equalsIgnoreCase(businessType) || "FOREXD".equalsIgnoreCase(businessType) || "MATLMM".equalsIgnoreCase(businessType) || "NDDATE".equalsIgnoreCase(businessType) || "D".equalsIgnoreCase(fieldTypeName)) { m_fieldType = EFieldType.DATE; } else if ("datetime".equalsIgnoreCase(fieldTypeName) || "RELTIME".equalsIgnoreCase(businessType)) { m_fieldType = EFieldType.DATE_TIME; } else if ("integer".equalsIgnoreCase(fieldTypeName)) { // Fix for 1134 - Treat integer type as text as they could have been decimal anyway, but the // introspection doesn't say so at the moment, // so for practical reasons, treat as text and let T24 handle it. // // NB: Also in current browser, apparently you can say "1T" to indicate 1 thousand! // m_fieldType = EFieldType.STRING; // EFieldType.INTEGER; } else if ("double".equalsIgnoreCase(fieldTypeName)) { m_fieldType = EFieldType.DOUBLE; } else if (("FQU".equals(businessType) || "FQO".equals(businessType))) { // Check for frequency BEFORE string as its underlying type is "string" // m_fieldType = EFieldType.FREQUENCY; } else if (m_mdfProperty.getType() instanceof MdfEnumeration) { // Check enumeration after date fields, as date fields seem to be "dummy" enumerations .. // presumably an introspection bug? // // e.g. CUSTOMER__DATE_OF_BIRTH : mml:string // n1000=1000 // m_fieldType = EFieldType.LIST; } else if (T24Aspect.isMultiLanguage(m_mdfProperty)) { m_fieldType = EFieldType.MULTI_LANGUAGE_GROUP; } else if (VersionUtility.isTextArea(m_mdfProperty)) { m_fieldType = EFieldType.TEXT_AREA_GROUP; } else // Assume we're dealing with strings .. will handle exceptions as they're discovered { m_fieldType = EFieldType.STRING; } } return m_fieldType; }