Class CompareViewController

  • All Implemented Interfaces:
    WidgetController, WidgetDragAndDropAware, WidgetInstanceManagerAware, java.io.Serializable, org.zkoss.zk.ui.event.EventListener, org.zkoss.zk.ui.event.SerializableEventListener, org.zkoss.zk.ui.util.ComponentActivationListener, org.zkoss.zk.ui.util.ComponentCloneListener, org.zkoss.zk.ui.util.Composer<org.zkoss.zk.ui.Component>, org.zkoss.zk.ui.util.ComposerExt<org.zkoss.zk.ui.Component>

    public class CompareViewController
    extends DefaultWidgetController
    See Also:
    Serialized Form
    • Field Detail

      • MARK_NAME_DIFF_ONLY

        public static final java.lang.String MARK_NAME_DIFF_ONLY
        See Also:
        Constant Field Values
      • MARK_NAME_HYPERLINK

        public static final java.lang.String MARK_NAME_HYPERLINK
        See Also:
        Constant Field Values
      • MARK_NAME_ADD_ITEMS

        public static final java.lang.String MARK_NAME_ADD_ITEMS
        See Also:
        Constant Field Values
      • MARK_NAME_REMOVE_ITEM

        public static final java.lang.String MARK_NAME_REMOVE_ITEM
        See Also:
        Constant Field Values
      • MODEL_COMPARISON_REQUEST_ID

        public static final java.lang.String MODEL_COMPARISON_REQUEST_ID
        See Also:
        Constant Field Values
      • SOCKET_INPUT_REFERENCE

        protected static final java.lang.String SOCKET_INPUT_REFERENCE
        See Also:
        Constant Field Values
      • SOCKET_INPUT_OBJECTS

        protected static final java.lang.String SOCKET_INPUT_OBJECTS
        See Also:
        Constant Field Values
      • SOCKET_INPUT_OBJECTS_REMOVE

        protected static final java.lang.String SOCKET_INPUT_OBJECTS_REMOVE
        See Also:
        Constant Field Values
      • SOCKET_INPUT_OBJECTS_ADD

        protected static final java.lang.String SOCKET_INPUT_OBJECTS_ADD
        See Also:
        Constant Field Values
      • SOCKET_OUTPUT_SELECTED_ITEM

        protected static final java.lang.String SOCKET_OUTPUT_SELECTED_ITEM
        See Also:
        Constant Field Values
      • SOCKET_OUTPUT_ADD_ITEMS_REQUEST

        protected static final java.lang.String SOCKET_OUTPUT_ADD_ITEMS_REQUEST
        See Also:
        Constant Field Values
      • SOCKET_OUTPUT_OBJECTS_LIST_UPDATED

        protected static final java.lang.String SOCKET_OUTPUT_OBJECTS_LIST_UPDATED
        See Also:
        Constant Field Values
      • SETTING_CONFIGURATION_CONTEXT

        protected static final java.lang.String SETTING_CONFIGURATION_CONTEXT
        See Also:
        Constant Field Values
      • SETTING_DEFAULT_TYPE_CODE

        protected static final java.lang.String SETTING_DEFAULT_TYPE_CODE
        See Also:
        Constant Field Values
    • Constructor Detail

      • CompareViewController

        public CompareViewController()
    • Method Detail

      • setComparisonRequestId

        protected void setComparisonRequestId()
        Sets unique comparison request ID in the model
      • resetView

        protected void resetView()
        Clears whole view built up till now, invalidates current comparison result and triggers view build from scratch.
      • revalidateView

        protected void revalidateView()
        Forces view to validate - new comparison is being performed and whole view is being validated from scratch.
      • invalidateView

        protected void invalidateView()
        Marks current view as invalid - future calls to validateView() will trigger full comparison from scratch
      • validateView

        protected void validateView()
        Checks if current view reflects data marked for comparison and comparison result. If any comparison is required, then it is triggered in background (non-blocking operation).
      • addInProgressMarker

        protected void addInProgressMarker()
        Marks UI component as in progress
      • createBuildDataOperation

        @Deprecated(since="1811",
                    forRemoval=true)
        protected Operation createBuildDataOperation​(DefaultComparisonState status)
        Deprecated, for removal: This API element is subject to removal in a future version.
        since 1811. Please use createBuildDataOperation()
      • createBuildDataOperation

        protected Operation createBuildDataOperation()
        Creates an operation responsible for performing a partial comparison in background. As a result of this operation a pair <Object, ComparisonResult> is expected with compared object as key and result of comparison as value.
        Returns:
        operation to be performed in background
      • handleNotValidObject

        protected void handleNotValidObject​(java.lang.Object objectId)
      • handlePartialComparisonResult

        protected void handlePartialComparisonResult​(DefaultComparisonState state,
                                                     org.apache.commons.lang3.tuple.Pair<java.lang.Object,​ComparisonResult> compareObjectIdAndResult)
      • updateView

        protected void updateView​(CompareViewData data)
        Checks if current view reflects provided comparison data. If any comparison is still required, then it is triggered in background (non-blocking operation).
        Parameters:
        data - comparison data to validate view against
        See Also:
        assureComparisonNotFinished(CompareViewData)
      • removeObjectsNotMatchingDefaultTypeFromComparison

        protected void removeObjectsNotMatchingDefaultTypeFromComparison()
      • registerListeners

        protected void registerListeners()
      • registerDiffOnlyListeners

        protected void registerDiffOnlyListeners()
      • handleDiffOnlyChecked

        protected void handleDiffOnlyChecked​(org.zkoss.zk.ui.HtmlBasedComponent component,
                                             org.zkoss.zk.ui.event.CheckEvent checkEvent)
      • updateDiffOnlyTrigger

        protected void updateDiffOnlyTrigger()
      • assureComparisonNotFinished

        protected void assureComparisonNotFinished​(CompareViewData<?> data)
        Checks if any other comparisons are required to meet all data marked for comparison. If so view validation is triggered.
        Parameters:
        data - comparison data to validate view against
        See Also:
        validateView()
      • registerPinEventListeners

        protected void registerPinEventListeners()
      • handlePinClicked

        protected void handlePinClicked​(java.lang.Object object)
      • changeReference

        public void changeReference​(java.lang.Object object)
      • registerHyperlinkEventListeners

        protected void registerHyperlinkEventListeners()
      • handleHyperLinkClicked

        protected void handleHyperLinkClicked​(java.lang.Object item)
      • registerAddItemsListeners

        protected void registerAddItemsListeners()
      • handleAddItemsClicked

        protected void handleAddItemsClicked()
      • registerRemoveItemListeners

        protected void registerRemoveItemListeners()
      • handleRemoveItemClicked

        protected void handleRemoveItemClicked​(java.lang.Object item)
      • createSelectionContext

        protected TypeAwareSelectionContext<java.lang.Object> createSelectionContext​(java.lang.Object selectedItem)
      • createAddSelectionContext

        protected TypeAwareSelectionContext<java.lang.Object> createAddSelectionContext​(java.lang.Object selectedItem)
      • assureReferenceInObjectsList

        protected void assureReferenceInObjectsList()
      • setReferenceObjectImmediately

        protected void setReferenceObjectImmediately​(java.lang.Object reference)
      • getReferenceObject

        protected java.lang.Object getReferenceObject()
      • getReferenceObjectId

        protected java.lang.Object getReferenceObjectId()
      • updateItemType

        protected void updateItemType()
      • getItemType

        protected java.lang.String getItemType()
      • getSelectionItemType

        protected java.lang.String getSelectionItemType()
      • getFallbackItemType

        protected java.lang.String getFallbackItemType()
      • addObjectsToCompare

        public void addObjectsToCompare​(java.util.Collection<java.lang.Object> objects)
      • removeObjectsToCompare

        public void removeObjectsToCompare​(java.util.Collection<java.lang.Object> objects)
      • objectsUpdated

        public void objectsUpdated​(CockpitEvent event)
      • objectsDeleted

        public void objectsDeleted​(CockpitEvent event)
      • getView

        protected org.zkoss.zul.Div getView()
      • isValidComparison

        protected boolean isValidComparison​(ComparisonState<?> status)
      • isValidViewData

        protected boolean isValidViewData​(CompareViewData<?> data)
      • isDiffOnlyEnabled

        protected boolean isDiffOnlyEnabled()
      • updateDiffOnlyState

        protected void updateDiffOnlyState​(CompareViewData currentData,
                                           boolean diffOnly)
      • getComparisonStatus

        @Deprecated(since="1811",
                    forRemoval=true)
        protected DefaultComparisonState getComparisonStatus()
        Deprecated, for removal: This API element is subject to removal in a future version.
        since 1811. Please use getComparisonState() instead.
      • clearViewData

        protected void clearViewData()
      • clearComparisonStatus

        protected void clearComparisonStatus()
      • updateComparisonState

        protected void updateComparisonState​(DefaultComparisonState<? super java.lang.Object> comparisonState,
                                             java.lang.Object objectId)
      • removeInProgressMarker

        protected void removeInProgressMarker()
        Removes in progress marker from UI component
      • compareAttributeDescriptorFromQualifier

        protected java.util.stream.Stream<CompareAttributeDescriptor> compareAttributeDescriptorFromQualifier​(java.lang.String qualifier)
      • getObjects

        protected java.util.List<java.lang.Object> getObjects()
      • setObjects

        public void setObjects​(java.util.Collection<java.lang.Object> objects)
      • removeObjectsNotMatchingDefaultTypeFromComparison

        protected void removeObjectsNotMatchingDefaultTypeFromComparison​(java.util.Collection<java.lang.Object> objects)
      • getTypeWithSuperTypes

        protected java.util.Set<java.lang.String> getTypeWithSuperTypes​(java.lang.Object object)
      • getObjectIds

        protected java.util.List<java.lang.Object> getObjectIds()
      • getObjectIdsMutable

        protected java.util.List<java.lang.Object> getObjectIdsMutable()
      • removeObjectsImmediately

        protected void removeObjectsImmediately​(java.util.Collection<java.lang.Object> objects)
      • removeObjectIdsImmediately

        protected void removeObjectIdsImmediately​(java.util.Collection<java.lang.Object> objects)
      • setObjectsImmediately

        protected void setObjectsImmediately​(java.util.Collection<java.lang.Object> objects)
      • clearObjectsAndIds

        protected void clearObjectsAndIds()
      • addObjectsImmediately

        protected void addObjectsImmediately​(java.util.Collection<java.lang.Object> objects)
      • addObjectIdsImmediately

        protected void addObjectIdsImmediately​(java.util.Collection<java.lang.Object> objects)
      • updateObjectsImmediately

        protected void updateObjectsImmediately​(java.util.List<java.lang.Object> changedObjects)
      • setDefaultLayout

        public void setDefaultLayout​(CompareViewLayout compareViewLayout)
      • getTypeFacade

        protected TypeFacade getTypeFacade()
      • setTypeFacade

        public void setTypeFacade​(TypeFacade typeFacade)
      • setCockpitLocaleService

        public void setCockpitLocaleService​(CockpitLocaleService cockpitLocaleService)
      • setCockpitUserService

        public void setCockpitUserService​(CockpitUserService cockpitUserService)
      • setWidgetRenderingUtils

        public void setWidgetRenderingUtils​(WidgetRenderingUtils widgetRenderingUtils)
      • setNotificationService

        public void setNotificationService​(NotificationService notificationService)
      • getObjectById

        protected java.util.Optional<java.lang.Object> getObjectById​(java.lang.Object id)