[jbpm-commits] JBoss JBPM SVN: r5148 - in projects/gwt-console/trunk: gui/war/src/main/java/org/jboss/bpm/console/client/process and 2 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Mon Jun 29 07:43:06 EDT 2009
Author: heiko.braun at jboss.com
Date: 2009-06-29 07:43:05 -0400 (Mon, 29 Jun 2009)
New Revision: 5148
Added:
projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/engine/ExecuteJobAction.java
Modified:
projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/engine/EngineEditor.java
projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/engine/JobListView.java
projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/InstanceDetailView.java
projects/gwt-console/trunk/gui/workspace-api/src/main/java/org/jboss/bpm/console/client/URLBuilder.java
projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/EngineFacade.java
Log:
Enable job execution from within the console
Modified: projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/engine/EngineEditor.java
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/engine/EngineEditor.java 2009-06-29 11:00:18 UTC (rev 5147)
+++ projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/engine/EngineEditor.java 2009-06-29 11:43:05 UTC (rev 5148)
@@ -108,6 +108,7 @@
controller.addAction(DeleteDeploymentAction.ID, new DeleteDeploymentAction(appContext));
controller.addAction(SuspendDeploymentAction.ID, new SuspendDeploymentAction(appContext));
controller.addAction(ResumeDeploymentAction.ID, new ResumeDeploymentAction(appContext));
+ controller.addAction(ExecuteJobAction.ID, new ExecuteJobAction(appContext));
// display tab, needs to visible for correct rendering
tabPanel.selectTab( view2index.get(DeploymentListView.ID ));
Added: projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/engine/ExecuteJobAction.java
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/engine/ExecuteJobAction.java (rev 0)
+++ projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/engine/ExecuteJobAction.java 2009-06-29 11:43:05 UTC (rev 5148)
@@ -0,0 +1,69 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.console.client.engine;
+
+import org.jboss.bpm.console.client.common.AbstractRESTAction;
+import org.jboss.bpm.console.client.ApplicationContext;
+import com.google.gwt.http.client.RequestBuilder;
+import com.google.gwt.http.client.Response;
+import com.mvc4g.client.Controller;
+import com.mvc4g.client.Event;
+
+/**
+ * @author Heiko.Braun <heiko.braun at jboss.com>
+ */
+public class ExecuteJobAction extends AbstractRESTAction
+{
+
+ public final static String ID = ExecuteJobAction.class.getName();
+
+ public ExecuteJobAction(ApplicationContext appContetext)
+ {
+ super(appContetext);
+ }
+
+ public String getId()
+ {
+ return ID;
+ }
+
+ public String getUrl(Object event)
+ {
+ String id = (String)event;
+ return appContext.getUrlBuilder().getExecuteJobURL(id);
+ }
+
+ public RequestBuilder.Method getRequestMethod()
+ {
+ return RequestBuilder.POST;
+ }
+
+ public void handleSuccessfulResponse(final Controller controller, final Object event, Response response)
+ {
+ String id = (String)event;
+
+ // reload job list
+ controller.handleEvent(
+ new Event(UpdateJobsAction.ID, null)
+ );
+ }
+}
Modified: projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/engine/JobListView.java
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/engine/JobListView.java 2009-06-29 11:00:18 UTC (rev 5147)
+++ projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/engine/JobListView.java 2009-06-29 11:43:05 UTC (rev 5148)
@@ -30,11 +30,13 @@
import org.gwt.mosaic.ui.client.ListBox;
import org.gwt.mosaic.ui.client.ToolBar;
import org.gwt.mosaic.ui.client.ToolButton;
+import org.gwt.mosaic.ui.client.MessageBox;
import org.gwt.mosaic.ui.client.layout.*;
import org.gwt.mosaic.ui.client.list.DefaultListModel;
import org.jboss.bpm.console.client.common.AbstractView;
import org.jboss.bpm.console.client.icons.ConsoleIconBundle;
import org.jboss.bpm.console.client.model.JobRef;
+import org.jboss.bpm.console.client.model.ProcessDefinitionRef;
import org.jboss.bpm.console.client.model.util.SimpleDateFormat;
import org.jboss.bpm.console.client.ApplicationContext;
@@ -168,6 +170,28 @@
}
)
);
+
+ toolBar.addSeparator();
+
+ toolBar.add(
+ new ToolButton("Execute", new ClickListener() {
+ public void onClick(Widget sender) {
+ JobRef selection = getSelection();
+ if(null==selection)
+ {
+ MessageBox.alert("Missing selection", "Please select a job!");
+ }
+ else
+ {
+ controller.handleEvent(
+ new Event(ExecuteJobAction.ID, selection.getId())
+ );
+ }
+ }
+ }
+ )
+ );
+
toolBox.add(toolBar, new BoxLayoutData(BoxLayoutData.FillStyle.HORIZONTAL));
// filter
@@ -271,4 +295,12 @@
); */
}
}
+
+ public JobRef getSelection()
+ {
+ JobRef selection = null;
+ if(isInitialized() && listBox.getSelectedIndex()!=-1)
+ selection = listBox.getItem( listBox.getSelectedIndex());
+ return selection;
+ }
}
Modified: projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/InstanceDetailView.java
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/InstanceDetailView.java 2009-06-29 11:00:18 UTC (rev 5147)
+++ projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/InstanceDetailView.java 2009-06-29 11:43:05 UTC (rev 5148)
@@ -37,6 +37,7 @@
import org.gwt.mosaic.ui.client.layout.LayoutPanel;
import org.jboss.bpm.console.client.common.PropertyGrid;
import org.jboss.bpm.console.client.model.ProcessInstanceRef;
+import org.jboss.bpm.console.client.model.util.SimpleDateFormat;
import org.jboss.bpm.console.client.util.WindowUtil;
import org.jboss.bpm.console.client.ApplicationContext;
import org.jboss.bpm.console.client.ServerPlugins;
@@ -64,6 +65,8 @@
private boolean hasDiagramPlugin;
+ private SimpleDateFormat dateFormat = new SimpleDateFormat();
+
public InstanceDetailView(ApplicationContext appContext)
{
super("Instance details");
@@ -73,12 +76,12 @@
super.setLayout(new BoxLayout(BoxLayout.Orientation.HORIZONTAL));
grid = new PropertyGrid(
- new String[] {"ID:", "Key:", "State", "Start Date:"}
+ new String[] {"ID:", "Key:", "State", "Start Date:", "Activity:"}
);
this.add(grid, new BoxLayoutData(BoxLayoutData.FillStyle.BOTH));
- activityBtn = new Button("Activity",
+ activityBtn = new Button("Diagram",
new ClickListener()
{
public void onClick(Widget widget)
@@ -157,7 +160,8 @@
instance.getId(),
instance.getKey(),
String.valueOf( instance.getState() ),
- String.valueOf( instance.getStartDate() )
+ dateFormat.format(instance.getStartDate()),
+ instance.getRootToken().getCurrentNodeName()
};
grid.update(values);
Modified: projects/gwt-console/trunk/gui/workspace-api/src/main/java/org/jboss/bpm/console/client/URLBuilder.java
===================================================================
--- projects/gwt-console/trunk/gui/workspace-api/src/main/java/org/jboss/bpm/console/client/URLBuilder.java 2009-06-29 11:00:18 UTC (rev 5147)
+++ projects/gwt-console/trunk/gui/workspace-api/src/main/java/org/jboss/bpm/console/client/URLBuilder.java 2009-06-29 11:43:05 UTC (rev 5148)
@@ -219,4 +219,10 @@
{
return config.getConsoleServerUrl() + "/rs/engine/jobs";
}
+
+ public String getExecuteJobURL(String id)
+ {
+ String encodedId = URL.encode(id);
+ return config.getConsoleServerUrl() + "/rs/engine/job/"+encodedId+"/execute";
+ }
}
Modified: projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/EngineFacade.java
===================================================================
--- projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/EngineFacade.java 2009-06-29 11:00:18 UTC (rev 5147)
+++ projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/EngineFacade.java 2009-06-29 11:43:05 UTC (rev 5148)
@@ -163,6 +163,29 @@
}
+ @POST
+ @Path("job/{id}/execute")
+ @Produces("application/json")
+ public Response executeJob(
+ @PathParam("id")
+ String id
+ )
+ {
+
+ ProcessEnginePlugin dplPlugin = getDeploymentPlugin();
+ if(processEnginePlugin !=null)
+ {
+ dplPlugin.executeJob(id);
+ return Response.ok().build();
+ }
+ else
+ {
+ log.error("ProcessEnginePlugin not available");
+ return Response.serverError().build();
+ }
+
+ }
+
private Response createJsonResponse(Object wrapper)
{
Gson gson = GsonFactory.createInstance();
More information about the jbpm-commits
mailing list