@Override public boolean isSupportedMethod(IMethodContext dataObject) { return (dataObject.getCurrentWidget()==null && dataObject.getDisplayObjectModel()==null && "testData".equals(filterData) ); }
@OMethod( order = 20,bootstrap=BootstrapType.WARNING,icon = FAIconType.pause, filters={ @OFilter(fClass = PlaceFilter.class, fData = "STRUCTURE_TABLE"), @OFilter(fClass = WidgetTypeFilter.class, fData = "parameters"), }, behaviors={OIntegrationConfigStopBehavior.class} ) public void suspend(IMethodContext data){ final CamelContext context = getOrMakeContext(data.getCurrentWidget()); new Thread(new Runnable() { @Override public void run() { try { ServiceStatus status = context.getStatus(); if (status.isSuspended()){ context.start(); }else if(status.isStarted()){ context.suspend(); } } catch (Exception e) { LOG.error("Cannot start or suspend Camel Context",e); } } }).start(); waitingRefresh(context); } /////////////////////////////////////////////////////////////////////////////////////////////////////
@OMethod( icon = FAIconType.stop, bootstrap=BootstrapType.DANGER, filters={@OFilter(fClass = PlaceFilter.class, fData = "STRUCTURE_TABLE"), @OFilter(fClass = WidgetTypeFilter.class, fData = "parameters"), }, behaviors={OTaskSessionInterruptBehavior.class} ) public void interrupt( IMethodContext data){ try { interrupt(); } catch (Exception e) { AbstractWidget<?> widget = data.getCurrentWidget(); if(widget!=null) { widget.error(widget.getLocalizer().getString("errors.session.cantinterupt", widget, Model.of(e.getMessage()))); } LOG.error("Can't interrupt the session", e); } } ///////////////////////////////////////////////////////////////////////
@OMethod( order = 30,bootstrap=BootstrapType.DANGER,icon = FAIconType.stop, filters={@OFilter(fClass = PlaceFilter.class, fData = "STRUCTURE_TABLE"), @OFilter(fClass = WidgetTypeFilter.class, fData = "parameters"), }, behaviors={OIntegrationConfigStopBehavior.class} ) public void stop(IMethodContext data){ CamelContext context = getOrMakeContextByRid(getDocument().getIdentity().toString(),data.getCurrentWidget()); try { context.stop(); } catch (Exception e) { LOG.error("Cannot stop Camel Context",e); } waitingRefresh(context); } /////////////////////////////////////////////////////////////////////////////////////////////////////
final CamelContext context = getOrMakeContextByRid(getDocument().getIdentity().toString(),data.getCurrentWidget()); new Thread(new Runnable() { @Override
@OMethod( order=10,bootstrap=BootstrapType.SUCCESS,icon = FAIconType.play, permission="EXECUTE", filters={ @OFilter(fClass = PlaceFilter.class, fData = "STRUCTURE_TABLE"), @OFilter(fClass = WidgetTypeFilter.class, fData = "parameters"), // @OFilter(fClass = PlaceFilter.class, fData = "STRUCTURE_TABLE|DATA_TABLE"), } ) public void run(IMethodContext data){ OTaskSessionRuntime newSession = startNewSession(); AbstractWidgetDisplayModeAwarePage<ODocument> page = new ODocumentPage(new ODocumentModel(newSession.getOTaskSessionPersisted().getDocument())).setModeObject(DisplayMode.VIEW); data.getCurrentWidget().setResponsePage(page); }