<%@ 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. */ %> <% // The contract of this edit page is as follows. It is either called directly, in which case it is expected to be creating // a connection or beginning the process of editing an existing connection, or it is called via redirection from execute.jsp, in which case // the connection object being edited will be placed in the thread context under the name "ConnectionObject". try { // Get the connection manager handle IMappingConnectionManager connMgr = MappingConnectionManagerFactory.make(threadContext); // Also get the list of available connectors IMappingConnectorManager connectorManager = MappingConnectorManagerFactory.make(threadContext); // Figure out what the current tab name is. String tabName = variableContext.getParameter("tabname"); if (tabName == null || tabName.length() == 0) tabName = Messages.getString(pageContext.getRequest().getLocale(),"editmapper.Name"); String connectionName = null; IMappingConnection connection = (IMappingConnection)threadContext.get("ConnectionObject"); if (connection == null) { // We did not go through execute.jsp // We might have received an argument specifying the connection name. connectionName = variableContext.getParameter("connname"); // If the connectionname is not null, load the connection description and prepopulate everything with what comes from it. if (connectionName != null && connectionName.length() > 0) { connection = connMgr.load(connectionName); } } // Setup default fields boolean isNew = true; String description = ""; String className = ""; int maxConnections = 10; ConfigParams parameters = new ConfigParams(); String prereq = null; if (connection != null) { // Set up values isNew = connection.getIsNew(); connectionName = connection.getName(); description = connection.getDescription(); className = connection.getClassName(); parameters = connection.getConfigParams(); maxConnections = connection.getMaxConnections(); prereq = connection.getPrerequisiteMapping(); } else connectionName = null; if (connectionName == null) connectionName = ""; // Initialize tabs array ArrayList tabsArray = new ArrayList(); // Set up the predefined tabs tabsArray.add(Messages.getString(pageContext.getRequest().getLocale(),"editmapper.Name")); tabsArray.add(Messages.getString(pageContext.getRequest().getLocale(),"editmapper.Type")); if (className.length() > 0) { tabsArray.add(Messages.getString(pageContext.getRequest().getLocale(),"editmapper.Prerequisites")); tabsArray.add(Messages.getString(pageContext.getRequest().getLocale(),"editmapper.Throttling")); } %> <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editmapper.ApacheManifoldCFEditMapping")%> <% MappingConnectorFactory.outputConfigurationHeader(threadContext,className,new org.apache.manifoldcf.ui.jsp.JspWrapper(out,adminprofile),pageContext.getRequest().getLocale(),parameters,tabsArray); // Get connectors, since this will be needed to determine what to display. IResultSet set = connectorManager.getConnectors(); %>
<% if (set.getRowCount() == 0) { %>

<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editmapper.EditMappingConnection")%>

<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editmapper.NoMappingConnectorsRegistered")%>
<% } else { %>
<% int tabNum = 0; while (tabNum < tabsArray.size()) { String tab = (String)tabsArray.get(tabNum++); if (tab.equals(tabName)) { %> <% } else { %> <% } } %>
<% if (description.length() > 0) { %> <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editmapper.EditMapping")%> '<%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(description)%>' <% } else { %> <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editmapper.EditAMapping")%> <% } %>
<%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(tab)%><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(tab)%>
<% // Name tab if (tabName.equals(Messages.getString(pageContext.getRequest().getLocale(),"editmapper.Name"))) { %>

<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editmapper.NameColon")%> <% // If the connection doesn't exist yet, we are allowed to change the name. if (isNew) { %> <% } else { %> <%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(connectionName)%> <% } %>
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editmapper.DescriptionColon")%>
<% } else { // Hiddens for the Name tab %> <% } // "Type" tab if (tabName.equals(Messages.getString(pageContext.getRequest().getLocale(),"editmapper.Type"))) { %>

<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editmapper.ConnectionTypeColon")%> <% if (className.length() > 0) { String value = connectorManager.getDescription(className); if (value == null) { %> <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editmapper.UNREGISTERED")%> <%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(className)%> <% } else { %> <%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(value)%> <% } %> <% } else { int i = 0; %> <% } %>
<% } else { // Hiddens for the "Type" tab %> <% } // The "Prerequisites" tab IMappingConnection[] mappingConnections = connMgr.getAllNonLoopingConnections((connection==null)?null:connection.getName()); if (tabName.equals(Messages.getString(pageContext.getRequest().getLocale(),"editmapper.Prerequisites"))) { %>

<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editmapper.PrerequisiteUserMappingColon")%> <% if (prereq == null) { %>  <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editmapper.NoPrerequisites")%>
<% } else { %>  <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editmapper.NoPrerequisites")%>
<% } for (IMappingConnection mappingConnection : mappingConnections) { String mappingName = mappingConnection.getName(); String mappingDescription = mappingName; if (mappingConnection.getDescription() != null && mappingConnection.getDescription().length() > 0) mappingDescription += " (" + mappingConnection.getDescription()+")"; if (prereq != null && prereq.equals(mappingName)) { %>  <%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(mappingDescription)%>
<% } else { %>  <%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(mappingDescription)%>
<% } } %>
<% } else { // Hiddens for Prerequisites tab %> <% if (prereq != null) { %> <% } } // The "Throttling" tab if (tabName.equals(Messages.getString(pageContext.getRequest().getLocale(),"editmapper.Throttling"))) { %>

<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editmapper.MaxConnectionsColon")%>
<% } else { // Hiddens for "Throttling" tab %> <% } if (className.length() > 0) MappingConnectorFactory.outputConfigurationBody(threadContext,className,new org.apache.manifoldcf.ui.jsp.JspWrapper(out,adminprofile),pageContext.getRequest().getLocale(),parameters,tabName); %>

<% if (className.length() > 0) { %> " onClick="javascript:Save()" alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"editmapper.SaveThisMappingConnection")%>"/> <% } else { if (tabName.equals(Messages.getString(pageContext.getRequest().getLocale(),"editmapper.Type"))) { %> " onClick="javascript:Continue()" alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"editmapper.ContinueToNextPage")%>"/> <% } } %>  " onClick="javascript:Cancel()" alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"editmapper.CancelMappingEditing")%>"/>
<% } %>
<% } catch (ManifoldCFException e) { e.printStackTrace(); variableContext.setParameter("text",e.getMessage()); variableContext.setParameter("target","listmappers.jsp"); %> <% } %>