r352 - in trunk/lutinvcs: lutinvcs-api/src/main/java/org/codelutin/vcs lutinvcs-api/src/main/java/org/codelutin/vcs/util lutinvcs-provider-cvs/src/main/java/org/codelutin/vcs lutinvcs-provider-mock/src/main/java/org/codelutin/vcs lutinvcs-provider-svn/src/main/java/org/codelutin/vcs
Author: tchemit Date: 2008-04-04 21:48:53 +0000 (Fri, 04 Apr 2008) New Revision: 352 Modified: trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/VCSProvider.java trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/util/AbstractVCSProvider.java trunk/lutinvcs/lutinvcs-provider-cvs/src/main/java/org/codelutin/vcs/CVSProvider.java trunk/lutinvcs/lutinvcs-provider-mock/src/main/java/org/codelutin/vcs/MockProvider.java trunk/lutinvcs/lutinvcs-provider-svn/src/main/java/org/codelutin/vcs/SVNProvider.java Log: refactor provider to act as handler and connexion factory Modified: trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/VCSProvider.java =================================================================== --- trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/VCSProvider.java 2008-04-04 21:43:01 UTC (rev 351) +++ trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/VCSProvider.java 2008-04-04 21:48:53 UTC (rev 352) @@ -19,7 +19,7 @@ /** * The contract to be realized to provide vcs communication. * <p/> - * Atcs as a handler and connexion factory. + * Acts as a handler and connexion factory and manage a single handler instance * * @author chemit * @see VCSHandler @@ -36,6 +36,14 @@ /** * return a new VCSHandler instance for given config. * + * @return the cached instance of handler + * @throws IllegalStateException if handler was not init via {@link #newInstance(VCSConfig)} + */ + H getHandler() throws IllegalStateException; + + /** + * return a new VCSHandler instance for given config. + * * @param config svn handler config * @return the new instance * @throws IllegalStateException if any pb while init handler Modified: trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/util/AbstractVCSProvider.java =================================================================== --- trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/util/AbstractVCSProvider.java 2008-04-04 21:43:01 UTC (rev 351) +++ trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/util/AbstractVCSProvider.java 2008-04-04 21:48:53 UTC (rev 352) @@ -16,12 +16,10 @@ import org.codelutin.vcs.VCSConfig; import org.codelutin.vcs.VCSConnexion; -import org.codelutin.vcs.VCSConnexionMode; import org.codelutin.vcs.VCSHandler; import org.codelutin.vcs.VCSProvider; import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; import java.util.List; /** @@ -50,11 +48,16 @@ public List<C> getConnexions() { if (connexions == null) { - connexions = new ArrayList<C>(); + connexions = new java.util.ArrayList<C>(); } return connexions; } + public H getHandler() throws IllegalStateException { + checkHandlerInit(); + return handler; + } + public H newInstance(VCSConfig config) throws IllegalStateException { if (handler != null) { return handler; @@ -72,7 +75,9 @@ } } - public C newConnection(VCSConnexionMode mode, VCSConfig config) { - return null; + protected void checkHandlerInit() throws IllegalStateException { + if (handler == null) { + throw new IllegalStateException("handler was not init in " + this); + } } } Modified: trunk/lutinvcs/lutinvcs-provider-cvs/src/main/java/org/codelutin/vcs/CVSProvider.java =================================================================== --- trunk/lutinvcs/lutinvcs-provider-cvs/src/main/java/org/codelutin/vcs/CVSProvider.java 2008-04-04 21:43:01 UTC (rev 351) +++ trunk/lutinvcs/lutinvcs-provider-cvs/src/main/java/org/codelutin/vcs/CVSProvider.java 2008-04-04 21:48:53 UTC (rev 352) @@ -26,12 +26,14 @@ super("CVS", CVSHandler.class); } + @Override public CVSHandler newInstance(VCSConfig config) { CVSHelper.setConfig(config); return super.newInstance(config); } public CVSConnexion newConnection(VCSConnexionMode mode, VCSConfig config) { + checkHandlerInit(); return null; } } \ No newline at end of file Modified: trunk/lutinvcs/lutinvcs-provider-mock/src/main/java/org/codelutin/vcs/MockProvider.java =================================================================== --- trunk/lutinvcs/lutinvcs-provider-mock/src/main/java/org/codelutin/vcs/MockProvider.java 2008-04-04 21:43:01 UTC (rev 351) +++ trunk/lutinvcs/lutinvcs-provider-mock/src/main/java/org/codelutin/vcs/MockProvider.java 2008-04-04 21:48:53 UTC (rev 352) @@ -26,6 +26,7 @@ } public MockConnexion newConnection(VCSConnexionMode mode, VCSConfig config) { + checkHandlerInit(); return null; } } \ No newline at end of file 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-04 21:43:01 UTC (rev 351) +++ trunk/lutinvcs/lutinvcs-provider-svn/src/main/java/org/codelutin/vcs/SVNProvider.java 2008-04-04 21:48:53 UTC (rev 352) @@ -26,6 +26,7 @@ } public AbstractVCSConnexion newConnection(VCSConnexionMode mode, VCSConfig config) { + checkHandlerInit(); return null; } }
participants (1)
-
tchemit@users.labs.libre-entreprise.org