Modified: manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewjob.jsp URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewjob.jsp?rev=1685187&r1=1685186&r2=1685187&view=diff ============================================================================== --- manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewjob.jsp (original) +++ manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewjob.jsp Fri Jun 12 22:54:43 2015 @@ -2,24 +2,24 @@ <% - /* $Id$ */ +/* $Id$ */ /** - * 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. - */ +* 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. +*/ %> <?xml version="1.0" encoding="utf-8"?> @@ -28,825 +28,782 @@ <html xmlns="http://www.w3.org/1999/xhtml"> <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> - <link rel="StyleSheet" href="style.css" type="text/css" media="screen"/> - <title> - <%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.ApacheManifoldCFViewJob")%> - </title> - - <script type="text/javascript"> - <!-- - - function Delete(jobID) { - if (confirm("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"viewjob.DeleteJobConfirmation")%>")) { - document.viewjob.op.value = "Delete"; - document.viewjob.jobid.value = jobID; - document.viewjob.submit(); - } - } - - function StartOver(jobID) { - if (confirm("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"viewjob.StartOverConfirmation")%>")) { - document.viewjob.op.value = "StartOver"; - document.viewjob.jobid.value = jobID; - document.viewjob.submit(); - } - } + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <link rel="StyleSheet" href="style.css" type="text/css" media="screen"/> + <title> + <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.ApacheManifoldCFViewJob")%> + </title> + + <script type="text/javascript"> + <!-- + + function Delete(jobID) + { + if (confirm("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"viewjob.DeleteJobConfirmation")%>")) + { + document.viewjob.op.value="Delete"; + document.viewjob.jobid.value=jobID; + document.viewjob.submit(); + } + } + + function StartOver(jobID) + { + if (confirm("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"viewjob.StartOverConfirmation")%>")) + { + document.viewjob.op.value="StartOver"; + document.viewjob.jobid.value=jobID; + document.viewjob.submit(); + } + } - //--> - </script> + //--> + </script> </head> <body class="standardbody"> -<table class="page"> - <tr> - <td colspan="2" class="banner"> - <jsp:include page="banner.jsp" flush="true"/> - </td> - </tr> - <tr> - <td class="navigation"> - <jsp:include page="navigation.jsp" flush="true"/> - </td> - <td class="window"> - <p class="windowtitle"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.ViewAJob")%> - </p> - - <form class="standardform" name="viewjob" action="execute.jsp" method="POST"> - <input type="hidden" name="op" value="Continue"/> - <input type="hidden" name="type" value="job"/> - <input type="hidden" name="jobid" value=""/> - - <% - try { - // Get the job manager handle - IJobManager manager = JobManagerFactory.make(threadContext); - IOutputConnectionManager outputManager = OutputConnectionManagerFactory.make(threadContext); - IRepositoryConnectionManager connManager = RepositoryConnectionManagerFactory.make(threadContext); - INotificationConnectionManager notificationManager = NotificationConnectionManagerFactory.make(threadContext); - ITransformationConnectionManager transformationManager = TransformationConnectionManagerFactory.make(threadContext); - - IOutputConnectorPool outputConnectorPool = OutputConnectorPoolFactory.make(threadContext); - IRepositoryConnectorPool repositoryConnectorPool = RepositoryConnectorPoolFactory.make(threadContext); - INotificationConnectorPool notificationConnectorPool = NotificationConnectorPoolFactory.make(threadContext); - ITransformationConnectorPool transformationConnectorPool = TransformationConnectorPoolFactory.make(threadContext); - - String jobID = variableContext.getParameter("jobid"); - IJobDescription job = manager.load(new Long(jobID)); - if (job == null) { - throw new ManifoldCFException("No such job: " + jobID); - } else { - String naMessage = Messages.getString(pageContext.getRequest().getLocale(), "viewjob.Notapplicable"); - String jobType = ""; - String intervalString = naMessage; - String maxIntervalString = naMessage; - String reseedIntervalString = naMessage; - String expirationIntervalString = naMessage; - - switch (job.getType()) { - case IJobDescription.TYPE_CONTINUOUS: - String infinityMessage = Messages.getString(pageContext.getRequest().getLocale(), "viewjob.Infinity"); - String minutesMessage = Messages.getString(pageContext.getRequest().getLocale(), "viewjob.minutes"); - jobType = Messages.getString(pageContext.getRequest().getLocale(), "viewjob.Rescandocumentsdynamically"); - Long recrawlInterval = job.getInterval(); - Long maxRecrawlInterval = job.getMaxInterval(); - Long reseedInterval = job.getReseedInterval(); - Long expirationInterval = job.getExpiration(); - intervalString = (recrawlInterval == null) ? infinityMessage : (new Long(recrawlInterval.longValue() / 60000L).toString() + " " + minutesMessage); - maxIntervalString = (maxRecrawlInterval == null) ? infinityMessage : (new Long(maxRecrawlInterval.longValue() / 60000L).toString() + " " + minutesMessage); - reseedIntervalString = (reseedInterval == null) ? infinityMessage : (new Long(reseedInterval.longValue() / 60000L).toString() + " " + minutesMessage); - expirationIntervalString = (expirationInterval == null) ? infinityMessage : (new Long(expirationInterval.longValue() / 60000L).toString() + " " + minutesMessage); - break; - case IJobDescription.TYPE_SPECIFIED: - jobType = Messages.getString(pageContext.getRequest().getLocale(), "viewjob.Scaneverydocumentonce"); - break; - default: - } - - String startMethod = ""; - switch (job.getStartMethod()) { - case IJobDescription.START_WINDOWBEGIN: - startMethod = Messages.getString(pageContext.getRequest().getLocale(), "viewjob.Startatbeginningofschedulewindow"); - break; - case IJobDescription.START_WINDOWINSIDE: - startMethod = Messages.getString(pageContext.getRequest().getLocale(), "viewjob.Startinsideschedulewindow"); - break; - case IJobDescription.START_DISABLE: - startMethod = Messages.getString(pageContext.getRequest().getLocale(), "viewjob.Dontautomaticallystart"); - break; - default: - break; - } - - int priority = job.getPriority(); - - String connectionName = job.getConnectionName(); - IRepositoryConnection connection = connManager.load(connectionName); - - int model = RepositoryConnectorFactory.getConnectorModel(threadContext, connection.getClassName()); - String[] relationshipTypes = RepositoryConnectorFactory.getRelationshipTypes(threadContext, connection.getClassName()); - Map hopCountFilters = job.getHopCountFilters(); - int hopcountMode = job.getHopcountMode(); - - //threadContext.save("OutputSpecification",job.getOutputSpecification()); - //threadContext.save("OutputConnection",outputConnection); - //threadContext.save("DocumentSpecification",job.getSpecification()); - //threadContext.save("RepositoryConnection",connection); - int rowCounter = 0; - - %> - <table class="displaytable"> - <tr> - <td class="separator" colspan="4"> - <hr/> - </td> - </tr> - <tr> - <td class="description" colspan="1"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.NameColon")%> - </nobr> - </td> - <td class="value" colspan="3"><%="<!--jobid=" + jobID + "-->"%><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(job.getDescription())%> - </td> - </tr> - <tr> - <td class="separator" colspan="4"> - <hr/> - </td> - </tr> - <tr> - <td class="description" colspan="1"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.PipelineColon")%> - </nobr> - </td> - <td class="boxcell" colspan="3"> - <table class="formtable"> - <tr class="formheaderrow"> - <td class="formcolumnheader"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.StageNumber")%> - </nobr> - </td> - <td class="formcolumnheader"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.StageType")%> - </nobr> - </td> - <td class="formcolumnheader"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.StagePrecedent")%> - </nobr> - </td> - <td class="formcolumnheader"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.StageDescription")%> - </nobr> - </td> - <td class="formcolumnheader"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.StageConnectionName")%> - </nobr> - </td> - </tr> - <tr class="<%=((rowCounter++ % 2)==0)?"evenformrow":"oddformrow"%>"> - <td class="formcolumncell">1.</td> - <td class="formcolumncell"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.Repository")%> - </td> - <td class="formcolumncell"></td> - <td class="formcolumncell"></td> - <td class="formcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(connectionName)%> - </td> - </tr> - <% - for (int j = 0; j < job.countPipelineStages(); j++) { - %> - <tr class="<%=((rowCounter++ % 2)==0)?"evenformrow":"oddformrow"%>"> - <td class="formcolumncell"><%=(j + 2)%>.</td> - <td class="formcolumncell"><%=job.getPipelineStageIsOutputConnection(j) ? Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.Output") : Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.Transformation")%> - </td> - <td class="formcolumncell"><%=(job.getPipelineStagePrerequisite(j) + 2)%>.</td> - <td class="formcolumncell"><%=(job.getPipelineStageDescription(j) != null) ? org.apache.manifoldcf.ui.util.Encoder.bodyEscape(job.getPipelineStageDescription(j)) : ""%> - </td> - <td class="formcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(job.getPipelineStageConnectionName(j))%> - </td> - </tr> - <% - } - %> - </table> - </td> - </tr> - <tr> - <td class="description" colspan="1"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.NotificationsColon")%> - </nobr> - </td> - <td class="boxcell" colspan="3"> - <table class="formtable"> - <tr class="formheaderrow"> - <td class="formcolumnheader"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.StageNumber")%> - </nobr> - </td> - <td class="formcolumnheader"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.NotificationDescription")%> - </nobr> - </td> - <td class="formcolumnheader"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.NotificationConnectionName")%> - </nobr> - </td> - </tr> - <% - for (int j = 0; j < job.countNotifications(); j++) { - %> - <tr class="<%=((rowCounter++ % 2)==0)?"evenformrow":"oddformrow"%>"> - <td class="formcolumncell"><%=(j + job.countPipelineStages() + 2)%>.</td> - <td class="formcolumncell"><%=(job.getNotificationDescription(j) != null) ? org.apache.manifoldcf.ui.util.Encoder.bodyEscape(job.getNotificationDescription(j)) : ""%> - </td> - <td class="formcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(job.getNotificationConnectionName(j))%> - </td> - </tr> - <% - } - if (job.countNotifications() == 0) { - %> - <tr class="formrow"> - <td class="formcolumnmessage" colspan="3"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.NoNotificationConnections")%> - </td> - </tr> - <% - } - %> - </table> - </td> - </tr> - - <tr> - <td class="separator" colspan="4"> - <hr/> - </td> - </tr> - <tr> - <td class="description"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.PriorityColon")%> - </nobr> - </td> - <td class="value"><%=priority%> - </td> - <td class="description"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.StartMethodColon")%> - </nobr> - </td> - <td class="value"><%=startMethod%> - </td> - </tr> - <% - if (model != -1 && model != IRepositoryConnector.MODEL_ADD_CHANGE_DELETE) { - %> - <tr> - <td class="separator" colspan="4"> - <hr/> - </td> - </tr> - <tr> - <td class="description"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.ScheduleTypeColon")%> - </nobr> - </td> - <td class="value" colspan="3"> - <nobr><%=jobType%> - </nobr> - </td> - </tr> - <tr> - <td class="description"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.MinimumRecrawlIntervalColon")%> - </nobr> - </td> - <td class="value"> - <nobr><%=intervalString%> - </nobr> - </td> - <td class="description"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.MaximumRecrawlIntervalColon")%> - </nobr> - </td> - <td class="value"> - <nobr><%=maxIntervalString%> - </nobr> - </td> - </tr> - <tr> - <td class="description"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.ExpirationIntervalColon")%> - </nobr> - </td> - <td class="value"> - <nobr><%=expirationIntervalString%> - </nobr> - </td> - <td class="description"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.ReseedIntervalColon")%> - </nobr> - </td> - <td class="value"> - <nobr><%=reseedIntervalString%> - </nobr> - </td> - </tr> - <% - } - %> - <tr> - <td class="separator" colspan="4"> - <hr/> - </td> - </tr> - - <% - if (job.getScheduleRecordCount() == 0) { - %> - <tr> - <td class="message" colspan="4"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.NoScheduledRunTimes")%> - </td> - </tr> - <% - } else { - // Loop through the schedule records - int j = 0; - while (j < job.getScheduleRecordCount()) { - ScheduleRecord sr = job.getScheduleRecord(j); - Long srDuration = sr.getDuration(); - boolean srRequestMinimum = sr.getRequestMinimum(); - EnumeratedValues srDayOfWeek = sr.getDayOfWeek(); - EnumeratedValues srMonthOfYear = sr.getMonthOfYear(); - EnumeratedValues srDayOfMonth = sr.getDayOfMonth(); - EnumeratedValues srYear = sr.getYear(); - EnumeratedValues srHourOfDay = sr.getHourOfDay(); - EnumeratedValues srMinutesOfHour = sr.getMinutesOfHour(); - - if (j > 0) { - %> - <tr> - <td class="separator" colspan="4"> - <hr/> - </td> - </tr> - <% - } - %> - <tr> - <td class="description"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.ScheduledTimeColon")%> - </nobr> - </td> - <td class="value" colspan="3"> - <% - if (srDayOfWeek == null) - out.println(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.Anydayoftheweek")); - else { - StringBuffer sb = new StringBuffer(); - boolean firstTime = true; - if (srDayOfWeek.checkValue(0)) { - if (firstTime) - firstTime = false; - else - sb.append(","); - sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.Sundays")); - } - if (srDayOfWeek.checkValue(1)) { - if (firstTime) - firstTime = false; - else - sb.append(","); - sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.Mondays")); - } - if (srDayOfWeek.checkValue(2)) { - if (firstTime) - firstTime = false; - else - sb.append(","); - sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.Tuesdays")); - } - if (srDayOfWeek.checkValue(3)) { - if (firstTime) - firstTime = false; - else - sb.append(","); - sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.Wednesdays")); - } - if (srDayOfWeek.checkValue(4)) { - if (firstTime) - firstTime = false; - else - sb.append(","); - sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.Thursdays")); - } - if (srDayOfWeek.checkValue(5)) { - if (firstTime) - firstTime = false; - else - sb.append(","); - sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.Fridays")); - } - if (srDayOfWeek.checkValue(6)) { - if (firstTime) - firstTime = false; - else - sb.append(","); - sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.Saturdays")); - } - out.println(sb.toString()); - } - %> - <% - if (srHourOfDay == null) { - if (srMinutesOfHour != null) - out.println(" " + Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.oneveryhour") + " "); - else - out.println(" " + Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.atmidnight") + " "); - } else { - out.println(" " + Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.at") + " "); - int k = 0; - while (k < 24) { - int q = k; - String ampm; - if (k < 12) - ampm = Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.am"); - else { - ampm = Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.pm"); - q -= 12; - } - String hour; - if (q == 0) - q = 12; - if (srHourOfDay.checkValue(k)) - out.println(Integer.toString(q) + " " + ampm + " "); - k++; - } - } - %> - <% - if (srMinutesOfHour != null) { - out.println(" " + Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.plus") + " "); - int k = 0; - while (k < 60) { - if (srMinutesOfHour.checkValue(k)) - out.println(Integer.toString(k) + " "); - k++; - } - out.println(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.minutes") + " "); - } - %> - <% - if (srMonthOfYear == null) { - if (srDayOfMonth == null && srDayOfWeek == null && srHourOfDay == null && srMinutesOfHour == null) - out.println(" " + Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.ineverymonthofyear")); - } else { - StringBuffer sb = new StringBuffer(" " + Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.in") + " "); - boolean firstTime = true; - if (srMonthOfYear.checkValue(0)) { - if (firstTime) - firstTime = false; - else - sb.append(","); - sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.January")); - } - if (srMonthOfYear.checkValue(1)) { - if (firstTime) - firstTime = false; - else - sb.append(","); - sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.February")); - } - if (srMonthOfYear.checkValue(2)) { - if (firstTime) - firstTime = false; - else - sb.append(","); - sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.March")); - } - if (srMonthOfYear.checkValue(3)) { - if (firstTime) - firstTime = false; - else - sb.append(","); - sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.April")); - } - if (srMonthOfYear.checkValue(4)) { - if (firstTime) - firstTime = false; - else - sb.append(","); - sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.May")); - } - if (srMonthOfYear.checkValue(5)) { - if (firstTime) - firstTime = false; - else - sb.append(","); - sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.June")); - } - if (srMonthOfYear.checkValue(6)) { - if (firstTime) - firstTime = false; - else - sb.append(","); - sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.July")); - } - if (srMonthOfYear.checkValue(7)) { - if (firstTime) - firstTime = false; - else - sb.append(","); - sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.August")); - } - if (srMonthOfYear.checkValue(8)) { - if (firstTime) - firstTime = false; - else - sb.append(","); - sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.September")); - } - if (srMonthOfYear.checkValue(9)) { - if (firstTime) - firstTime = false; - else - sb.append(","); - sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.October")); - } - if (srMonthOfYear.checkValue(10)) { - if (firstTime) - firstTime = false; - else - sb.append(","); - sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.November")); - } - if (srMonthOfYear.checkValue(11)) { - if (firstTime) - firstTime = false; - else - sb.append(","); - sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.December")); - } - out.println(sb.toString()); - } - %> - <% - if (srDayOfMonth == null) { - if (srDayOfWeek == null && srHourOfDay == null && srMinutesOfHour == null) - out.println(" " + Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.onanydayofthemonth")); - } else { - StringBuffer sb = new StringBuffer(" " + Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.onthe") + " "); - int k = 0; - boolean firstTime = true; - while (k < 31) { - if (srDayOfMonth.checkValue(k)) { - if (firstTime) - firstTime = false; - else - sb.append(","); - sb.append(Integer.toString(k + 1)); - int value = (k + 1) % 10; - if (value == 1 && k != 10) - sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.st")); - else if (value == 2 && k != 11) - sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.nd")); - else if (value == 3 && k != 12) - sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.rd")); - else - sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.th")); - } - k++; - } - sb.append(" " + Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.ofthemonth")); - out.println(sb.toString()); - } - %> - <% - if (srYear != null) { - StringBuffer sb = new StringBuffer(" " + Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.inyears") + " "); - Iterator iter = srYear.getValues(); - boolean firstTime = true; - while (iter.hasNext()) { - if (firstTime) - firstTime = false; - else - sb.append(","); - Integer value = (Integer) iter.next(); - sb.append(value.toString()); - } - out.println(sb.toString()); - } - %> - </td> - </tr> - <tr> - <td class="description"> - <%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.MaximumRunTimeColon")%> - </td> - <td class="value"> - <% - if (srDuration == null) - out.println(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.Nolimit")); - else - out.println(new Long(srDuration.longValue() / 60000L).toString() + " " + Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.minutes")); - %> - </td> - <td class="description"> - <%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.JobInvocationColon")%> - </td> - <td class="value"> - <% - if (srRequestMinimum) - out.println(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.Minimal")); - else - out.println(Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.Complete")); - %> - </td> - </tr> - <% - j++; - } - } - - if (relationshipTypes != null && relationshipTypes.length > 0) { - %> - <tr> - <td class="separator" colspan="4"> - <hr/> - </td> - </tr> - <% - int k = 0; - while (k < relationshipTypes.length) { - String relationshipType = relationshipTypes[k++]; - Long value = (Long) hopCountFilters.get(relationshipType); - %> - <tr> - <td class="description" colspan="1"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.MaximumHopCountForLinkType")%> '<%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(relationshipType)%>':</nobr> - </td> - <td class="value" colspan="3"> - <%=((value == null) ? Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.Unlimited") : value.toString())%> - </td> - </tr> - - <% - } - %> - <tr> - <td class="separator" colspan="4"> - <hr/> - </td> - </tr> - <tr> - <td class="description" colspan="1"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.HopCountModeColon")%> - </nobr> - </td> - <td class="value" colspan="3"> - <nobr> - <%=(hopcountMode == IJobDescription.HOPCOUNT_ACCURATE) ? Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.Deleteunreachabledocuments") : ""%> - <%=(hopcountMode == IJobDescription.HOPCOUNT_NODELETE) ? Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.Nodeletesfornow") : ""%> - <%=(hopcountMode == IJobDescription.HOPCOUNT_NEVERDELETE) ? Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.Nodeletesforever") : ""%> - </nobr> - </td> - </tr> - <% - - } - %> - <tr> - <td class="separator" colspan="4"> - <hr/> - </td> - </tr> - <tr> - <td class="message" colspan="4">1.</td> - </tr> - <tr> - <td colspan="4"> - <% - if (connection != null) { - IRepositoryConnector repositoryConnector = repositoryConnectorPool.grab(connection); - if (repositoryConnector != null) { - try { - repositoryConnector.viewSpecification(new org.apache.manifoldcf.ui.jsp.JspWrapper(out, adminprofile), pageContext.getRequest().getLocale(), job.getSpecification(), 0); - } finally { - repositoryConnectorPool.release(connection, repositoryConnector); - } - } - } - %> - </td> - </tr> - <% - for (int j = 0; j < job.countPipelineStages(); j++) { - %> - <tr> - <td class="separator" colspan="4"> - <hr/> - </td> - </tr> - <tr> - <td class="message" colspan="4"><%=(j + 2)%>.</td> - </tr> - <tr> - <td colspan="4"> - <% - Specification os = job.getPipelineStageSpecification(j); - if (job.getPipelineStageIsOutputConnection(j)) { - IOutputConnection thisConnection = outputManager.load(job.getPipelineStageConnectionName(j)); - IOutputConnector outputConnector = outputConnectorPool.grab(thisConnection); - if (outputConnector != null) { - try { - outputConnector.viewSpecification(new org.apache.manifoldcf.ui.jsp.JspWrapper(out, adminprofile), pageContext.getRequest().getLocale(), os, 1 + j); - } finally { - outputConnectorPool.release(thisConnection, outputConnector); - } - } - } else { - ITransformationConnection thisConnection = transformationManager.load(job.getPipelineStageConnectionName(j)); - ITransformationConnector transformationConnector = transformationConnectorPool.grab(thisConnection); - if (transformationConnector != null) { - try { - transformationConnector.viewSpecification(new org.apache.manifoldcf.ui.jsp.JspWrapper(out, adminprofile), pageContext.getRequest().getLocale(), os, 1 + j); - } finally { - transformationConnectorPool.release(thisConnection, transformationConnector); - } - } - } - %> - </td> - </tr> - <% - } - - for (int j = 0; j < job.countNotifications(); j++) { - %> - <tr> - <td class="separator" colspan="4"> - <hr/> - </td> - </tr> - <tr> - <td class="message" colspan="4"><%=(j + job.countPipelineStages() + 2)%>.</td> - </tr> - <tr> - <td colspan="4"> - <% - Specification os = job.getNotificationSpecification(j); - INotificationConnection thisConnection = notificationManager.load(job.getNotificationConnectionName(j)); - INotificationConnector notificationConnector = notificationConnectorPool.grab(thisConnection); - if (notificationConnector != null) { - try { - notificationConnector.viewSpecification(new org.apache.manifoldcf.ui.jsp.JspWrapper(out, adminprofile), pageContext.getRequest().getLocale(), os, 1 + job.countPipelineStages() + j); - } finally { - notificationConnectorPool.release(thisConnection, notificationConnector); - } - } - %> - </td> - </tr> - <% - } - - %> - <tr> - <td class="separator" colspan="4"> - <hr/> - </td> - </tr> - <tr> - <td class="message" colspan="4"> - <nobr> - <a href='<%="editjob.jsp?jobid="+jobID%>' alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"viewjob.EditThisJob")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.Edit")%> - </a> - <a href='<%="javascript:Delete(\""+jobID+"\")"%>' alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"viewjob.DeleteThisJob")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.Delete")%> - </a> - <a href='<%="editjob.jsp?origjobid="+jobID%>' alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"viewjob.CopyThisJob")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.Copy")%> - </a> - <a href='<%="javascript:StartOver(\""+jobID+"\")"%>' alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"viewjob.ResetSeedingThisJob")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewjob.ResetSeeding")%> - </a> - </nobr> - </td> - </tr> - </table> - - <% - } - } catch (ManifoldCFException e) { - e.printStackTrace(); - variableContext.setParameter("text", e.getMessage()); - variableContext.setParameter("target", "listjobs.jsp"); - %> - <jsp:forward page="error.jsp"/> - <% - } - %> - </form> - </td> - </tr> -</table> + <table class="page"> + <tr><td colspan="2" class="banner"><jsp:include page="banner.jsp" flush="true"/></td></tr> + <tr><td class="navigation"><jsp:include page="navigation.jsp" flush="true"/></td> + <td class="window"> + <p class="windowtitle"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.ViewAJob")%></p> + + <form class="standardform" name="viewjob" action="execute.jsp" method="POST"> + <input type="hidden" name="op" value="Continue"/> + <input type="hidden" name="type" value="job"/> + <input type="hidden" name="jobid" value=""/> + +<% + try + { + // Get the job manager handle + IJobManager manager = JobManagerFactory.make(threadContext); + IOutputConnectionManager outputManager = OutputConnectionManagerFactory.make(threadContext); + IRepositoryConnectionManager connManager = RepositoryConnectionManagerFactory.make(threadContext); + INotificationConnectionManager notificationManager = NotificationConnectionManagerFactory.make(threadContext); + ITransformationConnectionManager transformationManager = TransformationConnectionManagerFactory.make(threadContext); + + IOutputConnectorPool outputConnectorPool = OutputConnectorPoolFactory.make(threadContext); + IRepositoryConnectorPool repositoryConnectorPool = RepositoryConnectorPoolFactory.make(threadContext); + INotificationConnectorPool notificationConnectorPool = NotificationConnectorPoolFactory.make(threadContext); + ITransformationConnectorPool transformationConnectorPool = TransformationConnectorPoolFactory.make(threadContext); + + String jobID = variableContext.getParameter("jobid"); + IJobDescription job = manager.load(new Long(jobID)); + if (job == null) + { + throw new ManifoldCFException("No such job: "+jobID); + } + else + { + String naMessage = Messages.getString(pageContext.getRequest().getLocale(),"viewjob.Notapplicable"); + String jobType = ""; + String intervalString = naMessage; + String maxIntervalString = naMessage; + String reseedIntervalString = naMessage; + String expirationIntervalString = naMessage; + + switch (job.getType()) + { + case IJobDescription.TYPE_CONTINUOUS: + String infinityMessage = Messages.getString(pageContext.getRequest().getLocale(),"viewjob.Infinity"); + String minutesMessage = Messages.getString(pageContext.getRequest().getLocale(),"viewjob.minutes"); + jobType = Messages.getString(pageContext.getRequest().getLocale(),"viewjob.Rescandocumentsdynamically"); + Long recrawlInterval = job.getInterval(); + Long maxRecrawlInterval = job.getMaxInterval(); + Long reseedInterval = job.getReseedInterval(); + Long expirationInterval = job.getExpiration(); + intervalString = (recrawlInterval==null)?infinityMessage:(new Long(recrawlInterval.longValue()/60000L).toString()+" "+minutesMessage); + maxIntervalString = (maxRecrawlInterval==null)?infinityMessage:(new Long(maxRecrawlInterval.longValue()/60000L).toString()+" "+minutesMessage); + reseedIntervalString = (reseedInterval==null)?infinityMessage:(new Long(reseedInterval.longValue()/60000L).toString()+" "+minutesMessage); + expirationIntervalString = (expirationInterval==null)?infinityMessage:(new Long(expirationInterval.longValue()/60000L).toString()+" "+minutesMessage); + break; + case IJobDescription.TYPE_SPECIFIED: + jobType = Messages.getString(pageContext.getRequest().getLocale(),"viewjob.Scaneverydocumentonce"); + break; + default: + } + + String startMethod = ""; + switch (job.getStartMethod()) + { + case IJobDescription.START_WINDOWBEGIN: + startMethod = Messages.getString(pageContext.getRequest().getLocale(),"viewjob.Startatbeginningofschedulewindow"); + break; + case IJobDescription.START_WINDOWINSIDE: + startMethod = Messages.getString(pageContext.getRequest().getLocale(),"viewjob.Startinsideschedulewindow"); + break; + case IJobDescription.START_DISABLE: + startMethod = Messages.getString(pageContext.getRequest().getLocale(),"viewjob.Dontautomaticallystart"); + break; + default: + break; + } + + int priority = job.getPriority(); + + String connectionName = job.getConnectionName(); + IRepositoryConnection connection = connManager.load(connectionName); + + int model = RepositoryConnectorFactory.getConnectorModel(threadContext,connection.getClassName()); + String[] relationshipTypes = RepositoryConnectorFactory.getRelationshipTypes(threadContext,connection.getClassName()); + Map hopCountFilters = job.getHopCountFilters(); + int hopcountMode = job.getHopcountMode(); + + //threadContext.save("OutputSpecification",job.getOutputSpecification()); + //threadContext.save("OutputConnection",outputConnection); + //threadContext.save("DocumentSpecification",job.getSpecification()); + //threadContext.save("RepositoryConnection",connection); + int rowCounter = 0; + +%> + <table class="displaytable"> + <tr> + <td class="separator" colspan="4"><hr/></td> + </tr> + <tr> + <td class="description" colspan="1"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.NameColon")%></nobr></td> + <td class="value" colspan="3" ><%="<!--jobid="+jobID+"-->"%><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(job.getDescription())%></td> + </tr> + <tr> + <td class="separator" colspan="4"><hr/></td> + </tr> + <tr> + <td class="description" colspan="1"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.PipelineColon")%></nobr></td> + <td class="boxcell" colspan="3"> + <table class="formtable"> + <tr class="formheaderrow"> + <td class="formcolumnheader"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.StageNumber")%></nobr></td> + <td class="formcolumnheader"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.StageType")%></nobr></td> + <td class="formcolumnheader"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.StagePrecedent")%></nobr></td> + <td class="formcolumnheader"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.StageDescription")%></nobr></td> + <td class="formcolumnheader"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.StageConnectionName")%></nobr></td> + </tr> + <tr class="<%=((rowCounter++ % 2)==0)?"evenformrow":"oddformrow"%>"> + <td class="formcolumncell">1.</td> + <td class="formcolumncell"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.Repository")%></td> + <td class="formcolumncell"></td> + <td class="formcolumncell"></td> + <td class="formcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(connectionName)%></td> + </tr> +<% + for (int j = 0; j < job.countPipelineStages(); j++) + { +%> + <tr class="<%=((rowCounter++ % 2)==0)?"evenformrow":"oddformrow"%>"> + <td class="formcolumncell"><%=(j+2)%>.</td> + <td class="formcolumncell"><%=job.getPipelineStageIsOutputConnection(j)?Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.Output"):Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.Transformation")%></td> + <td class="formcolumncell"><%=(job.getPipelineStagePrerequisite(j)+2)%>.</td> + <td class="formcolumncell"><%=(job.getPipelineStageDescription(j)!=null)?org.apache.manifoldcf.ui.util.Encoder.bodyEscape(job.getPipelineStageDescription(j)):""%></td> + <td class="formcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(job.getPipelineStageConnectionName(j))%></td> + </tr> +<% + } +%> + </table> + </td> + </tr> + <tr> + <td class="description" colspan="1"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.NotificationsColon")%></nobr></td> + <td class="boxcell" colspan="3"> + <table class="formtable"> + <tr class="formheaderrow"> + <td class="formcolumnheader"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.StageNumber")%></nobr></td> + <td class="formcolumnheader"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.NotificationDescription")%></nobr></td> + <td class="formcolumnheader"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.NotificationConnectionName")%></nobr></td> + </tr> +<% + for (int j = 0; j < job.countNotifications(); j++) + { +%> + <tr class="<%=((rowCounter++ % 2)==0)?"evenformrow":"oddformrow"%>"> + <td class="formcolumncell"><%=(j+job.countPipelineStages()+2)%>.</td> + <td class="formcolumncell"><%=(job.getNotificationDescription(j)!=null)?org.apache.manifoldcf.ui.util.Encoder.bodyEscape(job.getNotificationDescription(j)):""%></td> + <td class="formcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(job.getNotificationConnectionName(j))%></td> + </tr> +<% + } + if (job.countNotifications() == 0) + { +%> + <tr class="formrow"><td class="formcolumnmessage" colspan="3"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.NoNotificationConnections")%></td></tr> +<% + } +%> + </table> + </td> + </tr> + + <tr> + <td class="separator" colspan="4"><hr/></td> + </tr> + <tr> + <td class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.PriorityColon")%></nobr></td> + <td class="value"><%=priority%></td> + <td class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.StartMethodColon")%></nobr></td> + <td class="value"><%=startMethod%></td> + </tr> +<% + if (model != -1 && model != IRepositoryConnector.MODEL_ADD_CHANGE_DELETE) + { +%> + <tr> + <td class="separator" colspan="4"><hr/></td> + </tr> + <tr> + <td class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.ScheduleTypeColon")%></nobr></td> + <td class="value" colspan="3"><nobr><%=jobType%></nobr></td> + </tr> + <tr> + <td class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.MinimumRecrawlIntervalColon")%></nobr></td> + <td class="value"><nobr><%=intervalString%></nobr></td> + <td class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.MaximumRecrawlIntervalColon")%></nobr></td> + <td class="value"><nobr><%=maxIntervalString%></nobr></td> + </tr> + <tr> + <td class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.ExpirationIntervalColon")%></nobr></td> + <td class="value"><nobr><%=expirationIntervalString%></nobr></td> + <td class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.ReseedIntervalColon")%></nobr></td> + <td class="value"><nobr><%=reseedIntervalString%></nobr></td> + </tr> +<% + } +%> + <tr> + <td class="separator" colspan="4"><hr/></td> + </tr> + +<% + if (job.getScheduleRecordCount() == 0) + { +%> + <tr><td class="message" colspan="4"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.NoScheduledRunTimes")%></td></tr> +<% + } + else + { + // Loop through the schedule records + int j = 0; + while (j < job.getScheduleRecordCount()) + { + ScheduleRecord sr = job.getScheduleRecord(j); + Long srDuration = sr.getDuration(); + boolean srRequestMinimum = sr.getRequestMinimum(); + EnumeratedValues srDayOfWeek = sr.getDayOfWeek(); + EnumeratedValues srMonthOfYear = sr.getMonthOfYear(); + EnumeratedValues srDayOfMonth = sr.getDayOfMonth(); + EnumeratedValues srYear = sr.getYear(); + EnumeratedValues srHourOfDay = sr.getHourOfDay(); + EnumeratedValues srMinutesOfHour = sr.getMinutesOfHour(); + + if (j > 0) + { +%> + <tr> + <td class="separator" colspan="4"><hr/></td> + </tr> +<% + } +%> + <tr> + <td class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.ScheduledTimeColon")%></nobr></td> + <td class="value" colspan="3"> +<% + if (srDayOfWeek == null) + out.println(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.Anydayoftheweek")); + else + { + StringBuffer sb = new StringBuffer(); + boolean firstTime = true; + if (srDayOfWeek.checkValue(0)) + { + if (firstTime) + firstTime = false; + else + sb.append(","); + sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.Sundays")); + } + if (srDayOfWeek.checkValue(1)) + { + if (firstTime) + firstTime = false; + else + sb.append(","); + sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.Mondays")); + } + if (srDayOfWeek.checkValue(2)) + { + if (firstTime) + firstTime = false; + else + sb.append(","); + sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.Tuesdays")); + } + if (srDayOfWeek.checkValue(3)) + { + if (firstTime) + firstTime = false; + else + sb.append(","); + sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.Wednesdays")); + } + if (srDayOfWeek.checkValue(4)) + { + if (firstTime) + firstTime = false; + else + sb.append(","); + sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.Thursdays")); + } + if (srDayOfWeek.checkValue(5)) + { + if (firstTime) + firstTime = false; + else + sb.append(","); + sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.Fridays")); + } + if (srDayOfWeek.checkValue(6)) + { + if (firstTime) + firstTime = false; + else + sb.append(","); + sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.Saturdays")); + } + out.println(sb.toString()); + } +%> +<% + if (srHourOfDay == null) + { + if (srMinutesOfHour != null) + out.println(" "+Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.oneveryhour")+" "); + else + out.println(" "+Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.atmidnight")+" "); + } + else + { + out.println(" "+Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.at")+" "); + int k = 0; + while (k < 24) + { + int q = k; + String ampm; + if (k < 12) + ampm = Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.am"); + else + { + ampm = Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.pm"); + q -= 12; + } + String hour; + if (q == 0) + q = 12; + if (srHourOfDay.checkValue(k)) + out.println(Integer.toString(q)+" "+ampm+" "); + k++; + } + } +%> +<% + if (srMinutesOfHour != null) + { + out.println(" "+Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.plus")+" "); + int k = 0; + while (k < 60) + { + if (srMinutesOfHour.checkValue(k)) + out.println(Integer.toString(k)+" "); + k++; + } + out.println(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.minutes")+" "); + } +%> +<% + if (srMonthOfYear == null) + { + if (srDayOfMonth == null && srDayOfWeek == null && srHourOfDay == null && srMinutesOfHour == null) + out.println(" "+Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.ineverymonthofyear")); + } + else + { + StringBuffer sb = new StringBuffer(" "+Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.in")+" "); + boolean firstTime = true; + if (srMonthOfYear.checkValue(0)) + { + if (firstTime) + firstTime = false; + else + sb.append(","); + sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.January")); + } + if (srMonthOfYear.checkValue(1)) + { + if (firstTime) + firstTime = false; + else + sb.append(","); + sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.February")); + } + if (srMonthOfYear.checkValue(2)) + { + if (firstTime) + firstTime = false; + else + sb.append(","); + sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.March")); + } + if (srMonthOfYear.checkValue(3)) + { + if (firstTime) + firstTime = false; + else + sb.append(","); + sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.April")); + } + if (srMonthOfYear.checkValue(4)) + { + if (firstTime) + firstTime = false; + else + sb.append(","); + sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.May")); + } + if (srMonthOfYear.checkValue(5)) + { + if (firstTime) + firstTime = false; + else + sb.append(","); + sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.June")); + } + if (srMonthOfYear.checkValue(6)) + { + if (firstTime) + firstTime = false; + else + sb.append(","); + sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.July")); + } + if (srMonthOfYear.checkValue(7)) + { + if (firstTime) + firstTime = false; + else + sb.append(","); + sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.August")); + } + if (srMonthOfYear.checkValue(8)) + { + if (firstTime) + firstTime = false; + else + sb.append(","); + sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.September")); + } + if (srMonthOfYear.checkValue(9)) + { + if (firstTime) + firstTime = false; + else + sb.append(","); + sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.October")); + } + if (srMonthOfYear.checkValue(10)) + { + if (firstTime) + firstTime = false; + else + sb.append(","); + sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.November")); + } + if (srMonthOfYear.checkValue(11)) + { + if (firstTime) + firstTime = false; + else + sb.append(","); + sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.December")); + } + out.println(sb.toString()); + } +%> +<% + if (srDayOfMonth == null) + { + if (srDayOfWeek == null && srHourOfDay == null && srMinutesOfHour == null) + out.println(" "+Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.onanydayofthemonth")); + } + else + { + StringBuffer sb = new StringBuffer(" "+Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.onthe")+" "); + int k = 0; + boolean firstTime = true; + while (k < 31) + { + if (srDayOfMonth.checkValue(k)) + { + if (firstTime) + firstTime = false; + else + sb.append(","); + sb.append(Integer.toString(k+1)); + int value = (k+1) % 10; + if (value == 1 && k != 10) + sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.st")); + else if (value == 2 && k != 11) + sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.nd")); + else if (value == 3 && k != 12) + sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.rd")); + else + sb.append(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.th")); + } + k++; + } + sb.append(" "+Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.ofthemonth")); + out.println(sb.toString()); + } +%> +<% + if (srYear != null) + { + StringBuffer sb = new StringBuffer(" "+Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.inyears")+" "); + Iterator iter = srYear.getValues(); + boolean firstTime = true; + while (iter.hasNext()) + { + if (firstTime) + firstTime = false; + else + sb.append(","); + Integer value = (Integer)iter.next(); + sb.append(value.toString()); + } + out.println(sb.toString()); + } +%> + </td> + </tr> + <tr> + <td class="description"> + <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.MaximumRunTimeColon")%> + </td> + <td class="value"> +<% + if (srDuration == null) + out.println(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.Nolimit")); + else + out.println(new Long(srDuration.longValue()/60000L).toString() + " "+Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.minutes")); +%> + </td> + <td class="description"> + <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.JobInvocationColon")%> + </td> + <td class="value"> +<% + if (srRequestMinimum) + out.println(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.Minimal")); + else + out.println(Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.Complete")); +%> + </td> + </tr> +<% + j++; + } + } + + if (relationshipTypes != null && relationshipTypes.length > 0) + { +%> + <tr> + <td class="separator" colspan="4"><hr/></td> + </tr> +<% + int k = 0; + while (k < relationshipTypes.length) + { + String relationshipType = relationshipTypes[k++]; + Long value = (Long)hopCountFilters.get(relationshipType); +%> + <tr> + <td class="description" colspan="1"> + <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.MaximumHopCountForLinkType")%> '<%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(relationshipType)%>':</nobr> + </td> + <td class="value" colspan="3"> + <%=((value==null)?Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.Unlimited"):value.toString())%> + </td> + </tr> + +<% + } +%> + <tr> + <td class="separator" colspan="4"><hr/></td> + </tr> + <tr> + <td class="description" colspan="1"> + <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.HopCountModeColon")%></nobr> + </td> + <td class="value" colspan="3"> + <nobr> + <%=(hopcountMode==IJobDescription.HOPCOUNT_ACCURATE)?Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.Deleteunreachabledocuments"):""%> + <%=(hopcountMode==IJobDescription.HOPCOUNT_NODELETE)?Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.Nodeletesfornow"):""%> + <%=(hopcountMode==IJobDescription.HOPCOUNT_NEVERDELETE)?Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.Nodeletesforever"):""%> + </nobr> + </td> + </tr> +<% + + } +%> + <tr> + <td class="separator" colspan="4"><hr/></td> + </tr> + <tr> + <td class="message" colspan="4">1.</td> + </tr> + <tr> + <td colspan="4"> +<% + if (connection != null) + { + IRepositoryConnector repositoryConnector = repositoryConnectorPool.grab(connection); + if (repositoryConnector != null) + { + try + { + repositoryConnector.viewSpecification(new org.apache.manifoldcf.ui.jsp.JspWrapper(out,adminprofile),pageContext.getRequest().getLocale(),job.getSpecification(),0); + } + finally + { + repositoryConnectorPool.release(connection,repositoryConnector); + } + } + } +%> + </td> + </tr> +<% + for (int j = 0; j < job.countPipelineStages(); j++) + { +%> + <tr> + <td class="separator" colspan="4"><hr/></td> + </tr> + <tr> + <td class="message" colspan="4"><%=(j+2)%>.</td> + </tr> + <tr> + <td colspan="4"> +<% + Specification os = job.getPipelineStageSpecification(j); + if (job.getPipelineStageIsOutputConnection(j)) + { + IOutputConnection thisConnection = outputManager.load(job.getPipelineStageConnectionName(j)); + IOutputConnector outputConnector = outputConnectorPool.grab(thisConnection); + if (outputConnector != null) + { + try + { + outputConnector.viewSpecification(new org.apache.manifoldcf.ui.jsp.JspWrapper(out,adminprofile),pageContext.getRequest().getLocale(),os,1+j); + } + finally + { + outputConnectorPool.release(thisConnection,outputConnector); + } + } + } + else + { + ITransformationConnection thisConnection = transformationManager.load(job.getPipelineStageConnectionName(j)); + ITransformationConnector transformationConnector = transformationConnectorPool.grab(thisConnection); + if (transformationConnector != null) + { + try + { + transformationConnector.viewSpecification(new org.apache.manifoldcf.ui.jsp.JspWrapper(out,adminprofile),pageContext.getRequest().getLocale(),os,1+j); + } + finally + { + transformationConnectorPool.release(thisConnection,transformationConnector); + } + } + } +%> + </td> + </tr> +<% + } + + for (int j = 0; j < job.countNotifications(); j++) + { +%> + <tr> + <td class="separator" colspan="4"><hr/></td> + </tr> + <tr> + <td class="message" colspan="4"><%=(j+job.countPipelineStages()+2)%>.</td> + </tr> + <tr> + <td colspan="4"> +<% + Specification os = job.getNotificationSpecification(j); + INotificationConnection thisConnection = notificationManager.load(job.getNotificationConnectionName(j)); + INotificationConnector notificationConnector = notificationConnectorPool.grab(thisConnection); + if (notificationConnector != null) + { + try + { + notificationConnector.viewSpecification(new org.apache.manifoldcf.ui.jsp.JspWrapper(out,adminprofile),pageContext.getRequest().getLocale(),os,1+job.countPipelineStages()+j); + } + finally + { + notificationConnectorPool.release(thisConnection,notificationConnector); + } + } +%> + </td> + </tr> +<% + } + +%> + <tr> + <td class="separator" colspan="4"><hr/></td> + </tr> + <tr> + <td class="message" colspan="4"> + <nobr> + <a href='<%="editjob.jsp?jobid="+jobID%>' alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"viewjob.EditThisJob")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.Edit")%></a> + <a href='<%="javascript:Delete(\""+jobID+"\")"%>' alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"viewjob.DeleteThisJob")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.Delete")%></a> + <a href='<%="editjob.jsp?origjobid="+jobID%>' alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"viewjob.CopyThisJob")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.Copy")%></a> + <a href='<%="javascript:StartOver(\""+jobID+"\")"%>' alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"viewjob.ResetSeedingThisJob")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewjob.ResetSeeding")%></a> + </nobr> + </td> + </tr> + </table> + +<% + } + } + catch (ManifoldCFException e) + { + e.printStackTrace(); + variableContext.setParameter("text",e.getMessage()); + variableContext.setParameter("target","listjobs.jsp"); +%> + <jsp:forward page="error.jsp"/> +<% + } +%> + </form> + </td> + </tr> + </table> </body>
Modified: manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewmapper.jsp URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewmapper.jsp?rev=1685187&r1=1685186&r2=1685187&view=diff ============================================================================== --- manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewmapper.jsp (original) +++ manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewmapper.jsp Fri Jun 12 22:54:43 2015 @@ -2,24 +2,24 @@ <% - /* $Id$ */ +/* $Id$ */ /** - * 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. - */ +* 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. +*/ %> <?xml version="1.0" encoding="utf-8"?> @@ -28,219 +28,180 @@ <html xmlns="http://www.w3.org/1999/xhtml"> <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> - <link rel="StyleSheet" href="style.css" type="text/css" media="screen"/> - <title> - <%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewmapper.ApacheManifoldCFViewMappingConnectionStatus")%> - </title> - - <script type="text/javascript"> - <!-- - - function Delete(connectionName) { - if (confirm("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"viewmapper.DeleteConnection")%> '" + connectionName + "'<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"viewmapper.qmark")%>")) { - document.viewconnection.op.value = "Delete"; - document.viewconnection.connname.value = connectionName; - document.viewconnection.submit(); - } - } + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <link rel="StyleSheet" href="style.css" type="text/css" media="screen"/> + <title> + <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewmapper.ApacheManifoldCFViewMappingConnectionStatus")%> + </title> + + <script type="text/javascript"> + <!-- + + function Delete(connectionName) + { + if (confirm("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"viewmapper.DeleteConnection")%> '"+connectionName+"'<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"viewmapper.qmark")%>")) + { + document.viewconnection.op.value="Delete"; + document.viewconnection.connname.value=connectionName; + document.viewconnection.submit(); + } + } - //--> - </script> + //--> + </script> </head> <body class="standardbody"> -<table class="page"> - <tr> - <td colspan="2" class="banner"> - <jsp:include page="banner.jsp" flush="true"/> - </td> - </tr> - <tr> - <td class="navigation"> - <jsp:include page="navigation.jsp" flush="true"/> - </td> - <td class="window"> - <p class="windowtitle"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewmapper.ViewMappingConnectionStatus")%> - </p> - - <form class="standardform" name="viewconnection" action="execute.jsp" method="POST"> - <input type="hidden" name="op" value="Continue"/> - <input type="hidden" name="type" value="mapper"/> - <input type="hidden" name="connname" value=""/> - - <% - try { - IMappingConnectionManager manager = MappingConnectionManagerFactory.make(threadContext); - IMappingConnectorManager connectorManager = MappingConnectorManagerFactory.make(threadContext); - IMappingConnectorPool mappingConnectorPool = MappingConnectorPoolFactory.make(threadContext); - String connectionName = variableContext.getParameter("connname"); - IMappingConnection connection = manager.load(connectionName); - if (connection == null) { - throw new ManifoldCFException("No such mapping connection: '" + connectionName + "'"); - } else { - String description = connection.getDescription(); - if (description == null) - description = ""; - String className = connection.getClassName(); - String connectorName = connectorManager.getDescription(className); - if (connectorName == null) - connectorName = className + Messages.getString(pageContext.getRequest().getLocale(), "viewmapper.uninstalled"); - int maxCount = connection.getMaxConnections(); - String prereq = connection.getPrerequisiteMapping(); - - ConfigParams parameters = connection.getConfigParams(); - - // Now, test the connection. - String connectionStatus; - try { - IMappingConnector c = mappingConnectorPool.grab(connection); - if (c == null) { - connectionStatus = Messages.getString(pageContext.getRequest().getLocale(), "viewmapper.Connectorisnotinstalled"); - } else { - try { - connectionStatus = c.check(); - } finally { - mappingConnectorPool.release(connection, c); - } - } - } catch (ManifoldCFException e) { - connectionStatus = Messages.getString(pageContext.getRequest().getLocale(), "viewmapper.Threwexception") + " '" + org.apache.manifoldcf.ui.util.Encoder.bodyEscape(e.getMessage()) + "'"; - } - %> - <table class="displaytable"> - <tr> - <td class="separator" colspan="4"> - <hr/> - </td> - </tr> - <tr> - <td class="description" colspan="1"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewmapper.NameColon")%> - </nobr> - </td> - <td class="value" colspan="1"><%="<!--connection=" + org.apache.manifoldcf.ui.util.Encoder.bodyEscape(connectionName) + "-->"%> - <nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(connectionName)%> - </nobr> - </td> - <td class="description" colspan="1"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewmapper.DescriptionColon")%> - </nobr> - </td> - <td class="value" colspan="1"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(description)%> - </td> - </tr> - <tr> - <td class="separator" colspan="4"> - <hr/> - </td> - </tr> - <tr> - <td class="description" colspan="1"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewmapper.MapperTypeColon")%> - </nobr> - </td> - <td class="value" colspan="1"> - <nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(connectorName)%> - </nobr> - </td> - <td class="description" colspan="1"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewmapper.MaxConnectionsColon")%> - </nobr> - </td> - <td class="value" colspan="1"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(Integer.toString(maxCount))%> - </td> - </tr> - <tr> - <td class="separator" colspan="4"> - <hr/> - </td> - </tr> - <tr> - <td class="description" colspan="1"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewmapper.PrerequisiteUserMappingColon")%> - </nobr> - </td> - <td class="value" colspan="3"> - <% - if (prereq != null) { - %> - <nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(prereq)%> - </nobr> - <br/> - <% - } else { - %> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewmapper.NoPrerequisites")%> - </nobr> - <% - } - %> - </td> - </tr> - <tr> - <td class="separator" colspan="4"> - <hr/> - </td> - </tr> - <tr> - <td colspan="4"> - <% - MappingConnectorFactory.viewConfiguration(threadContext, className, new org.apache.manifoldcf.ui.jsp.JspWrapper(out, adminprofile), pageContext.getRequest().getLocale(), parameters); - %> - - </td> - </tr> - <tr> - <td class="separator" colspan="4"> - <hr/> - </td> - </tr> - <tr> - <td class="description" colspan="1"> - <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewmapper.ConnectionStatusColon")%> - </nobr> - </td> - <td class="value" colspan="3"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(connectionStatus)%> - </td> - </tr> - <tr> - <td class="separator" colspan="4"> - <hr/> - </td> - </tr> - <tr> - <td class="message" colspan="4"> - <nobr> - <a href='<%="viewmapper.jsp?connname="+org.apache.manifoldcf.core.util.URLEncoder.encode(connectionName)%>' alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"viewmapper.Refresh")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewmapper.Refresh")%> - </a></nobr> - <nobr> - <a href='<%="editmapper.jsp?connname="+org.apache.manifoldcf.core.util.URLEncoder.encode(connectionName)%>' alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"viewmapper.EditThisMappingConnection")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewmapper.Edit")%> - </a></nobr> - <nobr> - <a href="javascript:void()" onclick='<%="javascript:Delete(\""+org.apache.manifoldcf.ui.util.Encoder.attributeJavascriptEscape(connectionName)+"\")"%>' alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"viewmapper.DeleteThisMappingConnection")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "viewmapper.Delete")%> - </a></nobr> - </td> - </tr> - </table> - - <% - } - } catch (ManifoldCFException e) { - e.printStackTrace(); - variableContext.setParameter("text", e.getMessage()); - variableContext.setParameter("target", "listmappers.jsp"); - %> - <jsp:forward page="error.jsp"/> - <% - } - %> - </form> - </td> - </tr> -</table> + <table class="page"> + <tr><td colspan="2" class="banner"><jsp:include page="banner.jsp" flush="true"/></td></tr> + <tr><td class="navigation"><jsp:include page="navigation.jsp" flush="true"/></td> + <td class="window"> + <p class="windowtitle"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewmapper.ViewMappingConnectionStatus")%></p> + <form class="standardform" name="viewconnection" action="execute.jsp" method="POST"> + <input type="hidden" name="op" value="Continue"/> + <input type="hidden" name="type" value="mapper"/> + <input type="hidden" name="connname" value=""/> + +<% + try + { + IMappingConnectionManager manager = MappingConnectionManagerFactory.make(threadContext); + IMappingConnectorManager connectorManager = MappingConnectorManagerFactory.make(threadContext); + IMappingConnectorPool mappingConnectorPool = MappingConnectorPoolFactory.make(threadContext); + String connectionName = variableContext.getParameter("connname"); + IMappingConnection connection = manager.load(connectionName); + if (connection == null) + { + throw new ManifoldCFException("No such mapping connection: '"+connectionName+"'"); + } + else + { + String description = connection.getDescription(); + if (description == null) + description = ""; + String className = connection.getClassName(); + String connectorName = connectorManager.getDescription(className); + if (connectorName == null) + connectorName = className + Messages.getString(pageContext.getRequest().getLocale(),"viewmapper.uninstalled"); + int maxCount = connection.getMaxConnections(); + String prereq = connection.getPrerequisiteMapping(); + + ConfigParams parameters = connection.getConfigParams(); + + // Now, test the connection. + String connectionStatus; + try + { + IMappingConnector c = mappingConnectorPool.grab(connection); + if (c == null) + { + connectionStatus = Messages.getString(pageContext.getRequest().getLocale(),"viewmapper.Connectorisnotinstalled"); + } + else + { + try + { + connectionStatus = c.check(); + } + finally + { + mappingConnectorPool.release(connection,c); + } + } + } + catch (ManifoldCFException e) + { + connectionStatus = Messages.getString(pageContext.getRequest().getLocale(),"viewmapper.Threwexception")+" '"+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(e.getMessage())+"'"; + } +%> + <table class="displaytable"> + <tr> + <td class="separator" colspan="4"><hr/></td> + </tr> + <tr> + <td class="description" colspan="1"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewmapper.NameColon")%></nobr></td> + <td class="value" colspan="1"><%="<!--connection="+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(connectionName)+"-->"%><nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(connectionName)%></nobr></td> + <td class="description" colspan="1"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewmapper.DescriptionColon")%></nobr></td> + <td class="value" colspan="1"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(description)%></td> + </tr> + <tr> + <td class="separator" colspan="4"><hr/></td> + </tr> + <tr> + <td class="description" colspan="1"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewmapper.MapperTypeColon")%></nobr></td> + <td class="value" colspan="1"><nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(connectorName)%></nobr></td> + <td class="description" colspan="1"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewmapper.MaxConnectionsColon")%></nobr></td> + <td class="value" colspan="1"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(Integer.toString(maxCount))%></td> + </tr> + <tr> + <td class="separator" colspan="4"><hr/></td> + </tr> + <tr> + <td class="description" colspan="1"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewmapper.PrerequisiteUserMappingColon")%></nobr></td> + <td class="value" colspan="3"> +<% + if (prereq != null) + { +%> + <nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(prereq)%></nobr><br/> +<% + } + else + { +%> + <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewmapper.NoPrerequisites")%></nobr> +<% + } +%> + </td> + </tr> + <tr> + <td class="separator" colspan="4"><hr/></td> + </tr> + <tr> + <td colspan="4"> +<% + MappingConnectorFactory.viewConfiguration(threadContext,className,new org.apache.manifoldcf.ui.jsp.JspWrapper(out,adminprofile),pageContext.getRequest().getLocale(),parameters); +%> + + </td> + </tr> + <tr> + <td class="separator" colspan="4"><hr/></td> + </tr> + <tr> + <td class="description" colspan="1"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewmapper.ConnectionStatusColon")%></nobr></td> + <td class="value" colspan="3"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(connectionStatus)%></td> + </tr> + <tr> + <td class="separator" colspan="4"><hr/></td> + </tr> + <tr><td class="message" colspan="4"> + <nobr><a href='<%="viewmapper.jsp?connname="+org.apache.manifoldcf.core.util.URLEncoder.encode(connectionName)%>' alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"viewmapper.Refresh")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewmapper.Refresh")%></a></nobr> + <nobr><a href='<%="editmapper.jsp?connname="+org.apache.manifoldcf.core.util.URLEncoder.encode(connectionName)%>' alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"viewmapper.EditThisMappingConnection")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewmapper.Edit")%></a></nobr> + <nobr><a href="javascript:void()" onclick='<%="javascript:Delete(\""+org.apache.manifoldcf.ui.util.Encoder.attributeJavascriptEscape(connectionName)+"\")"%>' alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"viewmapper.DeleteThisMappingConnection")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"viewmapper.Delete")%></a></nobr> + </td></tr> + </table> + +<% + } + } + catch (ManifoldCFException e) + { + e.printStackTrace(); + variableContext.setParameter("text",e.getMessage()); + variableContext.setParameter("target","listmappers.jsp"); +%> + <jsp:forward page="error.jsp"/> +<% + } +%> + </form> + </td> + </tr> + </table> </body>
