cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with core jstl.

Former Member
0 Kudos

Hi,

I am trying to deploy my application into SAP AS 6.4 But getting the following exeception:

#1.5#0003FF70A5E5004F000000060000173C00041415E21F2242#1147984108753#com.sap.engine.services.servlets_jsp.Deploy#sap.com/TAP#com.sap.engine.services.servlets_jsp.Deploy#tapadmin#140####dd9ae410e6ac11da9c4b0003ff70a5e5#SAPEngine_Application_Thread[impl:3]_20##0#0#Error##Plain###Runtime error in compiling of the JSP file <C:/usr/sap/J2E/JC00/j2ee/cluster/server0/apps/sap.com/TAP/servlet_jsp/tap/root/tap/jsp/restricted/component/system/management/scheduler/schedulerdisplay.jsp> ! The error is: com.sap.engine.services.servlets_jsp.server.jsp.exceptions.ParseException: TagLibValidator returns error(s) for taglib ( /core-jstl 😞

PS: I am able to run the same application on Jboss 3.2.3 & WebSphere 6.0

Any suggestions?

--PSR

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

The problem is with using the below lines of code

<script language="JavaScript">

<%@ include file="/proj/script/preload.js"%>

<%@ include file="/proj/script/application-tv.js"%>

<%@ include file="/proj/script/scheduler.js"%>

<%@ include file="/proj/script/finder.js"%>

<%@ include file="/proj/script/notification.js"%>

</script>

Thanks for all your help.

-Srini

former_member185706
Participant
0 Kudos

Hi Srini,

is it possible to send war file of the application to bobybc@dir.bg ?

Regards

Bojidar

Former Member
0 Kudos

Hi

please check in your web project that all the supporting jar's for teh tag lib are placed in the web-inf\lib filder and the tag lib in the web-inf folder of your web project . also could you please check in web.xml the tld location is correctly specified .

for further analysis can you post the exception stack trace from your defaulttrc0.trc here .

Hope this helps , please mark points for helpful answers

regards

rajeshkr

former_member185706
Participant
0 Kudos

Hi Srinivas,

please post the whole error message that is returned by the TLD validator.

@Rajesh - it is obvious that there is no mistake in tld locations, because the library is found, parsed and the JSP XML view is passed to the validator that is declared in the TLD of tag library.

Regards

Bojidar

Former Member
0 Kudos

Hi Bojidar/Rajesh,

Yes there is nothing wrong with the web.xml & jar locations.

Please find enclosed error log information.

#1.5#0003FF70A5E500440000001A0000173C0004141720D08819#1147989456262#com.sap.engine.services.servlets_jsp.Deploy#sap.com/TAP#com.sap.engine.services.servlets_jsp.Deploy#tapadmin#140####50f67bc0e6b911da86090003ff70a5e5#SAPEngine_Application_Thread[impl:3]_25##0#0#Error##Plain###Runtime error in compiling of the JSP file <C:/usr/sap/J2E/JC00/j2ee/cluster/server0/apps/sap.com/TAP/servlet_jsp/tap/root/tap/jsp/restricted/component/system/management/scheduler/schedulerdisplay.jsp> ! The error is: com.sap.engine.services.servlets_jsp.server.jsp.exceptions.ParseException: TagLibValidator returns error(s) for taglib ( /core-jstl 😞

com.sap.engine.lib.xml.parser.NestedSAXParserException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: Unsupported character: a9(:main:, row:604, col:14)(:main:, row=604, col=14) -> com.sap.engine.lib.xml.parser.ParserException: Unsupported character: a9(:main:, row:604, col:14)

.

at com.sap.engine.services.servlets_jsp.server.jsp.JSPParser.validate(JSPParser.java:211)

at com.sap.engine.services.servlets_jsp.server.jsp.JSPParser.initParser(JSPParser.java:316)

at com.sap.engine.services.servlets_jsp.server.jsp.JSPParser.parse(JSPParser.java:74)

at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.getClassName(JSPServlet.java:207)

at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.compileAndGetClassName(JSPServlet.java:369)

at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:164)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.runtime.RequestDispatcherImpl.doWork(RequestDispatcherImpl.java:290)

at com.sap.engine.services.servlets_jsp.server.runtime.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:346)

at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)

at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)

at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)

at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)

at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:117)

at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:62)

at com.teradata.tap.system.filter.SimpleFilter.doFilter(SimpleFilter.java:26)

at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:58)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:368)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:263)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:340)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:318)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:821)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:239)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:147)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)

at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)

Let me know if you need any more information.

--Srini

Former Member
0 Kudos

Hi

can you please post schedulerdisplay.jsp also .

regards

rajeshkr

Former Member
0 Kudos

I am including all the code which has calls to core jstl.

<c:set var='color' value='false'/>

<c:choose>

<c:when test="${color == 'true'}">

<c:set var='color' value='false'/>

<tr class="altrowone">

</c:when>

<c:otherwise>

<c:set var='color' value='true'/>

