%@ include file="adminHeaders.jsp" %> <% /* $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. */ boolean maintenanceUnderway = org.apache.manifoldcf.crawler.system.ManifoldCF.checkMaintenanceUnderway(); %>
<%=Messages.getString(pageContext.getRequest().getLocale(),"simplereport.SimpleHistoryReport")%> <% if (maintenanceUnderway == false) { int k; // Read the parameters. String reportConnection = variableContext.getParameter("reportconnection"); if (reportConnection == null) reportConnection = ""; String[] reportActivities; if (variableContext.getParameter("reportactivities_posted") != null) { reportActivities = variableContext.getParameterValues("reportactivities"); if (reportActivities == null) reportActivities = new String[0]; } else reportActivities = null; // Get the current time, so we can fill in default values where possible. long currentTime = System.currentTimeMillis(); Long startTime = null; Long endTime = null; // Get start time, if selected String startYear = variableContext.getParameter("reportstartyear"); String startMonth = variableContext.getParameter("reportstartmonth"); String startDay = variableContext.getParameter("reportstartday"); String startHour = variableContext.getParameter("reportstarthour"); String startMinute = variableContext.getParameter("reportstartminute"); // Get end time, if selected. String endYear = variableContext.getParameter("reportendyear"); String endMonth = variableContext.getParameter("reportendmonth"); String endDay = variableContext.getParameter("reportendday"); String endHour = variableContext.getParameter("reportendhour"); String endMinute = variableContext.getParameter("reportendminute"); if (startYear == null && startMonth == null && startDay == null && startHour == null && startMinute == null && endYear == null && endMonth == null && endDay == null && endHour == null && endMinute == null) { // Nobody has selected a time range yet. Pick the last hour. endTime = null; startTime = new Long(currentTime - 1000L * 60L * 60L); } else { // Get start time, if selected if (startYear == null) startYear = ""; if (startMonth == null) startMonth = ""; if (startDay == null) startDay = ""; if (startHour == null) startHour = ""; if (startMinute == null) startMinute = ""; // Get end time, if selected. if (endYear == null) endYear = ""; if (endMonth == null) endMonth = ""; if (endDay == null) endDay = ""; if (endHour == null) endHour = ""; if (endMinute == null) endMinute = ""; if (startYear.length() == 0 || startMonth.length() == 0 || startDay.length() == 0 || startHour.length() == 0 || startMinute.length() == 0) { // Undetermined start startTime = null; } else { // Convert the specified times to a long. Calendar c = new GregorianCalendar(); c.set(Calendar.YEAR,Integer.parseInt(startYear)); c.set(Calendar.MONTH,Integer.parseInt(startMonth)); c.set(Calendar.DAY_OF_MONTH,Integer.parseInt(startDay) + 1); c.set(Calendar.HOUR_OF_DAY,Integer.parseInt(startHour)); c.set(Calendar.MINUTE,Integer.parseInt(startMinute)); startTime = new Long(c.getTimeInMillis()); } if (endYear.length() == 0 || endMonth.length() == 0 || endDay.length() == 0 || endHour.length() == 0 || endMinute.length() == 0) { // Undetermined end endTime = null; } else { // Convert the specified times to a long. Calendar c = new GregorianCalendar(); c.set(Calendar.YEAR,Integer.parseInt(endYear)); c.set(Calendar.MONTH,Integer.parseInt(endMonth)); c.set(Calendar.DAY_OF_MONTH,Integer.parseInt(endDay) + 1); c.set(Calendar.HOUR_OF_DAY,Integer.parseInt(endHour)); c.set(Calendar.MINUTE,Integer.parseInt(endMinute)); endTime = new Long(c.getTimeInMillis()); } } // Now, turn the startTime and endTime back into fielded values. The values will be blank where there is no limit. if (startTime == null) { startYear = ""; startMonth = ""; startDay = ""; startHour = ""; startMinute = ""; } else { // Do the conversion Calendar c = new GregorianCalendar(); c.setTimeInMillis(startTime.longValue()); startYear = Integer.toString(c.get(Calendar.YEAR)); startMonth = Integer.toString(c.get(Calendar.MONTH)); startDay = Integer.toString(c.get(Calendar.DAY_OF_MONTH)-1); startHour = Integer.toString(c.get(Calendar.HOUR_OF_DAY)); startMinute = Integer.toString(c.get(Calendar.MINUTE)); } if (endTime == null) { endYear = ""; endMonth = ""; endDay = ""; endHour = ""; endMinute = ""; } else { // Do the conversion Calendar c = new GregorianCalendar(); c.setTimeInMillis(endTime.longValue()); endYear = Integer.toString(c.get(Calendar.YEAR)); endMonth = Integer.toString(c.get(Calendar.MONTH)); endDay = Integer.toString(c.get(Calendar.DAY_OF_MONTH)-1); endHour = Integer.toString(c.get(Calendar.HOUR_OF_DAY)); endMinute = Integer.toString(c.get(Calendar.MINUTE)); } // Get the entity match string. String entityMatch = variableContext.getParameter("reportentitymatch"); if (entityMatch == null) entityMatch = ""; // Get the resultcode match string. String resultCodeMatch = variableContext.getParameter("reportresultcodematch"); if (resultCodeMatch == null) resultCodeMatch = ""; // Read the other data we need. IRepositoryConnectionManager connMgr = RepositoryConnectionManagerFactory.make(threadContext); IRepositoryConnection[] connList = connMgr.getAllConnections(); // Query the legal list of activities. This will depend on the connection has been chosen, if any. Map selectedActivities = null; String[] activityList = null; if (reportConnection.length() > 0) { IRepositoryConnection thisConnection = connMgr.load(reportConnection); if (thisConnection == null) reportConnection = ""; else { String[] outputActivityList = OutputConnectionManagerFactory.getAllOutputActivities(threadContext); String[] connectorActivityList = RepositoryConnectorFactory.getActivitiesList(threadContext,thisConnection.getClassName()); String[] globalActivityList = IRepositoryConnectionManager.activitySet; activityList = new String[outputActivityList.length + ((connectorActivityList==null)?0:connectorActivityList.length) + globalActivityList.length]; int k2 = 0; int j; if (outputActivityList != null) { j = 0; while (j < outputActivityList.length) { activityList[k2++] = outputActivityList[j++]; } } if (connectorActivityList != null) { j = 0; while (j < connectorActivityList.length) { activityList[k2++] = connectorActivityList[j++]; } } j = 0; while (j < globalActivityList.length) { activityList[k2++] = globalActivityList[j++]; } java.util.Arrays.sort(activityList); selectedActivities = new HashMap(); String[] activitiesToNote; j = 0; if (reportActivities == null) activitiesToNote = activityList; else activitiesToNote = reportActivities; while (j < activitiesToNote.length) { String activity = activitiesToNote[j++]; selectedActivities.put(activity,activity); } } } %> <% } else { %> |