/*     */ package net.brutex.xservices.util;
/*     */ 
/*     */ import java.io.File;
/*     */ import net.brutex.xservices.types.scm.ItemType;
			import net.brutex.xservices.util.CVSRoot;

import org.apache.commons.configuration2.PropertiesConfiguration;
import org.apache.commons.configuration2.builder.fluent.Configurations;
import org.apache.commons.configuration2.ex.ConfigurationException;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
/*     */ 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;
/*  41 */   final Logger logger = LogManager.getLogger();
/*     */   public final Client client;
/*     */ 
/*     */   public Client getClient()
/*     */   {
/*  49 */     return this.client;
/*     */   }
/*     */ 
/*     */   public CVSClient(File config) throws CommandAbortedException, AuthenticationException, ConfigurationException {
/*  53 */     System.setProperty("cvsClientLog", "c:/temp/cvs.log");
/*  54 */     if ((config == null) || (!config.exists()) || (config.isDirectory())) {
/*  55 */       throw new ConfigurationException("Config file not found");
/*     */     }
/*  57 */     this.configfile = config;
				Configurations configs = new Configurations();
				
/*  58 */     PropertiesConfiguration configuration = configs.properties(this.configfile);
/*     */ 
/*  60 */     String cvsroot = configuration.getString("CVSROOT");
/*  61 */     String workdir = configuration.getString("WORKDIR");
/*  62 */     String password = configuration.getString("PASSWORD");
/*     */ 
/*  64 */     this.root = new CVSRoot(cvsroot);
/*  65 */     this.globalOptions = new GlobalOptions();
/*  66 */     this.globalOptions.setCVSRoot(cvsroot);
/*     */ 
/*  68 */     this.connection = new PServerConnection();
/*  69 */     this.connection.setUserName(this.root.user);
/*  70 */     if (password != null)
/*  71 */       this.connection.setEncodedPassword(CvsPassword.encode(password));
/*     */     else {
/*  73 */       this.connection.setEncodedPassword(password);
/*     */     }
/*     */ 
/*  76 */     this.connection.setHostName(this.root.host);
/*  77 */     this.connection.setRepository(this.root.repository);
/*     */     try {
/*  79 */       this.connection.open();
/*     */     } catch (AuthenticationException ex) {
/*  81 */       this.logger.error(ex.getMessage());
/*     */     }
/*     */ 
/*  84 */     this.client = new Client(this.connection, new StandardAdminHandler());
/*  85 */     this.client.setLocalPath(workdir);
/*     */   }
/*     */ 
/*     */   public File getConfigFile()
/*     */   {
/*  91 */     return this.configfile;
/*     */   }
/*     */ 
/*     */   public GlobalOptions getGlobalOptions() {
/*  95 */     return this.globalOptions;
/*     */   }
/*     */ 
/*     */   public PServerConnection getConnection()
/*     */   {
/* 101 */     return this.connection;
/*     */   }
/*     */ 
/*     */   public CVSRoot getRoot()
/*     */   {
/* 107 */     return this.root;
/*     */   }
/*     */ 
/*     */   public static String generateID(ItemType item) {
/* 111 */     return "::[" + item.getRemotename() + "]";
/*     */   }
/*     */ }

/* Location:           C:\Users\brosenberger\Documents\My Box Files\XBridgeNG-download\XServices-20130131 - Kopie\WEB-INF\classes\net.zip
 * Qualified Name:     net.brutex.xservices.util.CVSClient
 * JD-Core Version:    0.6.2
 */