<tr class="altrowtwo">

</c:otherwise>

</c:choose>

<%if (request.isUserInRole("admin")) { %>

<c:choose>

<c:when test='${requestScope.status == requestScope.started}'>

<li>

<a href="#" onclick="mgt_stopScheduler('<%=msg1%>','schedulerdisplay'); return false;" oncontextmenu ="return false;" title="<%=messageStop%>">

<%=messageStop%>

</a>

</li>

</c:when>

<c:otherwise>

<li>

<a href="#" onclick="mgt_startScheduler('<%=msg2%>','schedulerdisplay'); return false;" title="<%=messageStart%>">

<%=messageStart%>

</a>

</li>

</c:otherwise>

</c:choose>

<%}%>

--Srini

former_member185706
Participant
0 Kudos

Could you send/post the whole jsp?

Former Member
0 Kudos

<%@ taglib uri="/struts-bean" prefix="bean" %> <!-- localization -->

<%@ include file="/proj/jsp/initTaglib.jsp" %>

<%

String messageStop=labels.getString("proj.stopScheduler");

String messageStart=labels.getString("proj.startScheduler");

String messagePurgeAll=labels.getString("proj.purgeAllJobs");

String messagePurgeSpec=labels.getString("proj.purgeSpecificJobs");

String messageRefresh=labels.getString("proj.refresh");

String proj_view=labels.getString("proj.view");

String proj_edit=labels.getString("proj.edit");

String proj_purge=labels.getString("proj.purge");

String proj_nostartdate=labels.getString("proj.nostartdate");

String proj_noenddate=labels.getString("proj.noenddate");

String sRemoveJob=labels.getString("proj.removeJob");

String sAbortJob=labels.getString("proj.abortJob");

String sPauseJob=labels.getString("proj.pauseJob");

String sResumeJob=labels.getString("proj.resumeJob");

String sExecuteJob=labels.getString("proj.executejobondemand");

String sPurgeAnJob=labels.getString("proj.purgeanExpiredJob");

String sPurgeAllJobs=labels.getString("proj.purgeallExpiredJobs");

%>

<%@ taglib uri="/core-jstl" prefix="c" %>

<%@ taglib uri="/htmlcontrolstaglib.tld" prefix="html" %>

<%@ taglib prefix="pbar" uri="/ProgressBar.tld" %>

<%@ taglib prefix="filter" uri="/filter.tld" %>

<%

application.setAttribute("FavoriteUrl","schedulerdisplay.do?nonadmin=true");

String cURL = (String) application.getAttribute("FavoriteUrl");

%>

<html>

<head>

<title><bean:message bundle="proj" key="proj.schedulerManagement"/></title>

<script language="JavaScript" src="proj/script/management.js"></script>

<script language="JavaScript" src="proj/script/tablesort.js"></script>

<link rel="stylesheet" type="text/css" href="proj/css/common.css" />

<link rel="stylesheet" type="text/css" href="proj/css/calendar.css" />

<link rel="stylesheet" type="text/css" href="proj/css/finder.css" />

<script language="JavaScript" src="proj/script/calendar.js"></script>

<script language="JavaScript" src="proj/script/common-scripts.js"></script>

<script language="JavaScript" src="proj/script/scheduleOnce.js"></script>

<%

List cssList = (List) request.getSession().getServletContext().getAttribute("stylesheets");

if (cssList != null) {

Iterator iterator = cssList.iterator();

while (iterator.hasNext()) {

String urlSrc = (String) iterator.next();

%>

<link rel="stylesheet" type="text/css" href="<%= urlSrc %>" />

<%

}

}%>

<script language="JavaScript">

<%@ include file="/proj/script/preload.js"%>

<%@ include file="/proj/script/application-tv.js"%>

<%@ include file="/proj/script/scheduler.js"%>

<%@ include file="/proj/script/finder.js"%>

<%@ include file="/proj/script/notification.js"%>

</script>

</head>

<body class="body_content" onload="updtURL('<%= cURL %>');">

<%@ page import="com.comp.proj.system.management.ManagementConstants,

java.util.*,

com.comp.proj.system.scheduler.*,

java.sql.Timestamp"

%>

<%!

private Calendar getNewCalendar(Timestamp pDate, Timestamp pTime)

{

if(pDate==null && pTime==null) return null;

if(pDate==null)pDate = Timestamp.valueOf("0000-00-00 00:00:00.0");

if(pTime==null)pTime = Timestamp.valueOf("0000-00-00 00:00:00.0");

Calendar objTime = Calendar.getInstance();

objTime.setTimeInMillis(pTime.getTime());

Calendar objNewTime = Calendar.getInstance();

objNewTime.setTimeInMillis(pDate.getTime());

objNewTime.set(Calendar.HOUR, objTime.get(Calendar.HOUR));

objNewTime.set(Calendar.AM_PM, objTime.get(Calendar.AM_PM));

objNewTime.set(Calendar.MINUTE, objTime.get(Calendar.MINUTE));

return objNewTime;

}

