You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2007/05/04 12:14:43 UTC
svn commit: r535152 - in /lenya/trunk/src/modules-core:
sitemanagement/usecases/tab/
usecase/java/src/org/apache/lenya/cms/usecase/scheduling/impl/
Author: andreas
Date: Fri May 4 03:14:41 2007
New Revision: 535152
URL: http://svn.apache.org/viewvc?view=rev&rev=535152
Log:
Improved scheduler usecase view
Modified:
lenya/trunk/src/modules-core/sitemanagement/usecases/tab/scheduler.jx
lenya/trunk/src/modules-core/usecase/java/src/org/apache/lenya/cms/usecase/scheduling/impl/UsecaseCronJob.java
lenya/trunk/src/modules-core/usecase/java/src/org/apache/lenya/cms/usecase/scheduling/impl/UsecaseSchedulerImpl.java
Modified: lenya/trunk/src/modules-core/sitemanagement/usecases/tab/scheduler.jx
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/sitemanagement/usecases/tab/scheduler.jx?view=diff&rev=535152&r1=535151&r2=535152
==============================================================================
--- lenya/trunk/src/modules-core/sitemanagement/usecases/tab/scheduler.jx (original)
+++ lenya/trunk/src/modules-core/sitemanagement/usecases/tab/scheduler.jx Fri May 4 03:14:41 2007
@@ -38,12 +38,21 @@
<table class="lenya-table-list-noborder">
<tr>
<th><i18n:text>Job</i18n:text></th>
+ <th><i18n:text>User</i18n:text></th>
<th><i18n:text>Time</i18n:text></th>
</tr>
<jx:forEach var="job" items="${usecase.getParameter('jobs')}">
+ <!-- see UsecaseSchedulerImpl for job name encoding -->
+ <jx:set var="name" value="${job.getName()}"/>
+ <jx:set var="parts" value="${name.split(':')}"/>
+ <jx:set var="usecaseName" value="${parts[0]}"/>
+ <jx:set var="userId" value="${parts[1]}"/>
<tr>
<td>
- <jx:out value="${job.getJobName()}"/>
+ <jx:out value="${usecaseName}"/>
+ </td>
+ <td>
+ <a href="${request.requestUri}?lenya.usecase=admin.user&userId=${userId}"><jx:out value="${userId}"/></a>
</td>
<td>
<jx:out value="${job.getNextTime()}"/>
Modified: lenya/trunk/src/modules-core/usecase/java/src/org/apache/lenya/cms/usecase/scheduling/impl/UsecaseCronJob.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/usecase/java/src/org/apache/lenya/cms/usecase/scheduling/impl/UsecaseCronJob.java?view=diff&rev=535152&r1=535151&r2=535152
==============================================================================
--- lenya/trunk/src/modules-core/usecase/java/src/org/apache/lenya/cms/usecase/scheduling/impl/UsecaseCronJob.java (original)
+++ lenya/trunk/src/modules-core/usecase/java/src/org/apache/lenya/cms/usecase/scheduling/impl/UsecaseCronJob.java Fri May 4 03:14:41 2007
@@ -80,8 +80,18 @@
protected static final String USER_ID = "userId";
protected static final String MACHINE_IP = "machineIp";
- protected String getUsecaseName() {
+ /**
+ * @return The name of the usecase to execute.
+ */
+ public String getUsecaseName() {
return this.usecaseName;
+ }
+
+ /**
+ * @return The ID of the user who scheduled the job.
+ */
+ public String getUserId() {
+ return this.userId;
}
protected String getSourceURL() {
Modified: lenya/trunk/src/modules-core/usecase/java/src/org/apache/lenya/cms/usecase/scheduling/impl/UsecaseSchedulerImpl.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/usecase/java/src/org/apache/lenya/cms/usecase/scheduling/impl/UsecaseSchedulerImpl.java?view=diff&rev=535152&r1=535151&r2=535152
==============================================================================
--- lenya/trunk/src/modules-core/usecase/java/src/org/apache/lenya/cms/usecase/scheduling/impl/UsecaseSchedulerImpl.java (original)
+++ lenya/trunk/src/modules-core/usecase/java/src/org/apache/lenya/cms/usecase/scheduling/impl/UsecaseSchedulerImpl.java Fri May 4 03:14:41 2007
@@ -42,7 +42,8 @@
import org.apache.lenya.cms.usecase.scheduling.UsecaseScheduler;
/**
- * Usecase scheduler implementation.
+ * <p>Usecase scheduler implementation.</p>
+ * <p>The names of the scheduled jobs have the syntax <code>{usecaseName}:{userId}</code>.
*
* @version $Id$
*/
@@ -68,6 +69,7 @@
objects.put(UsecaseCronJob.USECASE_NAME, usecase.getName());
objects.put(UsecaseCronJob.SOURCE_URL, usecase.getSourceURL());
+ String userId = "";
Request request = ContextHelper.getRequest(this.context);
Session session = request.getSession(false);
if (session != null) {
@@ -75,7 +77,8 @@
if (identity != null) {
User user = identity.getUser();
if (user != null) {
- objects.put(UsecaseCronJob.USER_ID, user.getId());
+ userId = user.getId();
+ objects.put(UsecaseCronJob.USER_ID, userId);
}
Machine machine = identity.getMachine();
if (machine != null) {
@@ -85,7 +88,8 @@
}
String role = CronJob.class.getName() + "/usecase";
- scheduler.fireJobAt(date, "foo", role, parameters, objects);
+ String name = getJobName(usecase, userId);
+ scheduler.fireJobAt(date, name, role, parameters, objects);
} catch (Exception e) {
getLogger().error("Could not create job: ", e);
@@ -95,6 +99,10 @@
this.manager.release(scheduler);
}
}
+ }
+
+ protected String getJobName(Usecase usecase, String userId) {
+ return usecase.getName() + ":" + userId;
}
protected ServiceManager manager;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org