<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
</plugin>
- <!-- generate a cross references of source codes -->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>jxr-maven-plugin</artifactId>
- <configuration>
- <javadocDir>site/apidocs</javadocDir>
- </configuration>
- </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
+++ /dev/null
-package jp.naist.se.stigmata.birthmarks.fmc;\r
-\r
-/*\r
- * $Id$\r
- */\r
-\r
-import jp.naist.se.stigmata.Birthmark;\r
-import jp.naist.se.stigmata.BirthmarkContext;\r
-import jp.naist.se.stigmata.birthmarks.BirthmarkExtractVisitor;\r
-import jp.naist.se.stigmata.birthmarks.FrequencyBirthmarkElement;\r
-\r
-import org.objectweb.asm.ClassVisitor;\r
-import org.objectweb.asm.MethodAdapter;\r
-import org.objectweb.asm.MethodVisitor;\r
-\r
-/**\r
- * \r
- * \r
- *\r
- * @author Haruaki TAMADA\r
- * @version $Revision$ $Date$\r
- */\r
-public class FrequencyMethodCallBirthmarkExtractVisitor extends BirthmarkExtractVisitor{\r
- public FrequencyMethodCallBirthmarkExtractVisitor(ClassVisitor visitor, Birthmark birthmark, BirthmarkContext context){\r
- super(visitor, birthmark, context);\r
- }\r
-\r
- public MethodVisitor visitMethod(int access, String name, String desc,\r
- String signature, String[] exceptions){\r
-\r
- MethodVisitor visitor = super.visitMethod(access, name, desc, signature, exceptions);\r
-\r
- return new MethodAdapter(visitor){\r
- public void visitMethodInsn(int opcode, String owner, String name, String desc){\r
- String className = owner.replace('/', '.');\r
- if(getContext().getWellknownClassManager().isWellKnownClass(className)){\r
- addElement(new FrequencyBirthmarkElement(className + "#" + name + desc));\r
- }\r
- super.visitMethodInsn(opcode, owner, name, desc);\r
- }\r
- };\r
- }\r
-}\r
import jp.naist.se.stigmata.birthmarks.ASMBirthmarkExtractor;
import jp.naist.se.stigmata.birthmarks.BirthmarkExtractVisitor;
import jp.naist.se.stigmata.birthmarks.FrequencyBirthmark;
+import jp.naist.se.stigmata.birthmarks.FrequencyBirthmarkElement;
+import jp.naist.se.stigmata.birthmarks.smc.SequentialMethodCallBirthmarkExtractVisitor;
import jp.naist.se.stigmata.spi.BirthmarkSpi;
import org.objectweb.asm.ClassWriter;
@Override
public BirthmarkExtractVisitor createExtractVisitor(ClassWriter writer, Birthmark birthmark, BirthmarkContext context){
- return new FrequencyMethodCallBirthmarkExtractVisitor(writer, birthmark, context);
+ return new SequentialMethodCallBirthmarkExtractVisitor(writer, birthmark, context){
+ @Override
+ protected void addElement(String className, String methodName, String description){
+ addElement(new FrequencyBirthmarkElement(className + "#" + methodName + description));
+ }
+ };
}
public ExtractionUnit[] getAcceptableUnits(){
public void visitMethodInsn(int opcode, String owner, String name, String desc){\r
String className = owner.replace('/', '.');\r
if(getContext().getWellknownClassManager().isWellKnownClass(className)){\r
- addElement(new MethodCallBirthmarkElement(className, name, desc));\r
+ addElement(className, name, desc);\r
}\r
super.visitMethodInsn(opcode, owner, name, desc);\r
}\r
};\r
}\r
+\r
+ protected void addElement(String className, String methodName, String description){\r
+ addElement(new MethodCallBirthmarkElement(className, methodName, description));\r
+ }\r
}\r
* $Id$\r
*/\r
\r
+import java.util.ArrayList;\r
+import java.util.HashSet;\r
+import java.util.Iterator;\r
+import java.util.LinkedHashMap;\r
+import java.util.List;\r
+import java.util.Map;\r
+import java.util.Set;\r
+\r
import javax.swing.JPanel;\r
\r
import jp.naist.se.stigmata.spi.BirthmarkSpi;\r
* @version $Revision$ $Date$\r
*/\r
public abstract class BirthmarkSelectablePane extends JPanel implements BirthmarkServiceListener{\r
+ private StigmataFrame stigmata;\r
+ private Set<String> selectedServices = new HashSet<String>();\r
+ private Map<String, BirthmarkSelection> services;\r
+ private List<DataChangeListener> listeners = new ArrayList<DataChangeListener>();\r
+ private boolean expertmode;\r
+\r
+ public BirthmarkSelectablePane(StigmataFrame stigmata){\r
+ this.stigmata = stigmata;\r
+\r
+ initServices();\r
+ stigmata.addBirthmarkServiceListener(this);\r
+ }\r
+\r
+ protected abstract void updateLayouts();\r
+\r
+ public void setExpertMode(boolean expertmode){\r
+ this.expertmode = expertmode;\r
+ updateLayouts();\r
+ }\r
+\r
+ public boolean isExpertMode(){\r
+ return expertmode;\r
+ }\r
+\r
+ public String[] getSelectedServiceTypes(){\r
+ return selectedServices.toArray(new String[selectedServices.size()]);\r
+ }\r
+\r
+ public BirthmarkSpi getService(String type){\r
+ BirthmarkSelection elem = services.get(type);\r
+ if(elem != null){\r
+ return elem.getService();\r
+ }\r
+ \r
+ return null;\r
+ }\r
+\r
+ public String[] getServiceTypes(){\r
+ String[] serviceArray = new String[services.size()];\r
+ int index = 0;\r
+ for(String key: services.keySet()){\r
+ BirthmarkSpi service = services.get(key).getService();\r
+ serviceArray[index] = service.getType();\r
+ index++;\r
+ }\r
+ return serviceArray;\r
+ }\r
+\r
+ public boolean hasService(String type){\r
+ return services.get(type) != null;\r
+ }\r
+\r
+ public void select(String type, boolean flag){\r
+ if(flag){\r
+ selectedServices.add(type);\r
+ }\r
+ else{\r
+ selectedServices.remove(type);\r
+ }\r
+ fireEvent();\r
+ }\r
+\r
+ public void select(BirthmarkSpi service, boolean flag){\r
+ select(service.getType(), flag);\r
+ }\r
+\r
+ public void reset(){\r
+ selectedServices.clear();\r
+ initServices();\r
+ expertmode = false;\r
+ updateLayouts();\r
+ fireEvent();\r
+ }\r
\r
- public abstract void setExpertMode(boolean expertmode);\r
+ public void addDataChangeListener(DataChangeListener listener){\r
+ listeners.add(listener);\r
+ }\r
\r
- public abstract boolean isExpertMode();\r
+ public void serviceAdded(BirthmarkSpi service){\r
+ if(services.get(service.getType()) == null){\r
+ BirthmarkSelection elem = new BirthmarkSelection(service);\r
+ selectedServices.add(service.getType());\r
+ services.put(service.getType(), elem);\r
+ }\r
+ updateLayouts();\r
+ fireEvent();\r
+ }\r
\r
- public abstract void reset();\r
+ public void serviceRemoved(BirthmarkSpi service){\r
+ BirthmarkSelection elem = services.get(service);\r
+ if(elem != null){\r
+ selectedServices.remove(service);\r
+ services.remove(service);\r
+ }\r
+ fireEvent();\r
+ }\r
\r
- public abstract void addDataChangeListener(DataChangeListener listener);\r
+ public Iterator<String> serviceNames(){\r
+ return services.keySet().iterator();\r
+ }\r
\r
- public abstract String[] getServices();\r
+ protected BirthmarkSelection getSelection(String type){\r
+ return services.get(type);\r
+ }\r
\r
- public abstract String[] getSelectedServices();\r
+ protected Iterator<BirthmarkSelection> birthmarkSelections(){\r
+ return services.values().iterator();\r
+ }\r
\r
- public abstract void serviceAdded(BirthmarkSpi service);\r
+ protected void fireEvent(){\r
+ for(DataChangeListener listener: listeners){\r
+ listener.valueChanged(this);\r
+ }\r
+ }\r
\r
- public abstract BirthmarkSpi getService(String type);\r
+ private void initServices(){\r
+ BirthmarkSpi[] serviceArray = stigmata.getContext().getServices();\r
\r
+ services = new LinkedHashMap<String, BirthmarkSelection>();\r
+ for(BirthmarkSpi service: serviceArray){\r
+ BirthmarkSelection elem = new BirthmarkSelection(service);\r
+ services.put(service.getType(), elem);\r
+ }\r
+ }\r
}
\ No newline at end of file
import java.awt.GridLayout;\r
import java.awt.event.ActionEvent;\r
import java.awt.event.ActionListener;\r
-import java.util.ArrayList;\r
-import java.util.HashSet;\r
-import java.util.LinkedHashMap;\r
-import java.util.List;\r
-import java.util.Map;\r
-import java.util.Set;\r
+import java.util.Iterator;\r
\r
import javax.swing.Box;\r
import javax.swing.JButton;\r
import javax.swing.JCheckBox;\r
import javax.swing.JPanel;\r
\r
-import jp.naist.se.stigmata.spi.BirthmarkSpi;\r
-\r
/**\r
*\r
* @author Haruaki TAMADA\r
* @version $Revision$ $Date$\r
*/\r
-public class BirthmarkSelectionCheckSetPane extends BirthmarkSelectablePane implements BirthmarkServiceListener{\r
+public class BirthmarkSelectionCheckSetPane extends BirthmarkSelectablePane{\r
private static final long serialVersionUID = 3209854654743223453L;\r
\r
- private StigmataFrame stigmata;\r
- private List<DataChangeListener> listeners = new ArrayList<DataChangeListener>();\r
- private Set<String> selectedServices = new HashSet<String>();\r
- private Map<String, BirthmarkSelection> services;\r
- private boolean expertmode = false;\r
private JPanel checks = new JPanel();\r
\r
public BirthmarkSelectionCheckSetPane(StigmataFrame stigmata){\r
- this.stigmata = stigmata;\r
+ super(stigmata);\r
\r
initLayouts();\r
- initServices();\r
- stigmata.addBirthmarkServiceListener(this);\r
}\r
\r
private void initLayouts(){\r
ActionListener listener = new ActionListener(){\r
public void actionPerformed(ActionEvent e){\r
boolean flag = e.getActionCommand().equals("checkall");\r
- for(String key: services.keySet()){\r
- BirthmarkSelection le = services.get(key);\r
+ for(Iterator<BirthmarkSelection> i = birthmarkSelections(); i.hasNext(); ){\r
+ BirthmarkSelection le = i.next();\r
le.setSelected(flag);\r
- updateLayouts();\r
fireEvent();\r
}\r
+ updateLayouts();\r
}\r
};\r
checkAll.addActionListener(listener);\r
uncheckAll.addActionListener(listener);\r
}\r
\r
- public void select(BirthmarkSpi service, boolean flag){\r
- if(flag){\r
- selectedServices.add(service.getType());\r
- }\r
- else{\r
- selectedServices.remove(service.getType());\r
- }\r
- fireEvent();\r
- }\r
-\r
- public void refresh(){\r
- initServices();\r
- updateLayouts();\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see jp.naist.se.stigmata.ui.swing.BirthmarkSelectable#setExpertMode(boolean)\r
- */\r
- public void setExpertMode(boolean expertmode){\r
- this.expertmode = expertmode;\r
- updateLayouts();\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see jp.naist.se.stigmata.ui.swing.BirthmarkSelectable#isExpertMode()\r
- */\r
- public boolean isExpertMode(){\r
- return expertmode;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see jp.naist.se.stigmata.ui.swing.BirthmarkSelectable#reset()\r
- */\r
- public void reset(){\r
- selectedServices.clear();\r
- initServices();\r
- expertmode = false;\r
- updateLayouts();\r
- fireEvent();\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see jp.naist.se.stigmata.ui.swing.BirthmarkSelectable#addDataChangeListener(jp.naist.se.stigmata.ui.swing.DataChangeListener)\r
- */\r
- public void addDataChangeListener(DataChangeListener listener){\r
- listeners.add(listener);\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see jp.naist.se.stigmata.ui.swing.BirthmarkSelectable#getServices()\r
- */\r
- public String[] getServices(){\r
- String[] serviceArray = new String[services.size()];\r
- int index = 0;\r
- for(String key: services.keySet()){\r
- BirthmarkSpi service = services.get(key).getService();\r
- serviceArray[index] = service.getType();\r
- index++;\r
- }\r
- return serviceArray;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see jp.naist.se.stigmata.ui.swing.BirthmarkSelectable#getSelectedServices()\r
- */\r
- public String[] getSelectedServices(){\r
- return selectedServices.toArray(new String[selectedServices.size()]);\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see jp.naist.se.stigmata.ui.swing.BirthmarkSelectable#addService(jp.naist.se.stigmata.spi.BirthmarkSpi)\r
- */\r
- public void serviceAdded(BirthmarkSpi service){\r
- if(services.get(service.getType()) == null){\r
- BirthmarkSelection elem = new BirthmarkSelection(service);\r
- selectedServices.add(service.getType());\r
- services.put(service.getType(), elem);\r
- }\r
- updateLayouts();\r
- fireEvent();\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see jp.naist.se.stigmata.ui.swing.BirthmarkSelectable#getService(java.lang.String)\r
- */\r
- public BirthmarkSpi getService(String type){\r
- BirthmarkSelection elem = services.get(type);\r
- if(elem != null){\r
- return elem.getService();\r
- }\r
-\r
- return null;\r
- }\r
-\r
- public boolean hasService(String type){\r
- return services.get(type) != null;\r
- }\r
-\r
- public void serviceRemoved(BirthmarkSpi service){\r
- BirthmarkSelection elem = services.get(service.getType());\r
- if(elem != null){\r
- selectedServices.remove(service.getType());\r
- services.remove(service.getType());\r
- }\r
- updateLayouts();\r
- fireEvent();\r
- }\r
-\r
- private void fireEvent(){\r
- for(DataChangeListener listener: listeners){\r
- listener.valueChanged(this);\r
- }\r
- }\r
-\r
/**\r
* update layouts and update selected birthmarks list.\r
*/\r
- private void updateLayouts(){\r
+ protected void updateLayouts(){\r
checks.removeAll();\r
Dimension d = calculateDimension();\r
checks.setLayout(new GridLayout(d.height, d.width));\r
\r
- for(String key: services.keySet()){\r
- final BirthmarkSelection elem = services.get(key);\r
+ for(Iterator<BirthmarkSelection> i = birthmarkSelections(); i.hasNext(); ){\r
+ final BirthmarkSelection elem = i.next();\r
if(elem.isVisible(isExpertMode())){\r
JCheckBox check = new JCheckBox(elem.getService().getDisplayType());\r
check.setSelected(elem.isSelected());\r
check.addActionListener(new ActionListener(){\r
public void actionPerformed(ActionEvent e){\r
JCheckBox c = (JCheckBox)e.getSource();\r
- if(c.isSelected()) selectedServices.add(elem.getService().getType());\r
- else selectedServices.remove(elem.getService().getType());\r
+ select(elem.getService().getType(), c.isSelected());\r
fireEvent();\r
}\r
});\r
checks.add(check);\r
}\r
\r
- if(elem.isVisible(isExpertMode()) && elem.isSelected()){ \r
- selectedServices.add(elem.getType());\r
- }\r
- else{\r
- selectedServices.remove(elem.getType());\r
- }\r
+ select(elem.getType(), elem.isVisible(isExpertMode()) && elem.isSelected());\r
}\r
updateUI();\r
}\r
\r
- private void initServices(){\r
- BirthmarkSpi[] serviceArray = stigmata.getContext().getServices();\r
-\r
- services = new LinkedHashMap<String, BirthmarkSelection>();\r
- for(BirthmarkSpi service: serviceArray){\r
- BirthmarkSelection elem = new BirthmarkSelection(service);\r
- services.put(service.getType(), elem);\r
- }\r
- }\r
-\r
private Dimension calculateDimension(){\r
int rows = 1;\r
int cols = 0;\r
- for(String key: services.keySet()){\r
- BirthmarkSelection selection = services.get(key);\r
+ for(Iterator<BirthmarkSelection> i = birthmarkSelections(); i.hasNext(); ){\r
+ BirthmarkSelection selection = i.next();\r
if(selection.isVisible(isExpertMode())){\r
cols++;\r
}\r
*/\r
\r
import java.awt.BorderLayout;\r
-import java.awt.Color;\r
import java.awt.Component;\r
-import java.awt.Dimension;\r
-import java.awt.SystemColor;\r
import java.awt.event.ActionEvent;\r
import java.awt.event.ActionListener;\r
import java.awt.event.MouseAdapter;\r
import java.awt.event.MouseEvent;\r
-import java.util.ArrayList;\r
-import java.util.HashSet;\r
-import java.util.LinkedHashMap;\r
-import java.util.List;\r
-import java.util.Map;\r
-import java.util.Set;\r
+import java.util.Iterator;\r
\r
import javax.swing.Box;\r
import javax.swing.DefaultListModel;\r
import javax.swing.JList;\r
import javax.swing.JScrollPane;\r
import javax.swing.ListCellRenderer;\r
+import javax.swing.UIManager;\r
+import javax.swing.border.Border;\r
+import javax.swing.border.EmptyBorder;\r
\r
import jp.naist.se.stigmata.spi.BirthmarkSpi;\r
\r
* @author Haruaki TAMADA\r
* @version $Revision$ $Date$\r
*/\r
-public class BirthmarkSelectionListPane extends BirthmarkSelectablePane implements BirthmarkServiceListener{\r
+public class BirthmarkSelectionListPane extends BirthmarkSelectablePane{\r
private static final long serialVersionUID = 3209854654743223453L;\r
\r
- private StigmataFrame stigmata;\r
- private List<DataChangeListener> listeners = new ArrayList<DataChangeListener>();\r
- private Set<String> selectedServices = new HashSet<String>();\r
- private Map<String, BirthmarkSelection> services;\r
- private boolean expertmode = false;\r
private DefaultListModel model;\r
private JList list;\r
\r
public BirthmarkSelectionListPane(StigmataFrame stigmata){\r
- this.stigmata = stigmata;\r
+ super(stigmata);\r
\r
initLayouts();\r
- initServices();\r
+ }\r
\r
- stigmata.addBirthmarkServiceListener(this);\r
+ public void serviceRemoved(BirthmarkSpi service){\r
+ BirthmarkSelection elem = getSelection(service.getType());\r
+ model.removeElement(elem);\r
+ \r
+ super.serviceRemoved(service);\r
}\r
\r
private void initLayouts(){\r
list = new JList(model = new DefaultListModel());\r
JScrollPane scroll = new JScrollPane(list);\r
add(scroll, BorderLayout.CENTER);\r
- list.setCellRenderer(new BirthmarkServiceListCellRenderer(new Dimension(250, 20), 60));\r
+ list.setCellRenderer(new Renderer());\r
list.setVisibleRowCount(5);\r
JButton checkAll = Utility.createButton("checkall");\r
JButton uncheckAll = Utility.createButton("uncheckall");\r
ActionListener listener = new ActionListener(){\r
public void actionPerformed(ActionEvent e){\r
boolean flag = e.getActionCommand().equals("checkall");\r
- for(String key: services.keySet()){\r
- BirthmarkSelection le = services.get(key);\r
+ for(Iterator<BirthmarkSelection> i = birthmarkSelections(); i.hasNext(); ){\r
+ BirthmarkSelection le = i.next();\r
le.setSelected(flag);\r
- updateUI();\r
fireEvent();\r
}\r
+ updateUI();\r
}\r
};\r
checkAll.addActionListener(listener);\r
});\r
}\r
\r
- public void select(BirthmarkSpi service, boolean flag){\r
- if(flag){\r
- selectedServices.add(service.getType());\r
- }\r
- else{\r
- selectedServices.remove(service.getType());\r
- }\r
- fireEvent();\r
- }\r
-\r
- public void refresh(){\r
- initServices();\r
- updateLayouts();\r
- }\r
-\r
- public void setExpertMode(boolean expertmode){\r
- this.expertmode = expertmode;\r
- updateLayouts();\r
- }\r
-\r
- public boolean isExpertMode(){\r
- return expertmode;\r
- }\r
-\r
- public void reset(){\r
- selectedServices.clear();\r
- initServices();\r
- expertmode = false;\r
- updateLayouts();\r
- fireEvent();\r
- }\r
-\r
- public void addDataChangeListener(DataChangeListener listener){\r
- listeners.add(listener);\r
- }\r
-\r
- public String[] getServices(){\r
- String[] serviceArray = new String[services.size()];\r
- int index = 0;\r
- for(String key: services.keySet()){\r
- BirthmarkSpi service = services.get(key).getService();\r
- serviceArray[index] = service.getType();\r
- index++;\r
- }\r
- return serviceArray;\r
- }\r
-\r
- public String[] getSelectedServices(){\r
- return selectedServices.toArray(new String[selectedServices.size()]);\r
- }\r
-\r
- public void serviceAdded(BirthmarkSpi service){\r
- if(services.get(service.getType()) == null){\r
- BirthmarkSelection elem = new BirthmarkSelection(service);\r
- selectedServices.add(service.getType());\r
- services.put(service.getType(), elem);\r
- }\r
- updateLayouts();\r
- fireEvent();\r
- }\r
-\r
- public BirthmarkSpi getService(String type){\r
- BirthmarkSelection elem = services.get(type);\r
- if(elem != null){\r
- return elem.getService();\r
- }\r
-\r
- return null;\r
- }\r
-\r
- public boolean hasService(String type){\r
- return services.get(type) != null;\r
- }\r
-\r
- public void serviceRemoved(BirthmarkSpi service){\r
- BirthmarkSelection elem = services.get(service);\r
- if(elem != null){\r
- model.removeElement(elem);\r
- selectedServices.remove(service);\r
- services.remove(service);\r
- }\r
- fireEvent();\r
- }\r
-\r
- private void fireEvent(){\r
- for(DataChangeListener listener: listeners){\r
- listener.valueChanged(this);\r
- }\r
- }\r
-\r
/**\r
* update layouts and update selected birthmarks list.\r
*/\r
- private void updateLayouts(){\r
+ protected void updateLayouts(){\r
model.removeAllElements();\r
\r
- for(String key: services.keySet()){\r
- BirthmarkSelection elem = services.get(key);\r
+ for(Iterator<BirthmarkSelection> i = birthmarkSelections(); i.hasNext(); ){\r
+ BirthmarkSelection elem = i.next();\r
if(elem.isVisible(isExpertMode())){\r
model.addElement(elem);\r
}\r
\r
- if(elem.isVisible(isExpertMode()) && elem.isSelected()){ \r
- selectedServices.add(elem.getType());\r
- }\r
- else{\r
- selectedServices.remove(elem.getType());\r
- }\r
+ select(elem.getType(), elem.isVisible(isExpertMode()) && elem.isSelected());\r
}\r
updateUI();\r
}\r
\r
- private void initServices(){\r
- BirthmarkSpi[] serviceArray = stigmata.getContext().getServices();\r
-\r
- services = new LinkedHashMap<String, BirthmarkSelection>();\r
- for(BirthmarkSpi service: serviceArray){\r
- BirthmarkSelection elem = new BirthmarkSelection(service);\r
- services.put(service.getType(), elem);\r
- }\r
- }\r
-\r
public static class Renderer extends JCheckBox implements ListCellRenderer{\r
private static final long serialVersionUID = -324432943654654L;\r
+ private static Border noFocusBorder = new EmptyBorder(1, 1, 1, 1);\r
\r
public Renderer(){\r
setOpaque(true);\r
setToolTipText(elem.getService().getDescription());\r
setSelected(elem.isSelected());\r
\r
- setBackground(isSelected ? SystemColor.textHighlight: Color.white);\r
- setForeground(isSelected ? SystemColor.textHighlightText: Color.black);\r
+ if(isSelected){\r
+ setBackground(list.getSelectionBackground());\r
+ setForeground(list.getSelectionForeground());\r
+ }\r
+ else{\r
+ setBackground(list.getBackground());\r
+ setForeground(list.getForeground());\r
+ }\r
+\r
+ Border border = null;\r
+ if(forcus) {\r
+ if (isSelected) {\r
+ border = UIManager.getBorder("List.focusSelectedCellHighlightBorder");\r
+ }\r
+ if (border == null) {\r
+ border = UIManager.getBorder("List.focusCellHighlightBorder");\r
+ }\r
+ } else {\r
+ border = noFocusBorder;\r
+ }\r
+ setBorder(border);\r
\r
return this;\r
}\r
\r
void inititalize(){\r
definition = new BirthmarkDefinitionPane(stigmata);\r
- birthmarks = new BirthmarkSelectionCheckSetPane(stigmata);\r
+ birthmarks = new BirthmarkSelectionListPane(stigmata);\r
properties = new PropertyEditPane(stigmata);\r
JComponent control = createControlPane();\r
wellknownClassses = new WellknownClassesSettingsPane(stigmata);\r
private void updateEnable(){\r
String[] valueX = targetX.getValues();\r
String[] valueY = targetY.getValues();\r
- String[] targets = birthmarks.getSelectedServices();\r
+ String[] targets = birthmarks.getSelectedServiceTypes();\r
\r
extractButton.setEnabled(\r
((valueX != null && valueX.length > 0) || (valueY != null && valueY.length > 0))\r
}\r
\r
stigmata.extract(\r
- birthmarks.getSelectedServices(), \r
+ birthmarks.getSelectedServiceTypes(), \r
targets.toArray(new String[targets.size()]), context\r
);\r
}\r
String[] filterSetList = pane.getSelectedFilters();\r
\r
stigmata.compareRoundRobin(\r
- birthmarks.getSelectedServices(), targetX.getValues(),\r
+ birthmarks.getSelectedServiceTypes(), targetX.getValues(),\r
targetY.getValues(), filterSetList, context\r
);\r
}\r
BirthmarkContext context = generateContext();\r
\r
stigmata.compareRoundRobin(\r
- birthmarks.getSelectedServices(), targetX.getValues(), \r
+ birthmarks.getSelectedServiceTypes(), targetX.getValues(), \r
targetY.getValues(), context\r
);\r
}\r
BirthmarkContext context = generateContext();\r
String[] fileX = targetX.getValues();\r
String[] fileY = targetY.getValues();\r
- stigmata.compareSpecifiedPair(birthmarks.getSelectedServices(), fileX,\r
+ stigmata.compareSpecifiedPair(birthmarks.getSelectedServiceTypes(), fileX,\r
fileY, context);\r
}\r
\r
String[] fileX = targetX.getValues();\r
String[] fileY = targetY.getValues();\r
\r
- stigmata.compareGuessedPair(birthmarks.getSelectedServices(), fileX,\r
+ stigmata.compareGuessedPair(birthmarks.getSelectedServiceTypes(), fileX,\r
fileY, context);\r
}\r
\r
\r
indexes = index;\r
}\r
-\r
- public static void main(String[] args){\r
- Matrix matrix = new Matrix(new double[][]{\r
- { 0, 587, 1212, 701, 1936, 604, 748, 2139, 2182, 543, },\r
- { 587, 0, 920, 940, 1745, 1188, 713, 1858, 1737, 597, },\r
- { 1212, 920, 0, 879, 831, 1726, 1631, 949, 1021, 1494, },\r
- { 701, 940, 879, 0, 1374, 968, 1420, 1645, 1891, 1220, },\r
- { 1936, 1745, 831, 1374, 0, 2339, 2451, 347, 959, 2300, },\r
- { 604, 1188, 1726, 968, 2339, 0, 1092, 2592, 2734, 923, },\r
- { 748, 713, 1631, 1420, 2451, 1092, 0, 2571, 2408, 205, },\r
- { 2139, 1858, 949, 1645, 347, 2594, 2571, 0, 678, 2442, },\r
- { 2182, 1737, 1021, 1891, 959, 2734, 2408, 678, 0, 2329, },\r
- { 543, 597, 1494, 1220, 2300, 923, 205, 2442, 2329, 0, },\r
- });\r
- MDSMethod mds = new MDSMethod(matrix);\r
- System.out.println(mds.getCoordinateMatrix());\r
- }\r
}\r