%>

<%

List jobs = (List)request.getAttribute(ManagementConstants.SCHEDULER_JOBS);

Object[] jobArray = jobs.toArray();

JobWrapper wrapper = null;

String jobStatus;

String startTimeStamp = null;

String endTimeStamp = null;

Object[] objList = (Object[]) request.getAttribute("objList");

String nonadmin = request.getParameter("nonadmin");

%>

<div id=workspace style="display: block">

<!-- for the filter tag -->

<form name="schedulerform" method="post" ACCEPT-CHARSET="utf-8">

<input type="hidden" name="nonadmin" value="<%=nonadmin%>">

<input type="hidden" name="SCHEDULER_USER" value="<%=request.getUserPrincipal().getName()%>">

<table width="100%" cellpadding="0" cellspacing="0" border="0">

<tr>

<td height=15 colspan=6></td>

</tr>

<tr>

<td width=15></td>

<td><bean:message bundle="proj" key="proj.category"/>:</td>

<%

if ( request.isUserInRole("proj.admin") ) { %>

<td>

<filter:tagList stringItems='<%="Users,Job Groups"%>' fitem="Jobs" />

</td>

<%} else {%>

<td>

<filter:tagList stringItems='<%="Users,Job Groups"%>' fitem="Jobs" /> <!-- Changed for proj-825 (Changed stringItems from Job Groups to Users, Job Groups) -->

</td>

<%} %>

<td>&nbsp;</td>

<td>

<filter:tagList listItems="<%=objList %>" />

</td>

<td><span style="cursor:hand" onclick="proj_submitNamedForm('schedulerdisplay.do', 'schedulerform');"><html:button text="<%=messageRefresh%>" title="<%=messageRefresh%>"/></span></td>

</tr>

</table>

</form>

<!-- end for the filter tag -->

<c:set var='color' value='false'/>

<form name="schedulerdisplay" method="post" ACCEPT-CHARSET="utf-8">

<table width="100%" cellpadding="0" cellspacing="0" border="0">

<tr>

<td>

<div>

<table width="100%" cellspacing="2" cellpadding="1" name="tbl" id="tbl">

<tr class="bg" id="tr1">

<th>&nbsp;</th>

<th id="1"><a class="a_header_text_sched" href="javascript:void(0);" oncontextmenu ="return false;" onclick="table_sort('tbl', 1, 0,'proj.startDate');proj.StatusPopup.setDisplay(false);"><bean:message bundle="proj" key="proj.startDate"/>&nbsp;<span id="proj.startDate"></span></a></th>

<th id="2"><a class="a_header_text_sched" href="javascript:void(0);" oncontextmenu ="return false;" onclick="table_sort('tbl', 2, 0,'proj.jobLabel');proj.StatusPopup.setDisplay(false);"><bean:message bundle="proj" key="proj.jobLabel"/>&nbsp;<span id="proj.jobLabel"></span></a></th>

<th id="3"><a class="a_header_text_sched" href="javascript:void(0);" oncontextmenu ="return false;" onclick="table_sort('tbl', 3, 0,'proj.groupid');proj.StatusPopup.setDisplay(false);"><bean:message bundle="proj" key="proj.groupid"/>&nbsp;<span id="proj.groupid"></span></a></th>

<%

// if(request.isUserInRole("proj.admin")){%>

<th id="4"><a class="a_header_text_sched" href="javascript:void(0);" oncontextmenu ="return false;" onclick="table_sort('tbl', 4, 0,'proj.userid');proj.StatusPopup.setDisplay(false);"><bean:message bundle="proj" key="proj.userid"/>&nbsp;<span id="proj.userid"></span></a></th>

<th id="5"><a class="a_header_text_sched" href="javascript:void(0);" oncontextmenu ="return false;" onclick="table_sort('tbl', 5, 1,'proj.jobid');proj.StatusPopup.setDisplay(false);"><bean:message bundle="proj" key="proj.jobid" />&nbsp;<span id='proj.jobid'></span></a></th>

<th id="6"><a class="a_header_text_sched" href="javascript:void(0);" oncontextmenu ="return false;" onclick="table_sort('tbl', 6, 0,'proj.jobStatus');proj.StatusPopup.setDisplay(false);"><bean:message bundle="proj" key="proj.jobStatus"/>&nbsp;<span id="proj.jobStatus"></span></a></th>

<th id="7"><a class="a_header_text_sched" href="javascript:void(0);" oncontextmenu ="return false;" onclick="table_sort('tbl', 7, 0,'proj.currentask');proj.StatusPopup.setDisplay(false);"><bean:message bundle="proj" key="proj.currentask"/>&nbsp;<span id="proj.currentask"></span></a></th>

<%//}else{%>

<!-- <th onmouseover="javascript:style.cursor='hand'" onclick="table_sort('tbl', 4, 0,'proj.startDate');"><bean:message bundle="proj" key="proj.startDate"/>&nbsp;<span id="proj.startDate"></span></th>

