Buix-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
March 2008
- 1 participants
- 44 discussions
r250 - trunk/lutinvcs/lutinvcs-ui/src/main/resources/i18n
by tchemit@users.labs.libre-entreprise.org 31 Mar '08
by tchemit@users.labs.libre-entreprise.org 31 Mar '08
31 Mar '08
Author: tchemit
Date: 2008-03-31 20:41:20 +0000 (Mon, 31 Mar 2008)
New Revision: 250
Modified:
trunk/lutinvcs/lutinvcs-ui/src/main/resources/i18n/lutinvcs-ui-en_GB.properties
trunk/lutinvcs/lutinvcs-ui/src/main/resources/i18n/lutinvcs-ui-fr_FR.properties
Log:
begin of synch ui
Modified: trunk/lutinvcs/lutinvcs-ui/src/main/resources/i18n/lutinvcs-ui-en_GB.properties
===================================================================
--- trunk/lutinvcs/lutinvcs-ui/src/main/resources/i18n/lutinvcs-ui-en_GB.properties 2008-03-31 20:41:08 UTC (rev 249)
+++ trunk/lutinvcs/lutinvcs-ui/src/main/resources/i18n/lutinvcs-ui-en_GB.properties 2008-03-31 20:41:20 UTC (rev 250)
@@ -1,16 +1,35 @@
-lutinutil.common.quit=
-lutinutil.config.title=
lutinvcs.action=Action
-lutinvcs.action.commitAll=
-lutinvcs.action.diffAll=
+lutinvcs.action.commit=commit
+lutinvcs.action.commitAll=commit all
+lutinvcs.action.diff=diff
+lutinvcs.action.diffAll=diff all
lutinvcs.action.refresh=
-lutinvcs.action.revertAll=
-lutinvcs.action.updateAll=
+lutinvcs.action.revert=revert selected files
+lutinvcs.action.revertAll=revert all files
+lutinvcs.action.tooltip.commit=commit selected files
+lutinvcs.action.tooltip.commitAll=commit all files
+lutinvcs.action.tooltip.diff=show diff for selected files
+lutinvcs.action.tooltip.diffAll=show diff of all files
+lutinvcs.action.tooltip.refresh=refresh selected files
+lutinvcs.action.tooltip.revert=revert selected files
+lutinvcs.action.tooltip.revertAll=revert all files
+lutinvcs.action.tooltip.update=update selected files
+lutinvcs.action.tooltip.updateAll=update all files
+lutinvcs.action.update=update
+lutinvcs.action.updateAll=update all
lutinvcs.error.fieldmodel.already.registred=FieldAccess [{0}] is already registred
lutinvcs.error.fieldmodel.not.registred=could not found a matching entry in cache for [{0}]
lutinvcs.error.fieldmodel.unmatchin.options=you can not defined a such model with no the same number of optionClass and optionNames
lutinvcs.file=File
lutinvcs.logDiff=show diff
lutinvcs.module=Module
+lutinvcs.quit=Quit
lutinvcs.rev=Revision
lutinvcs.select=Select
+lutinvcs.synch.title=Synch
+lutinvcs.tabs.all=all
+lutinvcs.tabs.local=local
+lutinvcs.tabs.remote=remote
+lutinvcs.tabs.tooltip.all=Show all files (local and remote)
+lutinvcs.tabs.tooltip.local=Show all local files
+lutinvcs.tabs.tooltip.remote=Show all remote files
Modified: trunk/lutinvcs/lutinvcs-ui/src/main/resources/i18n/lutinvcs-ui-fr_FR.properties
===================================================================
--- trunk/lutinvcs/lutinvcs-ui/src/main/resources/i18n/lutinvcs-ui-fr_FR.properties 2008-03-31 20:41:08 UTC (rev 249)
+++ trunk/lutinvcs/lutinvcs-ui/src/main/resources/i18n/lutinvcs-ui-fr_FR.properties 2008-03-31 20:41:20 UTC (rev 250)
@@ -1,10 +1,21 @@
-lutinutil.common.quit=quitter
-lutinutil.config.title=
lutinvcs.action=Action
+lutinvcs.action.commit=commit
lutinvcs.action.commitAll=tout commiter
+lutinvcs.action.diff=diff
lutinvcs.action.diffAll=voir tous les diffs
-lutinvcs.action.refresh=rafraichir
+lutinvcs.action.refresh=
+lutinvcs.action.revert=revert
lutinvcs.action.revertAll=annuler les modifications
+lutinvcs.action.tooltip.commit=commiter les fichiers s\u00E9lectionn\u00E9s
+lutinvcs.action.tooltip.commitAll=commiter tous les fichiers
+lutinvcs.action.tooltip.diff=voir les diff\u00E9rences des fichiers s\u00E9lectionn\u00E9s
+lutinvcs.action.tooltip.diffAll=voir les diff\u00E9rences de tous les fichiers
+lutinvcs.action.tooltip.refresh=rafra\u00EEchir
+lutinvcs.action.tooltip.revert=annuler les modifications sur les fichiers s\u00E9lectionn\u00E9s
+lutinvcs.action.tooltip.revertAll=annuller les modifications sur tous les fichiers
+lutinvcs.action.tooltip.update=mettre \u00E0 jour les fichiers s\u00E9lectionn\u00E9s
+lutinvcs.action.tooltip.updateAll=mettre \u00E0 jour tous les fichiers
+lutinvcs.action.update=update
lutinvcs.action.updateAll=tout mettre \u00E0 jour
lutinvcs.error.fieldmodel.already.registred=FieldAccess [{0}] is already registred
lutinvcs.error.fieldmodel.not.registred=could not found a matching entry in cache for [{0}]
@@ -12,5 +23,13 @@
lutinvcs.file=Fichier
lutinvcs.logDiff=LogDiff
lutinvcs.module=Module
+lutinvcs.quit=Quitter
lutinvcs.rev=R\u00E9vision
lutinvcs.select=S\u00E9lectionner
+lutinvcs.synch.title=Synchronisation
+lutinvcs.tabs.all=all
+lutinvcs.tabs.local=local
+lutinvcs.tabs.remote=remote
+lutinvcs.tabs.tooltip.all=voir tous les fichiers modifi\u00E9s localement ou \u00E0 distance
+lutinvcs.tabs.tooltip.local=voir tous les fichiers locaux
+lutinvcs.tabs.tooltip.remote=voir tous les fichiers \u00E0 distance
1
0
r249 - in trunk/lutinvcs: lutinvcs-core/src/main/java/org/codelutin/vcs lutinvcs-ui/src/main/uimodel/org/codelutin/vcs/ui lutinvcs-ui/src/test/java/org/codelutin/vcs/ui
by tchemit@users.labs.libre-entreprise.org 31 Mar '08
by tchemit@users.labs.libre-entreprise.org 31 Mar '08
31 Mar '08
Author: tchemit
Date: 2008-03-31 20:41:08 +0000 (Mon, 31 Mar 2008)
New Revision: 249
Modified:
trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/VCSFileStateImpl.java
trunk/lutinvcs/lutinvcs-ui/src/main/uimodel/org/codelutin/vcs/ui/VCSUpdateDialog.jaxx
trunk/lutinvcs/lutinvcs-ui/src/main/uimodel/org/codelutin/vcs/ui/common.css
trunk/lutinvcs/lutinvcs-ui/src/test/java/org/codelutin/vcs/ui/UITest.java
Log:
begin of synch ui
Modified: trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/VCSFileStateImpl.java
===================================================================
--- trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/VCSFileStateImpl.java 2008-03-31 20:40:35 UTC (rev 248)
+++ trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/VCSFileStateImpl.java 2008-03-31 20:41:08 UTC (rev 249)
@@ -73,7 +73,7 @@
* @param handler the vcs handler used with this working copy
* @param file file to be handled
*/
- protected VCSFileStateImpl(VCSHandler handler, File file) {
+ public VCSFileStateImpl(VCSHandler handler, File file) {
this.file = file;
this.key = file.getAbsolutePath().hashCode();
String path = file.getAbsolutePath();
@@ -85,7 +85,12 @@
"vcsHandler, but was : [" + file + " ::" +
handler.getLocalDatabasePath() + " ]");
}
- this.localPath = path.substring(rootPath.length() + 1);
+ if (file.equals(handler.getConfig().getLocalDatabasePath())) {
+ this.localPath = "";
+ } else {
+
+ this.localPath = path.substring(rootPath.length() + 1);
+ }
// by default moduleName is the first dir of localpath (if any)
int index = this.localPath.indexOf(File.separator);
if (index == -1) {
@@ -254,5 +259,9 @@
public void setAction(VCSAction action) {
this.action = action;
}
+
+ public void setState(VCSState state) {
+ this.state = state;
+ }
}
Modified: trunk/lutinvcs/lutinvcs-ui/src/main/uimodel/org/codelutin/vcs/ui/VCSUpdateDialog.jaxx
===================================================================
--- trunk/lutinvcs/lutinvcs-ui/src/main/uimodel/org/codelutin/vcs/ui/VCSUpdateDialog.jaxx 2008-03-31 20:40:35 UTC (rev 248)
+++ trunk/lutinvcs/lutinvcs-ui/src/main/uimodel/org/codelutin/vcs/ui/VCSUpdateDialog.jaxx 2008-03-31 20:41:08 UTC (rev 249)
@@ -1,8 +1,11 @@
-<JDialog title='lutinutil.config.title' modal='true'
- defaultCloseOperation='DISPOSE_ON_CLOSE' width='500' height='300'>
+<JDialog title='lutinvcs.synch.title'
+ defaultCloseOperation='DISPOSE_ON_CLOSE'>
<style source="common.css"/>
<script>
+ protected void selectTab(String tabname) {
+ cardLayout.show(preview, tabname);
+ }
Action quitAction ;
JRootPane rootPane = getRootPane();
@@ -15,49 +18,67 @@
};
rootPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"),"quit");
rootPane.getActionMap().put("quit", quitAction);
+ allTable.setModel(model.getModel("model.synch.all"));
+ localTable.setModel(model.getModel("model.synch.local"));
+ remoteTable.setModel(model.getModel("model.synch.remote"));
+ refresh.setText("");
+ diffAll.setText("");
+ updateAll.setText("");
+ commitAll.setText("");
+ revertAll.setText("");
</script>
<DefaultListModel id='listModel'/>
- <org.codelutin.vcs.ui.VCSFileStateTableModel id="allModel"/>
- <org.codelutin.vcs.ui.VCSFileStateTableModel id="localModel"/>
- <org.codelutin.vcs.ui.VCSFileStateTableModel id="remoteModel"/>
+ <org.codelutin.vcs.ui.model.SynchUIModel id="model"/>
<java.awt.CardLayout id='cardLayout'/>
<JPopupMenu id="tablePopupMenu" invoker='{allTable}' enabled='false'>
- <JMenuItem id='diff'/>
- <JMenuItem id='update'/>
- <JMenuItem id='commit'/>
- <JMenuItem id='revert'/>
+ <JMenuItem id='diff' text="lutinvcs.action.diff" toolTipText="lutinvcs.action.tooltip.diff"/>
+ <JMenuItem id='update' text="lutinvcs.action.update" toolTipText="lutinvcs.action.tooltip.update"/>
+ <JMenuItem id='commit' text="lutinvcs.action.commit" toolTipText="lutinvcs.action.tooltip.commit"/>
+ <JMenuItem id='revert' text="lutinvcs.action.revert" toolTipText="lutinvcs.action.tooltip.revert"/>
</JPopupMenu>
<Table>
<row fill='both'>
<cell fill='both' weightx='1'>
<JToolBar>
- <JButton id='refresh' text="lutinvcs.action.refresh"/>
- <JButton id='diffAll' text="lutinvcs.action.diffAll"/>
- <JButton id='updateAll' text="lutinvcs.action.updateAll"/>
- <JButton id='commitAll' text="lutinvcs.action.commitAll"/>
- <JButton id='revertAll' text="lutinvcs.action.revertAll"/>
+ <JToggleButton id='allTab' selected='true' buttonGroup='tabs' text='lutinvcs.tabs.all'
+ toolTipText="lutinvcs.tabs.tooltip.all" onActionPerformed='selectTab("all")'/>
+ <JToggleButton id='localTab' selected='false' buttonGroup='tabs' text='lutinvcs.tabs.local'
+ toolTipText="lutinvcs.tabs.tooltip.local" onActionPerformed='selectTab("local")'/>
+ <JToggleButton id='remoteTab' selected='false' buttonGroup='tabs' text='lutinvcs.tabs.remote'
+ toolTipText="lutinvcs.tabs.tooltip.remote" onActionPerformed='selectTab("remote")'/>
+
+ <JButton id='refresh' text="lutinvcs.action.refresh" toolTipText="lutinvcs.action.tooltip.refresh"
+ icon='{createImageIcon("autoRefresh.png")}'/>
+ <JButton id='diffAll' text="lutinvcs.action.diffAll" toolTipText="lutinvcs.action.tooltip.diffAll"
+ icon='{createImageIcon("diff.png")}'/>
+ <JButton id='updateAll' text="lutinvcs.action.updateAll"
+ toolTipText="lutinvcs.action.tooltip.updateAll" icon='{createImageIcon("update.png")}'/>
+ <JButton id='commitAll' text="lutinvcs.action.commitAll"
+ toolTipText="lutinvcs.action.tooltip.commitAll" icon='{createImageIcon("commit.png")}'/>
+ <JButton id='revertAll' text="lutinvcs.action.revertAll"
+ toolTipText="lutinvcs.action.tooltip.revertAll" icon='{createImageIcon("rollback.png")}'/>
</JToolBar>
</cell>
</row>
- <row fill='both'>
+ <row fill='both'>
<cell fill='both' weighty='1' weightx='2'>
<JPanel id='preview' layout='{cardLayout}'>
<JScrollPane id='allContent' styleClass='updateScroll' constraints='"all"'>
- <JTable id="allTable" model="{allModel}" styleClass='updateTable'/>
+ <JTable id="allTable" styleClass='updateTable'/>
</JScrollPane>
<JScrollPane id='localContent' styleClass='updateScroll' visible='false' constraints='"local"'>
- <JTable id="localTable" model="{localModel}" styleClass='updateTable'/>
+ <JTable id="localTable" styleClass='updateTable'/>
</JScrollPane>
<JScrollPane id='remoteContent' styleClass='updateScroll' visible='false' constraints='"remote"'>
- <JTable id="remoteTable" model="{remoteModel}" styleClass='updateTable'/>
+ <JTable id="remoteTable" styleClass='updateTable'/>
</JScrollPane>
</JPanel>
</cell>
</row>
<row>
<cell columns='2' fill='both'>
- <JButton id='quit' text='lutinutil.common.quit' action='{quitAction}'/>
+ <JButton id='quit' text='lutinvcs.quit' action='{quitAction}'/>
</cell>
</row>
</Table>
Modified: trunk/lutinvcs/lutinvcs-ui/src/main/uimodel/org/codelutin/vcs/ui/common.css
===================================================================
--- trunk/lutinvcs/lutinvcs-ui/src/main/uimodel/org/codelutin/vcs/ui/common.css 2008-03-31 20:40:35 UTC (rev 248)
+++ trunk/lutinvcs/lutinvcs-ui/src/main/uimodel/org/codelutin/vcs/ui/common.css 2008-03-31 20:41:08 UTC (rev 249)
@@ -1,36 +1,49 @@
JToolBar {
- floatable:false;
- focusable:false;
- opaque:false;
- margin:0;
- borderPainted:false;
+ floatable: false;
+ focusable: false;
+ opaque: false;
+ margin: 0;
+ borderPainted: false;
}
JButton {
- opaque:false;
- borderPainted:false;
- /*enabled:false;*/
- margin:0;
+ opaque: false;
+ borderPainted: false;
+ enabled: false;
+ margin: 0;
}
+JToggleButton {
+ opaque: false;
+ borderPainted: false;
+ margin: 0;
+}
+
JMenuItem {
- enabled:true;
+ enabled: true;
}
JMenu {
- enabled:true;
+ enabled: true;
}
.smallSize {
- font-size:9;
+ font-size: 9;
}
.updateTable {
- rowSelectionAllowed:false;
- autoResizeMode:auto_resize_last_column;
+ rowSelectionAllowed: true;
+ autoResizeMode: auto_resize_last_column;
+ showVerticalLines: false;
+ cellSelectionEnabled: false;
+ rowMargin: 0;
+ selectionMode: { ListSelectionModel . MULTIPLE_INTERVAL_SELECTION
}
+;
+}
+
.updateScroll {
- verticalScrollBarPolicy:20;
- horizontalScrollBarPolicy:31;
+ verticalScrollBarPolicy: 20;
+ horizontalScrollBarPolicy: 31;
}
\ No newline at end of file
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-03-31 20:40:35 UTC (rev 248)
+++ trunk/lutinvcs/lutinvcs-ui/src/test/java/org/codelutin/vcs/ui/UITest.java 2008-03-31 20:41:08 UTC (rev 249)
@@ -14,11 +14,70 @@
*/
package org.codelutin.vcs.ui;
+import org.codelutin.vcs.VCSFileState;
+import org.codelutin.vcs.VCSFileStateImpl;
+import org.codelutin.vcs.VCSHandler;
+import org.codelutin.vcs.VCSHandlerFactory;
+import org.codelutin.vcs.VCSState;
+import org.codelutin.vcs.mock.MockVCSConfig;
+import org.codelutin.vcs.ui.model.SynchUIModel;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
/** @author chemit */
public class UITest {
public static void main(String[] args) {
- VCSUpdateDialog dialog =new VCSUpdateDialog();
+ org.codelutin.i18n.I18n.init();
+
+ VCSUpdateDialog dialog = new VCSUpdateDialog();
+ SynchUIModel model = dialog.getModel();
+ MockVCSConfig config = new MockVCSConfig();
+ File root = new File(new File("").getAbsolutePath());
+ config.setLocalRoot(root);
+ config.setInit(true);
+ VCSHandlerFactory.setConfig(config);
+
+ VCSHandler handler = VCSHandlerFactory.getHandler();
+
+ List<VCSFileState> datas = generateLocalFileStates(handler, new File(root, "trunk"));
+ datas.addAll(generateRemoteFileStates(handler, new File(root, "trunk")));
+
+ model.setData(datas);
dialog.setVisible(true);
}
+
+ protected static List<VCSFileState> generateLocalFileStates(VCSHandler handler, File root) {
+ List<VCSFileState> datas = new ArrayList<VCSFileState>();
+ VCSFileStateImpl state;
+ state = new VCSFileStateImpl(handler, new File(root, "local/file0"));
+ state.setState(VCSState.MODIFIED);
+ datas.add(state);
+
+ state = new VCSFileStateImpl(handler, new File(root, "local/file1"));
+ state.setState(VCSState.UNVERSIONNED);
+ datas.add(state);
+ state = new VCSFileStateImpl(handler, new File(root, "local/file2"));
+ state.setState(VCSState.MODIFIED);
+ datas.add(state);
+ return datas;
+ }
+
+ protected static List<VCSFileState> generateRemoteFileStates(VCSHandler handler, File root) {
+ List<VCSFileState> datas = new ArrayList<VCSFileState>();
+ VCSFileStateImpl state;
+ state = new VCSFileStateImpl(handler, new File(root, "remote/file0"));
+ state.setState(VCSState.MISSING);
+ datas.add(state);
+
+ state = new VCSFileStateImpl(handler, new File(root, "remote/file1"));
+ state.setState(VCSState.OUT_OF_DATE);
+ datas.add(state);
+ state = new VCSFileStateImpl(handler, new File(root, "remote/file2"));
+ state.setState(VCSState.MISSING);
+ datas.add(state);
+ return datas;
+ }
}
1
0
r248 - trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model
by tchemit@users.labs.libre-entreprise.org 31 Mar '08
by tchemit@users.labs.libre-entreprise.org 31 Mar '08
31 Mar '08
Author: tchemit
Date: 2008-03-31 20:40:35 +0000 (Mon, 31 Mar 2008)
New Revision: 248
Added:
trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/AbstractVCSFileStatesModel.java
trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/SynchUIModel.java
trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/SynchVCSFileStatesModel.java
Removed:
trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/VCSRepositoryModel.java
Modified:
trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/VCSFileStateTableModel.java
Log:
ui models
Copied: trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/AbstractVCSFileStatesModel.java (from rev 245, trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/VCSFileStateTableModel.java)
===================================================================
--- trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/AbstractVCSFileStatesModel.java (rev 0)
+++ trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/AbstractVCSFileStatesModel.java 2008-03-31 20:40:35 UTC (rev 248)
@@ -0,0 +1,179 @@
+/*
+* ##% 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.ui.model;
+
+import static org.codelutin.i18n.I18n._;
+import org.codelutin.vcs.VCSAction;
+import org.codelutin.vcs.VCSFileState;
+import org.codelutin.vcs.VCSState;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * Simple Table model to display list of VCSFileState
+ *
+ * @author chemit
+ */
+public abstract class AbstractVCSFileStatesModel extends javax.swing.table.AbstractTableModel {
+
+ protected List<VCSFileState> data;
+
+ protected final String[] columnNames;
+
+ private static final long serialVersionUID = 4697917831388337369L;
+
+ protected AbstractVCSFileStatesModel(String[] columnNames) {
+ super();
+ this.columnNames = columnNames;
+ }
+
+ public List<VCSFileState> getData() {
+ return data;
+ }
+
+ public int getColumnCount() {
+ return columnNames.length;
+ }
+
+ public int getRowCount() {
+ return data == null ? 0 : data.size();
+ }
+
+ /*@Override
+ public Class<?> getColumnClass(int columnIndex) {
+ return String.class;
+ }*/
+
+ @Override
+ public String getColumnName(int columnIndex) {
+ return _(columnNames[columnIndex]);
+ }
+
+ @Override
+ public boolean isCellEditable(int rowIndex, int columnIndex) {
+ // read only data
+ return false;
+ }
+
+ @Override
+ public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
+ // read only data
+ }
+
+
+ public void setData(List<VCSFileState> states) {
+ if (data != null) {
+ data.clear();
+ data.addAll(states);
+ } else {
+ data = new ArrayList<VCSFileState>(states);
+ }
+ fireTableDataChanged();
+ }
+
+ public void addData(VCSFileState... states) {
+ if (data != null) {
+ data.addAll(Arrays.asList(states));
+ } else {
+ data = new ArrayList<VCSFileState>(Arrays.asList(states));
+ }
+ fireTableDataChanged();
+ }
+
+ public void removeData(VCSFileState... states) {
+ if (isEmpty()) {
+ return;
+ }
+ data.removeAll(Arrays.asList(states));
+ fireTableDataChanged();
+ }
+
+ protected boolean isEmpty() {
+ return data == null || data.isEmpty();
+ }
+
+ public void clear() {
+ if (isEmpty()) {
+ return;
+ }
+ data.clear();
+ fireTableDataChanged();
+ }
+
+ public VCSFileState[] getData(VCSAction action) {
+ if (isEmpty()) {
+ return new VCSFileState[0];
+ }
+ List<VCSFileState> list = new ArrayList<VCSFileState>(data);
+ for (Iterator<VCSFileState> it = list.iterator(); it.hasNext();) {
+ VCSFileState fileState = it.next();
+ List<VCSAction> actions = fileState.getState().getActions();
+ if (!actions.contains(action)) {
+ it.remove();
+ }
+ }
+ return list.toArray(new VCSFileState[list.size()]);
+ }
+
+ public VCSFileState[] getData(VCSState action) {
+ if (isEmpty()) {
+ return new VCSFileState[0];
+ }
+ List<VCSFileState> list = new ArrayList<VCSFileState>(data);
+ for (Iterator<VCSFileState> it = list.iterator(); it.hasNext();) {
+ VCSFileState fileState = it.next();
+ if (!action.equals(fileState.getState())) {
+ it.remove();
+ }
+ }
+ return list.toArray(new VCSFileState[list.size()]);
+ }
+
+ public VCSState[] getStates() {
+ if (isEmpty()) {
+ return new VCSState[0];
+ }
+ List<VCSState> result = new ArrayList<VCSState>();
+ for (VCSFileState vcsFileState : data) {
+ VCSState state = vcsFileState.getState();
+ if (state != null && !result.contains(state)) {
+ result.add(state);
+ }
+ }
+ return result.toArray(new VCSState[result.size()]);
+ }
+
+ public VCSAction[] getActions() {
+ if (isEmpty()) {
+ return new VCSAction[0];
+ }
+ List<VCSAction> result = new ArrayList<VCSAction>();
+ for (VCSFileState vcsFileState : data) {
+ VCSAction action = vcsFileState.getAction();
+ if (action != null && !result.contains(action)) {
+ result.add(action);
+ }
+ }
+ return result.toArray(new VCSAction[result.size()]);
+ }
+}
\ No newline at end of file
Copied: trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/SynchUIModel.java (from rev 245, trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/VCSRepositoryModel.java)
===================================================================
--- trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/SynchUIModel.java (rev 0)
+++ trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/SynchUIModel.java 2008-03-31 20:40:35 UTC (rev 248)
@@ -0,0 +1,123 @@
+/**
+ * # #% 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.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.codelutin.vcs.VCSFileState;
+import org.codelutin.vcs.VCSHandler;
+import static org.codelutin.vcs.ui.VCSUIConstants.ALL_MODEL_PROPERTY;
+import static org.codelutin.vcs.ui.VCSUIConstants.LOCAL_MODEL_PROPERTY;
+import static org.codelutin.vcs.ui.VCSUIConstants.REMOTE_MODEL_PROPERTY;
+
+import java.io.File;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+/**
+ * Model of a repository
+ *
+ * @author chemit
+ */
+public class SynchUIModel {
+
+ /** to use log facility, just put in your code: log.info(\"...\"); */
+ static protected final Log log = LogFactory.getLog(SynchUIModel.class);
+
+ /** local root : wroking copy */
+ protected File localRoot;
+
+ /** remote root : remote url */
+ protected URL remoteRoot;
+
+ /** vcs handler to use (lazy instanciation) */
+ protected VCSHandler handler;
+
+ /** map of models */
+ protected Map<String, SynchVCSFileStatesModel> models;
+
+ public SynchUIModel() {
+ }
+
+ public SynchUIModel(VCSHandler handler, File localRoot, URL remoteRoot) {
+ this.handler = handler;
+ this.localRoot = localRoot;
+ this.remoteRoot = remoteRoot;
+ }
+
+ public void setLocalRoot(File localRoot) {
+ this.localRoot = localRoot;
+ }
+
+ public void setRemoteRoot(URL remoteRoot) {
+ this.remoteRoot = remoteRoot;
+ }
+
+ public SynchVCSFileStatesModel getModel(String modelName) {
+ SynchVCSFileStatesModel tableModel = getModels().get(modelName);
+ if (tableModel == null) {
+ getModels().put(modelName, tableModel = new SynchVCSFileStatesModel());
+ }
+ return tableModel;
+ }
+
+ public void setData(List<VCSFileState> states) {
+ getModel(ALL_MODEL_PROPERTY).setData(states);
+ List<VCSFileState> local = new ArrayList<VCSFileState>(states);
+ List<VCSFileState> remote = new ArrayList<VCSFileState>();
+ splitStates(states, local, remote);
+ getModel(LOCAL_MODEL_PROPERTY).setData(local);
+ getModel(REMOTE_MODEL_PROPERTY).setData(remote);
+ }
+
+ public void addData(List<VCSFileState> states) {
+ getModel(ALL_MODEL_PROPERTY).setData(states);
+ List<VCSFileState> local = new ArrayList<VCSFileState>();
+ List<VCSFileState> remote = new ArrayList<VCSFileState>();
+ splitStates(states, local, remote);
+ getModel(LOCAL_MODEL_PROPERTY).addData(local.toArray(new VCSFileState[local.size()]));
+ getModel(REMOTE_MODEL_PROPERTY).addData(remote.toArray(new VCSFileState[remote.size()]));
+ }
+
+ public void removeData(List<VCSFileState> states) {
+ getModel(ALL_MODEL_PROPERTY).removeData(states.toArray(new VCSFileState[states.size()]));
+ List<VCSFileState> local = new ArrayList<VCSFileState>();
+ List<VCSFileState> remote = new ArrayList<VCSFileState>();
+ splitStates(states, local, remote);
+ getModel(LOCAL_MODEL_PROPERTY).removeData(local.toArray(new VCSFileState[local.size()]));
+ getModel(REMOTE_MODEL_PROPERTY).removeData(remote.toArray(new VCSFileState[remote.size()]));
+ }
+
+ protected Map<String, SynchVCSFileStatesModel> getModels() {
+ if (models == null) {
+ models = new TreeMap<String, SynchVCSFileStatesModel>();
+ }
+ return models;
+ }
+
+ protected void splitStates(List<VCSFileState> states, List<VCSFileState> local, List<VCSFileState> remote) {
+ for (VCSFileState state : states) {
+ if (state.getState()!=null && state.getState().isLocal()) {
+ local.add(state);
+ }
+ if (state.getState()!=null && state.getState().isRemote()) {
+ remote.add(state);
+ }
+ }
+ }
+}
Added: trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/SynchVCSFileStatesModel.java
===================================================================
--- trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/SynchVCSFileStatesModel.java (rev 0)
+++ trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/SynchVCSFileStatesModel.java 2008-03-31 20:40:35 UTC (rev 248)
@@ -0,0 +1,46 @@
+/**
+ * # #% 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.VCSFileState;
+import org.codelutin.vcs.VCSState;
+import org.codelutin.vcs.ui.VCSUIConstants;
+
+/** @author chemit */
+public class SynchVCSFileStatesModel extends AbstractVCSFileStatesModel {
+ private static final long serialVersionUID = -7592705623128585146L;
+
+ public SynchVCSFileStatesModel() {
+ super(VCSUIConstants.SIMPLE_COLUMNS_NAMES);
+ }
+
+ public Object getValueAt(int rowIndex, int columnIndex) {
+ if (isEmpty()) return null;
+ VCSFileState item = data.get(rowIndex);
+ Object result = null;
+ if (columnIndex == 0) {
+ // get module
+ result = item.getLocalPath();
+ } else if (columnIndex == 1) {
+ // get file
+ result = item.getFile().getName();
+ } else if (columnIndex == 2) {
+ // get status
+ VCSState state = item.getState();
+ result = state==null?null:state.libelle();
+ }
+ return result;
+ }
+}
Modified: trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/VCSFileStateTableModel.java
===================================================================
--- trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/VCSFileStateTableModel.java 2008-03-31 20:40:16 UTC (rev 247)
+++ trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/VCSFileStateTableModel.java 2008-03-31 20:40:35 UTC (rev 248)
@@ -39,10 +39,10 @@
protected List<VCSFileState> data;
+ protected String[] columnNames;
+
private static final long serialVersionUID = 4697917831388337369L;
- protected String[] columnNames;
-
public VCSFileStateTableModel() {
super();
columnNames = VCSUIConstants.SIMPLE_COLUMNS_NAMES;
Deleted: trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/VCSRepositoryModel.java
===================================================================
--- trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/VCSRepositoryModel.java 2008-03-31 20:40:16 UTC (rev 247)
+++ trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/VCSRepositoryModel.java 2008-03-31 20:40:35 UTC (rev 248)
@@ -1,124 +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.model;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.codelutin.vcs.VCSAction;
-import org.codelutin.vcs.VCSFileState;
-import org.codelutin.vcs.VCSHandler;
-import org.codelutin.vcs.VCSState;
-import static org.codelutin.vcs.ui.VCSUIConstants.ALL_MODEL_PROPERTY;
-import static org.codelutin.vcs.ui.VCSUIConstants.LOCAL_MODEL_PROPERTY;
-import static org.codelutin.vcs.ui.VCSUIConstants.REMOTE_MODEL_PROPERTY;
-
-import java.io.File;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.EnumSet;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-
-/**
- * Model of a repository
- *
- * @author chemit
- */
-public class VCSRepositoryModel {
-
- /** to use log facility, just put in your code: log.info(\"...\"); */
- static protected final Log log = LogFactory.getLog(VCSRepositoryModel.class);
-
- /** list of states of scanned files */
- protected List<VCSFileState> states = new ArrayList<VCSFileState>();
-
- /** local root : wroking copy */
- protected File localRoot;
-
- /** remote root : remote url */
- protected URL remoteRoot;
-
- /** vcs states to be authorized in this model */
- protected VCSState[] acceptedStates;
-
- /** vcs actions to be authorized in this model */
- protected EnumSet<VCSAction> acceptedActions;
-
- /** vcs handler to use (lazy instanciation) */
- protected VCSHandler handler;
-
- /** map of models */
- protected Map<String, VCSFileStateTableModel> models;
-
- public VCSRepositoryModel(VCSHandler handler, File localRoot, URL remoteRoot) {
- this.handler = handler;
- this.localRoot = localRoot;
- this.remoteRoot = remoteRoot;
- }
-
- public VCSFileStateTableModel getModel(String modelName) {
- VCSFileStateTableModel tableModel = getModels().get(modelName);
- if (tableModel == null) {
- getModels().put(modelName, tableModel = new VCSFileStateTableModel());
- }
- return tableModel;
- }
-
- public void setData(List<VCSFileState> states) {
- getModel(ALL_MODEL_PROPERTY).setData(states);
- List<VCSFileState> local = new ArrayList<VCSFileState>(states);
- List<VCSFileState> remote = new ArrayList<VCSFileState>();
- splitStates(states, local, remote);
- getModel(LOCAL_MODEL_PROPERTY).setData(local);
- getModel(REMOTE_MODEL_PROPERTY).setData(remote);
- }
-
- public void addData(List<VCSFileState> states) {
- getModel(ALL_MODEL_PROPERTY).setData(states);
- List<VCSFileState> local = new ArrayList<VCSFileState>();
- List<VCSFileState> remote = new ArrayList<VCSFileState>();
- splitStates(states, local, remote);
- getModel(LOCAL_MODEL_PROPERTY).addData(local.toArray(new VCSFileState[local.size()]));
- getModel(REMOTE_MODEL_PROPERTY).addData(remote.toArray(new VCSFileState[remote.size()]));
- }
-
- public void removeData(List<VCSFileState> states) {
- getModel(ALL_MODEL_PROPERTY).removeData(states.toArray(new VCSFileState[states.size()]));
- List<VCSFileState> local = new ArrayList<VCSFileState>();
- List<VCSFileState> remote = new ArrayList<VCSFileState>();
- splitStates(states, local, remote);
- getModel(LOCAL_MODEL_PROPERTY).removeData(local.toArray(new VCSFileState[local.size()]));
- getModel(REMOTE_MODEL_PROPERTY).removeData(remote.toArray(new VCSFileState[remote.size()]));
- }
-
- protected Map<String, VCSFileStateTableModel> getModels() {
- if (models == null) {
- models = new TreeMap<String, VCSFileStateTableModel>();
- }
- return models;
- }
-
- protected void splitStates(List<VCSFileState> states, List<VCSFileState> local, List<VCSFileState> remote) {
- for (VCSFileState state : states) {
- if (state.getState().isLocal()) {
- local.add(state);
- }
- if (state.getState().isRemote()) {
- remote.add(state);
- }
- }
- }
-}
1
0
r247 - in trunk/lutinvcs/lutinvcs-core/src/main: java/org/codelutin/vcs java/org/codelutin/vcs/mock resources/META-INF/services
by tchemit@users.labs.libre-entreprise.org 31 Mar '08
by tchemit@users.labs.libre-entreprise.org 31 Mar '08
31 Mar '08
Author: tchemit
Date: 2008-03-31 20:40:16 +0000 (Mon, 31 Mar 2008)
New Revision: 247
Added:
trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/mock/
trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/mock/MockHandlerProvider.java
trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/mock/MockVCSConfig.java
trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/mock/MockVCSHandler.java
trunk/lutinvcs/lutinvcs-core/src/main/resources/META-INF/services/org.codelutin.vcs.VCSHandlerProvider
Log:
add mock vcs handler
Copied: trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/mock/MockHandlerProvider.java (from rev 240, trunk/lutinvcs/lutinvcs-provider-cvs/src/main/java/org/codelutin/vcs/CVSHandlerProvider.java)
===================================================================
--- trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/mock/MockHandlerProvider.java (rev 0)
+++ trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/mock/MockHandlerProvider.java 2008-03-31 20:40:16 UTC (rev 247)
@@ -0,0 +1,30 @@
+/**
+ * # #% 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.mock;
+
+import org.codelutin.vcs.VCSConfig;
+import org.codelutin.vcs.VCSHandlerProvider;
+
+/** @author chemit */
+public class MockHandlerProvider implements VCSHandlerProvider<MockVCSHandler> {
+
+ public String getName() {
+ return "MOCK";
+ }
+
+ public MockVCSHandler newInstance(VCSConfig config) {
+ return new MockVCSHandler(config);
+ }
+}
\ No newline at end of file
Added: trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/mock/MockVCSConfig.java
===================================================================
--- trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/mock/MockVCSConfig.java (rev 0)
+++ trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/mock/MockVCSConfig.java 2008-03-31 20:40:16 UTC (rev 247)
@@ -0,0 +1,126 @@
+/**
+ * # #% 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.mock;
+
+import org.codelutin.vcs.ConnectionState;
+import org.codelutin.vcs.VCSConfig;
+import org.codelutin.vcs.VCSType;
+import org.codelutin.vcs.VCSTypeRepo;
+
+import java.io.File;
+import java.net.URL;
+
+/** @author chemit */
+public class MockVCSConfig implements VCSConfig {
+
+ File localRoot;
+ URL remoteRoot;
+
+ boolean init;
+
+ public boolean canConnect() {
+ return false;
+ }
+
+ public boolean isConnected() {
+ return false;
+ }
+
+ public ConnectionState getConnectionState() {
+ return null;
+ }
+
+ public VCSType getType() {
+ return VCSType.MOCK;
+ }
+
+ public boolean isUseSshConnexion() {
+ return false;
+ }
+
+ public String getHostName() {
+ return null;
+ }
+
+ public File getKeyFile() {
+ return null;
+ }
+
+ public String getUserName() {
+ return null;
+ }
+
+ public boolean isNoPassPhrase() {
+ return false;
+ }
+
+ public String getPassphrase() {
+ return null;
+ }
+
+ public String getRemotePath() {
+ return null;
+ }
+
+ public String getRemoteDatabase() {
+ return remoteRoot.toString();
+ }
+
+ public String getRemoteDatabasePath() {
+ return remoteRoot.toString();
+ }
+
+ public File getLocalDatabasePath() {
+ return localRoot;
+ }
+
+ public VCSTypeRepo getTypeRepo() {
+ return null;
+ }
+
+ public boolean isOffline() {
+ return false;
+ }
+
+ public boolean isReadOnly() {
+ return false;
+ }
+
+ public boolean isInit() {
+ return init;
+ }
+
+ public void validate() {
+ }
+
+ public void setUseSshConnexion(boolean useSshConnexion) {
+ }
+
+ public File getSource() {
+ return null;
+ }
+
+ public void setLocalRoot(File localRoot) {
+ this.localRoot = localRoot;
+ }
+
+ public void setRemoteRoot(URL remoteRoot) {
+ this.remoteRoot = remoteRoot;
+ }
+
+ public void setInit(boolean init) {
+ this.init = init;
+ }
+}
Added: trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/mock/MockVCSHandler.java
===================================================================
--- trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/mock/MockVCSHandler.java (rev 0)
+++ trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/mock/MockVCSHandler.java 2008-03-31 20:40:16 UTC (rev 247)
@@ -0,0 +1,127 @@
+/**
+ * # #% 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.mock;
+
+import org.codelutin.vcs.AbstractVCSHandler;
+import org.codelutin.vcs.VCSConfig;
+import org.codelutin.vcs.VCSException;
+import org.codelutin.vcs.VCSState;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+
+/** @author chemit */
+public class MockVCSHandler extends AbstractVCSHandler {
+
+ protected MockVCSHandler(VCSConfig config) {
+ super(config, "", "");
+ }
+
+ public void initWorkingCopy() throws VCSException {
+ }
+
+ public String getRemoteUrl() {
+ return null;
+ }
+
+ public VCSState getState(File fileState, Collection tmp) throws VCSException {
+ return null;
+ }
+
+ public VCSState getState(File file, Collection tmp, boolean noremote) throws VCSException {
+ return null;
+ }
+
+ public boolean isOnRemote(File file) {
+ return false;
+ }
+
+ public boolean isUpToDate(File file) throws VCSException {
+ return false;
+ }
+
+ public void makeRemoteDir(String commitMessage, String... dirNames) throws VCSException {
+ }
+
+ public void deleteRemoteDir(String commitMessage, String... dirNames) throws VCSException {
+ }
+
+ public long add(List<File> files, String msg) throws VCSException {
+ return 0;
+ }
+
+ public void delete(List<File> files, String msg) throws VCSException {
+ }
+
+ public void revert(List<File> files) throws VCSException {
+ }
+
+ public long commit(List<File> files, String msg) throws VCSException {
+ return 0;
+ }
+
+ public void update(File file, Object revision) throws VCSException {
+ }
+
+ public void update(File file) throws VCSException {
+ }
+
+ public void checkout(File destDir, String module, boolean recurse) throws VCSException {
+ }
+
+ public void checkoutFile(File destDir, String module) throws VCSException {
+ }
+
+ public long checkoutOnlyTheDirectory(File root, Object revision) throws VCSException {
+ return 0;
+ }
+
+ public List<String> getRemoteStorageNames(File directory) throws VCSException {
+ return null;
+ }
+
+ public Object getRevision(File f) throws VCSException {
+ return null;
+ }
+
+ public List getLog(Object startRevision, Object endRevision, File file) throws VCSException {
+ return null;
+ }
+
+ public String getFileContent(File file, Object revision) throws VCSException, IOException {
+ return null;
+ }
+
+ public String getChangeLog(File file) throws VCSException {
+ return null;
+ }
+
+ public String getDiff(File file) throws VCSException, IOException {
+ return null;
+ }
+
+ public String getDiff(File file, Object againstRevision) throws VCSException, IOException {
+ return null;
+ }
+
+ public void testConnection() throws VCSException {
+ }
+
+ public boolean hasProtocoleChanged() throws VCSException {
+ return false;
+ }
+}
Copied: trunk/lutinvcs/lutinvcs-core/src/main/resources/META-INF/services/org.codelutin.vcs.VCSHandlerProvider (from rev 240, trunk/lutinvcs/lutinvcs-provider-cvs/src/main/resources/META-INF/services/org.codelutin.vcs.VCSHandlerProvider)
===================================================================
--- trunk/lutinvcs/lutinvcs-core/src/main/resources/META-INF/services/org.codelutin.vcs.VCSHandlerProvider (rev 0)
+++ trunk/lutinvcs/lutinvcs-core/src/main/resources/META-INF/services/org.codelutin.vcs.VCSHandlerProvider 2008-03-31 20:40:16 UTC (rev 247)
@@ -0,0 +1 @@
+org.codelutin.vcs.mock.MockHandlerProvider
\ No newline at end of file
1
0
r246 - trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs
by tchemit@users.labs.libre-entreprise.org 31 Mar '08
by tchemit@users.labs.libre-entreprise.org 31 Mar '08
31 Mar '08
Author: tchemit
Date: 2008-03-31 20:39:56 +0000 (Mon, 31 Mar 2008)
New Revision: 246
Modified:
trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/VCSType.java
Log:
add mock vcs handler
Modified: trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/VCSType.java
===================================================================
--- trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/VCSType.java 2008-03-31 18:27:47 UTC (rev 245)
+++ trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/VCSType.java 2008-03-31 20:39:56 UTC (rev 246)
@@ -26,6 +26,6 @@
*/
public enum VCSType {
- CVS, SVN
+ CVS, SVN, MOCK
}
1
0
r245 - in trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui: . model
by tchemit@users.labs.libre-entreprise.org 31 Mar '08
by tchemit@users.labs.libre-entreprise.org 31 Mar '08
31 Mar '08
Author: tchemit
Date: 2008-03-31 18:27:47 +0000 (Mon, 31 Mar 2008)
New Revision: 245
Added:
trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/VCSFileStateTableModel.java
trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/VCSRepositoryModel.java
Removed:
trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/VCSFileStateTableModel.java
trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/VCSRepositoryModel.java
Log:
ui models
Deleted: trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/VCSFileStateTableModel.java
===================================================================
--- trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/VCSFileStateTableModel.java 2008-03-31 18:27:28 UTC (rev 244)
+++ trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/VCSFileStateTableModel.java 2008-03-31 18:27:47 UTC (rev 245)
@@ -1,204 +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.ui;
-
-import static org.codelutin.i18n.I18n._;
-import org.codelutin.vcs.VCSAction;
-import org.codelutin.vcs.VCSFileState;
-import org.codelutin.vcs.VCSState;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * Simple Table model to display list of VCSFileState
- *
- * @author chemit
- */
-public class VCSFileStateTableModel extends javax.swing.table.AbstractTableModel {
-
- protected List<VCSFileState> data;
-
- private static final long serialVersionUID = 4697917831388337369L;
-
- protected String[] columnNames;
-
- public VCSFileStateTableModel() {
- super();
- columnNames = VCSUIConstants.SIMPLE_COLUMNS_NAMES;
- }
-
- public VCSFileStateTableModel(String[] columnNames) {
- super();
- this.columnNames = columnNames;
- }
-
- public VCSFileStateTableModel(List<VCSFileState> data) throws RuntimeException {
- super();
- setData(data);
- }
-
- public List<VCSFileState> getData() {
- return data;
- }
-
- public int getColumnCount() {
- return columnNames.length;
- }
-
- public int getRowCount() {
- return data == null ? 0 : data.size();
- }
-
- @Override
- public Class<?> getColumnClass(int columnIndex) {
- return String.class;
- }
-
- @Override
- public String getColumnName(int columnIndex) {
- return _(columnNames[columnIndex]);
- }
-
- @Override
- public boolean isCellEditable(int rowIndex, int columnIndex) {
- return false;
- }
-
- @Override
- public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
- // read only data
- }
-
- public Object getValueAt(int rowIndex, int columnIndex) {
- if (isEmpty()) return null;
- VCSFileState item = data.get(rowIndex);
- Object result = null;
- if (columnIndex == 0) {
- // get module
- result = item.getModuleName();
- } else if (columnIndex == 1) {
- // get file
- result = item.getFile().getName();
- } else if (columnIndex == 2) {
- // get status
- result = item.getState();
- }
- return result;
- }
-
- public void setData(List<VCSFileState> states) {
- if (data != null) {
- data.clear();
- data.addAll(states);
- } else {
- data = new ArrayList<VCSFileState>(states);
- }
- fireTableDataChanged();
- }
-
- public void addData(VCSFileState... states) {
- if (data != null) {
- data.addAll(Arrays.asList(states));
- } else {
- data = new ArrayList<VCSFileState>(Arrays.asList(states));
- }
- fireTableDataChanged();
- }
-
- public void removeData(VCSFileState... states) {
- if (isEmpty()) {
- return;
- }
- data.removeAll(Arrays.asList(states));
- fireTableDataChanged();
- }
-
- private boolean isEmpty() {
- return data == null || data.isEmpty();
- }
-
- public void clear() {
- if (isEmpty()) {
- return;
- }
- data.clear();
- fireTableDataChanged();
- }
-
- public VCSFileState[] getData(VCSAction action) {
- if (isEmpty()) {
- return new VCSFileState[0];
- }
- List<VCSFileState> list = new ArrayList<VCSFileState>(data);
- for (Iterator<VCSFileState> it = list.iterator(); it.hasNext();) {
- VCSFileState fileState = it.next();
- List<VCSAction> actions = fileState.getState().getActions();
- if (!actions.contains(action)) {
- it.remove();
- }
- }
- return list.toArray(new VCSFileState[list.size()]);
- }
-
- public VCSFileState[] getData(VCSState action) {
- if (isEmpty()) {
- return new VCSFileState[0];
- }
- List<VCSFileState> list = new ArrayList<VCSFileState>(data);
- for (Iterator<VCSFileState> it = list.iterator(); it.hasNext();) {
- VCSFileState fileState = it.next();
- if (!action.equals(fileState.getState())) {
- it.remove();
- }
- }
- return list.toArray(new VCSFileState[list.size()]);
- }
-
- public VCSState[] getStates() {
- if (isEmpty()) {
- return new VCSState[0];
- }
- List<VCSState> result = new ArrayList<VCSState>();
- for (VCSFileState vcsFileState : data) {
- VCSState state = vcsFileState.getState();
- if (state != null && !result.contains(state)) {
- result.add(state);
- }
- }
- return result.toArray(new VCSState[result.size()]);
- }
-
- public VCSAction[] getActions() {
- if (isEmpty()) {
- return new VCSAction[0];
- }
- List<VCSAction> result = new ArrayList<VCSAction>();
- for (VCSFileState vcsFileState : data) {
- VCSAction action = vcsFileState.getAction();
- if (action != null && !result.contains(action)) {
- result.add(action);
- }
- }
- return result.toArray(new VCSAction[result.size()]);
- }
-}
\ No newline at end of file
Deleted: trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/VCSRepositoryModel.java
===================================================================
--- trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/VCSRepositoryModel.java 2008-03-31 18:27:28 UTC (rev 244)
+++ trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/VCSRepositoryModel.java 2008-03-31 18:27:47 UTC (rev 245)
@@ -1,124 +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;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.codelutin.vcs.VCSAction;
-import org.codelutin.vcs.VCSFileState;
-import org.codelutin.vcs.VCSHandler;
-import org.codelutin.vcs.VCSState;
-import static org.codelutin.vcs.ui.VCSUIConstants.ALL_MODEL_PROPERTY;
-import static org.codelutin.vcs.ui.VCSUIConstants.LOCAL_MODEL_PROPERTY;
-import static org.codelutin.vcs.ui.VCSUIConstants.REMOTE_MODEL_PROPERTY;
-
-import java.io.File;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.EnumSet;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-
-/**
- * Model of a repository
- *
- * @author chemit
- */
-public class VCSRepositoryModel {
-
- /** to use log facility, just put in your code: log.info(\"...\"); */
- static protected final Log log = LogFactory.getLog(VCSRepositoryModel.class);
-
- /** list of states of scanned files */
- protected List<VCSFileState> states = new ArrayList<VCSFileState>();
-
- /** local root : wroking copy */
- protected File localRoot;
-
- /** remote root : remote url */
- protected URL remoteRoot;
-
- /** vcs states to be authorized in this model */
- protected VCSState[] acceptedStates;
-
- /** vcs actions to be authorized in this model */
- protected EnumSet<VCSAction> acceptedActions;
-
- /** vcs handler to use (lazy instanciation) */
- protected VCSHandler handler;
-
- /** map of models */
- protected Map<String, VCSFileStateTableModel> models;
-
- public VCSRepositoryModel(VCSHandler handler, File localRoot, URL remoteRoot) {
- this.handler = handler;
- this.localRoot = localRoot;
- this.remoteRoot = remoteRoot;
- }
-
- public VCSFileStateTableModel getModel(String modelName) {
- VCSFileStateTableModel tableModel = getModels().get(modelName);
- if (tableModel == null) {
- getModels().put(modelName, tableModel = new VCSFileStateTableModel());
- }
- return tableModel;
- }
-
- public void setData(List<VCSFileState> states) {
- getModel(ALL_MODEL_PROPERTY).setData(states);
- List<VCSFileState> local = new ArrayList<VCSFileState>(states);
- List<VCSFileState> remote = new ArrayList<VCSFileState>();
- splitStates(states, local, remote);
- getModel(LOCAL_MODEL_PROPERTY).setData(local);
- getModel(REMOTE_MODEL_PROPERTY).setData(remote);
- }
-
- public void addData(List<VCSFileState> states) {
- getModel(ALL_MODEL_PROPERTY).setData(states);
- List<VCSFileState> local = new ArrayList<VCSFileState>();
- List<VCSFileState> remote = new ArrayList<VCSFileState>();
- splitStates(states, local, remote);
- getModel(LOCAL_MODEL_PROPERTY).addData(local.toArray(new VCSFileState[local.size()]));
- getModel(REMOTE_MODEL_PROPERTY).addData(remote.toArray(new VCSFileState[remote.size()]));
- }
-
- public void removeData(List<VCSFileState> states) {
- getModel(ALL_MODEL_PROPERTY).removeData(states.toArray(new VCSFileState[states.size()]));
- List<VCSFileState> local = new ArrayList<VCSFileState>();
- List<VCSFileState> remote = new ArrayList<VCSFileState>();
- splitStates(states, local, remote);
- getModel(LOCAL_MODEL_PROPERTY).removeData(local.toArray(new VCSFileState[local.size()]));
- getModel(REMOTE_MODEL_PROPERTY).removeData(remote.toArray(new VCSFileState[remote.size()]));
- }
-
- protected Map<String, VCSFileStateTableModel> getModels() {
- if (models == null) {
- models = new TreeMap<String, VCSFileStateTableModel>();
- }
- return models;
- }
-
- protected void splitStates(List<VCSFileState> states, List<VCSFileState> local, List<VCSFileState> remote) {
- for (VCSFileState state : states) {
- if (state.getState().isLocal()) {
- local.add(state);
- }
- if (state.getState().isRemote()) {
- remote.add(state);
- }
- }
- }
-}
Copied: trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/VCSFileStateTableModel.java (from rev 244, trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/VCSFileStateTableModel.java)
===================================================================
--- trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/VCSFileStateTableModel.java (rev 0)
+++ trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/VCSFileStateTableModel.java 2008-03-31 18:27:47 UTC (rev 245)
@@ -0,0 +1,205 @@
+/*
+* ##% 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.ui.model;
+
+import static org.codelutin.i18n.I18n._;
+import org.codelutin.vcs.VCSAction;
+import org.codelutin.vcs.VCSFileState;
+import org.codelutin.vcs.VCSState;
+import org.codelutin.vcs.ui.VCSUIConstants;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * Simple Table model to display list of VCSFileState
+ *
+ * @author chemit
+ */
+public class VCSFileStateTableModel extends javax.swing.table.AbstractTableModel {
+
+ protected List<VCSFileState> data;
+
+ private static final long serialVersionUID = 4697917831388337369L;
+
+ protected String[] columnNames;
+
+ public VCSFileStateTableModel() {
+ super();
+ columnNames = VCSUIConstants.SIMPLE_COLUMNS_NAMES;
+ }
+
+ public VCSFileStateTableModel(String[] columnNames) {
+ super();
+ this.columnNames = columnNames;
+ }
+
+ public VCSFileStateTableModel(List<VCSFileState> data) throws RuntimeException {
+ super();
+ setData(data);
+ }
+
+ public List<VCSFileState> getData() {
+ return data;
+ }
+
+ public int getColumnCount() {
+ return columnNames.length;
+ }
+
+ public int getRowCount() {
+ return data == null ? 0 : data.size();
+ }
+
+ @Override
+ public Class<?> getColumnClass(int columnIndex) {
+ return String.class;
+ }
+
+ @Override
+ public String getColumnName(int columnIndex) {
+ return _(columnNames[columnIndex]);
+ }
+
+ @Override
+ public boolean isCellEditable(int rowIndex, int columnIndex) {
+ return false;
+ }
+
+ @Override
+ public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
+ // read only data
+ }
+
+ public Object getValueAt(int rowIndex, int columnIndex) {
+ if (isEmpty()) return null;
+ VCSFileState item = data.get(rowIndex);
+ Object result = null;
+ if (columnIndex == 0) {
+ // get module
+ result = item.getModuleName();
+ } else if (columnIndex == 1) {
+ // get file
+ result = item.getFile().getName();
+ } else if (columnIndex == 2) {
+ // get status
+ result = item.getState();
+ }
+ return result;
+ }
+
+ public void setData(List<VCSFileState> states) {
+ if (data != null) {
+ data.clear();
+ data.addAll(states);
+ } else {
+ data = new ArrayList<VCSFileState>(states);
+ }
+ fireTableDataChanged();
+ }
+
+ public void addData(VCSFileState... states) {
+ if (data != null) {
+ data.addAll(Arrays.asList(states));
+ } else {
+ data = new ArrayList<VCSFileState>(Arrays.asList(states));
+ }
+ fireTableDataChanged();
+ }
+
+ public void removeData(VCSFileState... states) {
+ if (isEmpty()) {
+ return;
+ }
+ data.removeAll(Arrays.asList(states));
+ fireTableDataChanged();
+ }
+
+ private boolean isEmpty() {
+ return data == null || data.isEmpty();
+ }
+
+ public void clear() {
+ if (isEmpty()) {
+ return;
+ }
+ data.clear();
+ fireTableDataChanged();
+ }
+
+ public VCSFileState[] getData(VCSAction action) {
+ if (isEmpty()) {
+ return new VCSFileState[0];
+ }
+ List<VCSFileState> list = new ArrayList<VCSFileState>(data);
+ for (Iterator<VCSFileState> it = list.iterator(); it.hasNext();) {
+ VCSFileState fileState = it.next();
+ List<VCSAction> actions = fileState.getState().getActions();
+ if (!actions.contains(action)) {
+ it.remove();
+ }
+ }
+ return list.toArray(new VCSFileState[list.size()]);
+ }
+
+ public VCSFileState[] getData(VCSState action) {
+ if (isEmpty()) {
+ return new VCSFileState[0];
+ }
+ List<VCSFileState> list = new ArrayList<VCSFileState>(data);
+ for (Iterator<VCSFileState> it = list.iterator(); it.hasNext();) {
+ VCSFileState fileState = it.next();
+ if (!action.equals(fileState.getState())) {
+ it.remove();
+ }
+ }
+ return list.toArray(new VCSFileState[list.size()]);
+ }
+
+ public VCSState[] getStates() {
+ if (isEmpty()) {
+ return new VCSState[0];
+ }
+ List<VCSState> result = new ArrayList<VCSState>();
+ for (VCSFileState vcsFileState : data) {
+ VCSState state = vcsFileState.getState();
+ if (state != null && !result.contains(state)) {
+ result.add(state);
+ }
+ }
+ return result.toArray(new VCSState[result.size()]);
+ }
+
+ public VCSAction[] getActions() {
+ if (isEmpty()) {
+ return new VCSAction[0];
+ }
+ List<VCSAction> result = new ArrayList<VCSAction>();
+ for (VCSFileState vcsFileState : data) {
+ VCSAction action = vcsFileState.getAction();
+ if (action != null && !result.contains(action)) {
+ result.add(action);
+ }
+ }
+ return result.toArray(new VCSAction[result.size()]);
+ }
+}
\ No newline at end of file
Copied: trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/VCSRepositoryModel.java (from rev 244, trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/VCSRepositoryModel.java)
===================================================================
--- trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/VCSRepositoryModel.java (rev 0)
+++ trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/VCSRepositoryModel.java 2008-03-31 18:27:47 UTC (rev 245)
@@ -0,0 +1,124 @@
+/**
+ * # #% 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.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.codelutin.vcs.VCSAction;
+import org.codelutin.vcs.VCSFileState;
+import org.codelutin.vcs.VCSHandler;
+import org.codelutin.vcs.VCSState;
+import static org.codelutin.vcs.ui.VCSUIConstants.ALL_MODEL_PROPERTY;
+import static org.codelutin.vcs.ui.VCSUIConstants.LOCAL_MODEL_PROPERTY;
+import static org.codelutin.vcs.ui.VCSUIConstants.REMOTE_MODEL_PROPERTY;
+
+import java.io.File;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.EnumSet;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+/**
+ * Model of a repository
+ *
+ * @author chemit
+ */
+public class VCSRepositoryModel {
+
+ /** to use log facility, just put in your code: log.info(\"...\"); */
+ static protected final Log log = LogFactory.getLog(VCSRepositoryModel.class);
+
+ /** list of states of scanned files */
+ protected List<VCSFileState> states = new ArrayList<VCSFileState>();
+
+ /** local root : wroking copy */
+ protected File localRoot;
+
+ /** remote root : remote url */
+ protected URL remoteRoot;
+
+ /** vcs states to be authorized in this model */
+ protected VCSState[] acceptedStates;
+
+ /** vcs actions to be authorized in this model */
+ protected EnumSet<VCSAction> acceptedActions;
+
+ /** vcs handler to use (lazy instanciation) */
+ protected VCSHandler handler;
+
+ /** map of models */
+ protected Map<String, VCSFileStateTableModel> models;
+
+ public VCSRepositoryModel(VCSHandler handler, File localRoot, URL remoteRoot) {
+ this.handler = handler;
+ this.localRoot = localRoot;
+ this.remoteRoot = remoteRoot;
+ }
+
+ public VCSFileStateTableModel getModel(String modelName) {
+ VCSFileStateTableModel tableModel = getModels().get(modelName);
+ if (tableModel == null) {
+ getModels().put(modelName, tableModel = new VCSFileStateTableModel());
+ }
+ return tableModel;
+ }
+
+ public void setData(List<VCSFileState> states) {
+ getModel(ALL_MODEL_PROPERTY).setData(states);
+ List<VCSFileState> local = new ArrayList<VCSFileState>(states);
+ List<VCSFileState> remote = new ArrayList<VCSFileState>();
+ splitStates(states, local, remote);
+ getModel(LOCAL_MODEL_PROPERTY).setData(local);
+ getModel(REMOTE_MODEL_PROPERTY).setData(remote);
+ }
+
+ public void addData(List<VCSFileState> states) {
+ getModel(ALL_MODEL_PROPERTY).setData(states);
+ List<VCSFileState> local = new ArrayList<VCSFileState>();
+ List<VCSFileState> remote = new ArrayList<VCSFileState>();
+ splitStates(states, local, remote);
+ getModel(LOCAL_MODEL_PROPERTY).addData(local.toArray(new VCSFileState[local.size()]));
+ getModel(REMOTE_MODEL_PROPERTY).addData(remote.toArray(new VCSFileState[remote.size()]));
+ }
+
+ public void removeData(List<VCSFileState> states) {
+ getModel(ALL_MODEL_PROPERTY).removeData(states.toArray(new VCSFileState[states.size()]));
+ List<VCSFileState> local = new ArrayList<VCSFileState>();
+ List<VCSFileState> remote = new ArrayList<VCSFileState>();
+ splitStates(states, local, remote);
+ getModel(LOCAL_MODEL_PROPERTY).removeData(local.toArray(new VCSFileState[local.size()]));
+ getModel(REMOTE_MODEL_PROPERTY).removeData(remote.toArray(new VCSFileState[remote.size()]));
+ }
+
+ protected Map<String, VCSFileStateTableModel> getModels() {
+ if (models == null) {
+ models = new TreeMap<String, VCSFileStateTableModel>();
+ }
+ return models;
+ }
+
+ protected void splitStates(List<VCSFileState> states, List<VCSFileState> local, List<VCSFileState> remote) {
+ for (VCSFileState state : states) {
+ if (state.getState().isLocal()) {
+ local.add(state);
+ }
+ if (state.getState().isRemote()) {
+ remote.add(state);
+ }
+ }
+ }
+}
1
0
r244 - trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui
by tchemit@users.labs.libre-entreprise.org 31 Mar '08
by tchemit@users.labs.libre-entreprise.org 31 Mar '08
31 Mar '08
Author: tchemit
Date: 2008-03-31 18:27:28 +0000 (Mon, 31 Mar 2008)
New Revision: 244
Added:
trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/VCSRepositoryModel.java
trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/VCSUIConstants.java
trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/model/
Modified:
trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/VCSFileStateTableModel.java
Log:
ui models
Modified: trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/VCSFileStateTableModel.java
===================================================================
--- trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/VCSFileStateTableModel.java 2008-03-31 18:10:36 UTC (rev 243)
+++ trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/VCSFileStateTableModel.java 2008-03-31 18:27:28 UTC (rev 244)
@@ -20,7 +20,6 @@
package org.codelutin.vcs.ui;
import static org.codelutin.i18n.I18n._;
-import static org.codelutin.i18n.I18n.n_;
import org.codelutin.vcs.VCSAction;
import org.codelutin.vcs.VCSFileState;
import org.codelutin.vcs.VCSState;
@@ -30,24 +29,29 @@
import java.util.Iterator;
import java.util.List;
-/** Simple Table model to display list of VCSFileState */
-(a)org.codelutin.i18n.I18nable
+/**
+ * Simple Table model to display list of VCSFileState
+ *
+ * @author chemit
+ */
public class VCSFileStateTableModel extends javax.swing.table.AbstractTableModel {
- private final String[] colomnNames = new String[]{
- n_("lutinvcs.module"),
- n_("lutinvcs.file"),
- n_("lutinvcs.status")
- };
-
protected List<VCSFileState> data;
private static final long serialVersionUID = 4697917831388337369L;
- protected VCSFileStateTableModel() {
+ protected String[] columnNames;
+
+ public VCSFileStateTableModel() {
super();
+ columnNames = VCSUIConstants.SIMPLE_COLUMNS_NAMES;
}
+ public VCSFileStateTableModel(String[] columnNames) {
+ super();
+ this.columnNames = columnNames;
+ }
+
public VCSFileStateTableModel(List<VCSFileState> data) throws RuntimeException {
super();
setData(data);
@@ -58,7 +62,7 @@
}
public int getColumnCount() {
- return colomnNames.length;
+ return columnNames.length;
}
public int getRowCount() {
@@ -72,7 +76,7 @@
@Override
public String getColumnName(int columnIndex) {
- return _(colomnNames[columnIndex]);
+ return _(columnNames[columnIndex]);
}
@Override
Added: trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/VCSRepositoryModel.java
===================================================================
--- trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/VCSRepositoryModel.java (rev 0)
+++ trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/VCSRepositoryModel.java 2008-03-31 18:27:28 UTC (rev 244)
@@ -0,0 +1,124 @@
+/**
+ * # #% 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;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.codelutin.vcs.VCSAction;
+import org.codelutin.vcs.VCSFileState;
+import org.codelutin.vcs.VCSHandler;
+import org.codelutin.vcs.VCSState;
+import static org.codelutin.vcs.ui.VCSUIConstants.ALL_MODEL_PROPERTY;
+import static org.codelutin.vcs.ui.VCSUIConstants.LOCAL_MODEL_PROPERTY;
+import static org.codelutin.vcs.ui.VCSUIConstants.REMOTE_MODEL_PROPERTY;
+
+import java.io.File;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.EnumSet;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+/**
+ * Model of a repository
+ *
+ * @author chemit
+ */
+public class VCSRepositoryModel {
+
+ /** to use log facility, just put in your code: log.info(\"...\"); */
+ static protected final Log log = LogFactory.getLog(VCSRepositoryModel.class);
+
+ /** list of states of scanned files */
+ protected List<VCSFileState> states = new ArrayList<VCSFileState>();
+
+ /** local root : wroking copy */
+ protected File localRoot;
+
+ /** remote root : remote url */
+ protected URL remoteRoot;
+
+ /** vcs states to be authorized in this model */
+ protected VCSState[] acceptedStates;
+
+ /** vcs actions to be authorized in this model */
+ protected EnumSet<VCSAction> acceptedActions;
+
+ /** vcs handler to use (lazy instanciation) */
+ protected VCSHandler handler;
+
+ /** map of models */
+ protected Map<String, VCSFileStateTableModel> models;
+
+ public VCSRepositoryModel(VCSHandler handler, File localRoot, URL remoteRoot) {
+ this.handler = handler;
+ this.localRoot = localRoot;
+ this.remoteRoot = remoteRoot;
+ }
+
+ public VCSFileStateTableModel getModel(String modelName) {
+ VCSFileStateTableModel tableModel = getModels().get(modelName);
+ if (tableModel == null) {
+ getModels().put(modelName, tableModel = new VCSFileStateTableModel());
+ }
+ return tableModel;
+ }
+
+ public void setData(List<VCSFileState> states) {
+ getModel(ALL_MODEL_PROPERTY).setData(states);
+ List<VCSFileState> local = new ArrayList<VCSFileState>(states);
+ List<VCSFileState> remote = new ArrayList<VCSFileState>();
+ splitStates(states, local, remote);
+ getModel(LOCAL_MODEL_PROPERTY).setData(local);
+ getModel(REMOTE_MODEL_PROPERTY).setData(remote);
+ }
+
+ public void addData(List<VCSFileState> states) {
+ getModel(ALL_MODEL_PROPERTY).setData(states);
+ List<VCSFileState> local = new ArrayList<VCSFileState>();
+ List<VCSFileState> remote = new ArrayList<VCSFileState>();
+ splitStates(states, local, remote);
+ getModel(LOCAL_MODEL_PROPERTY).addData(local.toArray(new VCSFileState[local.size()]));
+ getModel(REMOTE_MODEL_PROPERTY).addData(remote.toArray(new VCSFileState[remote.size()]));
+ }
+
+ public void removeData(List<VCSFileState> states) {
+ getModel(ALL_MODEL_PROPERTY).removeData(states.toArray(new VCSFileState[states.size()]));
+ List<VCSFileState> local = new ArrayList<VCSFileState>();
+ List<VCSFileState> remote = new ArrayList<VCSFileState>();
+ splitStates(states, local, remote);
+ getModel(LOCAL_MODEL_PROPERTY).removeData(local.toArray(new VCSFileState[local.size()]));
+ getModel(REMOTE_MODEL_PROPERTY).removeData(remote.toArray(new VCSFileState[remote.size()]));
+ }
+
+ protected Map<String, VCSFileStateTableModel> getModels() {
+ if (models == null) {
+ models = new TreeMap<String, VCSFileStateTableModel>();
+ }
+ return models;
+ }
+
+ protected void splitStates(List<VCSFileState> states, List<VCSFileState> local, List<VCSFileState> remote) {
+ for (VCSFileState state : states) {
+ if (state.getState().isLocal()) {
+ local.add(state);
+ }
+ if (state.getState().isRemote()) {
+ remote.add(state);
+ }
+ }
+ }
+}
Added: trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/VCSUIConstants.java
===================================================================
--- trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/VCSUIConstants.java (rev 0)
+++ trunk/lutinvcs/lutinvcs-core/src/main/java/org/codelutin/vcs/ui/VCSUIConstants.java 2008-03-31 18:27:28 UTC (rev 244)
@@ -0,0 +1,46 @@
+/**
+ * # #% 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;
+
+import static org.codelutin.i18n.I18n.n_;
+
+/** @author chemit */
+public class VCSUIConstants {
+
+ /** columns names for a simple table model with module, file and status */
+ public static final String[] SIMPLE_COLUMNS_NAMES = new String[]{
+ n_("lutinvcs.module"),
+ n_("lutinvcs.file"),
+ n_("lutinvcs.status")
+ };
+
+ /** model name for synchronize all tab ui */
+ public static final String ALL_MODEL_PROPERTY = "model.synch.all";
+
+ /** model name for synchronize local tab ui */
+ public static final String LOCAL_MODEL_PROPERTY = "model.synch.local";
+
+ /** model name for synchronize remote tab ui */
+ public static final String REMOTE_MODEL_PROPERTY = "model.synch.remote";
+
+ /** model name for diff ui */
+ public static final String DIFF_MODEL_PROPERTY = "model.diff";
+
+ /** model name for commit ui */
+ public static final String COMMIT_MODEL_PROPERTY = "model.commit";
+
+ /** model name for confirm ui (all actions exception commit) */
+ public static final String CONFIRM_MODEL_PROPERTY = "model.confirm";
+}
1
0
r243 - trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs
by tchemit@users.labs.libre-entreprise.org 31 Mar '08
by tchemit@users.labs.libre-entreprise.org 31 Mar '08
31 Mar '08
Author: tchemit
Date: 2008-03-31 18:10:36 +0000 (Mon, 31 Mar 2008)
New Revision: 243
Modified:
trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/VCSState.java
Log:
add local and remote property on a VCSState saying can have ui action on locale list of files or remote list of files
Modified: trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/VCSState.java
===================================================================
--- trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/VCSState.java 2008-03-31 17:20:39 UTC (rev 242)
+++ trunk/lutinvcs/lutinvcs-api/src/main/java/org/codelutin/vcs/VCSState.java 2008-03-31 18:10:36 UTC (rev 243)
@@ -29,7 +29,7 @@
* <br/>
* The only action for this state is to delete the file, nothing else.
*/
- UP_TO_DATE("uptodate", n_("lutinvcs.state.uptodate"), DELETE),
+ UP_TO_DATE("uptodate", n_("lutinvcs.state.uptodate"), false, false, DELETE),
/**
* when a local file matches a remote copy but not the latest one.
@@ -41,7 +41,7 @@
* <li>{@link VCSAction#CHANGELOG}</li>
* </ul>
*/
- OUT_OF_DATE("outofdate", n_("lutinvcs.state.outofdate"),
+ OUT_OF_DATE("outofdate", n_("lutinvcs.state.outofdate"), false, true,
UPDATE, DIFF, CHANGELOG),
/**
@@ -55,7 +55,7 @@
* <li>{@link VCSAction#DIFF}</li>
* </ul>
*/
- MODIFIED("modified", n_("lutinvcs.state.modified"),
+ MODIFIED("modified", n_("lutinvcs.state.modified"), true, false,
COMMIT, OVERWRITE_AND_UPDATE, REVERT, DIFF),
/**
@@ -71,7 +71,7 @@
* </ul>
*/
OUT_OF_DATE_AND_MODIFIED("outofdateAndModified",
- n_("lutinvcs.state.outofdateAndModified"),
+ n_("lutinvcs.state.outofdateAndModified"), true, true,
OVERWRITE_AND_UPDATE, REVERT, DIFF, CHANGELOG),
/**
@@ -81,7 +81,7 @@
* <li>{@link VCSAction#ADD}</li>
* </ul>
*/
- UNVERSIONNED("unversionned", n_("lutinvcs.state.unversionned"), ADD),
+ UNVERSIONNED("unversionned", n_("lutinvcs.state.unversionned"), true, false, ADD),
/**
* when a file exists on remote repository but not locally.
@@ -90,7 +90,7 @@
* <li>{@link VCSAction#UPDATE}</li>
* </ul>
*/
- MISSING("missing", n_("lutinvcs.state.missing"), UPDATE),
+ MISSING("missing", n_("lutinvcs.state.missing"), false, true, UPDATE),
/**
* when a file is unversionned or missing : this special and durty state
@@ -107,23 +107,28 @@
* </ul>
*/
UNVERSIONNED_OR_MISSING("unversionnedOrMissing",
- n_("lutinvcs.state.unversionnedOrMissing"), ADD, UPDATE),
+ n_("lutinvcs.state.unversionnedOrMissing"), true, true, ADD, UPDATE),
/** to deal with other cases (...) */
- UNKNOWN("unknown", n_("lutinvcs.state.unknown"));
+ UNKNOWN("unknown", n_("lutinvcs.state.unknown"), true, false);
/** libelle to be used */
private final String libelle;
/** key of the state */
private final String key;
-
+ /** flag to indicate if state is on a local file */
+ private final boolean local;
+ /** flag to indicate if state is on a remote file */
+ private final boolean remote;
/** VCSAction associated with this state */
private final List<VCSAction> actions;
- VCSState(String key, String libelle, VCSAction... actions) {
+ VCSState(String key, String libelle, boolean local, boolean remote, VCSAction... actions) {
this.libelle = libelle;
this.actions = Collections.unmodifiableList(Arrays.asList(actions));
this.key = key;
+ this.local = local;
+ this.remote = remote;
}
public String libelle() {
@@ -138,6 +143,14 @@
return key;
}
+ public boolean isLocal() {
+ return local;
+ }
+
+ public boolean isRemote() {
+ return remote;
+ }
+
public boolean authorizeAction(VCSAction... actions) {
java.util.List<VCSAction> acts = java.util.Arrays.asList(actions);
for (VCSAction vcsAction : this.actions) {
1
0
r242 - trunk/lutinvcs/lutinvcs-ui/src/main/java/org/codelutin/vcs/ui
by tchemit@users.labs.libre-entreprise.org 31 Mar '08
by tchemit@users.labs.libre-entreprise.org 31 Mar '08
31 Mar '08
Author: tchemit
Date: 2008-03-31 17:20:39 +0000 (Mon, 31 Mar 2008)
New Revision: 242
Modified:
trunk/lutinvcs/lutinvcs-ui/src/main/java/org/codelutin/vcs/ui/
Log:
svn ignore
Property changes on: trunk/lutinvcs/lutinvcs-ui/src/main/java/org/codelutin/vcs/ui
___________________________________________________________________
Name: svn:ignore
+ VCS*.java
1
0
r241 - in trunk/lutinvcs: . lutinvcs-core lutinvcs-provider-cvs lutinvcs-provider-svn lutinvcs-ui
by tchemit@users.labs.libre-entreprise.org 31 Mar '08
by tchemit@users.labs.libre-entreprise.org 31 Mar '08
31 Mar '08
Author: tchemit
Date: 2008-03-31 17:19:42 +0000 (Mon, 31 Mar 2008)
New Revision: 241
Modified:
trunk/lutinvcs/
trunk/lutinvcs/lutinvcs-core/
trunk/lutinvcs/lutinvcs-provider-cvs/
trunk/lutinvcs/lutinvcs-provider-svn/
trunk/lutinvcs/lutinvcs-ui/
Log:
svn ignore
Property changes on: trunk/lutinvcs
___________________________________________________________________
Name: svn:ignore
- target
*.ipr
*.iws
+ target
target/*
*.ipr
*.iws
Property changes on: trunk/lutinvcs/lutinvcs-core
___________________________________________________________________
Name: svn:ignore
- target
+ target
target/*
Property changes on: trunk/lutinvcs/lutinvcs-provider-cvs
___________________________________________________________________
Name: svn:ignore
- target
+ target
target/*
Property changes on: trunk/lutinvcs/lutinvcs-provider-svn
___________________________________________________________________
Name: svn:ignore
- target
+ target
target/*
Property changes on: trunk/lutinvcs/lutinvcs-ui
___________________________________________________________________
Name: svn:ignore
- target
+ target
target/*
1
0