Compare commits
No commits in common. "opti" and "master" have entirely different histories.
|
|
@ -1,2 +1,2 @@
|
||||||
Manifest-Version: 1.0
|
Manifest-Version: 1.0
|
||||||
Main-Class: fr.insa.ocm.OCLApplication
|
Main-Class: fr.insa.ocm.view.OCLApplication
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package fr.insa.ocm;
|
package fr.insa.ocm.view;
|
||||||
|
|
||||||
import fr.insa.ocm.controller.OCLController;
|
import fr.insa.ocm.view.mainuis.MainView;
|
||||||
import fr.insa.ocm.controller.mainuis.MainView;
|
import fr.insa.ocm.viewmodel.OCLController;
|
||||||
import javafx.application.Application;
|
import javafx.application.Application;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package fr.insa.ocm.controller.mainuis;
|
package fr.insa.ocm.view.mainuis;
|
||||||
|
|
||||||
|
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
|
|
@ -1,13 +1,14 @@
|
||||||
package fr.insa.ocm.controller.mainuis;
|
package fr.insa.ocm.view.mainuis;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import fr.insa.ocm.model.DebugLogger;
|
import fr.insa.ocm.model.DebugLogger;
|
||||||
import fr.insa.ocm.model.utils.serialize.condition.ConditionsDeserializer;
|
import fr.insa.ocm.model.utils.serialize.condition.ConditionsDeserializer;
|
||||||
import fr.insa.ocm.model.utils.serialize.condition.ConditionsSerializer;
|
import fr.insa.ocm.model.utils.serialize.condition.ConditionsSerializer;
|
||||||
import fr.insa.ocm.controller.misc.FastForwardWaitingView;
|
import fr.insa.ocm.view.OCLApplication;
|
||||||
import fr.insa.ocm.controller.misc.parts.fastforward.AddConditionView;
|
import fr.insa.ocm.view.misc.FastForwardWaitingView;
|
||||||
import fr.insa.ocm.controller.misc.parts.fastforward.ConditionView;
|
import fr.insa.ocm.view.misc.parts.fastforward.AddConditionView;
|
||||||
import fr.insa.ocm.controller.OCLController;
|
import fr.insa.ocm.view.misc.parts.fastforward.ConditionView;
|
||||||
|
import fr.insa.ocm.viewmodel.OCLController;
|
||||||
import fr.insa.ocm.model.utils.fastforward.condition.Condition;
|
import fr.insa.ocm.model.utils.fastforward.condition.Condition;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
|
|
@ -1,17 +1,16 @@
|
||||||
package fr.insa.ocm.controller.mainuis;
|
package fr.insa.ocm.view.mainuis;
|
||||||
|
|
||||||
import fr.insa.ocm.controller.misc.ErrorView;
|
|
||||||
import fr.insa.ocm.controller.misc.InfoView;
|
|
||||||
import fr.insa.ocm.model.OCMManager;
|
import fr.insa.ocm.model.OCMManager;
|
||||||
import fr.insa.ocm.model.utils.serialize.OCMSerializer;
|
import fr.insa.ocm.model.utils.serialize.OCMSerializer;
|
||||||
import fr.insa.ocm.model.wrapper.api.Pattern;
|
import fr.insa.ocm.model.wrapper.api.Pattern;
|
||||||
import fr.insa.ocm.OCLApplication;
|
import fr.insa.ocm.view.OCLApplication;
|
||||||
import fr.insa.ocm.controller.misc.menus.AboutView;
|
import fr.insa.ocm.view.misc.*;
|
||||||
import fr.insa.ocm.controller.misc.menus.MonitorView;
|
import fr.insa.ocm.view.misc.menus.AboutView;
|
||||||
import fr.insa.ocm.controller.misc.menus.LoadStateView;
|
import fr.insa.ocm.view.misc.menus.MonitorView;
|
||||||
import fr.insa.ocm.controller.misc.menus.SettingsView;
|
import fr.insa.ocm.view.misc.menus.LoadStateView;
|
||||||
import fr.insa.ocm.controller.InfoAlgorithm;
|
import fr.insa.ocm.view.misc.menus.SettingsView;
|
||||||
import fr.insa.ocm.controller.OCLController;
|
import fr.insa.ocm.viewmodel.InfoAlgorithm;
|
||||||
|
import fr.insa.ocm.viewmodel.OCLController;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
import javafx.collections.ObservableList;
|
import javafx.collections.ObservableList;
|
||||||
|
|
@ -26,6 +25,7 @@ import javafx.stage.Stage;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class MainView {
|
public class MainView {
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
package fr.insa.ocm.controller.mainuis;
|
package fr.insa.ocm.view.mainuis;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import fr.insa.ocm.model.OCMManager;
|
import fr.insa.ocm.model.OCMManager;
|
||||||
import fr.insa.ocm.model.wrapper.api.Pattern;
|
import fr.insa.ocm.model.wrapper.api.Pattern;
|
||||||
import fr.insa.ocm.controller.misc.parts.mining.PatternView;
|
import fr.insa.ocm.view.misc.parts.mining.PatternView;
|
||||||
import fr.insa.ocm.controller.OCLController;
|
import fr.insa.ocm.viewmodel.OCLController;
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
import javafx.collections.ObservableList;
|
import javafx.collections.ObservableList;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package fr.insa.ocm.controller.misc;
|
package fr.insa.ocm.view.misc;
|
||||||
|
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.fxml.FXMLLoader;
|
import javafx.fxml.FXMLLoader;
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package fr.insa.ocm.controller.misc;
|
package fr.insa.ocm.view.misc;
|
||||||
|
|
||||||
import fr.insa.ocm.controller.OCLController;
|
import fr.insa.ocm.viewmodel.OCLController;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.beans.property.DoubleProperty;
|
import javafx.beans.property.DoubleProperty;
|
||||||
import javafx.beans.property.StringProperty;
|
import javafx.beans.property.StringProperty;
|
||||||
|
|
@ -64,19 +64,19 @@ public class FastForwardWaitingView {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void bindCurrentOperation(StringProperty currentOpration){
|
public void bindCurrentOperation(StringProperty currentOpration){
|
||||||
Platform.runLater(() -> labelCurrentOperation.textProperty().bind(currentOpration));
|
labelCurrentOperation.textProperty().bind(currentOpration);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void bindCurrentTime(StringProperty remainingTime){
|
public void bindCurrentTime(StringProperty remainingTime){
|
||||||
Platform.runLater(() -> labelTime.textProperty().bind(remainingTime));
|
labelTime.textProperty().bind(remainingTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void bindProgressMining(DoubleProperty progressMining){
|
public void bindProgressMining(DoubleProperty progressMining){
|
||||||
Platform.runLater(() -> progressBarMining.progressProperty().bind(progressMining));
|
progressBarMining.progressProperty().bind(progressMining);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void bindProgressLearning(DoubleProperty progressLearning) {
|
public void bindProgressLearning(DoubleProperty progressLearning) {
|
||||||
Platform.runLater(() -> progressBarRound.progressProperty().bind(progressLearning));
|
progressBarRound.progressProperty().bind(progressLearning);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void buttonAbortFinishPressed(){
|
private void buttonAbortFinishPressed(){
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package fr.insa.ocm.controller.misc;
|
package fr.insa.ocm.view.misc;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package fr.insa.ocm.controller.misc.menus;
|
package fr.insa.ocm.view.misc.menus;
|
||||||
|
|
||||||
import fr.insa.ocm.controller.OCLController;
|
import fr.insa.ocm.viewmodel.OCLController;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.fxml.FXMLLoader;
|
import javafx.fxml.FXMLLoader;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
package fr.insa.ocm.controller.misc.menus;
|
package fr.insa.ocm.view.misc.menus;
|
||||||
|
|
||||||
import fr.insa.ocm.model.OCMManager;
|
import fr.insa.ocm.model.OCMManager;
|
||||||
import fr.insa.ocm.model.utils.serialize.OCMDeserializer;
|
import fr.insa.ocm.model.utils.serialize.OCMDeserializer;
|
||||||
import fr.insa.ocm.controller.misc.ErrorView;
|
import fr.insa.ocm.view.misc.ErrorView;
|
||||||
import fr.insa.ocm.controller.misc.InfoView;
|
import fr.insa.ocm.view.misc.InfoView;
|
||||||
import fr.insa.ocm.controller.mainuis.MainView;
|
import fr.insa.ocm.view.mainuis.MainView;
|
||||||
import fr.insa.ocm.controller.OCLController;
|
import fr.insa.ocm.viewmodel.OCLController;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.beans.property.SimpleStringProperty;
|
import javafx.beans.property.SimpleStringProperty;
|
||||||
import javafx.concurrent.Task;
|
import javafx.concurrent.Task;
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
package fr.insa.ocm.controller.misc.menus;
|
package fr.insa.ocm.view.misc.menus;
|
||||||
|
|
||||||
|
|
||||||
import fr.insa.ocm.model.DebugLogger;
|
import fr.insa.ocm.model.DebugLogger;
|
||||||
import fr.insa.ocm.controller.Monitor;
|
import fr.insa.ocm.viewmodel.Monitor;
|
||||||
import javafx.beans.property.SimpleStringProperty;
|
import javafx.beans.property.SimpleStringProperty;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.fxml.FXMLLoader;
|
import javafx.fxml.FXMLLoader;
|
||||||
|
|
@ -1,12 +1,13 @@
|
||||||
package fr.insa.ocm.controller.misc.menus;
|
package fr.insa.ocm.view.misc.menus;
|
||||||
|
|
||||||
import fr.insa.ocm.model.DebugLogger;
|
import fr.insa.ocm.model.DebugLogger;
|
||||||
import fr.insa.ocm.model.OCMManager;
|
import fr.insa.ocm.model.OCMManager;
|
||||||
|
import fr.insa.ocm.model.oneclicklearning.cache.set.CacheSet;
|
||||||
import fr.insa.ocm.model.wrapper.api.Pattern;
|
import fr.insa.ocm.model.wrapper.api.Pattern;
|
||||||
import fr.insa.ocm.controller.misc.parts.settings.library.SettingsRealKDView;
|
import fr.insa.ocm.view.misc.parts.settings.library.SettingsRealKDView;
|
||||||
import fr.insa.ocm.controller.misc.parts.settings.library.SettingsSPMFView;
|
import fr.insa.ocm.view.misc.parts.settings.library.SettingsSPMFView;
|
||||||
import fr.insa.ocm.controller.misc.parts.settings.pattern.SettingsPatternView;
|
import fr.insa.ocm.view.misc.parts.settings.pattern.SettingsPatternView;
|
||||||
import fr.insa.ocm.controller.OCLController;
|
import fr.insa.ocm.viewmodel.OCLController;
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
import javafx.collections.ObservableList;
|
import javafx.collections.ObservableList;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package fr.insa.ocm.controller.misc.parts.fastforward;
|
package fr.insa.ocm.view.misc.parts.fastforward;
|
||||||
|
|
||||||
import fr.insa.ocm.model.DebugLogger;
|
import fr.insa.ocm.model.DebugLogger;
|
||||||
import fr.insa.ocm.controller.mainuis.FastForwardView;
|
import fr.insa.ocm.view.mainuis.FastForwardView;
|
||||||
import fr.insa.ocm.model.utils.fastforward.condition.Condition;
|
import fr.insa.ocm.model.utils.fastforward.condition.Condition;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.fxml.FXMLLoader;
|
import javafx.fxml.FXMLLoader;
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package fr.insa.ocm.controller.misc.parts.fastforward;
|
package fr.insa.ocm.view.misc.parts.fastforward;
|
||||||
|
|
||||||
import fr.insa.ocm.model.OCMManager;
|
import fr.insa.ocm.model.OCMManager;
|
||||||
import fr.insa.ocm.controller.mainuis.FastForwardView;
|
import fr.insa.ocm.view.mainuis.FastForwardView;
|
||||||
import fr.insa.ocm.model.utils.fastforward.condition.Condition;
|
import fr.insa.ocm.model.utils.fastforward.condition.Condition;
|
||||||
import fr.insa.ocm.model.utils.fastforward.condition.ConditionAlgorithm;
|
import fr.insa.ocm.model.utils.fastforward.condition.ConditionAlgorithm;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
package fr.insa.ocm.controller.misc.parts.fastforward;
|
package fr.insa.ocm.view.misc.parts.fastforward;
|
||||||
|
|
||||||
|
|
||||||
import fr.insa.ocm.model.OCMManager;
|
import fr.insa.ocm.model.OCMManager;
|
||||||
import fr.insa.ocm.controller.mainuis.FastForwardView;
|
import fr.insa.ocm.view.mainuis.FastForwardView;
|
||||||
import fr.insa.ocm.model.utils.fastforward.condition.Condition;
|
import fr.insa.ocm.model.utils.fastforward.condition.Condition;
|
||||||
import fr.insa.ocm.model.utils.fastforward.condition.ConditionAttribute;
|
import fr.insa.ocm.model.utils.fastforward.condition.ConditionAttribute;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package fr.insa.ocm.controller.misc.parts.fastforward;
|
package fr.insa.ocm.view.misc.parts.fastforward;
|
||||||
|
|
||||||
import fr.insa.ocm.model.wrapper.api.Pattern;
|
import fr.insa.ocm.model.wrapper.api.Pattern;
|
||||||
import fr.insa.ocm.controller.mainuis.FastForwardView;
|
import fr.insa.ocm.view.mainuis.FastForwardView;
|
||||||
import fr.insa.ocm.model.utils.fastforward.condition.Condition;
|
import fr.insa.ocm.model.utils.fastforward.condition.Condition;
|
||||||
import fr.insa.ocm.model.utils.fastforward.condition.ConditionMeasureBetween;
|
import fr.insa.ocm.model.utils.fastforward.condition.ConditionMeasureBetween;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package fr.insa.ocm.controller.misc.parts.fastforward;
|
package fr.insa.ocm.view.misc.parts.fastforward;
|
||||||
|
|
||||||
import fr.insa.ocm.model.wrapper.api.Pattern;
|
import fr.insa.ocm.model.wrapper.api.Pattern;
|
||||||
import fr.insa.ocm.controller.mainuis.FastForwardView;
|
import fr.insa.ocm.view.mainuis.FastForwardView;
|
||||||
import fr.insa.ocm.model.utils.fastforward.condition.Condition;
|
import fr.insa.ocm.model.utils.fastforward.condition.Condition;
|
||||||
import fr.insa.ocm.model.utils.fastforward.condition.ConditionMeasureDynamic;
|
import fr.insa.ocm.model.utils.fastforward.condition.ConditionMeasureDynamic;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package fr.insa.ocm.controller.misc.parts.fastforward;
|
package fr.insa.ocm.view.misc.parts.fastforward;
|
||||||
|
|
||||||
import fr.insa.ocm.model.wrapper.api.Pattern;
|
import fr.insa.ocm.model.wrapper.api.Pattern;
|
||||||
import fr.insa.ocm.controller.mainuis.FastForwardView;
|
import fr.insa.ocm.view.mainuis.FastForwardView;
|
||||||
import fr.insa.ocm.model.utils.fastforward.condition.Condition;
|
import fr.insa.ocm.model.utils.fastforward.condition.Condition;
|
||||||
import fr.insa.ocm.model.utils.fastforward.condition.ConditionMeasureStatic;
|
import fr.insa.ocm.model.utils.fastforward.condition.ConditionMeasureStatic;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package fr.insa.ocm.controller.misc.parts.fastforward;
|
package fr.insa.ocm.view.misc.parts.fastforward;
|
||||||
|
|
||||||
import fr.insa.ocm.controller.mainuis.FastForwardView;
|
import fr.insa.ocm.view.mainuis.FastForwardView;
|
||||||
import fr.insa.ocm.model.utils.fastforward.condition.Condition;
|
import fr.insa.ocm.model.utils.fastforward.condition.Condition;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package fr.insa.ocm.controller.misc.parts.mining;
|
package fr.insa.ocm.view.misc.parts.mining;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import fr.insa.ocm.model.DebugLogger;
|
import fr.insa.ocm.model.DebugLogger;
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package fr.insa.ocm.controller.misc.parts.settings.library;
|
package fr.insa.ocm.view.misc.parts.settings.library;
|
||||||
|
|
||||||
|
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package fr.insa.ocm.controller.misc.parts.settings.library;
|
package fr.insa.ocm.view.misc.parts.settings.library;
|
||||||
|
|
||||||
|
|
||||||
import fr.insa.ocm.model.DebugLogger;
|
import fr.insa.ocm.model.DebugLogger;
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package fr.insa.ocm.controller.misc.parts.settings.pattern;
|
package fr.insa.ocm.view.misc.parts.settings.pattern;
|
||||||
|
|
||||||
import fr.insa.ocm.model.wrapper.api.Pattern;
|
import fr.insa.ocm.model.wrapper.api.Pattern;
|
||||||
import fr.insa.ocm.model.wrapper.spmf.AlgorithmLauncherSPMF;
|
import fr.insa.ocm.model.wrapper.spmf.AlgorithmLauncherSPMF;
|
||||||
|
|
@ -1,9 +1,14 @@
|
||||||
package fr.insa.ocm.controller;
|
package fr.insa.ocm.viewmodel;
|
||||||
|
|
||||||
import fr.insa.ocm.model.DebugLogger;
|
import fr.insa.ocm.model.DebugLogger;
|
||||||
import fr.insa.ocm.model.OCMManager;
|
import fr.insa.ocm.model.OCMManager;
|
||||||
import fr.insa.ocm.controller.mainuis.MainView;
|
import fr.insa.ocm.model.wrapper.api.AbstractAlgorithmLauncher;
|
||||||
|
import fr.insa.ocm.view.mainuis.MainView;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
|
import javafx.beans.property.SimpleStringProperty;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class InfoAlgorithm extends Thread {
|
public class InfoAlgorithm extends Thread {
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package fr.insa.ocm.controller;
|
package fr.insa.ocm.viewmodel;
|
||||||
|
|
||||||
import fr.insa.ocm.model.DebugLogger;
|
import fr.insa.ocm.model.DebugLogger;
|
||||||
import fr.insa.ocm.model.OCMManager;
|
import fr.insa.ocm.model.OCMManager;
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package fr.insa.ocm.controller;
|
package fr.insa.ocm.viewmodel;
|
||||||
|
|
||||||
import fr.insa.ocm.model.DebugLogger;
|
import fr.insa.ocm.model.DebugLogger;
|
||||||
import fr.insa.ocm.model.OCMManager;
|
import fr.insa.ocm.model.OCMManager;
|
||||||
|
|
@ -6,7 +6,7 @@ import fr.insa.ocm.model.oneclicklearning.cache.api.Cache;
|
||||||
import fr.insa.ocm.model.oneclicklearning.coactivelearning.api.CoactiveLearning;
|
import fr.insa.ocm.model.oneclicklearning.coactivelearning.api.CoactiveLearning;
|
||||||
import fr.insa.ocm.model.utils.fastforward.FastForward;
|
import fr.insa.ocm.model.utils.fastforward.FastForward;
|
||||||
import fr.insa.ocm.model.wrapper.api.Pattern;
|
import fr.insa.ocm.model.wrapper.api.Pattern;
|
||||||
import fr.insa.ocm.controller.misc.FastForwardWaitingView;
|
import fr.insa.ocm.view.misc.FastForwardWaitingView;
|
||||||
import fr.insa.ocm.model.utils.fastforward.condition.Condition;
|
import fr.insa.ocm.model.utils.fastforward.condition.Condition;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.beans.property.DoubleProperty;
|
import javafx.beans.property.DoubleProperty;
|
||||||
|
|
@ -21,21 +21,20 @@ import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* Note: Singleton class.
|
|
||||||
*/
|
|
||||||
public class OCLController {
|
public class OCLController {
|
||||||
|
|
||||||
public static final String VERSION = "0.5.0.1";
|
public static final String VERSION = "0.5.0.1";
|
||||||
|
|
||||||
private static OCLController INSTANCE = new OCLController();
|
private static OCLController INSTANCE = new OCLController();
|
||||||
|
|
||||||
// The information about the last mining round.
|
private volatile boolean stopRequested = false;
|
||||||
|
|
||||||
private List<Pattern> interestingPattern;
|
private List<Pattern> interestingPattern;
|
||||||
private List<Pattern> neutralPattern;
|
private List<Pattern> neutralPattern;
|
||||||
private List<Pattern> trashedPattern;
|
private List<Pattern> trashedPattern;
|
||||||
|
|
||||||
|
private String pathDataFile = null;
|
||||||
|
|
||||||
// Keeps a track of the last fastforward done.
|
// Keeps a track of the last fastforward done.
|
||||||
private FastForward fastForward;
|
private FastForward fastForward;
|
||||||
|
|
||||||
|
|
@ -44,6 +43,7 @@ public class OCLController {
|
||||||
private CoactiveLearning.CoactiveType coactiveLearningSelected;
|
private CoactiveLearning.CoactiveType coactiveLearningSelected;
|
||||||
private Cache.CacheType cacheTypeSelected;
|
private Cache.CacheType cacheTypeSelected;
|
||||||
|
|
||||||
|
//This constructor is valid only if used by the Application launcher
|
||||||
private OCLController(){
|
private OCLController(){
|
||||||
INSTANCE = this;
|
INSTANCE = this;
|
||||||
|
|
||||||
|
|
@ -64,9 +64,13 @@ public class OCLController {
|
||||||
OCMManager.initialize(INSTANCE.wrapperTypeSelected, pathDataFile);
|
OCMManager.initialize(INSTANCE.wrapperTypeSelected, pathDataFile);
|
||||||
OCMManager.algorithmManagerStartMining();
|
OCMManager.algorithmManagerStartMining();
|
||||||
|
|
||||||
|
INSTANCE.pathDataFile = pathDataFile;
|
||||||
|
|
||||||
InfoAlgorithm.setPaused(false);
|
InfoAlgorithm.setPaused(false);
|
||||||
Monitor.startMonitoring();
|
Monitor.startMonitoring();
|
||||||
|
|
||||||
|
INSTANCE.waitForOCMResults();
|
||||||
|
|
||||||
DebugLogger.printDebug("OCLController: initialized correctly.");
|
DebugLogger.printDebug("OCLController: initialized correctly.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -75,16 +79,22 @@ public class OCLController {
|
||||||
Monitor.pauseMonitoring();
|
Monitor.pauseMonitoring();
|
||||||
OCMManager.requestStop();
|
OCMManager.requestStop();
|
||||||
|
|
||||||
|
INSTANCE.stopRequested = false;
|
||||||
|
|
||||||
INSTANCE.interestingPattern = new ArrayList<>();
|
INSTANCE.interestingPattern = new ArrayList<>();
|
||||||
INSTANCE.neutralPattern = new ArrayList<>();
|
INSTANCE.neutralPattern = new ArrayList<>();
|
||||||
INSTANCE.trashedPattern = new ArrayList<>();
|
INSTANCE.trashedPattern = new ArrayList<>();
|
||||||
|
|
||||||
|
INSTANCE.pathDataFile = pathDataFile;
|
||||||
|
|
||||||
DebugLogger.printDebug("OCLController: Reloading OCMManager.");
|
DebugLogger.printDebug("OCLController: Reloading OCMManager.");
|
||||||
OCMManager.reload(INSTANCE.wrapperTypeSelected, INSTANCE.cacheTypeSelected, INSTANCE.coactiveLearningSelected, pathDataFile);
|
OCMManager.reload(INSTANCE.wrapperTypeSelected, INSTANCE.cacheTypeSelected, INSTANCE.coactiveLearningSelected, pathDataFile);
|
||||||
OCMManager.algorithmManagerStartMining();
|
OCMManager.algorithmManagerStartMining();
|
||||||
|
|
||||||
Monitor.resumeMonitoring();
|
Monitor.resumeMonitoring();
|
||||||
|
|
||||||
|
INSTANCE.waitForOCMResults();
|
||||||
|
|
||||||
DebugLogger.printDebug("OCLController: Reloaded correctly.");
|
DebugLogger.printDebug("OCLController: Reloaded correctly.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -140,10 +150,12 @@ public class OCLController {
|
||||||
final DoubleProperty progressLearning = new SimpleDoubleProperty(0d);
|
final DoubleProperty progressLearning = new SimpleDoubleProperty(0d);
|
||||||
final DoubleProperty progressMining = new SimpleDoubleProperty(0d);
|
final DoubleProperty progressMining = new SimpleDoubleProperty(0d);
|
||||||
|
|
||||||
|
Platform.runLater(() -> {
|
||||||
fastForwardWaitingView.bindCurrentOperation(currentOperation);
|
fastForwardWaitingView.bindCurrentOperation(currentOperation);
|
||||||
fastForwardWaitingView.bindCurrentTime(remainingTime);
|
fastForwardWaitingView.bindCurrentTime(remainingTime);
|
||||||
fastForwardWaitingView.bindProgressLearning(progressLearning);
|
fastForwardWaitingView.bindProgressLearning(progressLearning);
|
||||||
fastForwardWaitingView.bindProgressMining(progressMining);
|
fastForwardWaitingView.bindProgressMining(progressMining);
|
||||||
|
});
|
||||||
|
|
||||||
Thread threadFF = new Thread(fastForward);
|
Thread threadFF = new Thread(fastForward);
|
||||||
threadFF.setName("FastForward");
|
threadFF.setName("FastForward");
|
||||||
|
|
@ -152,11 +164,16 @@ public class OCLController {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
while (!fastForward.isFinished()) {
|
while (!fastForward.isFinished()) {
|
||||||
|
String strCurrentOperation = fastForward.getCurrentOperation();
|
||||||
|
String strRemainingTime = fastForward.getRemainingTime();
|
||||||
|
Double dProgressLearning = fastForward.getProgressLearning();
|
||||||
|
Double dProgressMining = fastForward.getProgressMining();
|
||||||
|
|
||||||
Platform.runLater(() -> {
|
Platform.runLater(() -> {
|
||||||
currentOperation.setValue("Current Operation: "+ fastForward.getCurrentOperation() + ".");
|
currentOperation.setValue("Current Operation: "+ strCurrentOperation + ".");
|
||||||
remainingTime.setValue("Estimated time before completion: "+ fastForward.getRemainingTime());
|
remainingTime.setValue("Estimated time before completion: "+ strRemainingTime);
|
||||||
progressLearning.setValue(fastForward.getProgressLearning());
|
progressLearning.setValue(dProgressLearning);
|
||||||
progressMining.setValue(fastForward.getProgressMining());
|
progressMining.setValue(dProgressMining);
|
||||||
});
|
});
|
||||||
Thread.sleep(100);
|
Thread.sleep(100);
|
||||||
}
|
}
|
||||||
|
|
@ -164,13 +181,112 @@ public class OCLController {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// final int nbIter = 100;
|
||||||
|
// try {
|
||||||
|
// for (int i = 0; i < nbRound && !INSTANCE.stopRequested && !INSTANCE.ffStopRequested; ++i) {
|
||||||
|
// fastForwardWaitingView.setCurrentOperation("Mining");
|
||||||
|
// for (int j = 0; j < nbIter && !INSTANCE.stopRequested && !INSTANCE.ffStopRequested; ++j) {
|
||||||
|
// Thread.sleep((long)secPerRound*1000/nbIter);
|
||||||
|
// double pbm = (j+1.)/nbIter;
|
||||||
|
// fastForwardWaitingView.setProgressBarMining(pbm);
|
||||||
|
//
|
||||||
|
// int remainingTimeSec = (int)((nbRound-i) * secPerRound - (secPerRound/nbIter) * j);
|
||||||
|
// fastForwardWaitingView.setCurrentTime(remainingTimeSec/60 + " min " + remainingTimeSec%60 + " sec");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // We process the data gathered by the mining algorithms.
|
||||||
|
// fastForwardWaitingView.setCurrentOperation("Processing data");
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// Rank<Pattern> rank = OCMManager.getNewRanking(INSTANCE.interestingPattern, INSTANCE.neutralPattern, INSTANCE.trashedPattern);
|
||||||
|
// Rank<Pattern> rawRank = new Rank<>(rank);
|
||||||
|
//
|
||||||
|
// if(mainPriority.equals(Condition.ActionPatternChoice.TRASH)){
|
||||||
|
// INSTANCE.trashedPattern = computeListPattern(rank, rawRank, listCondition, Condition.ActionPatternChoice.TRASH);
|
||||||
|
// rank.removeAll(INSTANCE.trashedPattern);
|
||||||
|
// INSTANCE.interestingPattern = computeListPattern(rank, rawRank, listCondition, Condition.ActionPatternChoice.KEEP);
|
||||||
|
// rank.removeAll(INSTANCE.interestingPattern);
|
||||||
|
// INSTANCE.neutralPattern = new ArrayList<>(rank);
|
||||||
|
// }else{
|
||||||
|
// INSTANCE.interestingPattern = computeListPattern(rank, rawRank, listCondition, Condition.ActionPatternChoice.KEEP);
|
||||||
|
// rank.removeAll(INSTANCE.interestingPattern);
|
||||||
|
// INSTANCE.trashedPattern = computeListPattern(rank, rawRank, listCondition, Condition.ActionPatternChoice.TRASH);
|
||||||
|
// rank.removeAll(INSTANCE.trashedPattern);
|
||||||
|
// INSTANCE.neutralPattern = new ArrayList<>(rank);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// // Print in the error channel the results of the automated selection.
|
||||||
|
//
|
||||||
|
// System.err.println("Kept Patterns :");
|
||||||
|
// INSTANCE.interestingPattern.forEach(System.err::println);
|
||||||
|
// System.err.println("Neutral Patterns :");
|
||||||
|
// INSTANCE.neutralPattern.forEach(System.err::println);
|
||||||
|
// System.err.println("Trashed Patterns :");
|
||||||
|
// INSTANCE.trashedPattern.forEach(System.err::println);
|
||||||
|
// System.err.println("");
|
||||||
|
//
|
||||||
|
// int nbPatternRank = rawRank.size();
|
||||||
|
// double nbQuality = INSTANCE.interestingPattern.size() - INSTANCE.trashedPattern.size();
|
||||||
|
// DebugLogger.printQuality(i +";"+ ((nbQuality/nbPatternRank)+1)/2);
|
||||||
|
//
|
||||||
|
// double pbr = (i+1.)/nbRound;
|
||||||
|
// fastForwardWaitingView.setProgressBarRound(pbr);
|
||||||
|
// }
|
||||||
|
// fastForwardWaitingView.setCurrentOperation("Finished");
|
||||||
|
// fastForwardWaitingView.setCurrentTime("Finished");
|
||||||
|
// MainView.getCurrentMainView().refreshKeptPatternsList();
|
||||||
|
// }catch(InterruptedException e){
|
||||||
|
// e.printStackTrace();
|
||||||
|
// }
|
||||||
|
|
||||||
fastForwardWaitingView.setHasFinished(true);
|
fastForwardWaitingView.setHasFinished(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
//********** Internal Methods **********//
|
//********** Internal Methods **********//
|
||||||
|
|
||||||
|
private void waitForOCMInitialization(){
|
||||||
|
try {
|
||||||
|
while(!OCMManager.isInitialized() || !OCMManager.algorithmManagerIsMining()){
|
||||||
|
Thread.sleep(500);
|
||||||
|
if(stopRequested){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void waitForOCMResults(){
|
||||||
|
// try{
|
||||||
|
// DebugLogger.printDebug("OCLController: Trying to find better result.");
|
||||||
|
// Rank<Pattern> rank = OCMManager.getNewRanking(interestingPattern, neutralPattern, trashedPattern);
|
||||||
|
// while (rank.size() <= 0){
|
||||||
|
// Thread.sleep(250);
|
||||||
|
// DebugLogger.printDebug("OCLController: Trying to find better result.");
|
||||||
|
// rank = OCMManager.getNewRanking(interestingPattern, neutralPattern, trashedPattern);
|
||||||
|
// if(stopRequested){
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// synchronized (OCLController.class) {
|
||||||
|
// userRank.clear();
|
||||||
|
// userRank.addAll(rank);
|
||||||
|
// }
|
||||||
|
// } catch (InterruptedException e){
|
||||||
|
// e.printStackTrace();
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
//********** Getters/Setters Methods **********//
|
//********** Getters/Setters Methods **********//
|
||||||
|
|
||||||
|
// Getters //
|
||||||
|
public static String getPathDataFile(){
|
||||||
|
return INSTANCE.pathDataFile;
|
||||||
|
}
|
||||||
|
|
||||||
// Setters //
|
// Setters //
|
||||||
public static void setPatternList(List<Pattern> interestingPattern, List<Pattern> neutralPattern, List<Pattern> trashedPattern){
|
public static void setPatternList(List<Pattern> interestingPattern, List<Pattern> neutralPattern, List<Pattern> trashedPattern){
|
||||||
INSTANCE.interestingPattern = interestingPattern;
|
INSTANCE.interestingPattern = interestingPattern;
|
||||||
|
|
@ -189,6 +305,7 @@ public class OCLController {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void requestStop(){
|
public static void requestStop(){
|
||||||
|
INSTANCE.stopRequested = true;
|
||||||
DebugLogger.printDebug("OCLController: Stopping the controller.");
|
DebugLogger.printDebug("OCLController: Stopping the controller.");
|
||||||
OCMManager.requestStop();
|
OCMManager.requestStop();
|
||||||
InfoAlgorithm.requestStop();
|
InfoAlgorithm.requestStop();
|
||||||
Loading…
Reference in New Issue