<th id="8" onmouseover="javascript:style.cursor='hand'" onclick="table_sort('tbl', 5, 0,'proj.jobStatus');"><bean:message bundle="proj" key="proj.jobStatus"/><span id="proj.jobStatus">&nbsp;</span></th>

<th id="9" onmouseover="javascript:style.cursor='hand'" onclick="table_sort('tbl', 6, 0,'proj.currentask');"><bean:message bundle="proj" key="proj.currentask"/><span id="proj.currentask">&nbsp;</span></th> -->

<%//} //For proj-825(Commented out the if else such that same behaviour is exhibited for all users) %>

<!-- <th nowrap ><a class="proj_hand_cursor" onclick="table_sort('tbl', 8, 0,'proj.jobid');"><B><FONT COLOR="#000000">Missed Job<br>Strategy</B></a></th> -->

<th class="actions"><bean:message bundle="proj" key="proj.percentage"/><br/><bean:message bundle="proj" key="proj.completed"/></th>

</tr>

<pbar:getprogress jobs="<%=jobs%>" />

<%

String list1 = (String)request.getParameter("list1");

String list2 = (String)request.getParameter("list2");

if(list1==null && list2==null){

if(nonadmin==null){

list1="Users";

list2="ALL";

}else{

list1="Job Groups";

list2="ALL";

}

}

Object[] usersList = (Object[])request.getAttribute("usersList");

// request.removeAttribute("usersList");

Object[] jobsGroup = (Object[])request.getAttribute("jobsGroup");

// request.removeAttribute("jobsGroup");

if(usersList!=null){

request.setAttribute("usersList", usersList);

}

if(jobsGroup!=null){

request.setAttribute("jobsGroup", jobsGroup);

}

DailySchedule dailySchedule = null;

WeeklySchedule weeklySchedule = null;

MonthlySchedule monthlySchedule = null;

YearlySchedule yearlySchedule = null;

SpecificDatesSchedule specificDatesSchedule = null;

RepeatableSchedule repeatableSchedule = null;

CronSchedule cronSchedule = null;

// Start::Code Changes for proj-627/TAEREQ-221 :: Modified by SC185028 - TIES(09/02/2006)

RunNowSchedule runnowSchedule = null;

RunOnceSchedule runOnceSchedule = null;

FortNightSchedule fortNightSchedule = null;

Timestamp timeStampStart = null; Timestamp timeStampEnd = null;

Timestamp tStartdate = null;

Timestamp tEnddate = null; Timestamp tStarttime = null;

Timestamp tEndtime = null; Schedule schedule = null;

