Author: sshyrkov
Date: Mon Sep 24 14:40:22 2007
New Revision: 18629
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18629&repname=
=3Djahia
Log:
JAHIA-2353: NStep Worflow : Impossible to select it anymore
http://www.jahia.net/jira/browse/JAHIA-2353
Resolution: thread-safe localization implemented for External workflow
Modified:
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/workflow/A=
dvancedWorkflowEngine.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/workflow/M=
anageWorkflow.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/workflow/W=
orkflowHelper.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/workflow/=
ExternalWorkflow.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/workflow/=
WorkflowEventListener.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/workflow/=
WorkflowService.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/workflow/nstep/NSt=
epWorkflow.java
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/work=
flow/AdvancedWorkflowEngine.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/engines/workflow/AdvancedWorkflowEngine.jav=
a&rev=3D18629&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/workflow/A=
dvancedWorkflowEngine.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/workflow/A=
dvancedWorkflowEngine.java Mon Sep 24 14:40:22 2007
@@ -480,7 +480,7 @@
while (iterator.hasNext()) {
final String option =3D (String) iterator.next=
();
String key =3D entry.getWorkflowName() + "." +=
entry.getProcessId() + "." + option;
- availableOptions.add(new ActionEntry(key, work=
flow.getActionName(processId, option), processId, workflow.getProcessName(p=
rocessId), key));
+ availableOptions.add(new ActionEntry(key, work=
flow.getActionName(processId, option, jParams.getLocale()), processId, work=
flow.getProcessName(processId, jParams.getLocale()), key));
}
}
}
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/work=
flow/ManageWorkflow.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/engines/workflow/ManageWorkflow.java&rev=3D=
18629&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/workflow/M=
anageWorkflow.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/workflow/M=
anageWorkflow.java Mon Sep 24 14:40:22 2007
@@ -125,7 +125,7 @@
=
int workflowMode;
=
- Map workflowNames =3D service.getExternalWorkflowNames();
+ Map workflowNames =3D service.getExternalWorkflowNames(jParams.get=
Locale());
=
engineMap.put("workflowNames", workflowNames);
=
@@ -162,16 +162,13 @@
}
=
final ExternalWorkflow workflow =3D service.getExternalWorkflo=
w(workflowName);
- if (workflow !=3D null) {
- workflow.startSession(jParams.getLocale());
- }
String process =3D null;
if (workflowName !=3D null && workflow !=3D null) {
final Collection availableProcesses =3D workflow.getAvaila=
bleProcesses();
final Map processesWithNames =3D new LinkedHashMap();
for (final Iterator iterator =3D availableProcesses.iterat=
or(); iterator.hasNext();) {
final String s =3D (String) iterator.next();
- processesWithNames.put(s, workflow.getProcessName(s));
+ processesWithNames.put(s, workflow.getProcessName(s, j=
Params.getLocale()));
}
engineMap.put("processes", processesWithNames);
=
@@ -213,7 +210,7 @@
} else {
roleMembersList.add(Collections.EMPTY_SET);
}
- rolesWithNames.put(role, workflow.getActionName(proces=
s, role));
+ rolesWithNames.put(role, workflow.getActionName(proces=
s, role, jParams.getLocale()));
}
=
List unlockMembersList =3D new ArrayList();
@@ -253,9 +250,6 @@
engineMap.put("unlockRoles", unlockMembersList);
}
=
- if (workflow !=3D null) {
- workflow.endSession();
- }
} else {
if (!LicenseActionChecker.isAuthorizedByLicense("org.jahia.eng=
ines.workflow.ExternalWorkflows", 0)) {
workflowNames =3D new HashMap();
@@ -430,7 +424,6 @@
if (workflowName !=3D null) {
engineMap.put("workflowName", workflowName);
final ExternalWorkflow workflow =3D service.getExterna=
lWorkflow(workflowName);
- workflow.startSession(jParams.getLocale());
final Collection names =3D workflow.getAvailableProces=
ses();
if (process !=3D null && names.contains(process)) {
if (service.hasChanged((ContentObjectKey) object.g=
etObjectKey(),
@@ -446,7 +439,6 @@
result =3D true;
}
}
- workflow.endSession();
}
} catch (Throwable e) {
logger.error("Error during add operation of a new element =
we must flush all caches to ensure integrity between database and viewing");
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/work=
flow/WorkflowHelper.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/engines/workflow/WorkflowHelper.java&rev=3D=
18629&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/workflow/W=
orkflowHelper.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/workflow/W=
orkflowHelper.java Mon Sep 24 14:40:22 2007
@@ -18,12 +18,10 @@
=
import org.jahia.content.ObjectKey;
import org.jahia.services.workflow.ExternalWorkflow;
-import org.jahia.services.workflow.WorkflowService;
import org.jahia.params.ProcessingContext;
import org.jahia.registries.ServicesRegistry;
=
import java.util.*;
-import java.lang.reflect.Array;
=
/**
* Created by IntelliJ IDEA.
@@ -37,13 +35,11 @@
private Map entries;
private List allOptions =3D null;
private Set engines;
- private ProcessingContext jParams;
private List orderedKeys;
=
public WorkflowHelper(ProcessingContext jParams) {
this.entries =3D new HashMap();
this.engines =3D new HashSet();
- this.jParams =3D jParams;
this.orderedKeys =3D new ArrayList();
}
=
@@ -151,7 +147,6 @@
private void addEngine(ExternalWorkflow engine, ProcessingContext jPar=
ams) {
if (!engines.contains(engine)) {
engines.add(engine);
- engine.startSession(jParams.getLocale());
}
}
=
@@ -160,10 +155,7 @@
}
=
public void release() {
- for (Iterator iterator =3D engines.iterator(); iterator.hasNext();=
) {
- ExternalWorkflow externalWorkflow =3D (ExternalWorkflow) itera=
tor.next();
- externalWorkflow.endSession();
- }
+ // do nothing
}
=
public String toString() {
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/wor=
kflow/ExternalWorkflow.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/workflow/ExternalWorkflow.java&rev=
=3D18629&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/workflow/=
ExternalWorkflow.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/workflow/=
ExternalWorkflow.java Mon Sep 24 14:40:22 2007
@@ -36,16 +36,25 @@
public interface ExternalWorkflow {
=
=
- void startSession();
-
- void startSession(Locale locale);
-
- void endSession();
+ /**
+ * Returns localized message using the specified locale and the workfl=
ow's
+ * resource bundle.
+ * =
+ * @param messageKey
+ * the message key
+ * @param locale
+ * current locale
+ * @return localized message using the specified locale and the workfl=
ow's
+ * resource bundle
+ */
+ String localize(String messageKey, Locale locale);
=
/**
- * Get the name of the workflow engine, as it will be displayed in jah=
ia engine
+ * Get the name of the workflow engine, as it will be displayed in jah=
ia engine.
+ * @param locale current locale
+ * @return localized workflow name
*/
- String getDisplayName();
+ String getDisplayName(Locale locale);
=
/**
* Get a list of all processes that can be applied to jahia workflow
@@ -55,9 +64,12 @@
Collection getAvailableProcesses();
=
/**
- * Get the name of the process
+ * Get the name of the process.
+ * @param processName the name of the process
+ * @param locale current locale
+ * @return localized process name
*/
- String getProcessName(String processName);
+ String getProcessName(String processName, Locale locale);
=
/**
* Start a new instance of a process. This is called on the first modi=
fication of a jahia object.
@@ -97,7 +109,7 @@
=
Collection getAvailableActions(String processName, String objectKey, S=
tring languageCode, ProcessingContext jParams);
=
- String getActionName(String processName, String actionName);
+ String getActionName(String processName, String actionName, Locale loc=
ale);
=
String getParameterForm(String processName, String actionName, Process=
ingContext jParams);
=
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/wor=
kflow/WorkflowEventListener.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/workflow/WorkflowEventListener.jav=
a&rev=3D18629&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/workflow/=
WorkflowEventListener.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/workflow/=
WorkflowEventListener.java Mon Sep 24 14:40:22 2007
@@ -192,7 +192,6 @@
String name =3D service.getInheritedExternalWorkflowNa=
me(mainObject);
String processId =3D service.getInheritedExternalWorkf=
lowProcessId(mainObject);
ExternalWorkflow workflow =3D service.getExternalWorkf=
low(name);
- workflow.startSession(jParams.getLocale());
synchronized(this) {
if (languageCode.equals(ContentObject.SHARED_LANGU=
AGE)) {
Vector allSiteLangs =3D ServicesRegistry.getIn=
stance().getJahiaSitesService().getSite(object.getSiteID()).getLanguageSett=
ings();
@@ -211,7 +210,6 @@
}
}
}
- workflow.endSession();
break;
}
} catch(JahiaPageNotFoundException e) {
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/wor=
kflow/WorkflowService.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/workflow/WorkflowService.java&rev=
=3D18629&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/workflow/=
WorkflowService.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/workflow/=
WorkflowService.java Mon Sep 24 14:40:22 2007
@@ -933,13 +933,14 @@
/**
* Get the list of all available external workflow
*
+ * @param locale current display locale
* @return map
*/
- public Map getExternalWorkflowNames() {
+ public Map getExternalWorkflowNames(Locale locale) {
Map results =3D new HashMap();
for (Iterator iterator =3D externals.keySet().iterator(); iterator=
.hasNext();) {
String name =3D (String) iterator.next();
- String displayName =3D getExternalWorkflow(name).getDisplayNam=
e();
+ String displayName =3D getExternalWorkflow(name).getDisplayNam=
e(locale);
results.put(name, displayName);
}
return results;
@@ -1445,4 +1446,56 @@
return externalWorkflowStep > 0 ? languageState * 100
+ externalWorkflowStep : languageState;
}
+
+ /**
+ * Returns the string representation of the extended workflow status, =
in the form <code>xyz</code>, where <code>x</code> is the workflow mode,
+ * <code>y</code> - the language state or a next step number in case o=
f N-Step worklfow and <code>z</code> is <code>"1"</code> in case the conten=
t object can be edited, or <code>"0"</code> otherwise. =
+ * @param contentObject the content object
+ * @param jParams current processing context
+ * @return the string representation of the extended workflow status, =
in the form <code>xyz</code>, where <code>x</code> is the workflow mode,
+ * <code>y</code> - the language state or a next step number in case o=
f N-Step worklfow and <code>z</code> is <code>"1"</code> in case the conten=
t object can be edited, or <code>"0"</code> otherwise
+ * @throws Exception in case of an error
+ */
+ public String getExtendedWorkflowState(ContentObject contentObject,
+ ProcessingContext jParams) throws Exception {
+
+ int workflowMode =3D getInheritedMode(contentObject);
+
+ final Map languagesStates =3D getLanguagesStates(contentObject);
+ String language =3D jParams.getLocale().toString();
+ Integer languageState =3D (Integer) languagesStates.get(language);
+ final Integer sharedLanguageState =3D (Integer) languagesStates
+ .get(ContentObject.SHARED_LANGUAGE);
+ if (languageState !=3D null && languageState.intValue() !=3D -1) {
+ if (sharedLanguageState !=3D null
+ && languageState.intValue() < sharedLanguageState
+ .intValue()) {
+ languageState =3D sharedLanguageState;
+ }
+ } else if (languageState =3D=3D null) {
+ languageState =3D sharedLanguageState;
+ }
+
+ int workflowState =3D (languageState !=3D null) ? languageState.in=
tValue()
+ : 1;
+
+ boolean isEditable =3D EntryLoadRequest.WAITING_WORKFLOW_STATE !=
=3D workflowState;
+
+ if (WorkflowService.EXTERNAL =3D=3D workflowMode) {
+ if (workflowState >=3D EntryLoadRequest.STAGING_WORKFLOW_STATE=
) {
+ workflowState =3D getExternalWorkflowNextStep(contentObjec=
t,
+ language);
+
+ } else {
+ workflowState =3D 0;
+ }
+ }
+
+ if (isEditable) {
+ // TODO additionally check for other languages
+ }
+
+ return new StringBuffer(3).append(workflowMode).append(workflowSta=
te)
+ .append(isEditable ? "1" : "0").toString();
+ }
}
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/workflow/nst=
ep/NStepWorkflow.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/workflow/nstep/NStepWorkflow.java&rev=3D186=
29&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/workflow/nstep/NSt=
epWorkflow.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/workflow/nstep/NSt=
epWorkflow.java Mon Sep 24 14:40:22 2007
@@ -144,11 +144,10 @@
// ------------------------------ FIELDS ------------------------------
=
private final Log log =3D LogFactory.getLog(NStepWorkflow.class);
- private org.jahia.workflow.nstep.service.WorkflowHistoryManager histor=
yManager =3D null;
- private org.jahia.workflow.nstep.service.WorkflowInstanceManager insta=
nceManager =3D null;
- private org.jahia.workflow.nstep.service.WorkflowManager workflowManag=
er =3D null;
+ private WorkflowHistoryManager historyManager =3D null;
+ private WorkflowInstanceManager instanceManager =3D null;
+ private WorkflowManager workflowManager =3D null;
private Properties properties =3D null;
- private ResourceBundle resourceBundle;
private String propertiesRelativePath =3D "/WEB-INF/etc/services/workf=
low/nstep.properties";
private static final String ROLLBACK_ACTION_NAME =3D "Rollback to prev=
ious step";
private static final String ROLLBACK_AUTHOR_ACTION_NAME =3D "Rollback =
to author";
@@ -233,13 +232,11 @@
/**
* Get the name of the workflow engine, as it will be displayed in jah=
ia engine
*
+ * @param locale current locale
* @return localized name of the workflow engine
*/
- public String getDisplayName() {
- if (resourceBundle =3D=3D null) {
- this.resourceBundle =3D ResourceBundle.getBundle("nstep-workfl=
owResources", Locale.getDefault());
- }
- return resourceBundle.getString("worklow.name");
+ public String getDisplayName(Locale locale) {
+ return localize("worklow.name", locale);
}
=
// ------------------------ INTERFACE METHODS ------------------------
@@ -247,33 +244,13 @@
// --------------------- Interface ExternalWorkflow ---------------------
=
/**
- * [EMAIL PROTECTED]
- */
- public void startSession() {
- startSession(Locale.getDefault());
- }
-
- /**
- * [EMAIL PROTECTED]
- */
- public void startSession(Locale locale) {
- this.resourceBundle =3D ResourceBundle.getBundle("nstep-workflowRe=
sources", locale);
- }
-
- /**
- * [EMAIL PROTECTED]
- */
- public void endSession() {
- }
-
- /**
* Get the name of the process
*
+ * @param locale current locale
* @return the localized name of the process
*/
- public String getProcessName(String processName) {
- String procName =3D resourceBundle.getString(
- "process." + trimActionName(processName).toLowerCase() + "=
.display.name");
+ public String getProcessName(String processName, Locale locale) {
+ String procName =3D localize("process." + trimActionName(processNa=
me).toLowerCase() + ".display.name", locale);
if (procName =3D=3D null) {
procName =3D processName;
}
@@ -483,9 +460,9 @@
/**
* [EMAIL PROTECTED]
*/
- public String getActionName(String processName, String actionName) {
- return resourceBundle.getString("process." + trimActionName(proces=
sName.toLowerCase()) + ".step." +
- trimActionName(actionName.toLowerCase()));
+ public String getActionName(String processName, String actionName, Loc=
ale locale) {
+ return localize("process." + trimActionName(processName.toLowerCas=
e()) + ".step." +
+ trimActionName(actionName.toLowerCase()), locale);
}
=
/**
@@ -496,7 +473,7 @@
*/
public String getParameterForm(String processName, String actionName, =
ProcessingContext jParams) {
// We don't need extra information
- String comment =3D resourceBundle.getString("comment.form.label");
+ String comment =3D localize("comment.form.label", jParams.getLocal=
e());
if (comment =3D=3D null) {
comment =3D "comment";
}
@@ -505,7 +482,7 @@
"<textarea class=3D\"input\" name=3D\"nstepcomment\" cols=
=3D\"80\" rows=3D\"4\"></textarea>");
String productionPresence;
try {
- productionPresence =3D resourceBundle.getString("process." + t=
rimActionName(processName).toLowerCase() + ".last.step.production.present");
+ productionPresence =3D localize("process." + trimActionName(pr=
ocessName).toLowerCase() + ".last.step.production.present", jParams.getLoca=
le());
} catch (MissingResourceException e) {
productionPresence =3D Boolean.FALSE.toString();
}
@@ -523,18 +500,18 @@
// ensure we only show the site job
String jobNamePrefix =3D ProductionJob.JOB_NAME_PREFIX=
+ jParams.getSiteID();
StringBuffer options =3D new StringBuffer();
- options.append("<option value=3D\"none\" selected>").a=
ppend(resourceBundle.getString("workflow.last.step.production.no")).append(=
"</option>");
+ options.append("<option value=3D\"none\" selected>").a=
ppend(localize("workflow.last.step.production.no", jParams.getLocale())).ap=
pend("</option>");
int nbOptions =3D 0;
for (int i =3D 0; i < jobNames.length; i++) {
String jobName =3D jobNames[i];
if (jobName.startsWith(jobNamePrefix)) {
nbOptions++;
JobDetail jobDetail =3D schedulerServ.getJobDe=
tail(jobName, BackgroundJob.getGroupName(ProductionJob.class));
- options.append("<option value=3D\"").append(jo=
bName).append("\">").append(resourceBundle.getString("workflow.last.step.pr=
oduction.job").replaceAll("\\$\\{jobName\\}", (String) jobDetail.getJobData=
Map().get(ProductionJob.ALIAS_NAME))).append("</option>");
+ options.append("<option value=3D\"").append(jo=
bName).append("\">").append(localize("workflow.last.step.production.job", j=
Params.getLocale()).replaceAll("\\$\\{jobName\\}", (String) jobDetail.getJo=
bDataMap().get(ProductionJob.ALIAS_NAME))).append("</option>");
}
}
if (nbOptions > 0) {
- s.append("<p>").append(resourceBundle.getString("w=
orkflow.last.step.production.label")).append("</p>");
+ s.append("<p>").append(localize("workflow.last.ste=
p.production.label", jParams.getLocale())).append("</p>");
s.append("<select name=3D\"nstepJobNamesToActivate=
\" multiple size=3D\"").append(nbOptions < 5 ? nbOptions + 1 : 6).append("\=
">");
s.append(options.toString());
s.append("</select>");
@@ -1216,5 +1193,11 @@
// we return false in order to prevent updated object to go back t=
o the first workflow step.
return false;
}
- =
+
+ public String localize(String messageKey, Locale locale) {
+ ResourceBundle resourceBundle =3D ResourceBundle.getBundle(
+ "nstep-workflowResources", locale);
+ return resourceBundle !=3D null ? resourceBundle.getString(message=
Key)
+ : null;
+ }
}
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list