public class DiffDisplayServiceImpl extends org.nuxeo.runtime.model.DefaultComponent implements DiffDisplayService
DiffDisplayService.| Constructor and Description |
|---|
DiffDisplayServiceImpl() |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
getBooleanProperty(org.nuxeo.ecm.platform.forms.layout.api.WidgetDefinition wDef,
String mode,
String property) |
protected PropertyDiffDisplay |
getComplexListFieldDiffDisplay(List<Serializable> listProperty,
List<Integer> listPropertyIndexes,
ListPropertyDiff listPropertyDiff,
boolean isDisplayAllItems,
boolean isDisplayItemIndexes,
String styleClass) |
protected PropertyDiffDisplay |
getComplexListXPaths(String propertyName,
List<Integer> listPropertyIndexes,
ListPropertyDiff listPropertyDiff,
List<Serializable> leftListProperty,
List<Serializable> rightListProperty,
boolean isDisplayAllItems,
boolean isDisplayItemIndexes) |
protected Map<String,Serializable> |
getComplexProperty(Serializable property)
Casts a
Serializable property to Map. |
protected Map<String,Serializable> |
getComplexPropertyIfNotNull(Serializable property)
Gets the complex property if the
property is not null. |
protected org.nuxeo.ecm.platform.forms.layout.api.WidgetDefinition[] |
getComplexSubWidgetDefinitions(String category,
String propertyName,
org.nuxeo.ecm.core.schema.types.Field field,
List<DiffFieldItemDefinition> complexFieldItemDefs,
boolean isDisplayItemIndexes,
boolean isContentDiffLinks) |
protected List<DiffBlockDefinition> |
getDefaultDiffBlockDefinitions(DocumentDiff docDiff) |
List<DiffDisplayBlock> |
getDefaultDiffDisplayBlocks(DocumentDiff docDiff,
org.nuxeo.ecm.core.api.DocumentModel leftDoc,
org.nuxeo.ecm.core.api.DocumentModel rightDoc) |
DiffBlockDefinition |
getDiffBlockDefinition(String name) |
Map<String,DiffBlockDefinition> |
getDiffBlockDefinitions() |
protected List<DiffBlockDefinition> |
getDiffBlockDefinitions(List<String> diffBlockRefs) |
protected List<String> |
getDiffBlockRefs(List<DiffBlockReferenceDescriptor> diffBlocks) |
DiffComplexFieldDefinition |
getDiffComplexField(String schemaName,
String fieldName) |
List<DiffComplexFieldDefinition> |
getDiffComplexFields() |
List<String> |
getDiffDisplay(String docType) |
protected DiffDisplayBlock |
getDiffDisplayBlock(DiffBlockDefinition diffBlockDefinition,
DocumentDiff docDiff,
org.nuxeo.ecm.core.api.DocumentModel leftDoc,
org.nuxeo.ecm.core.api.DocumentModel rightDoc) |
List<DiffDisplayBlock> |
getDiffDisplayBlocks(DocumentDiff docDiff,
org.nuxeo.ecm.core.api.DocumentModel leftDoc,
org.nuxeo.ecm.core.api.DocumentModel rightDoc) |
protected List<DiffDisplayBlock> |
getDiffDisplayBlocks(List<DiffBlockDefinition> diffBlockDefinitions,
DocumentDiff docDiff,
org.nuxeo.ecm.core.api.DocumentModel leftDoc,
org.nuxeo.ecm.core.api.DocumentModel rightDoc) |
Map<String,List<String>> |
getDiffDisplays() |
protected List<String> |
getDiffExcludedFieldRefs(List<DiffFieldDescriptor> diffExcludedFields) |
List<String> |
getDiffExcludedFields(String schemaName) |
Map<String,List<String>> |
getDiffExcludedSchemas() |
protected String |
getFieldDefinition(String fieldName,
String subPropertyName) |
protected PropertyDiffDisplay |
getFieldDiffDisplay(Serializable property,
PropertyDiff propertyDiff,
boolean isDisplayAllItems,
boolean isDisplayItemIndexes,
boolean mustApplyStyleClass,
String styleClass) |
protected PropertyDiffDisplay |
getFieldXPaths(String propertyName,
PropertyDiff propertyDiff,
Serializable leftProperty,
Serializable rightProperty,
boolean isDisplayAllItems,
boolean isDisplayItemIndexes,
List<DiffFieldItemDefinition> complexFieldItemDefs) |
protected PropertyDiffDisplay |
getFinalFieldDiffDisplay(Serializable fieldDiffDisplay,
PropertyDiff propertyDiff,
boolean mustApplyStyleClass,
String styleClass) |
protected org.nuxeo.ecm.platform.forms.layout.api.WidgetDefinition |
getIndexSubwidgetDefinition() |
protected org.nuxeo.ecm.platform.forms.layout.api.service.LayoutStore |
getLayoutStore()
Gets the layout store service.
|
protected PropertyDiffDisplay |
getListFieldDiffDisplay(List<Serializable> listProperty,
ListPropertyDiff listPropertyDiff,
boolean isDisplayAllItems,
boolean isDisplayItemIndexes,
String styleClass)
Gets the list field diff display.
|
protected List<Serializable> |
getListProperty(Serializable property)
Casts or convert a
Serializable property to . |
protected List<Serializable> |
getListPropertyIfNotNull(Serializable property)
Gets the list property if the
property is not null. |
protected List<String> |
getNearestSuperTypeDiffDisplay(String docTypeName) |
protected List<String> |
getNearestSuperTypeDiffDisplay(String leftDocTypeName,
String rightDocTypeName) |
protected String |
getPropertyField(String propertyName) |
protected String |
getPropertyLabel(String propertyName) |
protected String |
getPropertyName(String schema,
String field)
Gets the property name.
|
protected String |
getPropertySchema(String propertyName) |
protected org.nuxeo.ecm.core.schema.SchemaManager |
getSchemaManager()
Gets the schema manager.
|
protected String |
getSubPropertyFullName(String basePropertyName,
String subPropertyName) |
protected org.nuxeo.ecm.platform.forms.layout.api.WidgetDefinition[] |
getSubWidgetDefinitions(String category,
String propertyName,
String propertyType,
org.nuxeo.ecm.core.schema.types.Field field,
List<DiffFieldItemDefinition> complexFieldItemDefs,
boolean isDisplayItemIndexes,
boolean isContentDiffLinks) |
protected org.nuxeo.ecm.platform.forms.layout.api.WidgetDefinition |
getWidgetDefinition(String category,
String propertyName,
String propertyType,
org.nuxeo.ecm.core.schema.types.Field field,
List<DiffFieldItemDefinition> complexFieldItemDefs,
boolean isContentDiffLinksWidget) |
protected org.nuxeo.ecm.platform.forms.layout.api.WidgetDefinition[] |
initSubWidgetDefinitions(boolean isDisplayItemIndexes,
int subWidgetCount) |
protected boolean |
isComplexType(Serializable property) |
protected boolean |
isDisplayAllItems(org.nuxeo.ecm.platform.forms.layout.api.WidgetDefinition wDef) |
protected boolean |
isDisplayItemIndexes(org.nuxeo.ecm.platform.forms.layout.api.WidgetDefinition wDef) |
protected boolean |
isFieldDefinitions(org.nuxeo.ecm.platform.forms.layout.api.WidgetDefinition wDef) |
protected boolean |
isFieldDiffSignificant(Serializable leftProperty,
Serializable rightProperty)
Checks if the difference between the two specified properties is
significant.
|
protected boolean |
isListType(Serializable property) |
protected boolean |
isSubWidgets(org.nuxeo.ecm.platform.forms.layout.api.WidgetDefinition wDef) |
protected void |
putMimeTypeDiffDisplay(String schemaName,
String fieldName,
Map<String,PropertyDiffDisplay> schemaMap,
org.nuxeo.ecm.core.api.DocumentModel doc) |
void |
registerContribution(Object contribution,
String extensionPoint,
org.nuxeo.runtime.model.ComponentInstance contributor) |
protected void |
registerDiffBlock(DiffBlockDescriptor descriptor) |
protected void |
registerDiffComplexField(DiffComplexFieldDescriptor descriptor)
Registers a diff complex field contrib.
|
protected void |
registerDiffDisplay(DiffDisplayDescriptor descriptor)
Registers a diff display contrib.
|
protected void |
registerDiffExcludedFields(DiffExcludedFieldsDescriptor descriptor)
Registers a diff excluded fields contrib.
|
protected void |
setComplexPropertyXPaths(Map<String,Serializable> complexPropertyXPaths,
String complexFieldItemName,
String subPropertyFullName,
Map<String,PropertyDiff> complexPropertyDiffMap,
Map<String,Serializable> leftComplexProperty,
Map<String,Serializable> rightComplexProperty,
boolean isDisplayAllItems,
boolean isDisplayItemIndexes)
Sets the complex property xpaths.
|
protected void |
setFieldDiffDisplay(Serializable property,
PropertyDiff fieldDiff,
boolean isDisplayAllItems,
boolean isDisplayItemIndexes,
Map<String,Map<String,PropertyDiffDisplay>> value,
String schemaName,
String fieldName,
org.nuxeo.ecm.core.api.DocumentModel doc,
String styleClass)
Sets the field diff display.
|
protected static final String DIFF_DISPLAY_EXTENSION_POINT
protected static final String DIFF_DEFAULT_DISPLAY_EXTENSION_POINT
protected static final String DIFF_BLOCK_EXTENSION_POINT
protected static final String DIFF_WIDGET_CATEGORY
protected static final String DIFF_BLOCK_DEFAULT_TEMPLATE_PATH
protected static final String DIFF_BLOCK_LABEL_PROPERTY_NAME
protected static final String DIFF_BLOCK_DEFAULT_LABEL_PREFIX
protected static final String DIFF_WIDGET_LABEL_PREFIX
protected static final String CONTENT_DIFF_LINKS_WIDGET_NAME
protected static final String CONTENT_DIFF_LINKS_WIDGET_NAME_SUFFIX
protected static final String DIFF_WIDGET_FIELD_DEFINITION_VALUE
protected static final String DIFF_WIDGET_FIELD_DEFINITION_DIFFERENCE_TYPE
protected static final String DIFF_WIDGET_FIELD_DEFINITION_STYLE_CLASS
protected static final String DIFF_WIDGET_FIELD_DEFINITION_FILENAME
protected static final String DIFF_WIDGET_FIELD_DEFINITION_DISPLAY_HTML_CONVERSION
protected static final String DIFF_WIDGET_FIELD_DEFINITION_DISPLAY_TEXT_CONVERSION
protected static final String DIFF_WIDGET_PROPERTY_DISPLAY_ALL_ITEMS
protected static final String DIFF_WIDGET_PROPERTY_DISPLAY_ITEM_INDEXES
protected static final String DIFF_LIST_WIDGET_INDEX_SUBWIDGET_FIELD
protected static final String DIFF_LIST_WIDGET_INDEX_SUBWIDGET_TYPE
protected static final String DIFF_LIST_WIDGET_INDEX_SUBWIDGET_LABEL
protected static final String DIFF_LIST_WIDGET_VALUE_SUBWIDGET_FIELD
protected Map<String,List<String>> diffExcludedFieldsContribs
protected Map<String,Map<String,DiffComplexFieldDefinition>> diffComplexFieldsContribs
protected Map<String,List<String>> diffDisplayContribs
protected Map<String,DiffBlockDefinition> diffBlockContribs
public void registerContribution(Object contribution, String extensionPoint, org.nuxeo.runtime.model.ComponentInstance contributor) throws Exception
registerContribution in class org.nuxeo.runtime.model.DefaultComponentExceptionpublic Map<String,List<String>> getDiffExcludedSchemas()
getDiffExcludedSchemas in interface DiffDisplayServicepublic List<String> getDiffExcludedFields(String schemaName)
getDiffExcludedFields in interface DiffDisplayServicepublic List<DiffComplexFieldDefinition> getDiffComplexFields()
getDiffComplexFields in interface DiffDisplayServicepublic DiffComplexFieldDefinition getDiffComplexField(String schemaName, String fieldName)
getDiffComplexField in interface DiffDisplayServicepublic Map<String,List<String>> getDiffDisplays()
getDiffDisplays in interface DiffDisplayServicepublic List<String> getDiffDisplay(String docType)
getDiffDisplay in interface DiffDisplayServicepublic Map<String,DiffBlockDefinition> getDiffBlockDefinitions()
getDiffBlockDefinitions in interface DiffDisplayServicepublic DiffBlockDefinition getDiffBlockDefinition(String name)
getDiffBlockDefinition in interface DiffDisplayServicepublic List<DiffDisplayBlock> getDiffDisplayBlocks(DocumentDiff docDiff, org.nuxeo.ecm.core.api.DocumentModel leftDoc, org.nuxeo.ecm.core.api.DocumentModel rightDoc) throws org.nuxeo.ecm.core.api.ClientException
getDiffDisplayBlocks in interface DiffDisplayServiceorg.nuxeo.ecm.core.api.ClientExceptionpublic List<DiffDisplayBlock> getDefaultDiffDisplayBlocks(DocumentDiff docDiff, org.nuxeo.ecm.core.api.DocumentModel leftDoc, org.nuxeo.ecm.core.api.DocumentModel rightDoc) throws org.nuxeo.ecm.core.api.ClientException
org.nuxeo.ecm.core.api.ClientExceptionprotected List<String> getNearestSuperTypeDiffDisplay(String docTypeName) throws org.nuxeo.ecm.core.api.ClientException
org.nuxeo.ecm.core.api.ClientExceptionprotected List<String> getNearestSuperTypeDiffDisplay(String leftDocTypeName, String rightDocTypeName) throws org.nuxeo.ecm.core.api.ClientException
org.nuxeo.ecm.core.api.ClientExceptionprotected final void registerDiffExcludedFields(DiffExcludedFieldsDescriptor descriptor)
protected final void registerDiffComplexField(DiffComplexFieldDescriptor descriptor)
protected final void registerDiffDisplay(DiffDisplayDescriptor descriptor)
contribution - the contributionprotected final List<String> getDiffBlockRefs(List<DiffBlockReferenceDescriptor> diffBlocks)
protected final List<String> getDiffExcludedFieldRefs(List<DiffFieldDescriptor> diffExcludedFields)
protected final void registerDiffBlock(DiffBlockDescriptor descriptor)
protected final List<DiffBlockDefinition> getDefaultDiffBlockDefinitions(DocumentDiff docDiff) throws org.nuxeo.ecm.core.api.ClientException
org.nuxeo.ecm.core.api.ClientExceptionprotected final List<DiffBlockDefinition> getDiffBlockDefinitions(List<String> diffBlockRefs)
protected final List<DiffDisplayBlock> getDiffDisplayBlocks(List<DiffBlockDefinition> diffBlockDefinitions, DocumentDiff docDiff, org.nuxeo.ecm.core.api.DocumentModel leftDoc, org.nuxeo.ecm.core.api.DocumentModel rightDoc) throws org.nuxeo.ecm.core.api.ClientException
org.nuxeo.ecm.core.api.ClientExceptionprotected final DiffDisplayBlock getDiffDisplayBlock(DiffBlockDefinition diffBlockDefinition, DocumentDiff docDiff, org.nuxeo.ecm.core.api.DocumentModel leftDoc, org.nuxeo.ecm.core.api.DocumentModel rightDoc) throws org.nuxeo.ecm.core.api.ClientException
org.nuxeo.ecm.core.api.ClientExceptionprotected boolean isFieldDiffSignificant(Serializable leftProperty, Serializable rightProperty)
For example in the case of a date property, checks if the difference is greater than 1 minute since we don't display seconds in the default date widget.
protected final boolean isDisplayAllItems(org.nuxeo.ecm.platform.forms.layout.api.WidgetDefinition wDef)
protected final boolean isDisplayItemIndexes(org.nuxeo.ecm.platform.forms.layout.api.WidgetDefinition wDef)
protected final boolean getBooleanProperty(org.nuxeo.ecm.platform.forms.layout.api.WidgetDefinition wDef,
String mode,
String property)
protected void setFieldDiffDisplay(Serializable property, PropertyDiff fieldDiff, boolean isDisplayAllItems, boolean isDisplayItemIndexes, Map<String,Map<String,PropertyDiffDisplay>> value, String schemaName, String fieldName, org.nuxeo.ecm.core.api.DocumentModel doc, String styleClass) throws org.nuxeo.ecm.core.api.ClientException
property - the propertyfieldDiff - the field diffisDisplayAllItems - the is display all itemsisDisplayItemIndexes - the is display item indexesvalue - the valueschemaName - the schema namefieldName - the field namedoc - the docstyleClass - the style classorg.nuxeo.ecm.core.api.ClientException - the client exceptionprotected final void putMimeTypeDiffDisplay(String schemaName, String fieldName, Map<String,PropertyDiffDisplay> schemaMap, org.nuxeo.ecm.core.api.DocumentModel doc) throws org.nuxeo.ecm.core.api.ClientException
org.nuxeo.ecm.core.api.ClientExceptionprotected final PropertyDiffDisplay getFieldDiffDisplay(Serializable property, PropertyDiff propertyDiff, boolean isDisplayAllItems, boolean isDisplayItemIndexes, boolean mustApplyStyleClass, String styleClass) throws org.nuxeo.ecm.core.api.ClientException
org.nuxeo.ecm.core.api.ClientExceptionprotected final PropertyDiffDisplay getFinalFieldDiffDisplay(Serializable fieldDiffDisplay, PropertyDiff propertyDiff, boolean mustApplyStyleClass, String styleClass) throws org.nuxeo.ecm.core.api.ClientException
org.nuxeo.ecm.core.api.ClientExceptionprotected final PropertyDiffDisplay getListFieldDiffDisplay(List<Serializable> listProperty, ListPropertyDiff listPropertyDiff, boolean isDisplayAllItems, boolean isDisplayItemIndexes, String styleClass) throws org.nuxeo.ecm.core.api.ClientException
listProperty - the list propertylistPropertyDiff - the list property diffisDisplayAllItems - the is display all itemsisDisplayItemIndexes - the is display item indexesstyleClass - the style classorg.nuxeo.ecm.core.api.ClientException - the client exceptionprotected final PropertyDiffDisplay getComplexListFieldDiffDisplay(List<Serializable> listProperty, List<Integer> listPropertyIndexes, ListPropertyDiff listPropertyDiff, boolean isDisplayAllItems, boolean isDisplayItemIndexes, String styleClass) throws org.nuxeo.ecm.core.api.ClientException
org.nuxeo.ecm.core.api.ClientExceptionprotected final PropertyDiffDisplay getFieldXPaths(String propertyName, PropertyDiff propertyDiff, Serializable leftProperty, Serializable rightProperty, boolean isDisplayAllItems, boolean isDisplayItemIndexes, List<DiffFieldItemDefinition> complexFieldItemDefs) throws org.nuxeo.ecm.core.api.ClientException
org.nuxeo.ecm.core.api.ClientExceptionprotected final PropertyDiffDisplay getComplexListXPaths(String propertyName, List<Integer> listPropertyIndexes, ListPropertyDiff listPropertyDiff, List<Serializable> leftListProperty, List<Serializable> rightListProperty, boolean isDisplayAllItems, boolean isDisplayItemIndexes) throws org.nuxeo.ecm.core.api.ClientException
org.nuxeo.ecm.core.api.ClientExceptionprotected void setComplexPropertyXPaths(Map<String,Serializable> complexPropertyXPaths, String complexFieldItemName, String subPropertyFullName, Map<String,PropertyDiff> complexPropertyDiffMap, Map<String,Serializable> leftComplexProperty, Map<String,Serializable> rightComplexProperty, boolean isDisplayAllItems, boolean isDisplayItemIndexes) throws org.nuxeo.ecm.core.api.ClientException
complexPropertyXPaths - the complex property xpathscomplexFieldItemName - the complex field item namesubPropertyFullName - the sub property full namecomplexPropertyDiffMap - the complex property diff mapleftComplexProperty - the left complex propertyrightComplexProperty - the right complex propertyisDisplayAllItems - the is display all itemsisDisplayItemIndexes - the is display item indexesorg.nuxeo.ecm.core.api.ClientException - the client exceptionprotected boolean isListType(Serializable property)
protected boolean isComplexType(Serializable property)
protected List<Serializable> getListProperty(Serializable property)
Serializable property to .property - the propertyClassCastException - if the property is not a nor an array.protected List<Serializable> getListPropertyIfNotNull(Serializable property) throws org.nuxeo.ecm.core.api.ClientException
property is not null.property - the propertyproperty is not null, null
otherwiseorg.nuxeo.ecm.core.api.ClientException - if the property is not a list.protected Map<String,Serializable> getComplexProperty(Serializable property)
Serializable property to Map.property - the propertyClassCastException - if the property is not a .protected Map<String,Serializable> getComplexPropertyIfNotNull(Serializable property) throws org.nuxeo.ecm.core.api.ClientException
property is not null.property - the propertyproperty is not null, null
otherwiseorg.nuxeo.ecm.core.api.ClientException - if the property is not a list.protected final org.nuxeo.ecm.platform.forms.layout.api.WidgetDefinition getWidgetDefinition(String category, String propertyName, String propertyType, org.nuxeo.ecm.core.schema.types.Field field, List<DiffFieldItemDefinition> complexFieldItemDefs, boolean isContentDiffLinksWidget) throws org.nuxeo.ecm.core.api.ClientException
org.nuxeo.ecm.core.api.ClientExceptionprotected final boolean isSubWidgets(org.nuxeo.ecm.platform.forms.layout.api.WidgetDefinition wDef)
protected final boolean isFieldDefinitions(org.nuxeo.ecm.platform.forms.layout.api.WidgetDefinition wDef)
protected final String getFieldDefinition(String fieldName, String subPropertyName)
protected final org.nuxeo.ecm.platform.forms.layout.api.WidgetDefinition[] getSubWidgetDefinitions(String category, String propertyName, String propertyType, org.nuxeo.ecm.core.schema.types.Field field, List<DiffFieldItemDefinition> complexFieldItemDefs, boolean isDisplayItemIndexes, boolean isContentDiffLinks) throws org.nuxeo.ecm.core.api.ClientException
org.nuxeo.ecm.core.api.ClientExceptionprotected final org.nuxeo.ecm.platform.forms.layout.api.WidgetDefinition[] getComplexSubWidgetDefinitions(String category, String propertyName, org.nuxeo.ecm.core.schema.types.Field field, List<DiffFieldItemDefinition> complexFieldItemDefs, boolean isDisplayItemIndexes, boolean isContentDiffLinks) throws org.nuxeo.ecm.core.api.ClientException
org.nuxeo.ecm.core.api.ClientExceptionprotected final org.nuxeo.ecm.platform.forms.layout.api.WidgetDefinition[] initSubWidgetDefinitions(boolean isDisplayItemIndexes,
int subWidgetCount)
protected final org.nuxeo.ecm.platform.forms.layout.api.WidgetDefinition getIndexSubwidgetDefinition()
protected final String getPropertyName(String schema, String field)
schema - the schemafield - the fieldprotected final String getSubPropertyFullName(String basePropertyName, String subPropertyName)
protected final org.nuxeo.ecm.core.schema.SchemaManager getSchemaManager()
throws org.nuxeo.ecm.core.api.ClientException
org.nuxeo.ecm.core.api.ClientException - if the schema manager cannot be foundprotected final org.nuxeo.ecm.platform.forms.layout.api.service.LayoutStore getLayoutStore()
throws org.nuxeo.ecm.core.api.ClientException
org.nuxeo.ecm.core.api.ClientException - if the layout store service cannot be foundCopyright © 2019 Nuxeo SA. All rights reserved.