java.lang.Object
org.apache.wicket.Component
org.apache.wicket.MarkupContainer
org.apache.wicket.markup.html.WebMarkupContainer
org.apache.wicket.markup.html.panel.Panel
com.evolveum.midpoint.gui.api.component.BasePanel<SmartGeneratingDto>
com.evolveum.midpoint.gui.impl.page.admin.resource.component.wizard.schemaHandling.objectType.smart.component.SmartGeneratingPanel
All Implemented Interfaces:
Serializable, Iterable<org.apache.wicket.Component>, org.apache.wicket.event.IEventSink, org.apache.wicket.event.IEventSource, org.apache.wicket.feedback.IFeedbackContributor, org.apache.wicket.IConverterLocator, org.apache.wicket.IMetadataContext<Serializable,org.apache.wicket.Component>, org.apache.wicket.IQueueRegion, org.apache.wicket.markup.html.IHeaderContributor, org.apache.wicket.request.component.IRequestableComponent, org.apache.wicket.util.IHierarchical<org.apache.wicket.Component>, org.apache.wicket.util.io.IClusterable
Direct Known Subclasses:
SmartGeneratingVerticalPanel

public class SmartGeneratingPanel extends BasePanel<SmartGeneratingDto>
Panel for monitoring and controlling a "smart generating" task.

Shows progress (elapsed time, status rows) and provides actions to run in background, suspend/resume, or discard the task. Uses an AbstractAjaxTimerBehavior to poll until the task finishes, fails, or is suspended.

Subclasses may override hooks like onFinishActionPerform(AjaxRequestTarget), onDiscardPerform(AjaxRequestTarget), onRunInBackgroundPerform(AjaxRequestTarget) or createButtons(org.apache.wicket.markup.repeater.RepeatingView) to customize behavior and appearance.