for (int i = 0; i < jobArray.length; i++) {

wrapper = (JobWrapper)jobArray<i>;

if (wrapper == null) {

continue;

}

schedule = null;

schedule = wrapper.getSchedule();

tStartdate = null; tEnddate = null; tStarttime = null; tEndtime = null;

startTimeStamp = ""; endTimeStamp = "";

if (schedule != null) {

if(schedule instanceof DailySchedule){

dailySchedule = (DailySchedule)schedule;

if(dailySchedule.getStrStartTime()!=null && !(dailySchedule.getStrStartTime()).equals(""))

tStarttime = Timestamp.valueOf(dailySchedule.getStrStartTime());

if(dailySchedule.getStrEndTime()!=null && !(dailySchedule.getStrEndTime()).equals(""))

tEndtime = Timestamp.valueOf(dailySchedule.getStrEndTime());

} else if(schedule instanceof WeeklySchedule){

weeklySchedule = (WeeklySchedule)schedule;

if(weeklySchedule.getStrStartTime()!=null && !(weeklySchedule.getStrStartTime()).equals(""))

tStarttime = Timestamp.valueOf(weeklySchedule.getStrStartTime());

if(weeklySchedule.getStrEndTime()!=null && !(weeklySchedule.getStrEndTime()).equals(""))

tEndtime = Timestamp.valueOf(weeklySchedule.getStrEndTime());

} else if(schedule instanceof FortNightSchedule){

fortNightSchedule = (FortNightSchedule)schedule;

if(fortNightSchedule.getStrStartTime()!=null && !(fortNightSchedule.getStrStartTime()).equals(""))

tStarttime = Timestamp.valueOf(fortNightSchedule.getStrStartTime());

if(fortNightSchedule.getStrEndTime()!=null && !(fortNightSchedule.getStrEndTime()).equals(""))

tEndtime = Timestamp.valueOf(fortNightSchedule.getStrEndTime());

} else if(schedule instanceof MonthlySchedule){

monthlySchedule = (MonthlySchedule)schedule;

if(monthlySchedule.getStrStartTime()!=null && !(monthlySchedule.getStrStartTime()).equals(""))

tStarttime = Timestamp.valueOf(monthlySchedule.getStrStartTime());

if(monthlySchedule.getStrEndTime()!=null && !(monthlySchedule.getStrEndTime()).equals(""))

tEndtime = Timestamp.valueOf(monthlySchedule.getStrEndTime());

}else if(schedule instanceof YearlySchedule){

yearlySchedule = (YearlySchedule)schedule;

if(yearlySchedule.getStrStartTime()!=null && !(yearlySchedule.getStrStartTime()).equals(""))

tStarttime = Timestamp.valueOf(yearlySchedule.getStrStartTime());

if(yearlySchedule.getStrEndTime()!=null && !(yearlySchedule.getStrEndTime()).equals(""))

tEndtime = Timestamp.valueOf(yearlySchedule.getStrEndTime());

}else if(schedule instanceof SpecificDatesSchedule){

specificDatesSchedule = (SpecificDatesSchedule)schedule;

if(specificDatesSchedule.getStrStartTime()!=null && !(specificDatesSchedule.getStrStartTime()).equals(""))

tStarttime = Timestamp.valueOf(specificDatesSchedule.getStrStartTime());

tEndtime = null;

}else if(schedule instanceof RepeatableSchedule){

repeatableSchedule = (RepeatableSchedule)schedule;

tStarttime = null;

tEndtime = null;

}else if(schedule instanceof CronSchedule){

cronSchedule = (CronSchedule)schedule;

tStarttime = null;

tEndtime = null;

}else if(schedule instanceof RunNowSchedule){

runnowSchedule = (RunNowSchedule)schedule;

tStarttime = null;

tEndtime = null;

}else if(schedule instanceof RunOnceSchedule){

runOnceSchedule = (RunOnceSchedule)schedule;

tStarttime = null;

tEndtime = null;

}

tStartdate = schedule.getStartDate();

if((schedule instanceof RepeatableSchedule) || (schedule instanceof CronSchedule) || (schedule instanceof RunOnceSchedule) || (schedule instanceof RunNowSchedule))

{

if (tStartdate != null){

startTimeStamp = tStartdate.toString();

}else

startTimeStamp = proj_nostartdate;

}

else

{

if(getNewCalendar(tStartdate, tStarttime)!=null)

timeStampStart = new Timestamp(getNewCalendar(tStartdate, tStarttime).getTimeInMillis());

if (timeStampStart != null){

startTimeStamp = timeStampStart.toString();

}else

startTimeStamp = proj_nostartdate;

}

tEnddate = schedule.getEndDate();

if( (schedule instanceof RepeatableSchedule) || (schedule instanceof CronSchedule))

{

if (tEnddate != null){

endTimeStamp = tEnddate.toString();

}else

endTimeStamp = proj_nostartdate;

}

else

{

if(getNewCalendar(tEnddate, tEndtime)!=null)

timeStampEnd = new Timestamp(getNewCalendar(tEnddate, tStarttime).getTimeInMillis());

if (timeStampEnd != null){

endTimeStamp = timeStampEnd.toString();

}else

endTimeStamp = proj_noenddate;

}

} else {

startTimeStamp = proj_nostartdate;

endTimeStamp = proj_noenddate;

}

// End ::Code Changes for proj-627/TAEREQ-221 :: Modified by SC185028 - TIES(09/02/2006)

int status = wrapper.getJobStatus().getCurrentJobStatus();

switch (status) {

case 1:

jobStatus = labels.getString("proj.scheduled");

break;

case 2:

jobStatus = labels.getString("proj.inProgress");

break;

case 3:

jobStatus = labels.getString("proj.successful");

break;

case 4:

jobStatus = labels.getString("proj.unsuccessful");

break;

case 5:

jobStatus = labels.getString("proj.cancelled");

break;

case 6:

jobStatus = labels.getString("proj.notExecutedYet");

break;

case 7:

jobStatus = labels.getString("proj.expired");

break;

case 8:

jobStatus = labels.getString("proj.inactive");

break;

case 9:

jobStatus = labels.getString("proj.notScheduled");

break;

default:

jobStatus = labels.getString("proj.noStatus");

}

int policy = 0;

if (schedule != null) {

policy = wrapper.getSchedule().getMissedJob();

}

String missedJobStrategy = "";

if (wrapper.getSchedule() instanceof CronSchedule) {

switch (policy) {

case CronSchedule.MISSED_JOB_DEFAULT :

missedJobStrategy = "Default";

break;

case CronSchedule.MISSED_JOB_FIRE_ONCE_NOW :

missedJobStrategy = "Fire once now";

break;

case CronSchedule.MISSED_JOB_DO_NOTHING :

missedJobStrategy = "Do nothing";

break;

default:

missedJobStrategy = "Default";

break;

}

} else {

switch (policy) {

case 0 /*RepeatableSchedule.MISSED_JOB_DEFAULT */:

missedJobStrategy = "Default (Do nothing)";

break;

case 1 /*RepeatableSchedule.MISSED_JOB_FIRE_NOW */:

missedJobStrategy = "Fire Job now";

break;

case 2 /*RepeatableSchedule.MISSED_JOB_RESCHEDULE_NOW_WITH_EXISTING_REPEAT_COUNT */:

missedJobStrategy = "Reschedule now with existing repeat count";

break;

case 3 /*RepeatableSchedule.MISSED_JOB_RESCHEDULE_NOW_WITH_REMAINING_REPEAT_COUNT */:

missedJobStrategy = "Reschedule now with remaining repeat count";

break;

case 4 /*RepeatableSchedule.MISSED_JOB_RESCHEDULE_NEXT_WITH_REMAINING_REPEAT_COUNT */:

missedJobStrategy = "Reschedule next with remaining repeat count";

break;

case 5 /*RepeatableSchedule.MISSED_JOB_RESCHEDULE_NEXT_WITH_EXISTING_REPEAT_COUNT */:

missedJobStrategy = "Reschedule next with existing repeat count";

break;

default:

missedJobStrategy = "Default";

break;

}

}

%>

<c:choose>

<c:when test="${color == 'true'}">

<c:set var='color' value='false'/>

<tr class="altrowone">

</c:when>

<c:otherwise>

<c:set var='color' value='true'/>

<tr class="altrowtwo">

</c:otherwise>

</c:choose>

<input type="hidden" name="list1" value="<%=list1%>"/>

<input type="hidden" name="list2" value="<%=list2%>"/>

<input type="hidden" name="item<%=i%>_JobID" value="<%= wrapper.getJobID().getId() %>" />

<input type="hidden" name="item<%=i%>_StartTimeStamp" value="<%=startTimeStamp%>" />

<input type="hidden" name="item<%=i%>_EndTimeStamp" value="<%=endTimeStamp%>" />

<input type="hidden" name="item<%=i%>_Label" value="<%=wrapper.getLabel()%>" />

<input type="hidden" name="item<%=i%>_UserId" value="<%=wrapper.getUserId()%>" />

<input type="hidden" name="item<%=i%>_JobStatus" value="<%=jobStatus%>" />

<input type="hidden" name="item<%=i%>_Description" value="<%=wrapper.getDescription()%>" />

<input type="hidden" name="item<%=i%>_MissedJobStrategy" value="<%=missedJobStrategy%>" />

<input type="hidden" name="item<%=i%>_JobId" value="<%=wrapper.getJobID().getId()%>" />

<input type="hidden" name="item<%=i%>_EventKey" value="<%=wrapper.getEventKey()%>" />

<input type="hidden" name="item<%=i%>_CompletionEvent" value="<%=wrapper.getCompletionEvent()%>" />

<td nowrap width="2%">

&nbsp;<input type="checkbox" style="border-style: none;" name="checkeditem" value="item<%=i%>"/>

</td>

<td nowrap width="15%" style="padding-left: 3px;"><%=startTimeStamp%></td>

<td nowrap width="10%" style="padding-left: 3px;"><%=wrapper.getLabel()%></td>

<td nowrap width="9%" style="padding-left: 3px;"><%if(wrapper.getGroupId()!=null){%><%=wrapper.getGroupId()%><%}%></td>

<%//if ( request.isUserInRole("proj.admin") ) { //Commented out if condition for proj-825%>

<td nowrap width="8%" style="padding-left: 3px;"><%=wrapper.getUserId()%></td>

<%//}%>

<td nowrap width="8%" style="padding-left: 3px;"><%= wrapper.getJobID().getId() %></td>

<td nowrap width="10%" style="padding-left: 3px;"><%=jobStatus%></td>

<td nowrap width="12%" style="padding-left: 3px;">

<%if(wrapper.getCurrentTask()!=null){

if(wrapper.getCurrentTask().getClass().getName().lastIndexOf(".")!=-1){%> <%=wrapper.getCurrentTask().getClass().getName().substring(wrapper.getCurrentTask().getClass().getName().lastIndexOf(".")+1,wrapper.getCurrentTask().getClass().getName().length())%><%

}else{%>

<%=wrapper.getCurrentTask().getClass().getName()%>

<%}

}%>

</td>

<!-- <td nowrap width="20%"><%//=endTimeStamp%></td> -->

<!-- <td nowrap width="20%"><%//=wrapper.getDescription()%></td> -->

<!-- <td nowrap width="10%"><%//=missedJobStrategy%></td> -->

<td nowrap width="10%" style="padding-left: 3px;" align="left">

<pbar:drawprogress jobID="<%= wrapper.getJobID().getId() %>" />

</td>

</tr>

<%

}

