Author: rajdavies
Date: Sat Feb  6 13:08:59 2010
New Revision: 907208

URL: http://svn.apache.org/viewvc?rev=907208&view=rev
Log:
support for scheduling

Added:
    
activemq/trunk/activemq-web-console/src/main/java/org/apache/activemq/web/controller/DeleteJob.java
   (with props)
    activemq/trunk/activemq-web-console/src/main/webapp/scheduled.jsp
Modified:
    
activemq/trunk/activemq-web-console/src/main/webapp/WEB-INF/dispatcher-servlet.xml
    activemq/trunk/activemq-web-console/src/main/webapp/decorators/main.jsp
    activemq/trunk/activemq-web-console/src/main/webapp/send.jsp

Added: 
activemq/trunk/activemq-web-console/src/main/java/org/apache/activemq/web/controller/DeleteJob.java
URL: 
http://svn.apache.org/viewvc/activemq/trunk/activemq-web-console/src/main/java/org/apache/activemq/web/controller/DeleteJob.java?rev=907208&view=auto
==============================================================================
--- 
activemq/trunk/activemq-web-console/src/main/java/org/apache/activemq/web/controller/DeleteJob.java
 (added)
+++ 
activemq/trunk/activemq-web-console/src/main/java/org/apache/activemq/web/controller/DeleteJob.java
 Sat Feb  6 13:08:59 2010
@@ -0,0 +1,61 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.web.controller;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.apache.activemq.broker.jmx.JobSchedulerViewMBean;
+import org.apache.activemq.web.BrokerFacade;
+import org.apache.activemq.web.DestinationFacade;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.springframework.web.servlet.ModelAndView;
+import org.springframework.web.servlet.mvc.Controller;
+
+/**
+ * @version $Revision: 700405 $
+ */
+public class DeleteJob extends DestinationFacade implements Controller {
+    private String jobId;
+    private static final Log LOG = LogFactory.getLog(DeleteJob.class);
+
+    public DeleteJob(BrokerFacade brokerFacade) {
+        super(brokerFacade);
+    }
+
+    public ModelAndView handleRequest(HttpServletRequest request, 
HttpServletResponse response) throws Exception {
+        if (jobId != null) {
+            JobSchedulerViewMBean jobScheduler = 
getBrokerFacade().getJobScheduler();
+            if (jobScheduler != null) {
+                jobScheduler.removeJob(jobId);
+                LOG.info("Removed scheduled Job " + jobId);
+            } else {
+               LOG.warn("Scheduler not configured");
+            }
+        }
+        return new ModelAndView("redirect:scheduled.jsp");
+    }
+
+    public String getJobId() {
+        return jobId;
+    }
+
+    public void setJobId(String id) {
+        this.jobId=id;
+    }
+
+}

Propchange: 
activemq/trunk/activemq-web-console/src/main/java/org/apache/activemq/web/controller/DeleteJob.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
activemq/trunk/activemq-web-console/src/main/java/org/apache/activemq/web/controller/DeleteJob.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: 
activemq/trunk/activemq-web-console/src/main/webapp/WEB-INF/dispatcher-servlet.xml
URL: 
http://svn.apache.org/viewvc/activemq/trunk/activemq-web-console/src/main/webapp/WEB-INF/dispatcher-servlet.xml?rev=907208&r1=907207&r2=907208&view=diff
==============================================================================
--- 
activemq/trunk/activemq-web-console/src/main/webapp/WEB-INF/dispatcher-servlet.xml
 (original)
+++ 
activemq/trunk/activemq-web-console/src/main/webapp/WEB-INF/dispatcher-servlet.xml
 Sat Feb  6 13:08:59 2010
@@ -35,6 +35,7 @@
   <bean name="/deleteMessage.action" 
class="org.apache.activemq.web.controller.DeleteMessage" autowire="constructor" 
 singleton="false"/>
   <bean name="/copyMessage.action" 
class="org.apache.activemq.web.controller.CopyMessage" autowire="constructor"  
singleton="false"/>  
   <bean name="/moveMessage.action" 
class="org.apache.activemq.web.controller.MoveMessage" autowire="constructor"  
singleton="false"/>
+  <bean name="/deleteJob.action" 
class="org.apache.activemq.web.controller.DeleteJob" autowire="constructor"  
singleton="false"/>
 
   <!--
     - This bean resolves specific types of exception to corresponding error 
views.

Modified: 
activemq/trunk/activemq-web-console/src/main/webapp/decorators/main.jsp
URL: 
http://svn.apache.org/viewvc/activemq/trunk/activemq-web-console/src/main/webapp/decorators/main.jsp?rev=907208&r1=907207&r2=907208&view=diff
==============================================================================
--- activemq/trunk/activemq-web-console/src/main/webapp/decorators/main.jsp 
(original)
+++ activemq/trunk/activemq-web-console/src/main/webapp/decorators/main.jsp Sat 
Feb  6 13:08:59 2010
@@ -31,7 +31,7 @@
            <script type='text/javascript' src='<c:url 