See Also:
  • Field Summary

    Fields inherited from class org.apache.wicket.markup.html.panel.Panel

    PANEL

    Fields inherited from class org.apache.wicket.Component

    ENABLE, FLAG_INITIALIZED, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER, RFLAG_CONTAINER_DEQUEING, RFLAG_CONTAINER_HAS_REMOVALS
  • Constructor Summary

    Constructors
    Constructor
    Description
    SmartGeneratingPanel(String id, org.apache.wicket.model.IModel<SmartGeneratingDto> model, boolean isWizardPanel)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected boolean
     
    protected boolean
     
    protected boolean
     
    protected void
    createButtons(@NotNull org.apache.wicket.markup.repeater.RepeatingView buttonsView)
    Override this method to create custom buttons.
    @NotNull org.apache.wicket.ajax.AbstractAjaxTimerBehavior
    createSuggestionAjaxTimerBehavior(@NotNull org.apache.wicket.markup.html.WebMarkupContainer bodyContainer, @NotNull Duration refreshDuration, @NotNull org.apache.wicket.model.IModel<SmartGeneratingDto> model, @NotNull SerializableConsumer<org.apache.wicket.ajax.AjaxRequestTarget> onFinishAction)
     
    protected org.apache.wicket.model.IModel<String>
     
    protected String
    Override to provide special effect CSS classes for the icon.
    protected static Duration
    Polling interval; override if you want a different cadence.
    protected org.apache.wicket.model.IModel<String>
     
    Null-safe accessor for rows.
    protected org.apache.wicket.markup.html.basic.Label
     
    protected org.apache.wicket.model.IModel<String>
     
    protected @Nullable String
     
    protected org.apache.wicket.model.IModel<String>
     
    void
    initDiscardButton(@NotNull org.apache.wicket.markup.repeater.RepeatingView buttonsView)
     
    void
    initStopButton(@NotNull org.apache.wicket.markup.repeater.RepeatingView buttonsView)
     
    protected boolean
     
    protected boolean
     
    protected void
    onDiscardPerform(org.apache.wicket.ajax.AjaxRequestTarget target)
    Action handlers - override as needed Post-discard action.
    protected void
    onFinishActionPerform(org.apache.wicket.ajax.AjaxRequestTarget target)
     
    protected void
     
    void
    onReRunPerform(org.apache.wicket.ajax.AjaxRequestTarget target)
     
    protected void
    onRunInBackgroundPerform(org.apache.wicket.ajax.AjaxRequestTarget target)
     

    Methods inherited from class org.apache.wicket.markup.html.panel.Panel

    getRegionMarkup, newMarkupSourcingStrategy

    Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer

    getWebApplication, getWebPage, getWebRequest, getWebResponse, getWebSession

    Methods inherited from class org.apache.wicket.MarkupContainer

    add, addDequeuedComponent, addOrReplace, autoAdd, canDequeueTag, contains, dequeue, dequeue, dequeuePreamble, findChildComponent, findComponentToDequeue, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkup, getMarkupType, internalAdd, internalInitialize, iterator, iterator, newDequeueContext, onComponentTagBody, onDetach, onRender, queue, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, stream, streamChildren, toString, toString, visitChildren, visitChildren

    Methods inherited from class org.apache.wicket.Component

    add, addStateChange, beforeRender, canCallListener, canCallListenerAfterExpiry, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, clearOriginalDestination, configure, continueToOriginalDestination, createConverter, debug, detach, detachModel, detachModels, determineVisibility, error, exceptionMessage, fatal, findMarkupStream, findPage, findParent, findParentWithAssociatedMarkup, getAjaxRegionMarkupId, getApplication, getBehaviorById, getBehaviorId, getBehaviors, getBehaviors, getClassRelativePath, getConverter, getDefaultModel, getDefaultModelObject, getDefaultModelObjectAsString, getDefaultModelObjectAsString, getEscapeModelStrings, getFeedbackMessages, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkup, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdFromMarkup, getMarkupIdImpl, getMarkupSourcingStrategy, getMarkupTag, getMetaData, getModelComparator, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getRequestFlag, getResponse, getSizeInBytes, getStatelessHint, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalOnModelChanged, internalRenderComponent, internalRenderHead, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isInitialized, isRenderAllowed, isRendering, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, onAfterRender, onBeforeRender, onComponentTag, onConfigure, onEvent, onModelChanged, onModelChanging, onReAdd, onRemove, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderPart, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, urlFor, urlFor, urlFor, urlForListener, urlForListener, visitParents, visitParents, warn, wrap

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.apache.wicket.IQueueRegion

    dequeue, newDequeueContext

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator
  • Constructor Details

    • SmartGeneratingPanel

      public SmartGeneratingPanel(String id, org.apache.wicket.model.IModel<SmartGeneratingDto> model, boolean isWizardPanel)
  • Method Details

    • onInitialize

      protected void onInitialize()
      Overrides:
      onInitialize in class org.apache.wicket.MarkupContainer
    • createSuggestionAjaxTimerBehavior

      @Contract("_, _, _, _ -> new") @NotNull public @NotNull org.apache.wicket.ajax.AbstractAjaxTimerBehavior createSuggestionAjaxTimerBehavior(@NotNull @NotNull org.apache.wicket.markup.html.WebMarkupContainer bodyContainer, @NotNull @NotNull Duration refreshDuration, @NotNull @NotNull org.apache.wicket.model.IModel<SmartGeneratingDto> model, @NotNull @NotNull SerializableConsumer<org.apache.wicket.ajax.AjaxRequestTarget> onFinishAction)
    • getIconSpecialEffectCss

      protected String getIconSpecialEffectCss()
      Override to provide special effect CSS classes for the icon. Effects are applied only when the task is running (not failed or suspended).
      Returns:
      CSS class string, e.g. "fa-spin", "fa-pulse", "spinner-grow-slow" or "spinner-blur-slow" (FontAwesome classes)
    • getTitleCssClass

      @Nullable protected @Nullable String getTitleCssClass()
    • isListViewVisible

      protected boolean isListViewVisible()
    • getSafeRows

      protected List<StatusRowRecord> getSafeRows()
      Null-safe accessor for rows.
    • getRefreshInterval

      protected static Duration getRefreshInterval()
      Polling interval; override if you want a different cadence.
    • createButtons

      protected void createButtons(@NotNull @NotNull org.apache.wicket.markup.repeater.RepeatingView buttonsView)
      Override this method to create custom buttons. The default implementation creates a "Run in background" and a stateful action button.
    • allowActionButton

      protected boolean allowActionButton()
    • onReRunPerform

      public void onReRunPerform(org.apache.wicket.ajax.AjaxRequestTarget target)
    • allowRerun

      protected boolean allowRerun()
    • allowShowInBackground

      protected boolean allowShowInBackground()
    • initDiscardButton

      public void initDiscardButton(@NotNull @NotNull org.apache.wicket.markup.repeater.RepeatingView buttonsView)
    • initStopButton

      public void initStopButton(@NotNull @NotNull org.apache.wicket.markup.repeater.RepeatingView buttonsView)
    • onDiscardPerform

      protected void onDiscardPerform(org.apache.wicket.ajax.AjaxRequestTarget target)
      Action handlers - override as needed Post-discard action.
    • onFinishActionPerform

      protected void onFinishActionPerform(org.apache.wicket.ajax.AjaxRequestTarget target)
    • onRunInBackgroundPerform

      protected void onRunInBackgroundPerform(org.apache.wicket.ajax.AjaxRequestTarget target)
    • getRunInBackgroundButtonLabel

      protected org.apache.wicket.model.IModel<String> getRunInBackgroundButtonLabel()
    • getIconCssModel

      protected org.apache.wicket.model.IModel<String> getIconCssModel()
    • getTitleModel

      protected org.apache.wicket.model.IModel<String> getTitleModel()
    • getSubTitleModel

      protected org.apache.wicket.model.IModel<String> getSubTitleModel()
    • getSubTextLabelPanel

      protected org.apache.wicket.markup.html.basic.Label getSubTextLabelPanel()
    • isLinkTitle

      protected boolean isLinkTitle()