%>

<input type="hidden" name="useraction"/>

<input type="hidden" name="checkeditemStr" value="NO VALUE"/>

</table>

<SCRIPT LANGUAGE="JavaScript">

table_sort('tbl', 1, 0,'proj.startDate');

table_sort('tbl', 1, 0,'proj.startDate');

</SCRIPT>

</div>

<table width="100%" cellpadding="0" cellspacing="0" border="0">

<tr class="bg">

<%

String msg1 = labels.getString( "proj.youSureStopSearch" );

String msg2 = labels.getString( "proj.youSureStartSearch" );

String msg3 = labels.getString( "proj.youSurePurgeAllJobs" );

String msg4 = labels.getString( "proj.youSurePurgeJob" );

String msg5 = labels.getString( "proj.plsInputAValidUserName" );

String msg6 = labels.getString( "proj.youSureDeleteThisUser" );

%>

<td>

<span style="cursor:hand" onclick="mgt_viewScheduler('<%=labels.getString( "proj.noJobSelected_View" )%>','<%=labels.getString( "proj.moreThanOneJobSelected" )%>','<%=labels.getString( "proj.noJobs" )%>');" class="proj_gray_button"><html:button text="<%=proj_view%>" title="<%=proj_view%>"/></span>

<span style="cursor:hand" class="proj_gray_button"

