Author: tchemit Date: 2008-04-06 10:18:35 +0000 (Sun, 06 Apr 2008) New Revision: 393 Removed: trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/type/VCSType.java Modified: trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/VCSConnexionConfig.java trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/util/VCSConnexionConfigImpl.java trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/VCSFactory.java trunk/lutinvcs/lutinvcs-provider-svn/src/main/java/org/codelutin/vcs/SVNProvider.java trunk/lutinvcs/lutinvcs-ui/src/test/java/org/codelutin/vcs/ui/UITest.java Log: remove VCSType as an Enum, type of provider is a simple String, to allow using new provier without any change in api code :) Modified: trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/VCSConnexionConfig.java =================================================================== --- trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/VCSConnexionConfig.java 2008-04-06 10:11:00 UTC (rev 392) +++ trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/VCSConnexionConfig.java 2008-04-06 10:18:35 UTC (rev 393) @@ -18,7 +18,6 @@ * ##% */ package org.codelutin.vcs; -import org.codelutin.vcs.type.VCSType; import org.codelutin.vcs.type.VCSTypeRepo; import java.io.File; @@ -33,7 +32,7 @@ public interface VCSConnexionConfig { /** @return the type of vcs used */ - VCSType getType(); + String getType(); /** @return <code>true</code> if ssh connexion is used */ boolean isUseSshConnexion(); @@ -81,7 +80,7 @@ void setRemotePath(String remotePath); - void setType(VCSType type); + void setType(String type); void setTypeRepo(VCSTypeRepo typeRepo); Deleted: trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/type/VCSType.java =================================================================== --- trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/type/VCSType.java 2008-04-06 10:11:00 UTC (rev 392) +++ trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/type/VCSType.java 2008-04-06 10:18:35 UTC (rev 393) @@ -1,31 +0,0 @@ -/* *##% -* Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Code Lutin, -* Benjamin Poussin, Tony Chemit -* -* -* This program is free software; you can redistribute it and/or -* modify it under the terms of the GNU General Public License -* as published by the Free Software Foundation; either version 2 -* of the License, or (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -*##%*/ -package org.codelutin.vcs.type; - -/** - * This type-safe class representing a type of vcs (SVN,CVS,...) - * - * @author chemit - */ -public enum VCSType { - - CVS, SVN, MOCK - -} Modified: trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/util/VCSConnexionConfigImpl.java =================================================================== --- trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/util/VCSConnexionConfigImpl.java 2008-04-06 10:11:00 UTC (rev 392) +++ trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/util/VCSConnexionConfigImpl.java 2008-04-06 10:18:35 UTC (rev 393) @@ -15,7 +15,6 @@ package org.codelutin.vcs.util; import org.codelutin.vcs.VCSConnexionConfig; -import org.codelutin.vcs.type.VCSType; import org.codelutin.vcs.type.VCSTypeRepo; import java.io.File; @@ -23,7 +22,7 @@ /** @author chemit */ public class VCSConnexionConfigImpl implements VCSConnexionConfig { - protected VCSType type; + protected String type; protected boolean useSshConnexion; protected String hostName; protected File keyFile; @@ -35,7 +34,7 @@ protected VCSTypeRepo typeRepo; protected File localDatabasePath; - public VCSType getType() { + public String getType() { return type; } @@ -111,7 +110,7 @@ this.remotePath = remotePath; } - public void setType(VCSType type) { + public void setType(String type) { this.type = type; } Modified: trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/VCSFactory.java =================================================================== --- trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/VCSFactory.java 2008-04-06 10:11:00 UTC (rev 392) +++ trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/VCSFactory.java 2008-04-06 10:18:35 UTC (rev 393) @@ -22,10 +22,10 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.codelutin.util.StringUtil; +import org.codelutin.vcs.event.VCSConnexionEvent; +import org.codelutin.vcs.event.VCSConnexionEventListener; import org.codelutin.vcs.runner.VCSActionManager; import org.codelutin.vcs.type.VCSConnexionMode; -import org.codelutin.vcs.event.VCSConnexionEventListener; -import org.codelutin.vcs.event.VCSConnexionEvent; import java.util.ArrayList; import java.util.List; @@ -83,7 +83,7 @@ VCSProvider<?, ?> provider; // obtain matching provider - provider = factory.getProvider(config.getType().name().toUpperCase()); + provider = factory.getProvider(config.getType().toUpperCase()); // delegate instanciation of connexion to provider VCSConnexion connexion = provider.newConnection(mode, config); Modified: trunk/lutinvcs/lutinvcs-provider-svn/src/main/java/org/codelutin/vcs/SVNProvider.java =================================================================== --- trunk/lutinvcs/lutinvcs-provider-svn/src/main/java/org/codelutin/vcs/SVNProvider.java 2008-04-06 10:11:00 UTC (rev 392) +++ trunk/lutinvcs/lutinvcs-provider-svn/src/main/java/org/codelutin/vcs/SVNProvider.java 2008-04-06 10:18:35 UTC (rev 393) @@ -43,6 +43,7 @@ private static boolean libraryInit; public SVNProvider() { + super("SVN", SVNHandler.class, SVNConnexion.class); setupLibrary(); @@ -107,6 +108,8 @@ public static SVNRepository getAnonymousConnection(String url) throws VCSException { + setupLibrary(); + SVNURL testRepositoryURL; try { testRepositoryURL = SVNURL.parseURIEncoded(url); @@ -157,28 +160,10 @@ } } - public static void setupLibrary() { - if (libraryInit) { - return; - } - libraryInit = true; - /* - * For using over http:// and https:// - */ - DAVRepositoryFactory.setup(); - - /* - * For using over svn:// and svn+xxx:// - */ - SVNRepositoryFactoryImpl.setup(); - - /* - * For using over file:/// - */ - FSRepositoryFactory.setup(); - } - /** + * TODO This method is specifi to IsisFish, must be removed from here. + * TODO Implement a IsisSVNProvider ? + * * @param typeRepo the type of repo we want to use if possible * @param uncleanRemotePath remote path (could be unclean) * @param databaseVersion the database version to use @@ -231,4 +216,25 @@ log.info("required:" + typeRepo + " available:" + result); return result; } + + static void setupLibrary() { + if (libraryInit) { + return; + } + libraryInit = true; + /* + * For using over http:// and https:// + */ + DAVRepositoryFactory.setup(); + + /* + * For using over svn:// and svn+xxx:// + */ + SVNRepositoryFactoryImpl.setup(); + + /* + * For using over file:/// + */ + FSRepositoryFactory.setup(); + } } Modified: trunk/lutinvcs/lutinvcs-ui/src/test/java/org/codelutin/vcs/ui/UITest.java =================================================================== --- trunk/lutinvcs/lutinvcs-ui/src/test/java/org/codelutin/vcs/ui/UITest.java 2008-04-06 10:11:00 UTC (rev 392) +++ trunk/lutinvcs/lutinvcs-ui/src/test/java/org/codelutin/vcs/ui/UITest.java 2008-04-06 10:18:35 UTC (rev 393) @@ -16,12 +16,11 @@ import org.codelutin.i18n.I18n; import org.codelutin.vcs.VCSConnexion; +import org.codelutin.vcs.VCSEntry; +import org.codelutin.vcs.VCSFactory; import org.codelutin.vcs.type.VCSConnexionMode; import org.codelutin.vcs.type.VCSEntryLocation; -import org.codelutin.vcs.VCSEntry; import org.codelutin.vcs.type.VCSState; -import org.codelutin.vcs.VCSFactory; -import org.codelutin.vcs.type.VCSType; import org.codelutin.vcs.ui.model.SynchUIModel; import org.codelutin.vcs.util.VCSConnexionConfigImpl; import org.codelutin.vcs.util.VCSEntryImpl; @@ -58,7 +57,7 @@ public static VCSConnexion initVCS(File root) { VCSConnexionConfigImpl config = new VCSConnexionConfigImpl(); - config.setType(VCSType.MOCK); + config.setType("MOCK"); config.setLocalDatabasePath(root); VCSConnexion connexion = VCSFactory.newConnexion(VCSConnexionMode.ANONYMOUS, config); connexion.init(config);