parent
736ada3517
commit
550e9956d8
@ -12,7 +12,6 @@ package eva2.client;
|
|||||||
* $Author: mkron $
|
* $Author: mkron $
|
||||||
*/
|
*/
|
||||||
import eva2.EvAInfo;
|
import eva2.EvAInfo;
|
||||||
import eva2.client.SplashScreen;
|
|
||||||
import eva2.gui.*;
|
import eva2.gui.*;
|
||||||
import eva2.server.EvAServer;
|
import eva2.server.EvAServer;
|
||||||
import eva2.server.go.InterfaceGOParameters;
|
import eva2.server.go.InterfaceGOParameters;
|
||||||
|
@ -12,9 +12,9 @@ package eva2.gui;
|
|||||||
/*==========================================================================*
|
/*==========================================================================*
|
||||||
* IMPORTS
|
* IMPORTS
|
||||||
*==========================================================================*/
|
*==========================================================================*/
|
||||||
import java.beans.*;
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.*;
|
import java.awt.event.*;
|
||||||
|
import java.beans.*;
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
/*==========================================================================*
|
/*==========================================================================*
|
||||||
|
@ -48,11 +48,6 @@ import javax.swing.JFileChooser;
|
|||||||
import javax.swing.JMenuItem;
|
import javax.swing.JMenuItem;
|
||||||
import javax.swing.JPopupMenu;
|
import javax.swing.JPopupMenu;
|
||||||
|
|
||||||
/*
|
|
||||||
* ==========================================================================*
|
|
||||||
* CLASS DECLARATION
|
|
||||||
*==========================================================================
|
|
||||||
*/
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@ -132,7 +127,7 @@ public class FunctionArea extends DArea implements Serializable {
|
|||||||
if (isShowGraphToolTips()) {
|
if (isShowGraphToolTips()) {
|
||||||
int gIndex = getNearestGraphIndex(event.getX(), event.getY());
|
int gIndex = getNearestGraphIndex(event.getX(), event.getY());
|
||||||
if (gIndex >= 0) {
|
if (gIndex >= 0) {
|
||||||
StringBuffer sb = new StringBuffer(super.getToolTipText());
|
StringBuilder sb = new StringBuilder(super.getToolTipText());
|
||||||
sb.append(gIndex);
|
sb.append(gIndex);
|
||||||
sb.append(": ");
|
sb.append(": ");
|
||||||
sb.append(getGraphInfo(gIndex));
|
sb.append(getGraphInfo(gIndex));
|
||||||
@ -188,7 +183,6 @@ public class FunctionArea extends DArea implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private void addPopup() {
|
private void addPopup() {
|
||||||
addMouseListener(new MouseAdapter() {
|
addMouseListener(new MouseAdapter() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mouseClicked(MouseEvent e) {
|
public void mouseClicked(MouseEvent e) {
|
||||||
if ((e.getModifiers() & InputEvent.BUTTON1_MASK) == InputEvent.BUTTON1_MASK) {
|
if ((e.getModifiers() & InputEvent.BUTTON1_MASK) == InputEvent.BUTTON1_MASK) {
|
||||||
@ -199,7 +193,6 @@ public class FunctionArea extends DArea implements Serializable {
|
|||||||
yPos = e.getY();
|
yPos = e.getY();
|
||||||
|
|
||||||
addMenuItem(graphPopupMenu, "Rename graph", new ActionListener() {
|
addMenuItem(graphPopupMenu, "Rename graph", new ActionListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent ee) {
|
public void actionPerformed(ActionEvent ee) {
|
||||||
renameGraph(getNearestGraphIndex(FunctionArea.this.xPos, FunctionArea.this.yPos));
|
renameGraph(getNearestGraphIndex(FunctionArea.this.xPos, FunctionArea.this.yPos));
|
||||||
@ -211,7 +204,6 @@ public class FunctionArea extends DArea implements Serializable {
|
|||||||
+ " graph tool tips";
|
+ " graph tool tips";
|
||||||
addMenuItem(graphPopupMenu, togGTTName,
|
addMenuItem(graphPopupMenu, togGTTName,
|
||||||
new ActionListener() {
|
new ActionListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent ee) {
|
public void actionPerformed(ActionEvent ee) {
|
||||||
setShowGraphToolTips(!isShowGraphToolTips());
|
setShowGraphToolTips(!isShowGraphToolTips());
|
||||||
@ -221,7 +213,6 @@ public class FunctionArea extends DArea implements Serializable {
|
|||||||
String togLName = (isShowLegend() ? "Hide" : "Show")
|
String togLName = (isShowLegend() ? "Hide" : "Show")
|
||||||
+ " legend";
|
+ " legend";
|
||||||
addMenuItem(graphPopupMenu, togLName, new ActionListener() {
|
addMenuItem(graphPopupMenu, togLName, new ActionListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent ee) {
|
public void actionPerformed(ActionEvent ee) {
|
||||||
toggleLegend();
|
toggleLegend();
|
||||||
@ -229,7 +220,6 @@ public class FunctionArea extends DArea implements Serializable {
|
|||||||
});
|
});
|
||||||
|
|
||||||
addMenuItem(graphPopupMenu, "Toggle scientific format", new ActionListener() {
|
addMenuItem(graphPopupMenu, "Toggle scientific format", new ActionListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent ee) {
|
public void actionPerformed(ActionEvent ee) {
|
||||||
toggleScientificY(true);
|
toggleScientificY(true);
|
||||||
@ -239,7 +229,6 @@ public class FunctionArea extends DArea implements Serializable {
|
|||||||
if (FunctionArea.this.pointSetContainer.size() > 0) {
|
if (FunctionArea.this.pointSetContainer.size() > 0) {
|
||||||
addMenuItem(graphPopupMenu, "Recolor all graphs",
|
addMenuItem(graphPopupMenu, "Recolor all graphs",
|
||||||
new ActionListener() {
|
new ActionListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent ee) {
|
public void actionPerformed(ActionEvent ee) {
|
||||||
recolorAllGraphsByIndex();
|
recolorAllGraphsByIndex();
|
||||||
@ -252,7 +241,6 @@ public class FunctionArea extends DArea implements Serializable {
|
|||||||
addMenuItem(graphPopupMenu, "Select Reference Point:("
|
addMenuItem(graphPopupMenu, "Select Reference Point:("
|
||||||
+ temp.x + "/" + temp.y + ")",
|
+ temp.x + "/" + temp.y + ")",
|
||||||
new ActionListener() {
|
new ActionListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent ee) {
|
public void actionPerformed(ActionEvent ee) {
|
||||||
DPoint temp = getDMeasures().getDPoint(
|
DPoint temp = getDMeasures().getDPoint(
|
||||||
@ -272,7 +260,6 @@ public class FunctionArea extends DArea implements Serializable {
|
|||||||
addMenuItem(graphPopupMenu, "Nearest point: ("
|
addMenuItem(graphPopupMenu, "Nearest point: ("
|
||||||
+ point.x + "/" + point.y + ")",
|
+ point.x + "/" + point.y + ")",
|
||||||
new ActionListener() {
|
new ActionListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent ee) {
|
public void actionPerformed(ActionEvent ee) {
|
||||||
}
|
}
|
||||||
@ -280,7 +267,6 @@ public class FunctionArea extends DArea implements Serializable {
|
|||||||
|
|
||||||
addMenuItem(graphPopupMenu, " Remove point",
|
addMenuItem(graphPopupMenu, " Remove point",
|
||||||
new ActionListener() {
|
new ActionListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent ee) {
|
public void actionPerformed(ActionEvent ee) {
|
||||||
removePoint(FunctionArea.this.xPos,
|
removePoint(FunctionArea.this.xPos,
|
||||||
@ -296,7 +282,6 @@ public class FunctionArea extends DArea implements Serializable {
|
|||||||
: " Select individual";
|
: " Select individual";
|
||||||
addMenuItem(graphPopupMenu, selectTitle,
|
addMenuItem(graphPopupMenu, selectTitle,
|
||||||
new ActionListener() {
|
new ActionListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(
|
public void actionPerformed(
|
||||||
ActionEvent ee) {
|
ActionEvent ee) {
|
||||||
@ -311,7 +296,6 @@ public class FunctionArea extends DArea implements Serializable {
|
|||||||
currentPointIcon = point.getIcon();
|
currentPointIcon = point.getIcon();
|
||||||
addMenuItem(graphPopupMenu, " Show individual",
|
addMenuItem(graphPopupMenu, " Show individual",
|
||||||
new ActionListener() {
|
new ActionListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(
|
public void actionPerformed(
|
||||||
ActionEvent ee) {
|
ActionEvent ee) {
|
||||||
@ -321,26 +305,20 @@ public class FunctionArea extends DArea implements Serializable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if (FunctionArea.this.pointSetContainer.size() > 0) { // there
|
if (FunctionArea.this.pointSetContainer.size() > 0) {
|
||||||
// is
|
// there is at least one graph
|
||||||
// at
|
|
||||||
// least
|
|
||||||
// one
|
|
||||||
// graph
|
|
||||||
// The graph info element
|
// The graph info element
|
||||||
// int gIndex = getNearestGraphIndex(e.getX(),
|
// int gIndex = getNearestGraphIndex(e.getX(),
|
||||||
// e.getY());
|
// e.getY());
|
||||||
addMenuItem(graphPopupMenu, "Graph Info: "
|
addMenuItem(graphPopupMenu, "Graph Info: "
|
||||||
+ getGraphInfo(e.getX(), e.getY()),
|
+ getGraphInfo(e.getX(), e.getY()),
|
||||||
new ActionListener() {
|
new ActionListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent ee) {
|
public void actionPerformed(ActionEvent ee) {
|
||||||
DPoint temp = FunctionArea.this.getDMeasures().getDPoint(
|
DPoint temp = FunctionArea.this.getDMeasures().getDPoint(
|
||||||
FunctionArea.this.xPos,
|
FunctionArea.this.xPos,
|
||||||
FunctionArea.this.yPos);
|
FunctionArea.this.yPos);
|
||||||
DPointIcon icon1 = new DPointIcon() {
|
DPointIcon icon1 = new DPointIcon() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DBorder getDBorder() {
|
public DBorder getDBorder() {
|
||||||
return new DBorder(4, 4, 4, 4);
|
return new DBorder(4, 4, 4, 4);
|
||||||
@ -359,7 +337,6 @@ public class FunctionArea extends DArea implements Serializable {
|
|||||||
|
|
||||||
addMenuItem(graphPopupMenu, " Remove graph",
|
addMenuItem(graphPopupMenu, " Remove graph",
|
||||||
new ActionListener() {
|
new ActionListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent ee) {
|
public void actionPerformed(ActionEvent ee) {
|
||||||
clearGraph(FunctionArea.this.xPos,
|
clearGraph(FunctionArea.this.xPos,
|
||||||
@ -369,7 +346,6 @@ public class FunctionArea extends DArea implements Serializable {
|
|||||||
|
|
||||||
addMenuItem(graphPopupMenu, " Change graph color",
|
addMenuItem(graphPopupMenu, " Change graph color",
|
||||||
new ActionListener() {
|
new ActionListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent ee) {
|
public void actionPerformed(ActionEvent ee) {
|
||||||
changeColorGraph(FunctionArea.this.xPos,
|
changeColorGraph(FunctionArea.this.xPos,
|
||||||
@ -636,19 +612,6 @@ public class FunctionArea extends DArea implements Serializable {
|
|||||||
addDElement(popRep);
|
addDElement(popRep);
|
||||||
}
|
}
|
||||||
|
|
||||||
// public void setConnectedPoint(double x, double y, int GraphLabel) {
|
|
||||||
// if (m_log == true && y <= 0.0) {
|
|
||||||
// // y = Double.MIN_VALUE;
|
|
||||||
// if (notifyNegLog) {
|
|
||||||
// System.err.println("Warning: trying to plot value (" + x + "/" + y +
|
|
||||||
// ") with y <= 0 in logarithmic mode! Setting y to " + 1e-30);
|
|
||||||
// notifyNegLog = false;
|
|
||||||
// }
|
|
||||||
// y = 1e-30;
|
|
||||||
// }
|
|
||||||
// getGraphPointSet(GraphLabel).addDPoint(x, y);
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
/**
|
/**
|
||||||
* Plot an icon to the function area which is annotated with a char and a
|
* Plot an icon to the function area which is annotated with a char and a
|
||||||
* double value. The color corresponds to the color of the graph with given
|
* double value. The color corresponds to the color of the graph with given
|
||||||
@ -839,8 +802,6 @@ public class FunctionArea extends DArea implements Serializable {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private GraphPointSet getGraphPointSet(int GraphLabel) {
|
private GraphPointSet getGraphPointSet(int GraphLabel) {
|
||||||
// System.out.println("looping through " + m_PointSetContainer.size() +
|
|
||||||
// " point sets...");
|
|
||||||
for (int i = 0; i < pointSetContainer.size(); i++) {
|
for (int i = 0; i < pointSetContainer.size(); i++) {
|
||||||
if (pointSetContainer.get(i) instanceof GraphPointSet) {
|
if (pointSetContainer.get(i) instanceof GraphPointSet) {
|
||||||
GraphPointSet xx = (GraphPointSet) (pointSetContainer.get(i));
|
GraphPointSet xx = (GraphPointSet) (pointSetContainer.get(i));
|
||||||
@ -1059,69 +1020,6 @@ public class FunctionArea extends DArea implements Serializable {
|
|||||||
this.getGraphPointSet(GraphLabel).setColor(color);
|
this.getGraphPointSet(GraphLabel).setColor(color);
|
||||||
}
|
}
|
||||||
|
|
||||||
// /**
|
|
||||||
// */
|
|
||||||
// public Object openObject() {
|
|
||||||
// if (m_FileChooser == null)
|
|
||||||
// createFileChooser();
|
|
||||||
// int returnVal = m_FileChooser.showOpenDialog(this);
|
|
||||||
// if (returnVal == JFileChooser.APPROVE_OPTION) {
|
|
||||||
// File selected = m_FileChooser.getSelectedFile();
|
|
||||||
// try {
|
|
||||||
// ObjectInputStream oi = new ObjectInputStream(new BufferedInputStream(new
|
|
||||||
// FileInputStream(selected)));
|
|
||||||
// Object obj = oi.readObject();
|
|
||||||
// oi.close();
|
|
||||||
//
|
|
||||||
// Object[] objects = (Object[]) obj;
|
|
||||||
// for (int i = 0; i < objects.length; i++) {
|
|
||||||
// GraphPointSet xx = ((GraphPointSet.SerPointSet)
|
|
||||||
// objects[i]).getGraphPointSet();
|
|
||||||
// xx.initGraph(this);
|
|
||||||
// addGraphPointSet(xx);
|
|
||||||
// }
|
|
||||||
// repaint();
|
|
||||||
// return obj;
|
|
||||||
// } catch (Exception ex) {
|
|
||||||
// JOptionPane.showMessageDialog(this,
|
|
||||||
// "Couldn't read object: "
|
|
||||||
// + selected.getName()
|
|
||||||
// + "\n" + ex.getMessage(),
|
|
||||||
// "Open object file",
|
|
||||||
// JOptionPane.ERROR_MESSAGE);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// return null;
|
|
||||||
// }
|
|
||||||
// /**
|
|
||||||
// *
|
|
||||||
// */
|
|
||||||
// public void saveObject() {
|
|
||||||
// Object[] object = new Object[m_PointSetContainer.size()];
|
|
||||||
// for (int i = 0; i < m_PointSetContainer.size(); i++) {
|
|
||||||
// object[i] = ((GraphPointSet)
|
|
||||||
// m_PointSetContainer.get(i)).getSerPointSet();
|
|
||||||
// }
|
|
||||||
// if (m_FileChooser == null)
|
|
||||||
// createFileChooser();
|
|
||||||
// int returnVal = m_FileChooser.showSaveDialog(this);
|
|
||||||
// if (returnVal == JFileChooser.APPROVE_OPTION) {
|
|
||||||
// File sFile = m_FileChooser.getSelectedFile();
|
|
||||||
// try {
|
|
||||||
// ObjectOutputStream oo = new ObjectOutputStream(new
|
|
||||||
// BufferedOutputStream(new FileOutputStream(sFile)));
|
|
||||||
// oo.writeObject(object);
|
|
||||||
// oo.close();
|
|
||||||
// } catch (IOException ex) {
|
|
||||||
// JOptionPane.showMessageDialog(this,
|
|
||||||
// "Couldn't write to file: "
|
|
||||||
// + sFile.getName()
|
|
||||||
// + "\n" + ex.getMessage(),
|
|
||||||
// "Save object",
|
|
||||||
// JOptionPane.ERROR_MESSAGE);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param GraphLabel
|
* @param GraphLabel
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
|
|
||||||
|
|
||||||
|
import eva2.server.go.problems.InterfaceOptimizationObjective;
|
||||||
|
import eva2.server.go.problems.InterfaceOptimizationTarget;
|
||||||
|
import eva2.server.go.tools.AbstractObjectEditor;
|
||||||
|
import eva2.server.go.tools.GeneralGOEProperty;
|
||||||
|
import eva2.tools.BasicResourceLoader;
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
@ -17,7 +22,6 @@ import java.beans.PropertyChangeEvent;
|
|||||||
import java.beans.PropertyChangeListener;
|
import java.beans.PropertyChangeListener;
|
||||||
import java.beans.PropertyChangeSupport;
|
import java.beans.PropertyChangeSupport;
|
||||||
import java.beans.PropertyEditor;
|
import java.beans.PropertyEditor;
|
||||||
|
|
||||||
import javax.swing.BorderFactory;
|
import javax.swing.BorderFactory;
|
||||||
import javax.swing.ImageIcon;
|
import javax.swing.ImageIcon;
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
@ -28,12 +32,6 @@ import javax.swing.JScrollPane;
|
|||||||
import javax.swing.JTextArea;
|
import javax.swing.JTextArea;
|
||||||
import javax.swing.SwingConstants;
|
import javax.swing.SwingConstants;
|
||||||
|
|
||||||
import eva2.server.go.problems.InterfaceOptimizationObjective;
|
|
||||||
import eva2.server.go.problems.InterfaceOptimizationTarget;
|
|
||||||
import eva2.server.go.tools.AbstractObjectEditor;
|
|
||||||
import eva2.server.go.tools.GeneralGOEProperty;
|
|
||||||
import eva2.tools.BasicResourceLoader;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by IntelliJ IDEA.
|
* Created by IntelliJ IDEA.
|
||||||
|
@ -1,16 +1,14 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
|
|
||||||
import eva2.tools.BasicResourceLoader;
|
import eva2.tools.BasicResourceLoader;
|
||||||
|
|
||||||
import java.beans.PropertyEditor;
|
|
||||||
import java.beans.PropertyChangeSupport;
|
|
||||||
import java.beans.PropertyChangeListener;
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.*;
|
import java.awt.event.*;
|
||||||
|
import java.beans.PropertyChangeListener;
|
||||||
|
import java.beans.PropertyChangeSupport;
|
||||||
|
import java.beans.PropertyEditor;
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
|
import javax.swing.*;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
|
|
||||||
import javax.swing.JToolBar;
|
|
||||||
import eva2.tools.ToolBoxGui;
|
import eva2.tools.ToolBoxGui;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JToolBar;
|
||||||
import javax.swing.SwingConstants;
|
import javax.swing.SwingConstants;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -12,12 +12,12 @@ package eva2.gui;
|
|||||||
/*==========================================================================*
|
/*==========================================================================*
|
||||||
* IMPORTS
|
* IMPORTS
|
||||||
*==========================================================================*/
|
*==========================================================================*/
|
||||||
|
import java.beans.*;
|
||||||
|
import javax.swing.Action;
|
||||||
|
import javax.swing.Icon;
|
||||||
import javax.swing.JMenu;
|
import javax.swing.JMenu;
|
||||||
import javax.swing.JMenuItem;
|
import javax.swing.JMenuItem;
|
||||||
import javax.swing.KeyStroke;
|
import javax.swing.KeyStroke;
|
||||||
import javax.swing.Icon;
|
|
||||||
import javax.swing.Action;
|
|
||||||
import java.beans.*;
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -10,24 +10,17 @@ package eva2.gui;
|
|||||||
* $Author: mkron $
|
* $Author: mkron $
|
||||||
*/
|
*/
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
|
import java.awt.Color;
|
||||||
import java.awt.Point;
|
import java.awt.Point;
|
||||||
|
import java.text.MessageFormat;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import javax.swing.BorderFactory;
|
|
||||||
import javax.swing.JPanel;
|
|
||||||
import javax.swing.JScrollPane;
|
|
||||||
import javax.swing.JTextArea;
|
|
||||||
import javax.swing.JViewport;
|
|
||||||
import javax.swing.event.ChangeEvent;
|
|
||||||
import javax.swing.event.ChangeListener;
|
|
||||||
|
|
||||||
import java.awt.Color;
|
|
||||||
import java.text.MessageFormat;
|
|
||||||
import java.util.logging.Handler;
|
import java.util.logging.Handler;
|
||||||
import java.util.logging.LogRecord;
|
import java.util.logging.LogRecord;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
import javax.swing.event.ChangeEvent;
|
||||||
|
import javax.swing.event.ChangeListener;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -6,11 +6,12 @@ package eva2.gui;
|
|||||||
* Hannes Planatscher @version: $Revision: 322 $ $Date: 2007-12-11 17:24:07
|
* Hannes Planatscher @version: $Revision: 322 $ $Date: 2007-12-11 17:24:07
|
||||||
* +0100 (Tue, 11 Dec 2007) $ $Author: mkron $
|
* +0100 (Tue, 11 Dec 2007) $ $Author: mkron $
|
||||||
*/
|
*/
|
||||||
import java.awt.AWTException;
|
import eva2.EvAInfo;
|
||||||
import java.awt.Dimension;
|
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||||
import java.awt.FlowLayout;
|
import eva2.server.go.populations.Population;
|
||||||
import java.awt.Rectangle;
|
import eva2.tools.BasicResourceLoader;
|
||||||
import java.awt.Robot;
|
import eva2.tools.chart2d.DPointSet;
|
||||||
|
import java.awt.*;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
@ -25,19 +26,7 @@ import java.io.ObjectOutputStream;
|
|||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Formatter;
|
import java.util.Formatter;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
import javax.swing.JButton;
|
|
||||||
import javax.swing.JFileChooser;
|
|
||||||
import javax.swing.JOptionPane;
|
|
||||||
import javax.swing.JPanel;
|
|
||||||
|
|
||||||
import eva2.EvAInfo;
|
|
||||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
|
||||||
import eva2.server.go.populations.Population;
|
|
||||||
import eva2.tools.BasicResourceLoader;
|
|
||||||
import eva2.tools.chart2d.DPointSet;
|
|
||||||
import java.awt.*;
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import javax.swing.event.InternalFrameAdapter;
|
import javax.swing.event.InternalFrameAdapter;
|
||||||
import javax.swing.event.InternalFrameEvent;
|
import javax.swing.event.InternalFrameEvent;
|
||||||
|
@ -5,13 +5,12 @@ package eva2.gui;
|
|||||||
* $Date: 2006-12-18 16:32:23 +0100 (Mon, 18 Dec 2006) $ $Author: marcekro $
|
* $Date: 2006-12-18 16:32:23 +0100 (Mon, 18 Dec 2006) $ $Author: marcekro $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.awt.BorderLayout;
|
|
||||||
import java.awt.Component;
|
|
||||||
import java.beans.PropertyEditor;
|
|
||||||
|
|
||||||
import eva2.EvAInfo;
|
import eva2.EvAInfo;
|
||||||
import eva2.tools.BasicResourceLoader;
|
import eva2.tools.BasicResourceLoader;
|
||||||
import eva2.tools.EVAHELP;
|
import eva2.tools.EVAHELP;
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.beans.PropertyEditor;
|
||||||
import javax.swing.JDialog;
|
import javax.swing.JDialog;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,7 +19,6 @@ import java.awt.event.ItemEvent;
|
|||||||
import java.awt.event.ItemListener;
|
import java.awt.event.ItemListener;
|
||||||
import java.beans.PropertyChangeSupport;
|
import java.beans.PropertyChangeSupport;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
import javax.swing.BorderFactory;
|
import javax.swing.BorderFactory;
|
||||||
import javax.swing.JCheckBox;
|
import javax.swing.JCheckBox;
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
|
@ -2,7 +2,6 @@ package eva2.server.go;
|
|||||||
|
|
||||||
import eva2.gui.BeanInspector;
|
import eva2.gui.BeanInspector;
|
||||||
import eva2.gui.JParaPanel;
|
import eva2.gui.JParaPanel;
|
||||||
import eva2.server.go.SwingWorker;
|
|
||||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||||
import eva2.server.go.individuals.ESIndividualDoubleData;
|
import eva2.server.go.individuals.ESIndividualDoubleData;
|
||||||
import eva2.server.go.individuals.GAIndividualDoubleData;
|
import eva2.server.go.individuals.GAIndividualDoubleData;
|
||||||
|
@ -2,7 +2,6 @@ package eva2.server.go;
|
|||||||
|
|
||||||
import eva2.gui.JParaPanel;
|
import eva2.gui.JParaPanel;
|
||||||
import eva2.gui.PropertyDoubleArray;
|
import eva2.gui.PropertyDoubleArray;
|
||||||
import eva2.server.go.SwingWorker;
|
|
||||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||||
import eva2.server.go.mocco.*;
|
import eva2.server.go.mocco.*;
|
||||||
import eva2.server.go.mocco.paretofrontviewer.MOCCOViewer;
|
import eva2.server.go.mocco.paretofrontviewer.MOCCOViewer;
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
package eva2.server.go.mocco.paretofrontviewer;
|
package eva2.server.go.mocco.paretofrontviewer;
|
||||||
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
|
|
||||||
import eva2.gui.*;
|
import eva2.gui.*;
|
||||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||||
import eva2.server.go.populations.Population;
|
import eva2.server.go.populations.Population;
|
||||||
@ -12,11 +10,10 @@ import eva2.tools.chart2d.Chart2DDPointContentSelectable;
|
|||||||
import eva2.tools.chart2d.DPoint;
|
import eva2.tools.chart2d.DPoint;
|
||||||
import eva2.tools.chart2d.DPointIcon;
|
import eva2.tools.chart2d.DPointIcon;
|
||||||
import eva2.tools.chart2d.ScaledBorder;
|
import eva2.tools.chart2d.ScaledBorder;
|
||||||
|
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.ActionListener;
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
|
import javax.swing.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by IntelliJ IDEA.
|
* Created by IntelliJ IDEA.
|
||||||
|
@ -1,10 +1,5 @@
|
|||||||
package eva2.server.go.operators.cluster;
|
package eva2.server.go.operators.cluster;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.Vector;
|
|
||||||
|
|
||||||
import eva2.gui.BeanInspector;
|
import eva2.gui.BeanInspector;
|
||||||
import eva2.gui.GenericObjectEditor;
|
import eva2.gui.GenericObjectEditor;
|
||||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||||
@ -14,6 +9,10 @@ import eva2.server.go.operators.distancemetric.PhenotypeMetric;
|
|||||||
import eva2.server.go.operators.paramcontrol.ParamAdaption;
|
import eva2.server.go.operators.paramcontrol.ParamAdaption;
|
||||||
import eva2.server.go.operators.paramcontrol.ParameterControlManager;
|
import eva2.server.go.operators.paramcontrol.ParameterControlManager;
|
||||||
import eva2.server.go.populations.Population;
|
import eva2.server.go.populations.Population;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.Vector;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hierarchical clustering after Preuss et al., "Counteracting Genetic Drift and Disruptive Recombination
|
* Hierarchical clustering after Preuss et al., "Counteracting Genetic Drift and Disruptive Recombination
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
package eva2.server.go.operators.constraint;
|
package eva2.server.go.operators.constraint;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import eva2.server.go.individuals.codings.gp.AbstractGPNode;
|
import eva2.server.go.individuals.codings.gp.AbstractGPNode;
|
||||||
import eva2.server.go.problems.GPFunctionProblem;
|
import eva2.server.go.problems.GPFunctionProblem;
|
||||||
import eva2.tools.EVAERROR;
|
import eva2.tools.EVAERROR;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A generic constraint is defined by a String describing a function of the x0...xn values of potential solutions.
|
* A generic constraint is defined by a String describing a function of the x0...xn values of potential solutions.
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
package eva2.server.go.operators.constraint;
|
package eva2.server.go.operators.constraint;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import eva2.gui.GenericObjectEditor;
|
import eva2.gui.GenericObjectEditor;
|
||||||
import eva2.tools.EVAERROR;
|
import eva2.tools.EVAERROR;
|
||||||
import eva2.tools.math.Mathematics;
|
import eva2.tools.math.Mathematics;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A constraint for a parameter or a generic function to lie within certain bounds.
|
* A constraint for a parameter or a generic function to lie within certain bounds.
|
||||||
|
@ -2,7 +2,6 @@ package eva2.server.go.operators.crossover;
|
|||||||
|
|
||||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||||
import eva2.server.go.individuals.InterfaceOBGAIndividual;
|
import eva2.server.go.individuals.InterfaceOBGAIndividual;
|
||||||
import eva2.server.go.operators.crossover.InterfaceCrossover;
|
|
||||||
import eva2.server.go.populations.Population;
|
import eva2.server.go.populations.Population;
|
||||||
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
||||||
import eva2.tools.math.RNG;
|
import eva2.tools.math.RNG;
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
package eva2.server.go.operators.crossover;
|
package eva2.server.go.operators.crossover;
|
||||||
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
|
|
||||||
import eva2.gui.JParaPanel;
|
import eva2.gui.JParaPanel;
|
||||||
import eva2.gui.Plot;
|
import eva2.gui.Plot;
|
||||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||||
@ -11,12 +9,12 @@ import eva2.server.go.individuals.InterfaceDataTypeDouble;
|
|||||||
import eva2.server.go.populations.Population;
|
import eva2.server.go.populations.Population;
|
||||||
import eva2.server.go.problems.F1Problem;
|
import eva2.server.go.problems.F1Problem;
|
||||||
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
import java.awt.event.WindowAdapter;
|
import java.awt.event.WindowAdapter;
|
||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
import java.awt.event.ActionListener;
|
import javax.swing.*;
|
||||||
import java.awt.event.ActionEvent;
|
|
||||||
import java.awt.*;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by IntelliJ IDEA.
|
* Created by IntelliJ IDEA.
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
package eva2.server.go.operators.distancemetric;
|
package eva2.server.go.operators.distancemetric;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||||
import eva2.server.go.strategies.ParticleSwarmOptimization;
|
import eva2.server.go.strategies.ParticleSwarmOptimization;
|
||||||
import eva2.tools.EVAERROR;
|
import eva2.tools.EVAERROR;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Define a metric on data stored within individuals, such as the personal best position
|
* Define a metric on data stored within individuals, such as the personal best position
|
||||||
|
@ -2,8 +2,6 @@ package eva2.server.go.operators.distancemetric;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
import java.util.BitSet;
|
|
||||||
|
|
||||||
import eva2.gui.BeanInspector;
|
import eva2.gui.BeanInspector;
|
||||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||||
import eva2.server.go.individuals.InterfaceDataTypeBinary;
|
import eva2.server.go.individuals.InterfaceDataTypeBinary;
|
||||||
@ -11,6 +9,7 @@ import eva2.server.go.individuals.InterfaceDataTypeDouble;
|
|||||||
import eva2.server.go.individuals.InterfaceDataTypeInteger;
|
import eva2.server.go.individuals.InterfaceDataTypeInteger;
|
||||||
import eva2.server.go.individuals.InterfaceDataTypePermutation;
|
import eva2.server.go.individuals.InterfaceDataTypePermutation;
|
||||||
import eva2.server.go.individuals.InterfaceDataTypeProgram;
|
import eva2.server.go.individuals.InterfaceDataTypeProgram;
|
||||||
|
import java.util.BitSet;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A phenotype metric suited for the most common data types.
|
* A phenotype metric suited for the most common data types.
|
||||||
|
@ -1,13 +1,12 @@
|
|||||||
package eva2.server.go.operators.initialization;
|
package eva2.server.go.operators.initialization;
|
||||||
|
|
||||||
import java.util.BitSet;
|
|
||||||
|
|
||||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||||
import eva2.server.go.individuals.InterfaceGAIndividual;
|
import eva2.server.go.individuals.InterfaceGAIndividual;
|
||||||
import eva2.server.go.individuals.InterfaceGIIndividual;
|
import eva2.server.go.individuals.InterfaceGIIndividual;
|
||||||
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
||||||
import eva2.tools.EVAERROR;
|
import eva2.tools.EVAERROR;
|
||||||
import eva2.tools.math.RNG;
|
import eva2.tools.math.RNG;
|
||||||
|
import java.util.BitSet;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An initialization method which sets a fixed number of specified target elements per segment,
|
* An initialization method which sets a fixed number of specified target elements per segment,
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
package eva2.server.go.operators.migration;
|
package eva2.server.go.operators.migration;
|
||||||
|
|
||||||
|
|
||||||
import java.io.*;
|
|
||||||
|
|
||||||
import eva2.gui.GraphPointSet;
|
import eva2.gui.GraphPointSet;
|
||||||
import eva2.gui.Plot;
|
import eva2.gui.Plot;
|
||||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||||
@ -18,6 +16,7 @@ import eva2.server.go.strategies.InterfaceOptimizer;
|
|||||||
import eva2.tools.chart2d.Chart2DDPointIconCircle;
|
import eva2.tools.chart2d.Chart2DDPointIconCircle;
|
||||||
import eva2.tools.chart2d.Chart2DDPointIconText;
|
import eva2.tools.chart2d.Chart2DDPointIconText;
|
||||||
import eva2.tools.chart2d.DPoint;
|
import eva2.tools.chart2d.DPoint;
|
||||||
|
import java.io.*;
|
||||||
|
|
||||||
/** This method implements the clustering based subdivision
|
/** This method implements the clustering based subdivision
|
||||||
* scheme suited to identify uni- and multi-modal search spaces
|
* scheme suited to identify uni- and multi-modal search spaces
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package eva2.server.go.operators.mutation;
|
package eva2.server.go.operators.mutation;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
import eva2.gui.BeanInspector;
|
import eva2.gui.BeanInspector;
|
||||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||||
import eva2.server.go.individuals.InterfaceESIndividual;
|
import eva2.server.go.individuals.InterfaceESIndividual;
|
||||||
@ -9,6 +7,7 @@ import eva2.server.go.populations.Population;
|
|||||||
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
||||||
import eva2.tools.math.Mathematics;
|
import eva2.tools.math.Mathematics;
|
||||||
import eva2.tools.math.RNG;
|
import eva2.tools.math.RNG;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package eva2.server.go.operators.mutation;
|
package eva2.server.go.operators.mutation;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
import eva2.server.go.PopulationInterface;
|
import eva2.server.go.PopulationInterface;
|
||||||
import eva2.server.go.enums.MutateESCrossoverTypeEnum;
|
import eva2.server.go.enums.MutateESCrossoverTypeEnum;
|
||||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||||
@ -10,6 +8,7 @@ import eva2.server.go.populations.Population;
|
|||||||
import eva2.server.go.problems.InterfaceAdditionalPopulationInformer;
|
import eva2.server.go.problems.InterfaceAdditionalPopulationInformer;
|
||||||
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
||||||
import eva2.tools.math.RNG;
|
import eva2.tools.math.RNG;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
package eva2.server.go.operators.mutation;
|
package eva2.server.go.operators.mutation;
|
||||||
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||||
import eva2.server.go.individuals.InterfaceGPIndividual;
|
import eva2.server.go.individuals.InterfaceGPIndividual;
|
||||||
import eva2.server.go.individuals.codings.gp.AbstractGPNode;
|
import eva2.server.go.individuals.codings.gp.AbstractGPNode;
|
||||||
@ -10,6 +8,7 @@ import eva2.server.go.individuals.codings.gp.GPArea;
|
|||||||
import eva2.server.go.populations.Population;
|
import eva2.server.go.populations.Population;
|
||||||
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
||||||
import eva2.tools.math.RNG;
|
import eva2.tools.math.RNG;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by IntelliJ IDEA.
|
* Created by IntelliJ IDEA.
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package eva2.server.go.operators.paramcontrol;
|
package eva2.server.go.operators.paramcontrol;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import eva2.gui.GenericObjectEditor;
|
import eva2.gui.GenericObjectEditor;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adapt PSO inertness linearly by time, from given start to end value.
|
* Adapt PSO inertness linearly by time, from given start to end value.
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package eva2.server.go.operators.paramcontrol;
|
package eva2.server.go.operators.paramcontrol;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import eva2.server.go.populations.Population;
|
import eva2.server.go.populations.Population;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A sinusoidal adaption scheme which can be dampened. The value oscillates between a lower and an upper
|
* A sinusoidal adaption scheme which can be dampened. The value oscillates between a lower and an upper
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
package eva2.server.go.operators.selection.replacement;
|
package eva2.server.go.operators.selection.replacement;
|
||||||
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.Comparator;
|
|
||||||
|
|
||||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||||
import eva2.server.go.operators.archiving.ArchivingNSGAII;
|
import eva2.server.go.operators.archiving.ArchivingNSGAII;
|
||||||
import eva2.server.go.operators.selection.SelectRandom;
|
import eva2.server.go.operators.selection.SelectRandom;
|
||||||
import eva2.server.go.populations.Population;
|
import eva2.server.go.populations.Population;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.Comparator;
|
||||||
|
|
||||||
|
|
||||||
/** This crowding method replaces the most similar individual from a random group if better.
|
/** This crowding method replaces the most similar individual from a random group if better.
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
package eva2.server.go.operators.terminators;
|
package eva2.server.go.operators.terminators;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import eva2.gui.BeanInspector;
|
import eva2.gui.BeanInspector;
|
||||||
import eva2.server.go.InterfaceTerminator;
|
import eva2.server.go.InterfaceTerminator;
|
||||||
import eva2.server.go.PopulationInterface;
|
import eva2.server.go.PopulationInterface;
|
||||||
import eva2.server.go.populations.InterfaceSolutionSet;
|
import eva2.server.go.populations.InterfaceSolutionSet;
|
||||||
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Abstract class giving the framework for a terminator that is based on
|
* Abstract class giving the framework for a terminator that is based on
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package eva2.server.go.problems;
|
package eva2.server.go.problems;
|
||||||
|
|
||||||
import java.util.Vector;
|
|
||||||
|
|
||||||
import eva2.gui.GenericObjectEditor;
|
import eva2.gui.GenericObjectEditor;
|
||||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||||
import eva2.server.go.operators.constraint.AbstractConstraint;
|
import eva2.server.go.operators.constraint.AbstractConstraint;
|
||||||
@ -9,6 +7,7 @@ import eva2.server.go.operators.constraint.ConstraintCollection;
|
|||||||
import eva2.server.go.operators.constraint.ConstraintHandlingEnum;
|
import eva2.server.go.operators.constraint.ConstraintHandlingEnum;
|
||||||
import eva2.server.go.operators.constraint.ConstraintRelationEnum;
|
import eva2.server.go.operators.constraint.ConstraintRelationEnum;
|
||||||
import eva2.server.go.operators.constraint.GenericConstraint;
|
import eva2.server.go.operators.constraint.GenericConstraint;
|
||||||
|
import java.util.Vector;
|
||||||
|
|
||||||
public class ConstrPressureVessel extends AbstractProblemDouble {
|
public class ConstrPressureVessel extends AbstractProblemDouble {
|
||||||
private boolean discreteThickness = true;
|
private boolean discreteThickness = true;
|
||||||
|
@ -1,6 +1,14 @@
|
|||||||
package eva2.server.go.problems;
|
package eva2.server.go.problems;
|
||||||
|
|
||||||
|
|
||||||
|
import eva2.server.go.GOStandaloneVersion;
|
||||||
|
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||||
|
import eva2.server.go.individuals.ESIndividualDoubleData;
|
||||||
|
import eva2.server.go.individuals.InterfaceDataTypeDouble;
|
||||||
|
import eva2.server.go.populations.Population;
|
||||||
|
import eva2.server.go.strategies.InterfaceOptimizer;
|
||||||
|
import eva2.server.modules.GOParameters;
|
||||||
|
import eva2.tools.math.RNG;
|
||||||
import java.awt.BasicStroke;
|
import java.awt.BasicStroke;
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
@ -11,22 +19,12 @@ import java.awt.Rectangle;
|
|||||||
import java.awt.Shape;
|
import java.awt.Shape;
|
||||||
import java.awt.Stroke;
|
import java.awt.Stroke;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
|
|
||||||
import javax.swing.JComponent;
|
import javax.swing.JComponent;
|
||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
import javax.swing.JScrollPane;
|
import javax.swing.JScrollPane;
|
||||||
import javax.swing.JTextArea;
|
import javax.swing.JTextArea;
|
||||||
|
|
||||||
import eva2.server.go.GOStandaloneVersion;
|
|
||||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
|
||||||
import eva2.server.go.individuals.ESIndividualDoubleData;
|
|
||||||
import eva2.server.go.individuals.InterfaceDataTypeDouble;
|
|
||||||
import eva2.server.go.populations.Population;
|
|
||||||
import eva2.server.go.strategies.InterfaceOptimizer;
|
|
||||||
import eva2.server.modules.GOParameters;
|
|
||||||
import eva2.tools.math.RNG;
|
|
||||||
|
|
||||||
class MyLensViewer extends JPanel implements InterfaceSolutionViewer {
|
class MyLensViewer extends JPanel implements InterfaceSolutionViewer {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
package eva2.server.go.problems;
|
package eva2.server.go.problems;
|
||||||
|
|
||||||
import eva2.server.go.problems.InterfaceOptimizationObjective;
|
|
||||||
|
|
||||||
|
|
||||||
import eva2.server.go.mocco.paretofrontviewer.InterfaceParetoFrontView;
|
import eva2.server.go.mocco.paretofrontviewer.InterfaceParetoFrontView;
|
||||||
import eva2.server.go.mocco.paretofrontviewer.MOCCOViewer;
|
import eva2.server.go.mocco.paretofrontviewer.MOCCOViewer;
|
||||||
|
|
||||||
|
@ -1,16 +1,5 @@
|
|||||||
package eva2.server.go.strategies;
|
package eva2.server.go.strategies;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileWriter;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.PrintWriter;
|
|
||||||
import java.io.Writer;
|
|
||||||
import java.text.DateFormat;
|
|
||||||
import java.util.BitSet;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import eva2.gui.BeanInspector;
|
import eva2.gui.BeanInspector;
|
||||||
import eva2.server.go.InterfacePopulationChangedEventListener;
|
import eva2.server.go.InterfacePopulationChangedEventListener;
|
||||||
import eva2.server.go.enums.BOAScoringMethods;
|
import eva2.server.go.enums.BOAScoringMethods;
|
||||||
@ -28,6 +17,16 @@ import eva2.tools.Pair;
|
|||||||
import eva2.tools.math.BayNet;
|
import eva2.tools.math.BayNet;
|
||||||
import eva2.tools.math.RNG;
|
import eva2.tools.math.RNG;
|
||||||
import java.io.BufferedWriter;
|
import java.io.BufferedWriter;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileWriter;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.PrintWriter;
|
||||||
|
import java.io.Writer;
|
||||||
|
import java.text.DateFormat;
|
||||||
|
import java.util.BitSet;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
@ -1,12 +1,5 @@
|
|||||||
package eva2.server.go.strategies;
|
package eva2.server.go.strategies;
|
||||||
|
|
||||||
import java.util.BitSet;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.Stack;
|
|
||||||
import java.util.logging.Level;
|
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
import eva2.gui.BeanInspector;
|
import eva2.gui.BeanInspector;
|
||||||
import eva2.server.go.InterfacePopulationChangedEventListener;
|
import eva2.server.go.InterfacePopulationChangedEventListener;
|
||||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||||
@ -20,6 +13,12 @@ import eva2.server.go.problems.BKnapsackProblem;
|
|||||||
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
||||||
import eva2.tools.Pair;
|
import eva2.tools.Pair;
|
||||||
import eva2.tools.math.SpecialFunction;
|
import eva2.tools.math.SpecialFunction;
|
||||||
|
import java.util.BitSet;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.Stack;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
public class LTGA implements InterfaceOptimizer, java.io.Serializable, InterfacePopulationChangedEventListener {
|
public class LTGA implements InterfaceOptimizer, java.io.Serializable, InterfacePopulationChangedEventListener {
|
||||||
|
|
||||||
|
@ -1,12 +1,5 @@
|
|||||||
package eva2.server.go.strategies;
|
package eva2.server.go.strategies;
|
||||||
|
|
||||||
import java.util.BitSet;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.Stack;
|
|
||||||
import java.util.logging.Level;
|
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
import eva2.gui.BeanInspector;
|
import eva2.gui.BeanInspector;
|
||||||
import eva2.server.go.InterfacePopulationChangedEventListener;
|
import eva2.server.go.InterfacePopulationChangedEventListener;
|
||||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||||
@ -20,6 +13,12 @@ import eva2.server.go.problems.BKnapsackProblem;
|
|||||||
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
||||||
import eva2.tools.Pair;
|
import eva2.tools.Pair;
|
||||||
import eva2.tools.math.SpecialFunction;
|
import eva2.tools.math.SpecialFunction;
|
||||||
|
import java.util.BitSet;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.Stack;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
public class MLTGA implements InterfaceOptimizer, java.io.Serializable, InterfacePopulationChangedEventListener {
|
public class MLTGA implements InterfaceOptimizer, java.io.Serializable, InterfacePopulationChangedEventListener {
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package eva2.server.go.strategies;
|
package eva2.server.go.strategies;
|
||||||
|
|
||||||
import eva2.tools.math.RNG;
|
|
||||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||||
|
import eva2.tools.math.RNG;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This extends the particle swarm optimization implementation
|
* This extends the particle swarm optimization implementation
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
package eva2.server.go.tools;
|
package eva2.server.go.tools;
|
||||||
|
|
||||||
|
import eva2.gui.BeanInspector;
|
||||||
|
import eva2.tools.BasicResourceLoader;
|
||||||
|
import eva2.tools.StringTools;
|
||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
import java.io.BufferedInputStream;
|
import java.io.BufferedInputStream;
|
||||||
import java.io.BufferedOutputStream;
|
import java.io.BufferedOutputStream;
|
||||||
@ -13,14 +16,9 @@ import java.io.ObjectInputStream;
|
|||||||
import java.io.ObjectOutputStream;
|
import java.io.ObjectOutputStream;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import javax.swing.JFileChooser;
|
import javax.swing.JFileChooser;
|
||||||
import javax.swing.JOptionPane;
|
import javax.swing.JOptionPane;
|
||||||
|
|
||||||
import eva2.gui.BeanInspector;
|
|
||||||
import eva2.tools.BasicResourceLoader;
|
|
||||||
import eva2.tools.StringTools;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by IntelliJ IDEA.
|
* Created by IntelliJ IDEA.
|
||||||
|
@ -1,20 +1,18 @@
|
|||||||
package eva2.server.go.tools;
|
package eva2.server.go.tools;
|
||||||
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
|
|
||||||
import eva2.gui.GenericObjectEditor;
|
import eva2.gui.GenericObjectEditor;
|
||||||
import eva2.tools.EVAHELP;
|
import eva2.tools.EVAHELP;
|
||||||
|
|
||||||
import java.awt.event.ItemListener;
|
|
||||||
import java.awt.event.ActionListener;
|
|
||||||
import java.awt.event.ActionEvent;
|
|
||||||
import java.awt.event.ItemEvent;
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.util.ArrayList;
|
import java.awt.event.ActionEvent;
|
||||||
import java.beans.PropertyChangeListener;
|
import java.awt.event.ActionListener;
|
||||||
|
import java.awt.event.ItemEvent;
|
||||||
|
import java.awt.event.ItemListener;
|
||||||
import java.beans.PropertyChangeEvent;
|
import java.beans.PropertyChangeEvent;
|
||||||
|
import java.beans.PropertyChangeListener;
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import javax.swing.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by IntelliJ IDEA.
|
* Created by IntelliJ IDEA.
|
||||||
|
@ -1,9 +1,5 @@
|
|||||||
package eva2.server.modules;
|
package eva2.server.modules;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import eva2.gui.BeanInspector;
|
import eva2.gui.BeanInspector;
|
||||||
import eva2.server.go.InterfaceGOParameters;
|
import eva2.server.go.InterfaceGOParameters;
|
||||||
import eva2.server.go.InterfaceNotifyOnInformers;
|
import eva2.server.go.InterfaceNotifyOnInformers;
|
||||||
@ -17,6 +13,9 @@ import eva2.server.go.strategies.InterfaceOptimizer;
|
|||||||
import eva2.tools.Serializer;
|
import eva2.tools.Serializer;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
@ -9,13 +9,12 @@ package eva2.server.modules;
|
|||||||
* $Date: 2007-12-04 14:22:52 +0100 (Tue, 04 Dec 2007) $
|
* $Date: 2007-12-04 14:22:52 +0100 (Tue, 04 Dec 2007) $
|
||||||
* $Author: mkron $
|
* $Author: mkron $
|
||||||
*/
|
*/
|
||||||
import java.io.Serializable;
|
|
||||||
import java.net.InetAddress;
|
|
||||||
|
|
||||||
import eva2.server.go.InterfaceGOParameters;
|
import eva2.server.go.InterfaceGOParameters;
|
||||||
import eva2.server.go.InterfaceProcessor;
|
import eva2.server.go.InterfaceProcessor;
|
||||||
import eva2.tools.jproxy.MainAdapterClient;
|
import eva2.tools.jproxy.MainAdapterClient;
|
||||||
import eva2.tools.jproxy.RemoteStateListener;
|
import eva2.tools.jproxy.RemoteStateListener;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.net.InetAddress;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
package eva2.server.modules;
|
package eva2.server.modules;
|
||||||
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import eva2.server.go.InterfaceGOParameters;
|
import eva2.server.go.InterfaceGOParameters;
|
||||||
import eva2.server.go.enums.DETypeEnum;
|
import eva2.server.go.enums.DETypeEnum;
|
||||||
import eva2.server.go.operators.terminators.EvaluationTerminator;
|
import eva2.server.go.operators.terminators.EvaluationTerminator;
|
||||||
@ -13,6 +11,7 @@ import eva2.server.go.strategies.InterfaceOptimizer;
|
|||||||
import eva2.tools.Serializer;
|
import eva2.tools.Serializer;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.Serializable;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
/** The class gives access to all DE parameters for the EvA
|
/** The class gives access to all DE parameters for the EvA
|
||||||
|
@ -1,19 +1,5 @@
|
|||||||
package eva2.server.stat;
|
package eva2.server.stat;
|
||||||
|
|
||||||
import java.awt.Component;
|
|
||||||
import java.awt.event.ActionEvent;
|
|
||||||
import java.awt.event.ActionListener;
|
|
||||||
import java.beans.PropertyEditor;
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.swing.JComponent;
|
|
||||||
import javax.swing.JFileChooser;
|
|
||||||
import javax.swing.JOptionPane;
|
|
||||||
|
|
||||||
import eva2.gui.GenericArrayEditor;
|
import eva2.gui.GenericArrayEditor;
|
||||||
import eva2.gui.JParaPanel;
|
import eva2.gui.JParaPanel;
|
||||||
import eva2.gui.PropertySelectableList;
|
import eva2.gui.PropertySelectableList;
|
||||||
@ -24,6 +10,18 @@ import eva2.server.modules.AbstractModuleAdapter;
|
|||||||
import eva2.server.modules.GenericModuleAdapter;
|
import eva2.server.modules.GenericModuleAdapter;
|
||||||
import eva2.server.modules.ModuleAdapter;
|
import eva2.server.modules.ModuleAdapter;
|
||||||
import eva2.tools.Serializer;
|
import eva2.tools.Serializer;
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
|
import java.beans.PropertyEditor;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
import javax.swing.JComponent;
|
||||||
|
import javax.swing.JFileChooser;
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A selectable list of EvAJobs. Each job contains a GOParameters instance and potentially
|
* A selectable list of EvAJobs. Each job contains a GOParameters instance and potentially
|
||||||
|
@ -13,11 +13,6 @@ package eva2.server.stat;
|
|||||||
/*==========================================================================*
|
/*==========================================================================*
|
||||||
* IMPORTS
|
* IMPORTS
|
||||||
*==========================================================================*/
|
*==========================================================================*/
|
||||||
import java.io.Serializable;
|
|
||||||
import java.net.InetAddress;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import eva2.gui.BeanInspector;
|
import eva2.gui.BeanInspector;
|
||||||
import eva2.gui.Graph;
|
import eva2.gui.Graph;
|
||||||
import eva2.gui.GraphWindow;
|
import eva2.gui.GraphWindow;
|
||||||
@ -32,6 +27,10 @@ import eva2.tools.Pair;
|
|||||||
import eva2.tools.jproxy.MainAdapterClient;
|
import eva2.tools.jproxy.MainAdapterClient;
|
||||||
import eva2.tools.jproxy.RMIProxyLocal;
|
import eva2.tools.jproxy.RMIProxyLocal;
|
||||||
import eva2.tools.jproxy.RMIProxyRemote;
|
import eva2.tools.jproxy.RMIProxyRemote;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.net.InetAddress;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ package eva2.tools.print;
|
|||||||
* IMPORTS
|
* IMPORTS
|
||||||
*==========================================================================*/
|
*==========================================================================*/
|
||||||
|
|
||||||
import java.awt.* ;
|
import java.awt.*;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.awt.print.*;
|
import java.awt.print.*;
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
@ -5,9 +5,9 @@
|
|||||||
package eva2.tools;
|
package eva2.tools;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
|
import static org.junit.Assert.*;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import static org.junit.Assert.*;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user