onclick="mgt_editScheduler('<%=request.getUserPrincipal().getName()%>',

'<%=((Integer)request.getAttribute("status")).equals((Integer)request.getAttribute("started"))%>','<%=labels.getString( "proj.noJobs" )%>','<%=labels.getString( "proj.noJobSelected_Edit" )%>','<%=labels.getString( "proj.moreThanOneJobSelected" )%>','<%=labels.getString( "proj.schedulerStopped_Cannot_Edit" )%>','<%=labels.getString( "proj.userid" )%>','<%=labels.getString( "proj.jobNotAllowedTo_Edit" )%>','<%=labels.getString( "proj.of" )%>')">

<html:button text="<%=proj_edit%>" title="<%=proj_edit%>"/>

</span>

<span style="cursor:hand" class="proj_gray_button" onclick="mgt_deleteJobs('<%=request.getUserPrincipal().getName()%>','<%=msg4%>',

'<%=((Integer)request.getAttribute("status")).equals((Integer)request.getAttribute("started"))%>','<%=labels.getString( "proj.noJobs" )%>','<%=labels.getString( "proj.noJobSelected_Purge" )%>','<%=labels.getString( "proj.schedulerStopped_Cannot_Purge" )%>','<%=labels.getString( "proj.userid" )%>','<%=labels.getString( "proj.jobNotAllowedTo_Purge" )%>','<%=labels.getString( "proj.of" )%>');"><html:button text="<%=proj_purge%>" title="<%=proj_purge%>"/></span></td>

</tr>

</table>

</form>

</td>

<td width="10">

</td>

</tr>

</table>

</div>

<div id=properties style="display: none">

</div>

<div id=actions style="display: block">

<ul>

<li>

<a href="#" onclick="mgt_removeJobs('<%=request.getUserPrincipal().getName()%>','<%=((Integer)request.getAttribute("status")).equals((Integer)request.getAttribute("started"))%>','<%=labels.getString( "proj.noJobs" )%>','<%=labels.getString( "proj.noJobSelected_Remove" )%>','<%=labels.getString( "proj.moreThanOneJobSelected" )%>','<%=labels.getString( "proj.schedulerStopped_Cannot_Remove" )%>','<%=labels.getString( "proj.userid" )%>','<%=labels.getString( "proj.jobNotAllowedTo_Remove" )%>','<%=labels.getString( "proj.of" )%>','<%=labels.getString( "proj.youSureRemoveJob" )%>'); return false;" oncontextmenu ="return false;" title="<%=sRemoveJob%>">

<bean:message bundle="proj" key="proj.removeJob"/>

</a>

</li>

<li>

<a href="#" onclick="mgt_abortJobs('<%=request.getUserPrincipal().getName()%>','<%=((Integer)request.getAttribute("status")).equals((Integer)request.getAttribute("started"))%>','<%=labels.getString( "proj.noJobs" )%>','<%=labels.getString( "proj.noJobSelected_Abort" )%>','<%=labels.getString( "proj.moreThanOneJobSelected" )%>','<%=labels.getString( "proj.schedulerStopped_Cannot_Abort" )%>','<%=labels.getString( "proj.userid" )%>','<%=labels.getString( "proj.jobNotAllowedTo_Abort" )%>','<%=labels.getString( "proj.of" )%>','<%=labels.getString( "proj.jobWithID" )%>','<%=labels.getString( "proj.cannotAbort" )%>','<%=labels.getString( "proj.isNotInProgress" )%>','<%=labels.getString( "proj.youSureAbortJob" )%>'); return false;" oncontextmenu ="return false;" title="<%=sAbortJob%>">

<bean:message bundle="proj" key="proj.abortJob"/>

</a>

</li>

<li>

<a href="#" onclick="mgt_pauseJobs('<%=request.getUserPrincipal().getName()%>','<%=((Integer)request.getAttribute("status")).equals((Integer)request.getAttribute("started"))%>','<%=labels.getString( "proj.noJobs" )%>','<%=labels.getString( "proj.noJobSelected_Pause" )%>','<%=labels.getString( "proj.moreThanOneJobSelected" )%>','<%=labels.getString( "proj.schedulerStopped_Cannot_Pause" )%>','<%=labels.getString( "proj.userid" )%>','<%=labels.getString( "proj.jobNotAllowedTo_Pause" )%>','<%=labels.getString( "proj.of" )%>','<%=labels.getString( "proj.jobWithID" )%>','<%=labels.getString( "proj.cannotPause" )%>','<%=labels.getString( "proj.isNotInProgressScheduled" )%>','<%=labels.getString( "proj.youSurePauseJob" )%>'); return false;" oncontextmenu ="return false;" title="<%=sPauseJob%>">

