Révision 1814

tmp/org.txm.rcp/src/main/java/org/txm/rcp/ApplicationWorkbenchAdvisor.java (revision 1814)
38 38
import java.util.ArrayList;
39 39
import java.util.Arrays;
40 40
import java.util.Date;
41
import java.util.List;
41 42
import java.util.Locale;
42 43
import java.util.logging.Handler;
43 44
import java.util.logging.Level;
......
57 58
import org.eclipse.jface.preference.IPreferenceNode;
58 59
import org.eclipse.jface.preference.PreferenceManager;
59 60
import org.eclipse.jface.util.Util;
61
import org.eclipse.jface.viewers.ArrayContentProvider;
62
import org.eclipse.jface.viewers.LabelProvider;
60 63
import org.eclipse.osgi.util.NLS;
61 64
import org.eclipse.swt.graphics.Color;
62 65
import org.eclipse.swt.widgets.Display;
......
78 81
import org.eclipse.ui.console.IOConsole;
79 82
import org.eclipse.ui.console.IOConsoleInputStream;
80 83
import org.eclipse.ui.console.IOConsoleOutputStream;
84
import org.eclipse.ui.dialogs.ListSelectionDialog;
81 85
import org.eclipse.ui.handlers.IHandlerService;
82 86
import org.eclipse.ui.internal.dialogs.WorkbenchPreferenceNode;
83 87
import org.eclipse.ui.statushandlers.StatusManager;
......
864 868

  
865 869
		File previousCorporaDirectory = new File(System.getProperty("user.home"), "TXM/corpora");
866 870

  
871
		Version v = Activator.getDefault().getBundle().getVersion();
872
		String vv = v.getMajor()+"."+v.getMinor()+"."+v.getMicro();
873
		String SAMPLES = "1. "+TXMUIMessages.bind(TXMUIMessages.sampleCorporaOfCurrentTXMP0, vv);
874
		String V080 = "2. "+TXMUIMessages.bind(TXMUIMessages.corporaOfPreviousTXMP0, vv);
875
		String V079 = "3. "+TXMUIMessages.bind(TXMUIMessages.corporaOfPreviousTXMP0, "0.7.9");
867 876
		
868 877
		
878
		final ArrayList<Object> corporaDirs = new ArrayList<Object>();
879
		corporaDirs.add(SAMPLES);
880
		corporaDirs.add(V080);
881
		corporaDirs.add(V079);
882
		
883
		
884
		Display.getDefault().syncExec(new Runnable() {
885
			@Override
886
			public void run() {
887
				Display display = Display.getDefault();
888
				Shell shell = display.getActiveShell();
889
				ListSelectionDialog dialog = new ListSelectionDialog(shell, corporaDirs, 
890
						new ArrayContentProvider(), new LabelProvider(), TXMUIMessages.corporaWillBeRestoredInTheFollowingOrderCorporaAlreadyRestoredWillNotBeReplaced);
891
				dialog.setTitle(TXMUIMessages.selectThecorporaSetsToRestore);
892
				dialog.setInitialElementSelections(corporaDirs);
893
				if (dialog.open() == ListSelectionDialog.OK) {
894
					corporaDirs.clear();
895
					List<Object> selection = Arrays.asList(dialog.getResult());
896
					corporaDirs.addAll(selection);
897
				} else {
898
					corporaDirs.clear();
899
				}
900
			}
901
		});
902
		
903
		// load TXM-0.8.0 sample corpora (from the install directory)
904
				if (corporaDirs.contains(SAMPLES) && sampleCorporaDirectory.exists()) {
905

  
906
					Log.info(TXMUIMessages.installingSampleCorpus);
907

  
908
					JobHandler job = LoadBinaryCorporaDirectory.loadBinaryCorpusFromCorporaDirectory(sampleCorporaDirectory, false, true, false);
909
					try {
910
						job.join();
911
					} catch (InterruptedException e) {
912
						// TODO Auto-generated catch block
913
						e.printStackTrace();
914
					}
915
				}
916
		
869 917
		// TXM-0.8.0 previous installation corpora