value="/js/css.js"/>'></script>
            <script type='text/javascript' src='<c:url 
value="/js/standardista-table-sorting.js"/>'></script>
            <script type='text/javascript' src='<c:url 
value="/js/prettify.js"/>'></script>
-           <script>addEvent(window, 'load',  function (event) { prettyPrint() 
})</script>
+           <script>addEvent(window, 'load', prettyPrint)</script>
     </c:if>
 
        <decorator:head />
@@ -77,6 +77,8 @@
                             &#124;
                             <a href="<c:url value='/connections.jsp'/>" 
title="Connections">Connections</a>
                             &#124;
+                                                       <a href="<c:url 
value='/scheduled.jsp'/>" title="Scheduled">Scheduled</a>
+                            &#124;
                             <a href="<c:url value='/send.jsp'/>"
                                title="Send">Send</a>
                         </div>

Added: activemq/trunk/activemq-web-console/src/main/webapp/scheduled.jsp
URL: 
http://svn.apache.org/viewvc/activemq/trunk/activemq-web-console/src/main/webapp/scheduled.jsp?rev=907208&view=auto
==============================================================================
--- activemq/trunk/activemq-web-console/src/main/webapp/scheduled.jsp (added)
+++ activemq/trunk/activemq-web-console/src/main/webapp/scheduled.jsp Sat Feb  
6 13:08:59 2010
@@ -0,0 +1,54 @@
+<%--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+   
+    http://www.apache.org/licenses/LICENSE-2.0
+   
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+--%>
+<html>
+<head>
+<title>Messages Scheduled for Future Delivery</title>
+</head>
+<body>
+<div style="margin-top: 5em">
+       <table id="Jobs" class="sortable autostripe">
+       <thead>
+               <tr>
+                       <th>Job ID</th>
+                       <th>Cron Entry</th>
+                       <th>next scheduled time</th>
+                       <th>start</th>
+                       <th>period</th>
+                       <th>repeat</th>
+                       <th>Operations</th>
+               </tr>
+       </thead>
+       <tbody>
+               <c:forEach items="${requestContext.brokerQuery.scheduledJobs}"
+               var="row">
+               <tr>
+                <td>${row.jobId}</td>
+                <td>${row.cronEntry}</td>
+                <td>${row.nextExecutionTime}</td>
+                <td>${row.start}</td>
+                <td>${row.period}</td>
+            <td>${row.repeat}</td>
+               <td>
+                   <a href="deleteJob.action?jobId=${row.jobId}">Delete</a>
+               </td>
+           </tr>
+       </c:forEach>
+       </tbody>
+       </table>
+</body>
+</html>
+       

Modified: activemq/trunk/activemq-web-console/src/main/webapp/send.jsp
URL: 
http://svn.apache.org/viewvc/activemq/trunk/activemq-web-console/src/main/webapp/send.jsp?rev=907208&r1=907207&r2=907208&view=diff
==============================================================================
--- activemq/trunk/activemq-web-console/src/main/webapp/send.jsp (original)
+++ activemq/trunk/activemq-web-console/src/main/webapp/send.jsp Sat Feb  6 
13:08:59 2010
@@ -37,7 +37,7 @@
            <label for="JMSDestination">Destination</label>
        </td>
        <td>
-           <form:text name="JMSDestination"/>
+           <form:text name="JMSDestination" defaultValue="foo.bar"/>
        </td>
        <td class="label">
            <label for="queue">Queue or Topic</label>
@@ -107,6 +107,34 @@
 </tr>
 <tr>
        <td class="label">
+           <label for="AMQ_SCHEDULED_START_TIME">Scheduled start(ms)</label>
+       </td>
+       <td>
+           <form:text name="AMQ_SCHEDULED_START_TIME"/>
+       </td>
+       <td class="label">
+           <label for="AMQ_SCHEDULED_PERIOD">Time(ms) to wait before 
scheduling again</label>
+       </td>
+       <td>
+           <form:text name="AMQ_SCHEDULED_PERIOD"/>
+       </td>
+</tr>
+<tr>
+       <td class="label">
+           <label for="AMQ_SCHEDULED_REPEAT">Number of repeats</label>
+       </td>
+       <td>
+           <form:text name="AMQ_SCHEDULED_REPEAT"/>
+       </td>
+       <td class="label">
+           <label for="AMQ_SCHEDULED_CRON">Use a CRON string for 
scheduling</label>
+       </td>
+       <td>
+           <form:text name="AMQ_SCHEDULED_CRON"/>
+       </td>
+</tr>
+<tr>
+       <td class="label">
            <label for="JMSMessageCount">Number of messages to send</label>
        </td>
        <td>


Reply via email to