<bean:message bundle="proj" key="proj.pauseJob"/>

</a>

</li>

<li>

<a href="#" onclick="mgt_resumeJobs('<%=request.getUserPrincipal().getName()%>','<%=((Integer)request.getAttribute("status")).equals((Integer)request.getAttribute("started"))%>','<%=labels.getString( "proj.noJobs" )%>','<%=labels.getString( "proj.noJobSelected_Resume" )%>','<%=labels.getString( "proj.moreThanOneJobSelected" )%>','<%=labels.getString( "proj.schedulerStopped_Cannot_Resume" )%>','<%=labels.getString( "proj.userid" )%>','<%=labels.getString( "proj.jobNotAllowedTo_Resume" )%>','<%=labels.getString( "proj.of" )%>','<%=labels.getString( "proj.jobWithID" )%>','<%=labels.getString( "proj.cannotResume" )%>','<%=labels.getString( "proj.isNotCancelled" )%>','<%=labels.getString( "proj.youSureResumeJob" )%>'); return false;" oncontextmenu ="return false;" title="<%=sResumeJob%>">

<bean:message bundle="proj" key="proj.resumeJob"/>

</a>

</li>

<li>

<a href="#" onclick="mgt_executeondemandJobs('<%=request.getUserPrincipal().getName()%>','<%=((Integer)request.getAttribute("status")).equals((Integer)request.getAttribute("started"))%>','<%=labels.getString( "proj.noJobs" )%>','<%=labels.getString( "proj.noJobSelected_ExecuteonDemand" )%>','<%=labels.getString( "proj.moreThanOneJobSelected" )%>','<%=labels.getString( "proj.schedulerStopped_Cannot_ExecuteonDemand" )%>','<%=labels.getString( "proj.userid" )%>','<%=labels.getString( "proj.jobNotAllowedTo_ExecuteonDemand" )%>','<%=labels.getString( "proj.of" )%>','<%=labels.getString( "proj.jobWithID" )%>','<%=labels.getString( "proj.cannotExecuteonDemand" )%>','<%=labels.getString( "proj.isNotScheduled" )%>','<%=labels.getString( "proj.youSureExecuteonDemandJob" )%>'); return false;" oncontextmenu ="return false;" title="<%=sExecuteJob%>">

<bean:message bundle="proj" key="proj.executejobondemand"/>

</a>

</li>

<li>

<a href="#" onclick="mgt_deleteJobs('<%=request.getUserPrincipal().getName()%>','<%=msg4%>',

'<%=((Integer)request.getAttribute("status")).equals((Integer)request.getAttribute("started"))%>','<%=labels.getString( "proj.noJobs" )%>','<%=labels.getString( "proj.noJobSelected_Purge" )%>','<%=labels.getString( "proj.schedulerStopped_Cannot_Purge" )%>','<%=labels.getString( "proj.userid" )%>','<%=labels.getString( "proj.jobNotAllowedTo_Purge" )%>','<%=labels.getString( "proj.of" )%>'); return false;" oncontextmenu ="return false;" title="<%=sPurgeAnJob%>">

<bean:message bundle="proj" key="proj.purgeanExpiredJob"/>

</a>

</li>

<li>

<a href="#" onclick="mgt_deleteAllScheduler('<%=msg3%>','<%=((Integer)request.getAttribute("status")).equals((Integer)request.getAttribute("started"))%>','<%=labels.getString( "proj.noJobs" )%>','<%=labels.getString( "proj.schedulerStopped_Cannot_Purge" )%>','<%=labels.getString( "proj.cannotPurge" )%>','<%=labels.getString( "proj.executesOnEvent" )%>'); return false;" oncontextmenu ="return false;" title="<%=sPurgeAllJobs%>">

<bean:message bundle="proj" key="proj.purgeallExpiredJobs"/>

</a>

</li>

<%if (request.isUserInRole("proj.admin")) { %>

<c:choose>

<c:when test='${requestScope.status == requestScope.started}'>

<li>

<a href="#" onclick="mgt_stopScheduler('<%=msg1%>','schedulerdisplay'); return false;" oncontextmenu ="return false;" title="<%=messageStop%>">

<%=messageStop%>

</a>

</li>

</c:when>

<c:otherwise>

<li>

<a href="#" onclick="mgt_startScheduler('<%=msg2%>','schedulerdisplay'); return false;" title="<%=messageStart%>">

<%=messageStart%>

</a>

</li>

</c:otherwise>

</c:choose>

<%}%>

</ul>

</div>

</body>

<script>

</script>

</html>