/* $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.
*/
package org.apache.manifoldcf.agents;
import java.io.*;
import org.apache.manifoldcf.core.interfaces.*;
import org.apache.manifoldcf.agents.interfaces.*;
import org.apache.manifoldcf.agents.system.ManifoldCF;
import java.util.*;
/** This class is used to define a transformation connection.
*/
public class DefineTransformationConnection
{
public static final String _rcsid = "@(#)$Id$";
private DefineTransformationConnection()
{
}
public static void main(String[] args)
{
if (args.length < 4)
{
System.err.println("Usage: DefineTransformationConnection <connection_name> <description> <connector_class> <pool_max> <param1>=<value1> ...");
System.exit(1);
}
String connectionName = args[0];
String description = args[1];
String connectorClass = args[2];
String poolMax = args[3];
try
{
IThreadContext tc = ThreadContextFactory.make();
ManifoldCF.initializeEnvironment(tc);
ITransformationConnectionManager mgr = TransformationConnectionManagerFactory.make(tc);
ITransformationConnection conn = mgr.create();
conn.setName(connectionName);
conn.setDescription(description);
conn.setClassName(connectorClass);
conn.setMaxConnections(new Integer(poolMax).intValue());
ConfigParams x = conn.getConfigParams();
int i = 4;
while (i < args.length)
{
String arg = args[i++];
// Parse
int pos = arg.indexOf("=");
if (pos == -1)
throw new ManifoldCFException("Argument missing =");
String name = arg.substring(0,pos);
String value = arg.substring(pos+1);
if (name.endsWith("assword"))
x.setObfuscatedParameter(name,value);
else
x.setParameter(name,value);
}
// Now, save
mgr.save(conn);
}
catch (Exception e)
{
e.printStackTrace();
System.exit(2);
}
}
}