Added schedule button
This commit is contained in:
@@ -20,17 +20,11 @@ import java.net.InetAddress;
|
|||||||
|
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
import javax.swing.JComponent;
|
import javax.swing.JComponent;
|
||||||
import javax.swing.JFrame;
|
|
||||||
import javax.swing.JOptionPane;
|
import javax.swing.JOptionPane;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
|
|
||||||
import eva2.server.go.InterfaceGOParameters;
|
|
||||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
|
||||||
import eva2.server.go.populations.Population;
|
|
||||||
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
|
||||||
import eva2.server.go.strategies.InterfaceOptimizer;
|
|
||||||
import eva2.server.modules.AbstractModuleAdapter;
|
|
||||||
import eva2.server.modules.ModuleAdapter;
|
import eva2.server.modules.ModuleAdapter;
|
||||||
|
import eva2.server.stat.EvAJob;
|
||||||
import eva2.tools.jproxy.RMIProxyLocal;
|
import eva2.tools.jproxy.RMIProxyLocal;
|
||||||
import eva2.tools.jproxy.RemoteStateListener;
|
import eva2.tools.jproxy.RemoteStateListener;
|
||||||
|
|
||||||
@@ -44,10 +38,11 @@ public class EvAModuleButtonPanelMaker implements RemoteStateListener, Serializa
|
|||||||
private boolean m_StateRunning;
|
private boolean m_StateRunning;
|
||||||
private JButton m_RunButton;
|
private JButton m_RunButton;
|
||||||
private JButton m_PPButton;
|
private JButton m_PPButton;
|
||||||
private JButton m_actStop;
|
private JButton m_StopButton;
|
||||||
|
private JButton m_ScheduleButton;
|
||||||
// private JButton m_actExitMod;
|
// private JButton m_actExitMod;
|
||||||
private JButton m_JHelpButton;
|
private JButton m_JHelpButton;
|
||||||
private JButton m_ShowSolButton;
|
// private JButton m_ShowSolButton;
|
||||||
private JPanel m_Panel;
|
private JPanel m_Panel;
|
||||||
private String m_HelperFileName;
|
private String m_HelperFileName;
|
||||||
|
|
||||||
@@ -97,9 +92,9 @@ public class EvAModuleButtonPanelMaker implements RemoteStateListener, Serializa
|
|||||||
// m_Panel.setBorder(BorderFactory.createTitledBorder("general action buttons"));
|
// m_Panel.setBorder(BorderFactory.createTitledBorder("general action buttons"));
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////
|
||||||
m_actStop= new JButton("Stop");
|
m_StopButton= new JButton("Stop");
|
||||||
m_actStop.setToolTipText("Stop the current optimization run.");
|
m_StopButton.setToolTipText("Stop the current optimization run.");
|
||||||
m_actStop.addActionListener(new ActionListener() {
|
m_StopButton.addActionListener(new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent e){
|
public void actionPerformed(ActionEvent e){
|
||||||
try {
|
try {
|
||||||
m_Adapter.stopOpt(); // this means user break
|
m_Adapter.stopOpt(); // this means user break
|
||||||
@@ -111,8 +106,8 @@ public class EvAModuleButtonPanelMaker implements RemoteStateListener, Serializa
|
|||||||
// m_RestartButton.setEnabled(false);
|
// m_RestartButton.setEnabled(false);
|
||||||
// else
|
// else
|
||||||
// m_RestartButton.setEnabled(true);
|
// m_RestartButton.setEnabled(true);
|
||||||
m_actStop.setEnabled(m_StateRunning);
|
m_StopButton.setEnabled(m_StateRunning);
|
||||||
m_Panel.add(m_actStop);
|
m_Panel.add(m_StopButton);
|
||||||
// //////////////////////////////////////////////////////////////
|
// //////////////////////////////////////////////////////////////
|
||||||
m_PPButton= new JButton("Post Process");
|
m_PPButton= new JButton("Post Process");
|
||||||
m_PPButton.setToolTipText("Start post processing according to available parameters.");
|
m_PPButton.setToolTipText("Start post processing according to available parameters.");
|
||||||
@@ -131,36 +126,50 @@ public class EvAModuleButtonPanelMaker implements RemoteStateListener, Serializa
|
|||||||
);
|
);
|
||||||
m_PPButton.setEnabled(m_StateRunning && m_Adapter.hasPostProcessing());
|
m_PPButton.setEnabled(m_StateRunning && m_Adapter.hasPostProcessing());
|
||||||
m_Panel.add(m_PPButton);
|
m_Panel.add(m_PPButton);
|
||||||
|
// //////////////////////////////////////////////////////////////
|
||||||
|
m_ScheduleButton= new JButton("Schedule");
|
||||||
|
m_ScheduleButton.setToolTipText("Schedule the currently configured optimization as a job.");
|
||||||
|
m_ScheduleButton.addActionListener(new ActionListener() {
|
||||||
|
public void actionPerformed(ActionEvent e){
|
||||||
|
EvAJob job = m_Adapter.scheduleJob();
|
||||||
|
if (job==null) {
|
||||||
|
System.err.println("Something went wrong on scheduling!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
m_ScheduleButton.setEnabled(true);
|
||||||
|
m_Panel.add(m_ScheduleButton);
|
||||||
|
|
||||||
makeHelpButton();
|
makeHelpButton();
|
||||||
|
|
||||||
if (m_Adapter instanceof AbstractModuleAdapter && (m_Adapter != null)) {
|
// if (m_Adapter instanceof AbstractModuleAdapter && (m_Adapter != null)) {
|
||||||
/** This action listener, called by the "show" button will show the
|
// /** This action listener, called by the "show" button will show the
|
||||||
* currently best solution in a frame.
|
// * currently best solution in a frame.
|
||||||
*/
|
// */
|
||||||
m_ShowSolButton = new JButton("Show Solution");
|
// m_ShowSolButton = new JButton("Show Solution");
|
||||||
m_ShowSolButton.addActionListener(new ActionListener() {
|
// m_ShowSolButton.addActionListener(new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent event) {
|
// public void actionPerformed(ActionEvent event) {
|
||||||
InterfaceGOParameters goParams = ((AbstractModuleAdapter)m_Adapter).getGOParameters();
|
// InterfaceGOParameters goParams = ((AbstractModuleAdapter)m_Adapter).getGOParameters();
|
||||||
InterfaceOptimizationProblem goProblem = goParams.getProblem();
|
// InterfaceOptimizationProblem goProblem = goParams.getProblem();
|
||||||
InterfaceOptimizer opt = goParams.getOptimizer();
|
// InterfaceOptimizer opt = goParams.getOptimizer();
|
||||||
AbstractEAIndividual indy = opt.getPopulation().getBestEAIndividual();
|
// AbstractEAIndividual indy = opt.getPopulation().getBestEAIndividual();
|
||||||
if (indy != null) {
|
// if (indy != null) {
|
||||||
JFrame frame = new JFrame();
|
// JFrame frame = new JFrame();
|
||||||
frame.setTitle("The current best solution for "+goProblem.getName());
|
// frame.setTitle("The current best solution for "+goProblem.getName());
|
||||||
frame.setSize(400, 300);
|
// frame.setSize(400, 300);
|
||||||
frame.setLocation(450, 250);
|
// frame.setLocation(450, 250);
|
||||||
Population pop = opt.getPopulation();
|
// Population pop = opt.getPopulation();
|
||||||
frame.getContentPane().add(goProblem.drawIndividual(pop.getGeneration(), pop.getFunctionCalls(), indy));
|
// frame.getContentPane().add(goProblem.drawIndividual(pop.getGeneration(), pop.getFunctionCalls(), indy));
|
||||||
frame.validate();
|
// frame.validate();
|
||||||
frame.setVisible(true);
|
// frame.setVisible(true);
|
||||||
} else System.out.println("No current solution available.");
|
// } else System.out.println("No current solution available.");
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
);
|
// );
|
||||||
m_ShowSolButton.setEnabled(false);
|
// m_ShowSolButton.setEnabled(false);
|
||||||
m_Panel.add(m_ShowSolButton);
|
// m_Panel.add(m_ShowSolButton);
|
||||||
}
|
// }
|
||||||
|
|
||||||
// m_actExitMod = new JButton("Exit Module");
|
// m_actExitMod = new JButton("Exit Module");
|
||||||
// m_actExitMod.setToolTipText("todo !!.");// TODO
|
// m_actExitMod.setToolTipText("todo !!.");// TODO
|
||||||
@@ -170,7 +179,7 @@ public class EvAModuleButtonPanelMaker implements RemoteStateListener, Serializa
|
|||||||
public void onUserStart() {
|
public void onUserStart() {
|
||||||
try {
|
try {
|
||||||
m_Adapter.startOpt();
|
m_Adapter.startOpt();
|
||||||
m_actStop.setEnabled(true);
|
m_StopButton.setEnabled(true);
|
||||||
m_RunButton.setEnabled(false);
|
m_RunButton.setEnabled(false);
|
||||||
m_PPButton.setEnabled(false);
|
m_PPButton.setEnabled(false);
|
||||||
// m_RestartButton.setEnabled(false);
|
// m_RestartButton.setEnabled(false);
|
||||||
@@ -214,12 +223,12 @@ public class EvAModuleButtonPanelMaker implements RemoteStateListener, Serializa
|
|||||||
m_RunButton.setEnabled(true);
|
m_RunButton.setEnabled(true);
|
||||||
m_PPButton.setEnabled(true);
|
m_PPButton.setEnabled(true);
|
||||||
m_RunButton.repaint();
|
m_RunButton.repaint();
|
||||||
m_actStop.setEnabled(false);
|
m_StopButton.setEnabled(false);
|
||||||
m_Panel.repaint();
|
m_Panel.repaint();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void performedStart(String infoString) {
|
public void performedStart(String infoString) {
|
||||||
m_ShowSolButton.setEnabled(true);
|
// m_ShowSolButton.setEnabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -16,13 +16,8 @@ import java.io.Serializable;
|
|||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
|
|
||||||
import eva2.gui.EvATabbedFrameMaker;
|
|
||||||
import eva2.gui.LogPanel;
|
|
||||||
import eva2.server.go.InterfaceGOParameters;
|
import eva2.server.go.InterfaceGOParameters;
|
||||||
import eva2.server.go.InterfaceProcessor;
|
import eva2.server.go.InterfaceProcessor;
|
||||||
/*==========================================================================*
|
|
||||||
* ABSTRACT CLASS DECLARATION
|
|
||||||
*==========================================================================*/
|
|
||||||
import eva2.tools.jproxy.MainAdapterClient;
|
import eva2.tools.jproxy.MainAdapterClient;
|
||||||
import eva2.tools.jproxy.RemoteStateListener;
|
import eva2.tools.jproxy.RemoteStateListener;
|
||||||
|
|
||||||
@@ -43,7 +38,6 @@ abstract public class AbstractModuleAdapter implements ModuleAdapter, Serializab
|
|||||||
protected boolean m_RMI = true;
|
protected boolean m_RMI = true;
|
||||||
protected MainAdapterClient m_MainAdapterClient; // connection to client
|
protected MainAdapterClient m_MainAdapterClient; // connection to client
|
||||||
private Vector<RemoteStateListener> m_RemoteStateListeners;
|
private Vector<RemoteStateListener> m_RemoteStateListeners;
|
||||||
protected LogPanel logPanel = null;
|
|
||||||
|
|
||||||
protected AbstractModuleAdapter(MainAdapterClient Client) {
|
protected AbstractModuleAdapter(MainAdapterClient Client) {
|
||||||
if (TRACE) System.out.println("AbstractModuleAdapter.AbstractModuleAdapter()");
|
if (TRACE) System.out.println("AbstractModuleAdapter.AbstractModuleAdapter()");
|
||||||
|
@@ -13,6 +13,7 @@ package eva2.server.modules;
|
|||||||
* IMPORTS
|
* IMPORTS
|
||||||
*==========================================================================*/
|
*==========================================================================*/
|
||||||
import eva2.gui.EvATabbedFrameMaker;
|
import eva2.gui.EvATabbedFrameMaker;
|
||||||
|
import eva2.server.stat.EvAJob;
|
||||||
import eva2.tools.jproxy.RemoteStateListener;
|
import eva2.tools.jproxy.RemoteStateListener;
|
||||||
/*==========================================================================*
|
/*==========================================================================*
|
||||||
* INTERFACE DECLARATION
|
* INTERFACE DECLARATION
|
||||||
@@ -23,6 +24,11 @@ import eva2.tools.jproxy.RemoteStateListener;
|
|||||||
public interface ModuleAdapter extends RemoteStateListener {
|
public interface ModuleAdapter extends RemoteStateListener {
|
||||||
public EvATabbedFrameMaker getModuleFrame();
|
public EvATabbedFrameMaker getModuleFrame();
|
||||||
public void startOpt(); // called from client
|
public void startOpt(); // called from client
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Schedule a certain job to a job list.
|
||||||
|
*/
|
||||||
|
public EvAJob scheduleJob();
|
||||||
public void restartOpt();
|
public void restartOpt();
|
||||||
public void stopOpt();
|
public void stopOpt();
|
||||||
public void runScript();
|
public void runScript();
|
||||||
|
Reference in New Issue
Block a user