0,0 → 1,94 |
/* |
* Copyright 2012 Brian Rosenberger (Brutex Network) |
* |
* Licensed 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 net.brutex.xservices.util; |
|
import java.io.File; |
|
|
import org.apache.commons.configuration.Configuration; |
import org.apache.commons.configuration.ConfigurationException; |
import org.apache.commons.configuration.PropertiesConfiguration; |
import org.netbeans.lib.cvsclient.Client; |
import org.netbeans.lib.cvsclient.admin.StandardAdminHandler; |
import org.netbeans.lib.cvsclient.command.CommandAbortedException; |
import org.netbeans.lib.cvsclient.command.GlobalOptions; |
import org.netbeans.lib.cvsclient.connection.AuthenticationException; |
import org.netbeans.lib.cvsclient.connection.PServerConnection; |
|
public class CVSClient { |
private final File configfile; |
private final PServerConnection connection; |
private final CVSRoot root; |
private final GlobalOptions globalOptions; |
|
public final Client client; |
|
public CVSClient(File config) throws CommandAbortedException, AuthenticationException, ConfigurationException { |
|
if (config == null || !config.exists() || config.isDirectory()) |
throw new ConfigurationException("Config file not found"); |
|
this.configfile = config; |
Configuration configuration = new PropertiesConfiguration(configfile); |
|
String cvsroot = configuration.getString("CVSROOT"); |
String workdir = configuration.getString("WORKDIR"); |
String password = configuration.getString("PASSWORD"); |
|
this.root = new CVSRoot(cvsroot); |
this.globalOptions = new GlobalOptions(); |
globalOptions.setCVSRoot(cvsroot); |
|
this.connection = new PServerConnection(); |
connection.setUserName(root.user); |
if (password != null) { |
connection.setEncodedPassword(CvsPassword.encode(password)); |
} else { |
connection.setEncodedPassword(password); |
} |
|
connection.setHostName(root.host); |
connection.setRepository(root.repository); |
connection.open(); |
|
this.client = new Client(connection, new StandardAdminHandler()); |
client.setLocalPath(workdir); |
} |
/** |
* @return |
*/ |
public File getConfigFile() { |
return this.configfile; |
} |
|
public GlobalOptions getGlobalOptions() { |
return this.globalOptions; |
} |
/** |
* @return the connection |
*/ |
public PServerConnection getConnection() { |
return connection; |
} |
/** |
* @return the root |
*/ |
public CVSRoot getRoot() { |
return root; |
} |
|
} |
Property changes: |
Added: svn:mime-type |
+text/plain |
\ No newline at end of property |