Author: tchemit Date: 2008-05-13 14:16:07 +0000 (Tue, 13 May 2008) New Revision: 657 Added: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/model/RootConfigUIModel.java Removed: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/util/AbstractShowUIAction.java Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/ConnexionConfigUI.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/IdentityUI.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/SynchUI.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/TestUI.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/UIActionHelper.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/VCSUIFactory.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ChangeFileAction.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ChangeLocationAction.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ConfirmAction.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/DiffAction.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/HelpAction.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowChangelogUIAction.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowConfigAction.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowConfirmUIAction.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowDiffUIAction.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowIdentityUIAction.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowMessagesAction.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowSynchUIAction.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowTestUIAction.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/TabUIAction.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/ChangelogUIHandler.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/ConfirmUIHandler.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/ConnexionConfigUIHandler.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/DiffUIHandler.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/GenerateSshKeyUIHandler.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/IdentityUIHandler.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/SynchUIHandler.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/TestUIHandler.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/model/ConnexionConfigUIModel.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/model/IdentityUIModel.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/model/TestUIModel.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/util/AbstractVCSShowUIAction.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/util/ui/AbstractFormUI.java Log: refactor config + introduction factory de config Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/ConnexionConfigUI.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/ConnexionConfigUI.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/ConnexionConfigUI.java 2008-05-13 14:16:07 UTC (rev 657) @@ -43,7 +43,8 @@ password, passphrase, nopassphrase, - privateKeyFile; + privateKeyFile, + workingCopyFile; public Object getValue(ConnexionConfigUI ui) { return ui.getElementValue(this); @@ -63,6 +64,8 @@ public abstract AbstractButton getChangePrivateKeyFile(); + public abstract AbstractButton getChangeWorkingCopyFile(); + public abstract AbstractButton getGenerateKey(); public abstract AbstractButton getOk(); @@ -74,7 +77,7 @@ public abstract AbstractButton getTestConnection(); public abstract AbstractButton getAddRoot(); - + public abstract AbstractButton getDeleteRoot(); public abstract AbstractButton getEditRoot(); @@ -125,6 +128,8 @@ public abstract JTextField getPrivateKeyFile(); + public abstract JTextField getWorkingCopyFile(); + public abstract JLabel getLoginLabel(); public abstract JLabel getSshLoginLabel(); @@ -135,6 +140,8 @@ public abstract JLabel getPrivateKeyFileLabel(); + public abstract JLabel getWorkingCopyFileLabel(); + public abstract javax.swing.JPanel getConnexionPanel(); public abstract java.awt.CardLayout getConnexionPanelLayout(); @@ -180,6 +187,16 @@ } } + protected void changeWorkingCopyFile() { + //TODO add title in lutinutil :) + String file = FileUtil.getDirectory(_("lutinvcs.config.workingCopyFile.change"), _("lutinvcs.accept")); + if (file != null) { + String path = new File(file).getAbsolutePath(); + getWorkingCopyFile().setText(path); + doCheck(Element.workingCopyFile); + } + } + protected void generateKey() { //TODO } Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/IdentityUI.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/IdentityUI.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/IdentityUI.java 2008-05-13 14:16:07 UTC (rev 657) @@ -31,8 +31,8 @@ public abstract class IdentityUI extends DialogUI<IdentityUIHandler> { public enum Element implements FormElement<IdentityUI> { - firstname, - lastname, + firstName, + lastName, email; public Object getValue(IdentityUI ui) { @@ -55,6 +55,7 @@ public abstract AbstractButton getCancel(); + public String getElementValue(Element element) { JComponent o = getElement(element); if (o instanceof JPasswordField) { @@ -80,15 +81,15 @@ return (JComponent) getObjectById(element.name()); } - public abstract JTextField getFirstname(); + public abstract JTextField getFirstName(); - public abstract JTextField getLastname(); + public abstract JTextField getLastName(); public abstract JTextField getEmail(); - public abstract JLabel getFirstnameLabel(); + public abstract JLabel getFirstNameLabel(); - public abstract JLabel getLastnameLabel(); + public abstract JLabel getLastNameLabel(); public abstract JLabel getEmailLabel(); Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/SynchUI.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/SynchUI.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/SynchUI.java 2008-05-13 14:16:07 UTC (rev 657) @@ -24,8 +24,8 @@ /** @author chemit */ public abstract class SynchUI extends AbstractTabUI<SynchUIHandler> { - public abstract AbstractButton getConfig() ; - + public abstract AbstractButton getConfig(); + public abstract AbstractButton getRefreshAll(); public abstract AbstractButton getDiffAll(); Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/TestUI.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/TestUI.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/TestUI.java 2008-05-13 14:16:07 UTC (rev 657) @@ -26,7 +26,7 @@ public abstract javax.swing.AbstractButton getShowSynch(); public void showUI(DialogUIDef uiDef) { - getHandler().getModel().setUIDef(uiDef); + getHandler().getModel().setUIDef(uiDef); } Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/UIActionHelper.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/UIActionHelper.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/UIActionHelper.java 2008-05-13 14:16:07 UTC (rev 657) @@ -43,7 +43,7 @@ fireAction(ui, action); } - public static void showConfigUI(VCSConnexionConfig config, DialogUI<?> ui, String position) { + public static void showConfigUI(VCSConnexionConfig config, DialogUI ui, String position) { ShowConfigAction action = new ShowConfigAction(ui, false); action.setConfig(config); action.setPosition(position); @@ -78,20 +78,20 @@ fireAction(ui, action); } - public static void showIdentityUI(java.io.Serializable src, DialogUI<?> ui, String position) { + public static void showIdentityUI(Object src, DialogUI ui, String position) { ShowIdentityUIAction action = new ShowIdentityUIAction(ui, false); action.setSrc(src); action.setPosition(position); fireAction(ui, action); } - public static void showTestUI(TestUIModel model, DialogUI<?> ui) { + public static void showTestUI(TestUIModel model, DialogUI ui) { ShowTestUIAction action = new ShowTestUIAction(ui, false); action.setModel(model, true); fireAction(ui, action); } - protected static void fireAction(DialogUI<?> ui, ShowUIAction action) { + protected static void fireAction(DialogUI ui, ShowUIAction action) { action.actionPerformed(new ActionEvent(ui == null ? action : ui, 0, "" + action.getValue(javax.swing.AbstractAction.NAME))); } Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/VCSUIFactory.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/VCSUIFactory.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/VCSUIFactory.java 2008-05-13 14:16:07 UTC (rev 657) @@ -26,19 +26,19 @@ import org.codelutin.vcs.VCSConnexionConfig; import org.codelutin.vcs.VCSFactory; import org.codelutin.vcs.ui.handler.ChangelogUIHandler; +import org.codelutin.vcs.ui.handler.ConfirmUIHandler; import org.codelutin.vcs.ui.handler.ConnexionConfigUIHandler; -import org.codelutin.vcs.ui.handler.ConfirmUIHandler; import org.codelutin.vcs.ui.handler.DiffUIHandler; +import org.codelutin.vcs.ui.handler.GenerateSshKeyUIHandler; import org.codelutin.vcs.ui.handler.IdentityUIHandler; -import org.codelutin.vcs.ui.handler.GenerateSshKeyUIHandler; import org.codelutin.vcs.ui.handler.SynchUIHandler; import org.codelutin.vcs.ui.handler.TestUIHandler; import org.codelutin.vcs.ui.model.ChangelogUIModel; +import org.codelutin.vcs.ui.model.ConfirmUIModel; import org.codelutin.vcs.ui.model.ConnexionConfigUIModel; -import org.codelutin.vcs.ui.model.ConfirmUIModel; import org.codelutin.vcs.ui.model.DiffUIModel; +import org.codelutin.vcs.ui.model.GenerateSshKeyUIModel; import org.codelutin.vcs.ui.model.IdentityUIModel; -import org.codelutin.vcs.ui.model.GenerateSshKeyUIModel; import org.codelutin.vcs.ui.model.SynchUIModel; import org.codelutin.vcs.ui.model.TestUIModel; @@ -65,7 +65,7 @@ public static final DialogUIDef<TestUIModel, TestUI, TestUIHandler> TEST_UI; public static DialogUIDef[] defs() { - return new DialogUIDef[]{SYNCH_UI, DIFF_UI, CHANGELOG_UI, CONNEXION_CONFIG_UI, CONFIRM_UI, GENERATE_SHH_KEY_UI, IDENTITY_UI,TEST_UI}; + return new DialogUIDef[]{SYNCH_UI, DIFF_UI, CHANGELOG_UI, CONNEXION_CONFIG_UI, CONFIRM_UI, GENERATE_SHH_KEY_UI, IDENTITY_UI, TEST_UI}; } protected static VCSUIFactory instance; Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ChangeFileAction.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ChangeFileAction.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ChangeFileAction.java 2008-05-13 14:16:07 UTC (rev 657) @@ -16,6 +16,7 @@ import org.codelutin.ui.AbstractUIAction; import org.codelutin.vcs.ui.util.handler.AbstractTabOneFileUIHandler; +import org.codelutin.vcs.ui.util.ui.AbstractTabOneFileUI; /** @author chemit */ public class ChangeFileAction extends AbstractUIAction<AbstractTabOneFileUIHandler<?, ?>> { @@ -24,7 +25,7 @@ private static final long serialVersionUID = 1L; - public ChangeFileAction(org.codelutin.vcs.ui.util.ui.AbstractTabOneFileUI<?> ui, boolean location) { + public ChangeFileAction(AbstractTabOneFileUI<AbstractTabOneFileUIHandler<?, ?>> ui, boolean location) { super(null, org.codelutin.ui.UIHelper.createActionIcon("file-" + (location ? "prev" : "next")), ui); this.goPrevious = location; //putValue(SHORT_DESCRIPTION, location.getTip()); Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ChangeLocationAction.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ChangeLocationAction.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ChangeLocationAction.java 2008-05-13 14:16:07 UTC (rev 657) @@ -26,7 +26,7 @@ private static final long serialVersionUID = 1L; - public ChangeLocationAction(AbstractTabUI<?> ui, VCSEntryLocation location) { + public ChangeLocationAction(AbstractTabUI<AbstractTabUIHandler<?, ?>> ui, VCSEntryLocation location) { super(location.getLibelle(), org.codelutin.vcs.ui.util.UIHelper.createLocationIcon(location), ui); this.location = location; putValue(SHORT_DESCRIPTION, location.getTip()); Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ConfirmAction.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ConfirmAction.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ConfirmAction.java 2008-05-13 14:16:07 UTC (rev 657) @@ -15,15 +15,17 @@ package org.codelutin.vcs.ui.action; import org.codelutin.vcs.type.VCSAction; +import org.codelutin.vcs.ui.ConfirmUI; +import org.codelutin.vcs.ui.handler.ConfirmUIHandler; /** @author chemit */ -public class ConfirmAction extends org.codelutin.ui.AbstractUIAction<org.codelutin.vcs.ui.handler.ConfirmUIHandler> { +public class ConfirmAction extends org.codelutin.ui.AbstractUIAction<ConfirmUIHandler> { protected VCSAction action; private static final long serialVersionUID = 1L; - public ConfirmAction(org.codelutin.vcs.ui.ConfirmUI ui, VCSAction action) { + public ConfirmAction(ConfirmUI ui, VCSAction action) { super(null, org.codelutin.vcs.ui.util.UIHelper.createActionIcon(action), ui); this.action = action; //putValue(SHORT_DESCRIPTION, action.getTip()); @@ -48,7 +50,7 @@ case DELETE: case REVERT: case UPDATE: - org.codelutin.vcs.ui.handler.ConfirmUIHandler uiHandler = getHandler(); + ConfirmUIHandler uiHandler = getHandler(); uiHandler.doAction(uiHandler.getUi().getCommitMessage().getText(), uiHandler.getModel().getEntriesModel()); return; } Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/DiffAction.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/DiffAction.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/DiffAction.java 2008-05-13 14:16:07 UTC (rev 657) @@ -14,14 +14,17 @@ */ package org.codelutin.vcs.ui.action; +import org.codelutin.vcs.ui.DiffUI; +import org.codelutin.vcs.ui.handler.DiffUIHandler; + /** @author chemit */ -public class DiffAction extends org.codelutin.ui.AbstractUIAction<org.codelutin.vcs.ui.handler.DiffUIHandler> { +public class DiffAction extends org.codelutin.ui.AbstractUIAction<DiffUIHandler> { protected boolean goUp; private static final long serialVersionUID = 1L; - public DiffAction(org.codelutin.vcs.ui.DiffUI ui, boolean goUp) { + public DiffAction(DiffUI ui, boolean goUp) { super(null, org.codelutin.ui.UIHelper.createActionIcon("diff-" + (goUp ? "prev" : "next")), ui); this.goUp = goUp; //putValue(SHORT_DESCRIPTION, action.getTip()); Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/HelpAction.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/HelpAction.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/HelpAction.java 2008-05-13 14:16:07 UTC (rev 657) @@ -17,13 +17,14 @@ import static org.codelutin.i18n.I18n._; import org.codelutin.ui.AbstractUIAction; import org.codelutin.ui.DialogUI; +import org.codelutin.ui.DialogUIHandler; /** @author chemit */ public class HelpAction extends AbstractUIAction<org.codelutin.ui.DialogUIHandler<?, ?>> { private static final long serialVersionUID = 1L; - public HelpAction(DialogUI<? extends org.codelutin.ui.DialogUIHandler<?, ?>> ui) { + public HelpAction(DialogUI<DialogUIHandler<?, ?>> ui) { super(_("lutinvcs.action.help.libelle"), org.codelutin.ui.UIHelper.createActionIcon("help"), ui); String name = (String) getValue(NAME); putValue(DISPLAYED_MNEMONIC_INDEX_KEY, name.length() - 1); @@ -34,7 +35,7 @@ public void actionPerformed(java.awt.event.ActionEvent e) { checkInit(); - log.info("//TODO : " + this + ", " + ui); + log.info("//TODO : " + this + ", " + getUi()); } } \ No newline at end of file Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowChangelogUIAction.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowChangelogUIAction.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowChangelogUIAction.java 2008-05-13 14:16:07 UTC (rev 657) @@ -27,14 +27,14 @@ import java.awt.event.ActionEvent; /** @author chemit */ -public class ShowChangelogUIAction extends AbstractVCSShowUIAction<ChangelogUIModel, ChangelogUI, ChangelogUIHandler, DialogUIHandler<?, ?>> { +public class ShowChangelogUIAction extends AbstractVCSShowUIAction<ChangelogUIModel, ChangelogUI, ChangelogUIHandler> { private static final long serialVersionUID = 1L; private VCSEntryLocation location; private VCSEntry[] entries; - public ShowChangelogUIAction(DialogUI ui, boolean showText) { + public ShowChangelogUIAction(DialogUI<DialogUIHandler<?, ?>> ui, boolean showText) { super(ui, VCSUIFactory.CHANGELOG_UI, showText); } Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowConfigAction.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowConfigAction.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowConfigAction.java 2008-05-13 14:16:07 UTC (rev 657) @@ -14,6 +14,7 @@ */ package org.codelutin.vcs.ui.action; +import org.codelutin.ui.DialogUI; import org.codelutin.ui.DialogUIHandler; import org.codelutin.vcs.ui.ConnexionConfigUI; import org.codelutin.vcs.ui.VCSUIFactory; @@ -24,11 +25,11 @@ import java.awt.event.ActionEvent; /** @author chemit */ -public class ShowConfigAction extends AbstractVCSShowUIAction<ConnexionConfigUIModel, ConnexionConfigUI, ConnexionConfigUIHandler, DialogUIHandler<?, ?>> { +public class ShowConfigAction extends AbstractVCSShowUIAction<ConnexionConfigUIModel, ConnexionConfigUI, ConnexionConfigUIHandler> { private static final long serialVersionUID = 1L; - public ShowConfigAction(org.codelutin.ui.DialogUI ui, boolean showText) { + public ShowConfigAction(DialogUI<DialogUIHandler<?, ?>> ui, boolean showText) { super(ui, VCSUIFactory.CONNEXION_CONFIG_UI, showText); } Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowConfirmUIAction.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowConfirmUIAction.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowConfirmUIAction.java 2008-05-13 14:16:07 UTC (rev 657) @@ -28,7 +28,7 @@ import java.awt.event.ActionEvent; /** @author chemit */ -public class ShowConfirmUIAction extends AbstractVCSShowUIAction<ConfirmUIModel, ConfirmUI, ConfirmUIHandler, DialogUIHandler<?, ?>> { +public class ShowConfirmUIAction extends AbstractVCSShowUIAction<ConfirmUIModel, ConfirmUI, ConfirmUIHandler> { private static final long serialVersionUID = 1L; @@ -36,7 +36,7 @@ private VCSEntryLocation location; private VCSEntry[] entries; - public ShowConfirmUIAction(DialogUI ui, boolean showText) { + public ShowConfirmUIAction(DialogUI<DialogUIHandler<?, ?>> ui, boolean showText) { super(ui, VCSUIFactory.CONFIRM_UI, showText); } Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowDiffUIAction.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowDiffUIAction.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowDiffUIAction.java 2008-05-13 14:16:07 UTC (rev 657) @@ -27,14 +27,14 @@ import java.awt.event.ActionEvent; /** @author chemit */ -public class ShowDiffUIAction extends AbstractVCSShowUIAction<DiffUIModel, DiffUI, DiffUIHandler, DialogUIHandler<?, ?>> { +public class ShowDiffUIAction extends AbstractVCSShowUIAction<DiffUIModel, DiffUI, DiffUIHandler> { private static final long serialVersionUID = 1L; private VCSEntryLocation location; private VCSEntry[] entries; - public ShowDiffUIAction(DialogUI ui, boolean showText) { + public ShowDiffUIAction(DialogUI<DialogUIHandler<?, ?>> ui, boolean showText) { super(ui, VCSUIFactory.DIFF_UI, showText); } Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowIdentityUIAction.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowIdentityUIAction.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowIdentityUIAction.java 2008-05-13 14:16:07 UTC (rev 657) @@ -14,7 +14,7 @@ */ package org.codelutin.vcs.ui.action; -import org.codelutin.ui.DialogUIHandler; +import org.codelutin.ui.DialogUI; import org.codelutin.ui.ShowUIAction; import org.codelutin.vcs.ui.IdentityUI; import org.codelutin.vcs.ui.VCSUIFactory; @@ -22,30 +22,29 @@ import org.codelutin.vcs.ui.model.IdentityUIModel; import java.awt.event.ActionEvent; -import java.io.Serializable; /** @author chemit */ -public class ShowIdentityUIAction extends ShowUIAction<IdentityUIModel, IdentityUI, IdentityUIHandler, DialogUIHandler<?, ?>> { +public class ShowIdentityUIAction extends ShowUIAction<IdentityUIModel, IdentityUI, IdentityUIHandler> { private static final long serialVersionUID = 1L; - protected Serializable src; + protected transient Object src; - public Serializable getSrc() { + public Object getSrc() { return src; } - public void setSrc(Serializable src) { + public void setSrc(Object src) { this.src = src; } - public ShowIdentityUIAction(org.codelutin.ui.DialogUI ui, boolean showText) { + public ShowIdentityUIAction(DialogUI<?> ui, boolean showText) { super(ui, VCSUIFactory.IDENTITY_UI, VCSUIFactory.getInstance(), showText); } @Override protected IdentityUI initUI(ActionEvent e) { - IdentityUI ui = getFactory().getUI(uiDef); + IdentityUI ui = super.initUI(e); ui.getHandler().getModel().populate(src); ui.pack(); return ui; Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowMessagesAction.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowMessagesAction.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowMessagesAction.java 2008-05-13 14:16:07 UTC (rev 657) @@ -14,6 +14,7 @@ */ package org.codelutin.vcs.ui.action; +import org.codelutin.vcs.ui.ConfirmUI; import org.codelutin.vcs.ui.handler.ConfirmUIHandler; /** @author chemit */ @@ -21,7 +22,7 @@ private static final long serialVersionUID = 1L; - public ShowMessagesAction(org.codelutin.vcs.ui.ConfirmUI ui) { + public ShowMessagesAction(ConfirmUI ui) { super(null, org.codelutin.ui.UIHelper.createActionIcon("showmessages"), ui); putValue(SHORT_DESCRIPTION, org.codelutin.i18n.I18n._("lutinvcs.action.showmessages.tip")); setEnabled(false); Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowSynchUIAction.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowSynchUIAction.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowSynchUIAction.java 2008-05-13 14:16:07 UTC (rev 657) @@ -27,7 +27,7 @@ import java.awt.event.ActionEvent; /** @author chemit */ -public class ShowSynchUIAction extends AbstractVCSShowUIAction<SynchUIModel, SynchUI, SynchUIHandler, DialogUIHandler<?, ?>> { +public class ShowSynchUIAction extends AbstractVCSShowUIAction<SynchUIModel, SynchUI, SynchUIHandler> { private static final long serialVersionUID = 1L; Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowTestUIAction.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowTestUIAction.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowTestUIAction.java 2008-05-13 14:16:07 UTC (rev 657) @@ -14,17 +14,17 @@ */ package org.codelutin.vcs.ui.action; -import org.codelutin.ui.DialogUIHandler; +import org.codelutin.ui.DialogUI; +import org.codelutin.ui.ShowUIAction; import org.codelutin.vcs.ui.TestUI; import org.codelutin.vcs.ui.VCSUIFactory; import org.codelutin.vcs.ui.handler.TestUIHandler; import org.codelutin.vcs.ui.model.TestUIModel; -import org.codelutin.vcs.ui.util.AbstractShowUIAction; import java.awt.event.ActionEvent; /** @author chemit */ -public class ShowTestUIAction extends AbstractShowUIAction<TestUIModel, TestUI, TestUIHandler, DialogUIHandler<?, ?>> { +public class ShowTestUIAction extends ShowUIAction<TestUIModel, TestUI, TestUIHandler> { private static final long serialVersionUID = 1L; @@ -32,8 +32,8 @@ protected boolean firstTime; - public ShowTestUIAction(org.codelutin.ui.DialogUI ui, boolean showText) { - super(ui, VCSUIFactory.TEST_UI, showText); + public ShowTestUIAction(DialogUI<?> ui, boolean showText) { + super(ui, VCSUIFactory.TEST_UI, VCSUIFactory.getInstance(), showText); } public void setModel(TestUIModel model, boolean firstTime) { Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/TabUIAction.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/TabUIAction.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/TabUIAction.java 2008-05-13 14:16:07 UTC (rev 657) @@ -35,7 +35,7 @@ private static final long serialVersionUID = 1L; - public TabUIAction(AbstractTabUI<?> ui, VCSAction action, boolean useSelection) { + public TabUIAction(AbstractTabUI<AbstractTabUIHandler<?, ?>> ui, VCSAction action, boolean useSelection) { super(null, org.codelutin.vcs.ui.util.UIHelper.createActionIcon(action), ui); this.useSelection = useSelection; this.action = action; @@ -60,14 +60,14 @@ // take all entries entries = model.filter(VCSAction.CHANGELOG, model.getEntries()); } - UIActionHelper.showChangelogUI(config, ui, location, entries.toArray(new VCSEntry[entries.size()]),null); + UIActionHelper.showChangelogUI(config, getUi(), location, entries.toArray(new VCSEntry[entries.size()]), null); return; case DIFF: if (!useSelection) { // take all entries entries = model.filter(VCSAction.DIFF, model.getEntries()); } - UIActionHelper.showDiffUI(config, ui, location, entries.toArray(new VCSEntry[entries.size()]),null); + UIActionHelper.showDiffUI(config, getUi(), location, entries.toArray(new VCSEntry[entries.size()]), null); return; case REFRESH: handler.doRefresh(model, entries, handler.getSelectionModel()); @@ -79,7 +79,7 @@ case DELETE: case REVERT: case UPDATE: - UIActionHelper.showConfirmUI(config, ui, location, action, entries.toArray(new VCSEntry[entries.size()]),null); + UIActionHelper.showConfirmUI(config, getUi(), location, action, entries.toArray(new VCSEntry[entries.size()]), null); return; } throw new IllegalStateException("could not perform action for action " + action + " (" + this + ')'); Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/ChangelogUIHandler.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/ChangelogUIHandler.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/ChangelogUIHandler.java 2008-05-13 14:16:07 UTC (rev 657) @@ -33,8 +33,8 @@ /** @author chemit */ public class ChangelogUIHandler extends AbstractTabOneFileUIHandler<ChangelogUIModel, ChangelogUI> { - public ChangelogUIHandler(ChangelogUI ui, VCSConnexionConfig config) { - super(ui, new ChangelogUIModel(),config, true); + public ChangelogUIHandler(ChangelogUI ui,ChangelogUIModel model, VCSConnexionConfig config) { + super(ui,model,config, true); ui.setHandler(this); } Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/ConfirmUIHandler.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/ConfirmUIHandler.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/ConfirmUIHandler.java 2008-05-13 14:16:07 UTC (rev 657) @@ -42,8 +42,8 @@ public class ConfirmUIHandler extends AbstractBasicUIHandler<ConfirmUIModel, ConfirmUI> { - public ConfirmUIHandler(ConfirmUI ui, VCSConnexionConfig config) { - super(ui, new ConfirmUIModel(),config, false); + public ConfirmUIHandler(ConfirmUI ui,ConfirmUIModel model, VCSConnexionConfig config) { + super(ui, model,config, false); ui.setHandler(this); } Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/ConnexionConfigUIHandler.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/ConnexionConfigUIHandler.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/ConnexionConfigUIHandler.java 2008-05-13 14:16:07 UTC (rev 657) @@ -45,8 +45,8 @@ protected List<Element> errors; - public ConnexionConfigUIHandler(ConnexionConfigUI ui, VCSConnexionConfig config) { - super(ui, new ConnexionConfigUIModel(), config); + public ConnexionConfigUIHandler(ConnexionConfigUI ui,ConnexionConfigUIModel model, VCSConnexionConfig config) { + super(ui, model, config); ui.setHandler(this); errors = new ArrayList<Element>(); } @@ -57,7 +57,7 @@ JPanel connexionPanel = ui.getConnexionPanel(); connexionPanel.add(ui.getAnonymousPanel(), VCSConnexionMode.ANONYMOUS.name()); connexionPanel.add(ui.getPasswordPanel(), VCSConnexionMode.PASSWORD.name()); - connexionPanel.add(ui.getSshPanel(), VCSConnexionMode.SSH.name()); + connexionPanel.add(ui.getSshPanel(), VCSConnexionMode.SSH.name()); } public void propertyChange(PropertyChangeEvent evt) { @@ -137,40 +137,44 @@ switch (element) { case connexion: - modify = model.getMode() != model.getConfig().getMode(); + modify = model.getMode() != model.getConfig().getConnexionMode(); break; case login: - modify = !model.getConfig().getUserName().equals(value); + modify = !value.equals(model.getConfig().getLogin()); break; case sshLogin: - modify = !model.getConfig().getUserName().equals(value); + modify = !value.equals(model.getConfig().getSshLogin()); break; + case password: + modify = !Arrays.toString(ui.getPassword().getPassword()).equals(model.getConfig().getPassword()); + break; case nopassphrase: boolean b = ui.getNoPassPhrase().isSelected(); - modify = (model.getConfig().getPassphrase() != null && !model.getConfig().getPassphrase().isEmpty()) == b; + modify = (model.getConfig().getSshPassphrase() != null && !model.getConfig().getSshPassphrase().isEmpty()) == b; if (!b) { model.removeModified(passphrase); } else { char[] password = ui.getPassphrase().getPassword(); boolean modify2; - if (model.getConfig().getPassphrase() == null || model.getConfig().getPassphrase().isEmpty()) { + if (model.getConfig().getSshPassphrase() == null || model.getConfig().getSshPassphrase().isEmpty()) { modify2 = password.length == 0; } else { - modify2 = model.getConfig().getPassphrase().equals(Arrays.toString(password)); + modify2 = model.getConfig().getSshPassphrase().equals(Arrays.toString(password)); } if (modify2) { model.addModified(passphrase); } } break; - case password: - modify = !model.getConfig().getPassphrase().equals(Arrays.toString(ui.getPassword().getPassword())); + case passphrase: + modify = !value.equals(model.getConfig().getSshPassphrase()); break; case privateKeyFile: - modify = !model.getConfig().getKeyFile().getAbsolutePath().equals(value); + modify = !value.equals(model.getConfig().getSshPrivateKeyFile() + ""); break; - case passphrase: - modify = !model.getConfig().getPassphrase().equals(value); + + case workingCopyFile: + modify = !value.equals(model.getConfig().getWorkingCopyFile() + ""); break; } if (modify) { @@ -200,18 +204,18 @@ protected void populateUI(ConnexionConfigUIModel model) { ConnexionConfigUI ui = getUi(); VCSConnexionConfig config = model.getConfig(); - switch (config.getMode()) { + switch (config.getConnexionMode()) { case ANONYMOUS: break; case PASSWORD: - ui.getLogin().setText(config.getUserName()); - ui.getPassword().setText(config.getPassphrase() == null ? "" : config.getPassphrase()); + ui.getLogin().setText(config.getLogin()); + ui.getPassword().setText(config.getPassword() == null ? "" : config.getPassword()); break; case SSH: - ui.getSshLogin().setText(config.getUserName()); + ui.getSshLogin().setText(config.getSshLogin()); ui.getNoPassPhrase().setSelected(config.isNoPassPhrase()); - ui.getPrivateKeyFile().setText(config.getKeyFile() == null ? "" : config.getKeyFile().getAbsolutePath()); - ui.getPassphrase().setText(config.getPassphrase() == null ? "" : config.getPassphrase()); + ui.getPrivateKeyFile().setText(config.getSshPrivateKeyFile() == null ? "" : config.getSshPrivateKeyFile().getAbsolutePath()); + ui.getPassphrase().setText(config.getSshPassphrase() == null ? "" : config.getSshPassphrase()); break; } ui.getTestConnection().setEnabled(true); Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/DiffUIHandler.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/DiffUIHandler.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/DiffUIHandler.java 2008-05-13 14:16:07 UTC (rev 657) @@ -36,8 +36,8 @@ /** @author chemit */ public class DiffUIHandler extends AbstractTabOneFileUIHandler<DiffUIModel, DiffUI> { - public DiffUIHandler(DiffUI ui, VCSConnexionConfig config) { - super(ui, new DiffUIModel(), config,true); + public DiffUIHandler(DiffUI ui,DiffUIModel model, VCSConnexionConfig config) { + super(ui, model, config,true); ui.setHandler(this); } Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/GenerateSshKeyUIHandler.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/GenerateSshKeyUIHandler.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/GenerateSshKeyUIHandler.java 2008-05-13 14:16:07 UTC (rev 657) @@ -14,7 +14,6 @@ */ package org.codelutin.vcs.ui.handler; -import org.codelutin.vcs.VCSConnexionConfig; import org.codelutin.vcs.ui.GenerateSshKeyUI; import org.codelutin.vcs.ui.GenerateSshKeyUI.Element; import static org.codelutin.vcs.ui.GenerateSshKeyUI.Element.dir; @@ -26,6 +25,7 @@ import org.codelutin.vcs.ui.model.ConnexionConfigUIModel; import org.codelutin.vcs.ui.model.GenerateSshKeyUIModel; import org.codelutin.vcs.ui.util.handler.AbstractUIHandler; +import org.codelutin.vcs.VCSConnexionConfig; import javax.swing.JComponent; import javax.swing.text.JTextComponent; @@ -42,8 +42,8 @@ protected List<Element> errors; - public GenerateSshKeyUIHandler(GenerateSshKeyUI ui, VCSConnexionConfig config) { - super(ui, new GenerateSshKeyUIModel(), config); + public GenerateSshKeyUIHandler(GenerateSshKeyUI ui,GenerateSshKeyUIModel model, VCSConnexionConfig config) { + super(ui, model, config); ui.setHandler(this); errors = new ArrayList<Element>(); } Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/IdentityUIHandler.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/IdentityUIHandler.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/IdentityUIHandler.java 2008-05-13 14:16:07 UTC (rev 657) @@ -18,8 +18,8 @@ import org.codelutin.vcs.ui.IdentityUI; import static org.codelutin.vcs.ui.IdentityUI.Element; import static org.codelutin.vcs.ui.IdentityUI.Element.email; -import static org.codelutin.vcs.ui.IdentityUI.Element.firstname; -import static org.codelutin.vcs.ui.IdentityUI.Element.lastname; +import static org.codelutin.vcs.ui.IdentityUI.Element.firstName; +import static org.codelutin.vcs.ui.IdentityUI.Element.lastName; import static org.codelutin.vcs.ui.IdentityUI.Element.values; import org.codelutin.vcs.ui.model.IdentityUIModel; @@ -35,9 +35,8 @@ protected List<Element> errors; - - public IdentityUIHandler(IdentityUI ui) { - super(ui, new IdentityUIModel()); + public IdentityUIHandler(IdentityUI ui,IdentityUIModel model) { + super(ui, model); ui.setHandler(this); errors = new ArrayList<Element>(); } @@ -71,8 +70,8 @@ // compute modifed setModified(element, ui); } - checkData(ui.getFirstname(), firstname); - checkData(ui.getLastname(), lastname); + checkData(ui.getFirstName(), firstName); + checkData(ui.getLastName(), lastName); checkData(ui.getEmail(), email); return errors; @@ -86,13 +85,13 @@ switch (element) { case email: - modify = !model.getEmail().equals(value); + modify = !model.getCurrent().getEmail().equals(value); break; - case firstname: - modify = !model.getFirstname().equals(value); + case firstName: + modify = !model.getCurrent().getFirstName().equals(value); break; - case lastname: - modify = !model.getLastname().equals(value); + case lastName: + modify = !model.getCurrent().getLastName().equals(value); break; } if (modify) { @@ -117,9 +116,9 @@ protected void populateUI(IdentityUIModel model) { IdentityUI ui = getUi(); - ui.getFirstname().setText(model.getFirstname()); - ui.getLastname().setText(model.getLastname()); - ui.getEmail().setText(model.getEmail()); + ui.getFirstName().setText(model.getCurrent().getFirstName()); + ui.getLastName().setText(model.getCurrent().getLastName()); + ui.getEmail().setText(model.getCurrent().getEmail()); } protected void updateUI(List<Element> errors) { Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/SynchUIHandler.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/SynchUIHandler.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/SynchUIHandler.java 2008-05-13 14:16:07 UTC (rev 657) @@ -24,8 +24,8 @@ /** @author chemit */ public class SynchUIHandler extends AbstractTabUIHandler<SynchUIModel, SynchUI> { - public SynchUIHandler(SynchUI ui, VCSConnexionConfig config) { - super(ui, new SynchUIModel(), config, true); + public SynchUIHandler(SynchUI ui,SynchUIModel model, VCSConnexionConfig config) { + super(ui, model, config, true); ui.setHandler(this); } Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/TestUIHandler.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/TestUIHandler.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/TestUIHandler.java 2008-05-13 14:16:07 UTC (rev 657) @@ -27,8 +27,8 @@ /** @author chemit */ public class TestUIHandler extends org.codelutin.ui.DialogUIHandler<TestUIModel, TestUI> { - public TestUIHandler(TestUI ui) { - super(ui, new TestUIModel()); + public TestUIHandler(TestUI ui,TestUIModel model) { + super(ui, model); ui.setHandler(this); } Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/model/ConnexionConfigUIModel.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/model/ConnexionConfigUIModel.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/model/ConnexionConfigUIModel.java 2008-05-13 14:16:07 UTC (rev 657) @@ -53,7 +53,7 @@ public void populate(VCSConnexionConfig config) { this.config = config; - setConnexionMode(config.getMode()); + setConnexionMode(config.getConnexionMode()); setModified(false); firePropertyChange(CONFIG_PROPERTY_CHANGED, null, this); } @@ -79,7 +79,7 @@ break; } } - if (mode == getConfig().getMode()) { + if (mode == getConfig().getConnexionMode()) { removeModified(connexion); } else { addModified(connexion); @@ -141,29 +141,37 @@ config.setConnexionMode(mode); break; case login: - if (mode != VCSConnexionMode.ANONYMOUS) { - config.setUserName(value); + if (mode == VCSConnexionMode.PASSWORD) { + config.setLogin(value); } break; case nopassphrase: if (mode == VCSConnexionMode.SSH) { - config.setNoPassPhrase(Boolean.valueOf(value)); + config.setSshPassphrase(null); } break; case password: if (mode == VCSConnexionMode.PASSWORD) { - config.setPassPhrase(value); + config.setPassword(value); } case passphrase: if (mode == VCSConnexionMode.SSH) { - config.setPassPhrase(value); + config.setSshPassphrase(value); } break; case privateKeyFile: if (mode == VCSConnexionMode.SSH) { - config.setKeyFile(new File(value)); + config.setSshPrivateKeyFile(new File(value)); } break; + case sshLogin: + if (mode == VCSConnexionMode.SSH) { + config.setSshLogin(value); + } + break; + case workingCopyFile: + config.setWorkingCopyFile(new File(value)); + break; } } Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/model/IdentityUIModel.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/model/IdentityUIModel.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/model/IdentityUIModel.java 2008-05-13 14:16:07 UTC (rev 657) @@ -17,10 +17,14 @@ import org.apache.commons.beanutils.BeanUtils; import org.codelutin.ui.DialogUIModel; +import org.codelutin.util.config.IdentityConfig; +import org.codelutin.util.config.IdentityConfigProperty; +import org.codelutin.vcs.VCSConfigFactory; import org.codelutin.vcs.ui.IdentityUI.Element; import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; +import java.util.EnumSet; import java.util.List; /** @@ -34,31 +38,23 @@ public static final String MODIFIED_PROPERTY_CHANGED = "modify"; protected Object src; - protected String firstname; - protected String lastname; - protected String email; + protected IdentityConfig current; + protected EnumSet<IdentityConfigProperty> mods; + protected List<Element> modifieds; public IdentityUIModel() { + mods = EnumSet.noneOf(IdentityConfigProperty.class); + modifieds = new ArrayList<Element>(); + current = VCSConfigFactory.newIdentity(null, null, null); } public void populate(Object src) { this.src = src; + this.current.copyFrom(src); - for (Element o : Element.values()) { - try { - String value = BeanUtils.getProperty(src, o.name()); - BeanUtils.setProperty(this, o.name(), value); - } catch (IllegalAccessException e) { - throw new IllegalStateException(e); - } catch (InvocationTargetException e) { - throw new IllegalStateException(e); - } catch (NoSuchMethodException e) { - throw new IllegalStateException(e); - } - } setModified(false); firePropertyChange(CONFIG_PROPERTY_CHANGED, null, this); } @@ -67,30 +63,10 @@ populate(src); } - public String getEmail() { - return email; + public IdentityConfig getCurrent() { + return current; } - public String getFirstname() { - return firstname; - } - - public String getLastname() { - return lastname; - } - - public void setEmail(String email) { - this.email = email; - } - - public void setFirstname(String firstname) { - this.firstname = firstname; - } - - public void setLastname(String lastname) { - this.lastname = lastname; - } - public boolean isModified() { return !modifieds.isEmpty(); } @@ -126,8 +102,8 @@ public void save(Element element, String value) { switch (element) { case email: - case firstname: - case lastname: + case firstName: + case lastName: try { BeanUtils.setProperty(src, element.name(), value); } catch (IllegalAccessException e) { Added: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/model/RootConfigUIModel.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/model/RootConfigUIModel.java (rev 0) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/model/RootConfigUIModel.java 2008-05-13 14:16:07 UTC (rev 657) @@ -0,0 +1,192 @@ +/** + * ##% Copyright (C) 2008 Code Lutin, 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.ui.model; + +import org.codelutin.vcs.VCSConnexionConfig; +import org.codelutin.vcs.type.VCSConnexionMode; +import org.codelutin.vcs.ui.ConnexionConfigUI.Element; +import static org.codelutin.vcs.ui.ConnexionConfigUI.Element.connexion; +import static org.codelutin.vcs.ui.ConnexionConfigUI.Element.login; +import static org.codelutin.vcs.ui.ConnexionConfigUI.Element.nopassphrase; +import static org.codelutin.vcs.ui.ConnexionConfigUI.Element.passphrase; +import static org.codelutin.vcs.ui.ConnexionConfigUI.Element.password; +import static org.codelutin.vcs.ui.ConnexionConfigUI.Element.privateKeyFile; +import static org.codelutin.vcs.ui.ConnexionConfigUI.Element.sshLogin; +import org.codelutin.vcs.ui.util.model.AbstractUIModel; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +/** + * Model of a a confirmation of action on entries (single type of action possible) + * + * @author chemit + */ +public class RootConfigUIModel extends AbstractUIModel { + + public static final String CONFIG_PROPERTY_CHANGED = "config"; + public static final String CONNEXION_STATE_PROPERTY_CHANGED = "connexionState"; + public static final String MODE_PROPERTY_CHANGED = "mode"; + public static final String MODIFIED_PROPERTY_CHANGED = "modify"; + + protected VCSConnexionMode mode; + + protected List<Element> modifieds; + + protected VCSConnexionConfig config; + protected Boolean connexionState; + + public RootConfigUIModel() { + modifieds = new ArrayList<Element>(); + } + + public void populate(VCSConnexionConfig config) { + this.config = config; + setConnexionMode(config.getConnexionMode()); + setModified(false); + firePropertyChange(CONFIG_PROPERTY_CHANGED, null, this); + } + + public void reset() { + checkConnexionInit(); + populate(config); + } + + public void setConnexionMode(VCSConnexionMode mode) { + VCSConnexionMode oldMode = this.mode; + this.mode = mode; + if (oldMode != null) { + switch (oldMode) { + case ANONYMOUS: + // nothing to clean + break; + case PASSWORD: + removeModified(login, password); + break; + case SSH: + removeModified(sshLogin, passphrase, nopassphrase, privateKeyFile); + break; + } + } + if (mode == getConfig().getConnexionMode()) { + removeModified(connexion); + } else { + addModified(connexion); + } + firePropertyChange(MODE_PROPERTY_CHANGED, oldMode, mode); + setConnexionState(null); + } + + public boolean isModified() { + return !modifieds.isEmpty(); + } + + public List<Element> getModifieds() { + return modifieds; + } + + public Boolean isConnexionState() { + return connexionState != null && connexionState; + } + + public VCSConnexionConfig getConfig() throws IllegalStateException { + checkConnexionInit(); + return config; + } + + public VCSConnexionMode getMode() throws IllegalStateException { + checkConnexionInit(); + return mode; + } + + public void addModified(Element elementname) { + if (!modifieds.contains(elementname)) { + modifieds.add(elementname); + } + setModified(!modifieds.isEmpty()); + } + + public void removeModified(Element... elementnames) { + for (Element elementname : elementnames) { + if (modifieds.contains(elementname)) { + modifieds.remove(elementname); + } + setModified(!modifieds.isEmpty()); + } + + } + + public void setModified(boolean modified) { + if (!modified) { + modifieds.clear(); + } + firePropertyChange(MODIFIED_PROPERTY_CHANGED, null, modified); + } + + public void save(Element element, String value) { + checkConnexionInit(); + switch (element) { + case connexion: + config.setConnexionMode(mode); + break; + case login: + if (mode == VCSConnexionMode.PASSWORD) { + config.setLogin(value); + } + break; + case nopassphrase: + if (mode == VCSConnexionMode.SSH) { + config.setSshPassphrase(null); + } + break; + case password: + if (mode == VCSConnexionMode.PASSWORD) { + config.setPassword(value); + } + case passphrase: + if (mode == VCSConnexionMode.SSH) { + config.setSshPassphrase(value); + } + break; + case privateKeyFile: + if (mode == VCSConnexionMode.SSH) { + config.setSshPrivateKeyFile(new File(value)); + } + break; + case sshLogin: + if (mode == VCSConnexionMode.SSH) { + config.setSshLogin(value); + } + break; + case workingCopyFile: + config.setWorkingCopyFile(new File(value)); + break; + } + } + + + protected void checkConnexionInit() throws IllegalStateException { + if (config == null) { + throw new IllegalStateException("no config found in model " + this); + } + } + + public void setConnexionState(Boolean connexionState) { + Boolean oldConnexionState = this.connexionState; + this.connexionState = connexionState; + firePropertyChange(CONNEXION_STATE_PROPERTY_CHANGED, oldConnexionState, connexionState); + } +} \ No newline at end of file Property changes on: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/model/RootConfigUIModel.java ___________________________________________________________________ Name: svn:executable + * Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/model/TestUIModel.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/model/TestUIModel.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/model/TestUIModel.java 2008-05-13 14:16:07 UTC (rev 657) @@ -19,7 +19,6 @@ import org.codelutin.vcs.VCSEntry; import java.beans.PropertyChangeListener; -import java.io.Serializable; /** * Model of a repository @@ -32,7 +31,9 @@ public static final String SHOW_UI_PROPERTY_CHANGED = "showui"; protected VCSConnexion connexion; - protected Serializable identity; + + protected Object identity; + private VCSEntry[] entries; public void setUIDef(DialogUIDef uiDef) { @@ -47,7 +48,7 @@ return connexion; } - public Serializable getIdentity() { + public Object getIdentity() { return identity; } @@ -63,7 +64,7 @@ this.entries = entries; } - public void setIdentity(Serializable identity) { + public void setIdentity(Object identity) { this.identity = identity; } Deleted: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/util/AbstractShowUIAction.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/util/AbstractShowUIAction.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/util/AbstractShowUIAction.java 2008-05-13 14:16:07 UTC (rev 657) @@ -1,39 +0,0 @@ -/** - * # #% Copyright (C) 2008 Code Lutin, 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.ui.util; - -import org.codelutin.ui.DialogUI; -import org.codelutin.ui.DialogUIDef; -import org.codelutin.ui.DialogUIHandler; -import org.codelutin.ui.DialogUIModel; -import org.codelutin.ui.ShowUIAction; -import org.codelutin.vcs.ui.VCSUIFactory; - -import java.awt.event.ActionEvent; - -/** @author chemit */ -public abstract class AbstractShowUIAction<M extends DialogUIModel, U extends DialogUI<H>, H extends DialogUIHandler<M, U>, HH extends DialogUIHandler<?, ?>> extends ShowUIAction<M, U, H, HH> { - - private static final long serialVersionUID = 1L; - - public <UU extends DialogUI<HH>> AbstractShowUIAction(UU ui, DialogUIDef<M, U, H> uiDef, boolean showText) { - super(ui, uiDef, VCSUIFactory.getInstance(), showText); - } - - protected U initUI(ActionEvent e) { - return getFactory().getUI(uiDef); - } - -} \ No newline at end of file Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/util/AbstractVCSShowUIAction.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/util/AbstractVCSShowUIAction.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/util/AbstractVCSShowUIAction.java 2008-05-13 14:16:07 UTC (rev 657) @@ -25,13 +25,13 @@ import java.awt.event.ActionEvent; /** @author chemit */ -public abstract class AbstractVCSShowUIAction<M extends DialogUIModel, U extends DialogUI<H>, H extends DialogUIHandler<M, U>, HH extends DialogUIHandler<?, ?>> extends ShowUIAction<M, U, H, HH> { +public abstract class AbstractVCSShowUIAction<M extends DialogUIModel, U extends DialogUI<H>, H extends DialogUIHandler<M, U>> extends ShowUIAction<M, U, H> { protected transient VCSConnexionConfig config; private static final long serialVersionUID = 1L; - public <UU extends DialogUI<HH>> AbstractVCSShowUIAction(UU ui, DialogUIDef<M, U, H> uiDef, boolean showText) { + public AbstractVCSShowUIAction(DialogUI<?> ui, DialogUIDef<M, U, H> uiDef, boolean showText) { super(ui, uiDef, VCSUIFactory.getInstance(), showText); } Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/util/ui/AbstractFormUI.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/util/ui/AbstractFormUI.java 2008-05-13 14:15:59 UTC (rev 656) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/util/ui/AbstractFormUI.java 2008-05-13 14:16:07 UTC (rev 657) @@ -23,8 +23,7 @@ */ public abstract class AbstractFormUI<H extends AbstractUIHandler> extends org.codelutin.ui.DialogUI<H> { - /*protected javax.swing.AbstractAction createHelpAction() { - return org.codelutin.vcs.ui.action.HelpAction.createAction(this); - }*/ - + public AbstractFormUI() { + super(); + } } \ No newline at end of file