870
		if (corporaDir.listFiles(IOUtils.HIDDENFILE_FILTER).length > 0) { // not a new install, restore previous corpora
918
		if (corporaDirs.contains(V080) && corporaDir.listFiles(IOUtils.HIDDENFILE_FILTER).length > 0) { // not a new install, restore previous corpora
871 919
			Log.info(NLS.bind(TXMUIMessages.installingPreviousCorpusFromP0, "0.8.0", corporaDir));
872
			JobHandler job = LoadBinaryCorporaDirectory.loadBinaryCorpusFromCorporaDirectory(corporaDir, false, true, true);
920
			JobHandler job = LoadBinaryCorporaDirectory.loadBinaryCorpusFromCorporaDirectory(corporaDir, false, false, true);
873 921
			try {
874 922
				job.join();
875 923
			} catch (InterruptedException e) {
876 924
				e.printStackTrace();
877 925
			}
926
		} else if (corporaDir.exists()) {
927
			File backupDir = new File(corporaDir.getAbsolutePath()+"-previous");
928
			backupDir.mkdirs();
929
			for (File dir : corporaDir.listFiles(IOUtils.HIDDENFILE_FILTER)) {
930
				File bdir = new File(backupDir, dir.getName());
931
				DeleteDir.deleteDirectory(bdir);
932
				dir.renameTo(bdir);
933
			}
878 934
		}
879 935
		
880 936
		// TXM previous installation corpora
881
		if (previousCorporaDirectory.exists()) { // new installation (empty corpora directory)
937
		if (corporaDirs.contains(V079) && previousCorporaDirectory.exists()) { // new installation (empty corpora directory)
882 938
			Log.info(NLS.bind(TXMUIMessages.installingPreviousCorpusFromP0, "0.7.9", previousCorporaDirectory));
883 939
			JobHandler job = LoadBinaryCorporaDirectory.loadBinaryCorpusFromCorporaDirectory(previousCorporaDirectory, false, false, true);
884 940
			try {
......
888 944
			}
889 945
		}
890 946

  
891
		// load TXM-0.8.0 sample corpora (from the install directory)
892
		if (sampleCorporaDirectory.exists()) {
893

  
894
			Log.info(TXMUIMessages.installingSampleCorpus);
895

  
896
			JobHandler job = LoadBinaryCorporaDirectory.loadBinaryCorpusFromCorporaDirectory(sampleCorporaDirectory, false, true, false);
897
			try {
898
				job.join();
899
			} catch (InterruptedException e) {
900
				// TODO Auto-generated catch block
901
				e.printStackTrace();
902
			}
903
		}
947
		
904 948
	}
905 949

  
906 950
	/**
tmp/org.txm.rcp/src/main/java/org/txm/rcp/messages/TXMUIMessages.java (revision 1814)
513 513

  
514 514
	public static String installingPreviousCorpusFromP0;
515 515

  
516
	public static String p0ImportWithP1; 
516
	public static String p0ImportWithP1;
517 517

  
518
	public static String sampleCorporaOfCurrentTXMP0;
519
	public static String corporaOfPreviousTXMP0; 
520
	public static String corporaWillBeRestoredInTheFollowingOrderCorporaAlreadyRestoredWillNotBeReplaced;
521

  
522
	public static String selectThecorporaSetsToRestore; 
523

  
518 524
	static {
519 525
		// initialize resource bundle
520 526
		Utf8NLS.initializeMessages(BUNDLE_NAME, TXMUIMessages.class);
tmp/org.txm.rcp/src/main/java/org/txm/rcp/messages/messages.properties (revision 1814)
985 985
zoomInAmpoutColonMouseWheelORShiftPlusRightMousePlusDrag = \	Zoom +/-: Mouse wheel OR Shift + Right Mouse + Drag\n
986 986

  
987 987
zoomToSelectionColonCtrlPlusLeftMousePlusdrag = \	Zoom to selection: Ctrl + Left Mouse + Drag\n
988

  
989
sampleCorporaOfCurrentTXMP0=Sample corpora of current TXM {0}
990
corporaOfPreviousTXMP0=Corpora of previous TXM {0}
991
corporaWillBeRestoredInTheFollowingOrderCorporaAlreadyRestoredWillNotBeReplaced=Corpora will be restored in the following order (corpora already restored are not replaced)
992
selectThecorporaSetsToRestore=Select the corpora sets to restore
tmp/org.txm.rcp/src/main/java/org/txm/rcp/messages/messages_fr.properties (revision 1814)
981 981
zoomInAmpoutColonMouseWheelORShiftPlusRightMousePlusDrag = \	Zoom +/- : Roulette OU Maj + Clic Droit + Glisser\n
982 982

  
983 983
zoomToSelectionColonCtrlPlusLeftMousePlusdrag = \	Zoomer sur la sélection : Ctrl + Clic Gauche + Glisser\n
984

  
985
sampleCorporaOfCurrentTXMP0=Corpus d'exemple de la version courante de TXM {0}
986
corporaOfPreviousTXMP0=Corpus de la version précédente de TXM {0}
987
corporaWillBeRestoredInTheFollowingOrderCorporaAlreadyRestoredWillNotBeReplaced=Les corpus seront restaurés dans l'ordre ci-dessous (les corpus déjà restaurés ne sont pas remplacés)
988
selectThecorporaSetsToRestore=Sélectionnez les corpus à restaurer
tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/RWorkspace.java (revision 1814)
66 66
import cern.colt.list.IntArrayList;
67 67
import cern.colt.matrix.DoubleMatrix2D;
68 68

  
69
// TODO: Auto-generated Javadoc
70 69
/**
71 70
 * RWorkspace is the wrapper on top of the R Engine. All data sent to and
72
 * retreive from R are using this class. One instance of this class must be
71
 * retrieve from R are using this class. One instance of this class must be
73 72
 * created in a program.
74 73
 * 
75 74
 * This class throw exception RWorkspace exception, encapsulating lower level

Formats disponibles : Unified diff