JFileChooser fc = new JFileChooser(); fc.setMultiSelectionEnabled(true); // bug #996381 (fdietz), directories only!! fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); fc.setFileHidingEnabled(false); if (fc.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { File location = fc.getSelectedFile(); Profile p = new Profile(location.getName(), location); // add profile to profiles.xml ProfileManager.getInstance().addProfile(p); // add to listmodel model.addElement(p.getName()); // select new item list.setSelectedValue(p.getName(), true); } } else if (action.equals("EDIT")) { String inputValue = JOptionPane.showInputDialog( GlobalResourceLoader.getString(RESOURCE_PATH, "profiles", "enter_name"), selection); if (inputValue == null) { return; } // rename profile in profiles.xml ProfileManager.getInstance().renameProfile(selection, inputValue); // modify listmodel model.setElementAt(inputValue, model.indexOf(selection)); selection = inputValue;
if (action.equals("ADD")) { JFileChooser fc = new JFileChooser(); fc.setMultiSelectionEnabled(true); // bug #996381 (fdietz), directories only!! fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); fc.setFileHidingEnabled(false); if (fc.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { File location = fc.getSelectedFile(); Profile p = new Profile(location.getName(), location); // add profile to profiles.xml ProfileManager.getInstance().addProfile(p); // add to listmodel model.addElement(p.getName()); // select new item list.setSelectedValue(p.getName(), true); } } else if (action.equals("EDIT")) { String inputValue = JOptionPane.showInputDialog( GlobalResourceLoader.getString(RESOURCE_PATH, "profiles", "enter_name"), selection); if (inputValue == null) { return; } // rename profile in profiles.xml ProfileManager.getInstance().renameProfile(selection, inputValue); // modify listmodel model.setElementAt(inputValue, model.indexOf(selection)); selection = inputValue; }
Clone fragments detected by clone detection tool
File path: /columba-1.4-src/core/src/main/java/org/columba/core/gui/profiles/ProfileManagerDialog.java File path: /columba-1.4-src/core/src/main/java/org/columba/core/gui/profiles/ProfileChooserDialog.java
Method name: void actionPerformed(ActionEvent) Method name: void actionPerformed(ActionEvent)
Number of AST nodes: 16 Number of AST nodes: 18
1
if (action.equals("ADD")) {
1
JFileChooser fc = new JFileChooser();
2
            JFileChooser fc = new JFileChooser();
2
			fc.setMultiSelectionEnabled(true);
3
            fc.setMultiSelectionEnabled(true);
3
			// bug #996381 (fdietz), directories only!!
4
            // bug #996381 (fdietz), directories only!!
4
			fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
5
            fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
5
			fc.setFileHidingEnabled(false);
6
            fc.setFileHidingEnabled(false);
6
			if (fc.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
7
            if (fc.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
7
				File location = fc.getSelectedFile();
8
                File location = fc.getSelectedFile();
8
				Profile p = new Profile(location.getName(), location);
9
                Profile p = new Profile(location.getName(), location);
9
				// add profile to profiles.xml
10
                // add profile to profiles.xml
10
				ProfileManager.getInstance().addProfile(p);
11
                ProfileManager.getInstance().addProfile(p);
11
				
12
                
12
// add to listmodel
13
                // add to listmodel
13
				model.addElement(p.getName());
14
                model.addElement(p.getName());
14
				// select new item
15
                // select new item
15
				list.setSelectedValue(p.getName(), true);
16
                list.setSelectedValue(p.getName(), true);
16
			}
17
		
17
            }
18
} else if (action.equals("EDIT")) {
18
        } else if (action.equals("EDIT")) {
19
			String inputValue = JOptionPane.showInputDialog(
19
            String inputValue = JOptionPane.showInputDialog(
20
					GlobalResourceLoader.getString(RESOURCE_PATH, "profiles",
20
                GlobalResourceLoader.getString(RESOURCE_PATH, "profiles",
21
							"enter_name"), selection);
21
                "enter_name"), selection);
22
			
22
            
23
if (inputValue == null) {
23
            if (inputValue == null) {
24
				return;
25
			}
26
			
24
                return;
25
            }
26
            
27
// rename profile in profiles.xml
27
            // rename profile in profiles.xml
28
			ProfileManager.getInstance().renameProfile(selection, inputValue);
28
            ProfileManager.getInstance().renameProfile(selection, inputValue);
29
			
29
            
30
// modify listmodel
30
            // modify listmodel
31
			model.setElementAt(inputValue, model.indexOf(selection));
31
            model.setElementAt(inputValue, model.indexOf(selection));
32
			selection = inputValue;
32
            selection = inputValue;
33
        }
Summary
Number of common nesting structure subtrees1
Number of refactorable cases1
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.4
Clones locationClones are in different classes having the same super class
Number of node comparisons54
  1. {Refactorable}
    Mapping Summary
    Number of mapped statements10
    Number of unmapped statements in the first code fragment0
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)2.2
    Clone typeType 1
    Mapped Statements
    ID Statement ID Statement
    7
    JFileChooser fc = new JFileChooser();
    7
    JFileChooser fc = new JFileChooser();
    8
    fc.setMultiSelectionEnabled(true);
    8
    fc.setMultiSelectionEnabled(true);
    9
    fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
    9
    fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
    10
    fc.setFileHidingEnabled(false);
    10
    fc.setFileHidingEnabled(false);
    11
    if (fc.showOpenDialog(this) == JFileChooser.APPROVE_OPTION)
    11
    if (fc.showOpenDialog(this) == JFileChooser.APPROVE_OPTION)
    12
    File location = fc.getSelectedFile();
    12
    File location = fc.getSelectedFile();
    13
    Profile p = new Profile(location.getName(), location);
    13
    Profile p = new Profile(location.getName(), location);
    14
    ProfileManager.getInstance().addProfile(p);
    14
    ProfileManager.getInstance().addProfile(p);
    15
    model.addElement(p.getName());
    15
    model.addElement(p.getName());
    16
    list.setSelectedValue(p.getName(), true);
    16
    list.setSelectedValue(p.getName(), true);
    Precondition Violations (0)
    Row Violation