. Added support for "displayLabelId" attribute in Advanced Search meta-data config (as requested on the forums)

. Handling of missing content (reader.exists()) in TemplateNode
. JavaDoc improvements to Template changes code from yestarday

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2008 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast 2005-12-08 14:57:40 +00:00
parent d051d1153c
commit c337d0d87e
3 changed files with 21 additions and 4 deletions

View File

@ -387,17 +387,23 @@ public class ClientConfigElement extends ConfigElementAdapter
}
/**
* Simple wrapper class for custom advanced search property
* @author Kevin Roast
*/
public static class CustomProperty
{
CustomProperty(String type, String aspect, String property)
CustomProperty(String type, String aspect, String property, String labelId)
{
Type = type;
Aspect = aspect;
Property = property;
LabelId = labelId;
}
public String Type;
public String Aspect;
public String Property;
public String LabelId;
}
}

View File

@ -58,6 +58,7 @@ public class ClientElementReader implements ConfigElementReader
public static final String ATTRIBUTE_TYPE = "type";
public static final String ATTRIBUTE_PROPERTY = "property";
public static final String ATTRIBUTE_ASPECT = "aspect";
public static final String ATTRIBUTE_DISPLAYLABEL = "displayLabelId";
private static Log logger = LogFactory.getLog(ClientElementReader.class);
@ -220,7 +221,8 @@ public class ClientElementReader implements ConfigElementReader
String type = propElement.attributeValue(ATTRIBUTE_TYPE);
String aspect = propElement.attributeValue(ATTRIBUTE_ASPECT);
String prop = propElement.attributeValue(ATTRIBUTE_PROPERTY);
props.add(new ClientConfigElement.CustomProperty(type, aspect, prop));
String labelId = propElement.attributeValue(ATTRIBUTE_DISPLAYLABEL);
props.add(new ClientConfigElement.CustomProperty(type, aspect, prop, labelId));
}
configElement.setCustomProperties(props);
}

View File

@ -168,8 +168,17 @@ public class UISearchCustomProperties extends SelfRenderingComponent implements
// if we found a def, then we can build components to represent it
if (propDef != null)
{
// TODO: add display label I18N message support to configelement and here
String label = propDef.getTitle() != null ? propDef.getTitle() : propDef.getName().getLocalName();
// resolve display label I18N message
String label;
if (property.LabelId != null && property.LabelId.length() != 0)
{
label = Application.getMessage(context, property.LabelId);
}
else
{
// or use dictionary label or QName as last resort
label = propDef.getTitle() != null ? propDef.getTitle() : propDef.getName().getLocalName();
}
// special handling for Date and DateTime
DataTypeDefinition dataTypeDef = propDef.getDataType();