Revision 2229

View differences:

org.gvsig.tools/library/tags/org.gvsig.tools-3.0.233/org.gvsig.tools.main/pom.xml
1
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
2
    <modelVersion>4.0.0</modelVersion>
3
    <artifactId>org.gvsig.tools.main</artifactId>
4
    <packaging>jar</packaging>
5
    <name>org.gvsig.tools.main</name>
6
    <parent>
7
        <groupId>org.gvsig</groupId>
8
        <artifactId>org.gvsig.tools</artifactId>
9
        <version>3.0.233</version>
10
    </parent>
11
    <dependencies>
12
        <dependency>
13
            <groupId>org.gvsig</groupId>
14
            <artifactId>org.gvsig.tools.lib</artifactId>
15
        </dependency>
16
        <dependency>
17
            <groupId>org.gvsig</groupId>
18
            <artifactId>org.gvsig.tools.swing.api</artifactId>
19
        </dependency>
20
       <dependency>
21
            <groupId>org.gvsig</groupId>
22
            <artifactId>org.gvsig.tools.swing.impl</artifactId>
23
            <scope>runtime</scope>
24
        </dependency>
25
   </dependencies>
26
</project>
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.233/org.gvsig.tools.main/src/main/resources/log4j.xml
1
<?xml version="1.0" encoding="UTF-8" ?>
2
<!--
3

  
4
    gvSIG. Desktop Geographic Information System.
5

  
6
    Copyright (C) 2007-2013 gvSIG Association.
7

  
8
    This program is free software; you can redistribute it and/or
9
    modify it under the terms of the GNU General Public License
10
    as published by the Free Software Foundation; either version 2
11
    of the License, or (at your option) any later version.
12

  
13
    This program is distributed in the hope that it will be useful,
14
    but WITHOUT ANY WARRANTY; without even the implied warranty of
15
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
    GNU General Public License for more details.
17

  
18
    You should have received a copy of the GNU General Public License
19
    along with this program; if not, write to the Free Software
20
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
21
    MA  02110-1301, USA.
22

  
23
    For any additional information, do not hesitate to contact us
24
    at info AT gvsig.com, or visit our website www.gvsig.com.
25

  
26
-->
27
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
28

  
29
<!-- 
30
Log4J configuration file for unit tests execution.
31
 -->
32
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
33

  
34
	<!-- Appender configuration to show logging messages through the console -->
35
	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
36
		<layout class="org.apache.log4j.PatternLayout">
37
			<param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p [%c{2}.%M()]\n  %m%n" />
38
		</layout>
39
	</appender>
40

  
41
	<!-- 
42
	Activate logging messages of DEBUG level of higher only for the
43
	org.gvsig.tools packages.
44
	You can put full classes names or packages instead, to configure
45
	logging for all the classes and subpackages of the package.
46
	-->
47
	<category name="org.gvsig.tools">
48
		<priority value="DEBUG" />
49
	</category>
50

  
51
	<!-- 
52
	By default, show only logging messages of INFO level or higher, 
53
	through the previously configured CONSOLE appender. 
54
	-->
55
	<root>
56
		<priority value="INFO" />
57
		<appender-ref ref="CONSOLE" />
58
	</root>
59
</log4j:configuration>
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.233/org.gvsig.tools.main/src/main/java/org/gvsig/tools/main/MainAction.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
/*
25
 * AUTHORS (In addition to CIT):
26
 * 2010 {}  {{Task}}
27
 */
28
package org.gvsig.tools.main;
29

  
30
import java.awt.event.ActionEvent;
31

  
32
import javax.swing.AbstractAction;
33
import javax.swing.Icon;
34
import javax.swing.JComponent;
35
import javax.swing.JTabbedPane;
36

  
37
/**
38
 * @author 2010- C?sar Ordi?ana - gvSIG team
39
 */
40
public abstract class MainAction extends AbstractAction {
41

  
42
    private static final long serialVersionUID = 7286136693329716214L;
43
    private final JTabbedPane tabbedPane;
44

  
45
    /**
46
     * @see AbstractAction#AbstractAction()
47
     */
48
    public MainAction(JTabbedPane tabbedPane) {
49
        super(); 
50
        this.tabbedPane = tabbedPane;
51
    }
52

  
53
    /**
54
     * @see AbstractAction#AbstractAction(String)
55
     */
56
    public MainAction(String name, JTabbedPane tabbedPane) {
57
        super(name);
58
        this.tabbedPane = tabbedPane;
59
    }
60

  
61
    /**
62
     * @see AbstractAction#AbstractAction(String, Icon)
63
     */
64
    public MainAction(String name, Icon icon, JTabbedPane tabbedPane) {
65
        super(name, icon);
66
        this.tabbedPane = tabbedPane;
67
    }
68

  
69
    public void actionPerformed(ActionEvent e) {
70
        String title = getComponentTitle();
71
        int index = tabbedPane.indexOfTab(title);
72
        if (index <= -1) {
73
            tabbedPane.addTab(title, createComponent());
74
            index = tabbedPane.indexOfTab(title);
75
        }
76
        tabbedPane.setSelectedIndex(index);
77
    }
78

  
79
    protected abstract JComponent createComponent();
80

  
81
    protected abstract String getComponentTitle();
82

  
83
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.233/org.gvsig.tools.main/src/main/java/org/gvsig/tools/main/Main.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.tools.main;
25

  
26
import java.awt.BorderLayout;
27
import java.awt.Dimension;
28
import java.awt.event.ActionEvent;
29
import java.awt.event.ActionListener;
30

  
31
import javax.swing.JButton;
32
import javax.swing.JFrame;
33
import javax.swing.JMenu;
34
import javax.swing.JMenuBar;
35
import javax.swing.JMenuItem;
36
import javax.swing.JTabbedPane;
37
import javax.swing.JToolBar;
38
import javax.swing.WindowConstants;
39

  
40
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
41
import org.gvsig.tools.main.taskstatus.JTaskStatusAction;
42
import org.gvsig.tools.main.usability.UsabilityAction;
43
import org.gvsig.tools.main.window.ModalAction;
44

  
45
/**
46
 * @author 2010- C?sar Ordi?ana - gvSIG team
47
 */
48
public class Main {
49

  
50
    private JTabbedPane tabbedPane;
51
    private JMenuBar menuBar;
52
    private JToolBar toolBar; 
53

  
54
    public static void main(String args[]) {
55
        new DefaultLibrariesInitializer().fullInitialize();
56
        Main main = new Main();
57
        main.show();
58
    }
59

  
60
    public void show() {
61

  
62
        final JFrame frame = new JFrame("Tools swing components test app");
63
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
64

  
65
        // Add a tabbed pane as a content pane
66
        tabbedPane = new JTabbedPane();
67
        tabbedPane.setTabPlacement(JTabbedPane.BOTTOM);
68
        frame.getContentPane().add(tabbedPane);
69

  
70
        // Create application actions
71
        MainAction[] actions = createActions();
72

  
73
        // Create the menu bar.
74
        menuBar = new JMenuBar();
75

  
76
        // Build the menu.
77
        JMenu menuFile = new JMenu("File");
78
        JMenuItem menuItemExit = new JMenuItem("Exit");
79
        menuItemExit.addActionListener(new ActionListener() {
80

  
81
            public void actionPerformed(ActionEvent e) {
82
                frame.dispose();
83
                System.exit(0);
84
            }
85
        });
86
        menuFile.add(menuItemExit);
87
        menuBar.add(menuFile);
88

  
89
        // Add all actions to the menu bar
90
        JMenu menuDemo = new JMenu("Tools components");
91
        for (int i = 0; i < actions.length; i++) {
92
            menuDemo.add(new JMenuItem(actions[i]));
93
        }
94
        menuBar.add(menuDemo);
95

  
96
        // Build the toolbar
97
        toolBar = new JToolBar("Main toolbar");
98

  
99
        // Add all actions to the toolbar
100
        for (int i = 0; i < actions.length; i++) {
101
            toolBar.add(new JButton(actions[i]));
102
        }
103

  
104
        frame.setPreferredSize(new Dimension(800, 600));
105

  
106
        frame.setJMenuBar(menuBar);
107
        frame.add(toolBar, BorderLayout.PAGE_START);
108

  
109
        // Display the window.
110
        frame.pack();
111
        frame.setVisible(true);
112
    }
113

  
114
    private MainAction[] createActions() {
115
        return new MainAction[] { 
116
            new UsabilityAction(tabbedPane),
117
            new JTaskStatusAction(tabbedPane),
118
            new ModalAction(tabbedPane)
119
        };
120
    }
121

  
122
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.233/org.gvsig.tools.main/src/main/java/org/gvsig/tools/main/usability/UsabilityAction.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
/*
25
 * AUTHORS (In addition to CIT):
26
 * 2010 {}  {{Task}}
27
 */
28
package org.gvsig.tools.main.usability;
29

  
30
import java.awt.Component;
31

  
32
import javax.swing.BoxLayout;
33
import javax.swing.JButton;
34
import javax.swing.JComponent;
35
import javax.swing.JPanel;
36
import javax.swing.JSpinner;
37
import javax.swing.JTabbedPane;
38
import javax.swing.JTextArea;
39

  
40
import org.gvsig.tools.dataTypes.DataTypes;
41
import org.gvsig.tools.main.MainAction;
42
import org.gvsig.tools.swing.api.ToolsSwingLocator;
43
import org.gvsig.tools.swing.api.usability.UsabilitySwingManager;
44

  
45
/**
46
 * Shows the panel of usability components.
47
 * 
48
 * @author 2010- C?sar Ordi?ana - gvSIG team 
49
 */
50
public class UsabilityAction extends MainAction {
51

  
52
    private static final long serialVersionUID = 6471916708466720365L;
53

  
54
    private static final UsabilitySwingManager manager =
55
        ToolsSwingLocator.getUsabilitySwingManager();
56

  
57
    /**
58
     * @see MainAction#MainAction(JTabbedPane)
59
     */
60
    public UsabilityAction(JTabbedPane tabbedPane) {
61
        super("Usability", tabbedPane);
62
        putValue(SHORT_DESCRIPTION, "Usability components");
63
    }
64

  
65
    @Override
66
    protected JComponent createComponent() {
67
        JTabbedPane tabbedPane = new JTabbedPane();
68
        tabbedPane.setTabPlacement(JTabbedPane.RIGHT);
69

  
70
        tabbedPane.addTab("JButton", createJButtonComponent());
71
        tabbedPane.addTab("JTextArea", createJTextAreaComponent());
72
        tabbedPane.addTab("JNullSpinner", createJNullSpinnerComponent());
73
        return tabbedPane;
74
    }
75

  
76
    @Override
77
    protected String getComponentTitle() {
78
        return "Usability";
79
    }
80

  
81
    private Component createJButtonComponent() {
82
        // Create the container panel
83
        JPanel panel = new JPanel();
84
        panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
85
        // panel.setLayout(new GridLayout(18, 1));
86
        // panel.setLayout(new );
87
        JButton button = manager.createJButton("+");
88
        panel.add(button); 
89
        button = manager.createJButton("-");
90
        panel.add(button);
91
        button = manager.createJToolButton("+");
92
        panel.add(button); 
93
        button = manager.createJToolButton("-");
94
        panel.add(button);
95
        // Create buttons with different sizes
96
        StringBuffer text = new StringBuffer("012");
97
        for (int i = 4; i < 22; i++) {
98
            text.append(String.valueOf(i % 10));
99
            button = manager.createJButton(text.toString());
100
            panel.add(button);
101
        }
102

  
103
        return panel;
104
    }
105

  
106
    private Component createJTextAreaComponent() {
107
        // Create the container panel
108
        JPanel panel = new JPanel();
109
        panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
110
        // panel.setLayout(new GridLayout(18, 1));
111
        // panel.setLayout(new );
112
        JTextArea ta = manager.createJTextArea("");       
113
        ta = manager.createJTextArea("test");
114
        panel.add(ta); 
115
        ta = manager.createJTextArea("test longer");
116
        panel.add(ta);
117
        ta = manager.createJTextArea("test much longer");
118
        panel.add(ta); 
119
        ta = manager.createJTextArea("test");
120
        panel.add(ta); 
121
        ta = manager.createJTextArea("test size = 150", 150);
122
        panel.add(ta); 
123
        ta = manager.createJTextArea("test too long", -1);
124
        panel.add(ta);
125
        // Create buttons with different sizes
126
        StringBuffer text = new StringBuffer("012");
127
        for (int i = 4; i < 22; i++) {
128
            text.append(String.valueOf(i % 10));
129
            ta = manager.createJTextArea(text.toString());
130
            panel.add(ta);
131
        }
132
   
133
        
134
        return panel;
135
    }
136

  
137
    private Component createJNullSpinnerComponent() {
138
        // Create the container panel
139
        JPanel panel = new JPanel();
140
        panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
141
        // panel.setLayout(new GridLayout(18, 1));
142
        // panel.setLayout(new );
143
        JSpinner spinner = manager.createJNullSpinner(DataTypes.FLOAT, "1.05", -1);
144
        panel.add(spinner);
145
        // Create buttons with different sizes
146
        StringBuffer text = new StringBuffer("01287.");
147
        for (int i = 4; i < 22; i++) {
148
            text.append(String.valueOf(i % 10));
149
            spinner = manager.createJNullSpinner(DataTypes.FLOAT, text.toString(), -1);
150
            panel.add(spinner);
151
        }
152

  
153
        return panel;
154
    }
155

  
156
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.233/org.gvsig.tools.main/src/main/java/org/gvsig/tools/main/taskstatus/JTaskStatusAction.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.tools.main.taskstatus;
25

  
26
import java.awt.Color;
27
import java.awt.FlowLayout;
28

  
29
import javax.swing.JComponent;
30
import javax.swing.JPanel;
31
import javax.swing.JTabbedPane;
32

  
33
import org.gvsig.tools.main.MainAction;
34
import org.gvsig.tools.swing.api.ToolsSwingLocator;
35
import org.gvsig.tools.swing.api.task.JTaskStatus;
36
import org.gvsig.tools.swing.api.task.JTasksStatus;
37
import org.gvsig.tools.swing.api.task.TaskStatusSwingManager;
38
import org.gvsig.tools.task.AbstractMonitorableTask;
39

  
40
public class JTaskStatusAction extends MainAction {
41

  
42
	/**
43
	 * 
44
	 */
45
	private static final long serialVersionUID = -5408828606365712614L;
46

  
47
	public JTaskStatusAction(JTabbedPane tabbedPane) {
48
		super("Task status", tabbedPane);
49
        putValue(SHORT_DESCRIPTION, "Task status");
50
	}
51

  
52
	private class MiTask extends AbstractMonitorableTask {
53
		
54
		private int max;
55
		private int sleepInterval;
56
		
57
		public MiTask(String tittle, int max, int sleepInterval) {
58
			super(tittle);
59
			this.max = max;
60
			this.sleepInterval = sleepInterval;
61
		}
62
		public MiTask(String tittle, int max) {
63
			this(tittle, max, 100);
64
		}
65
		public void run() {
66
			this.taskStatus.setRangeOfValues(0, this.max);
67
			for(int i=0; i<this.max; i++ ) {
68
				this.taskStatus.setCurValue(i);
69
				try {
70
					Thread.sleep(sleepInterval);
71
				} catch (InterruptedException e) {
72
					// Ignore
73
				}
74
				if( this.taskStatus.isCancellationRequested() ) {
75
					this.taskStatus.cancel();
76
					break;
77
				}
78
			}
79
			if( this.taskStatus.isRunning() ) {
80
				this.taskStatus.terminate();
81
			}
82
		}
83
	}
84
	
85
	protected JComponent createComponent() {
86
		TaskStatusSwingManager manager = ToolsSwingLocator.getTaskStatusSwingManager();
87
		JPanel panel = new JPanel();
88
		panel.setLayout( new FlowLayout());
89
		JTasksStatus tasks = manager.createJTasksStatus();
90
		tasks.setBackground(Color.BLUE.brighter());
91
		panel.add( tasks );
92
		JTaskStatus taskStatusPanel = manager.createJTaskStatus();
93
		panel.add( taskStatusPanel );
94
		
95
		MiTask task1 = new MiTask("Task1",100);
96
		task1.start();
97
		MiTask task2 = new MiTask("Task2",300);
98
		task2.start();
99
		MiTask task3 = new MiTask("Task3",1000);
100
		task3.start();
101
		MiTask task4 = new MiTask("Task4",50,5000);
102
		task4.start();
103

  
104
		taskStatusPanel.bind(task1.getTaskStatus());
105
		return panel;
106
	}
107

  
108
	protected String getComponentTitle() {
109
		return "Task status";
110
	}
111

  
112
}
0 113

  
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.233/org.gvsig.tools.main/src/main/java/org/gvsig/tools/main/window/ModalAction.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
/*
25
 * AUTHORS (In addition to CIT):
26
 * 2010 {}  {{Task}}
27
 */
28
package org.gvsig.tools.main.window;
29

  
30
import java.awt.Dimension;
31
import java.awt.FlowLayout;
32
import java.awt.event.ActionEvent;
33
import java.beans.PropertyChangeListener;
34

  
35
import javax.swing.Action;
36
import javax.swing.JButton;
37
import javax.swing.JComponent;
38
import javax.swing.JPanel;
39
import javax.swing.JTabbedPane;
40
import javax.swing.JTextArea;
41
import javax.swing.JTextField;
42

  
43
import org.gvsig.tools.main.MainAction;
44
import org.gvsig.tools.swing.api.ToolsSwingLocator;
45
import org.gvsig.tools.swing.api.windowmanager.WindowManager;
46

  
47
/**
48
 * Shows the panel of usability components.
49
 * 
50
 * @author 2010- C?sar Ordi?ana - gvSIG team 
51
 */
52
public class ModalAction extends MainAction {
53

  
54

  
55
    private static final WindowManager manager =
56
        ToolsSwingLocator.getWindowManager();
57

  
58
    /**
59
     * @see MainAction#MainAction(JTabbedPane)
60
     */
61
    public ModalAction(JTabbedPane tabbedPane) {
62
        super("Modal", tabbedPane);
63
        putValue(SHORT_DESCRIPTION, "Modal components");
64
    }
65

  
66
    @Override
67
    protected JComponent createComponent() {
68
        JPanel panel = new JPanel();
69
        panel.setLayout(new FlowLayout());
70
        JButton button = new JButton(new Action() {
71
			
72
			public void actionPerformed(ActionEvent arg0) {
73
				JTextField jtext = new JTextField();
74
				jtext.setPreferredSize(new Dimension(300, 30));
75
				
76
				JPanel auxpanel = new JPanel();
77
				auxpanel.add(jtext);
78
				WindowManager wm = ToolsSwingLocator.getWindowManager();
79
				wm.showWindow(auxpanel, "HOLA", WindowManager.MODE.DIALOG);
80
				System.out.println("Value = "+jtext.getText());
81
			}
82
			
83
			public void setEnabled(boolean b) {
84
				// TODO Auto-generated method stub
85
				
86
			}
87
			
88
			public void removePropertyChangeListener(PropertyChangeListener listener) {
89
				// TODO Auto-generated method stub
90
				
91
			}
92
			
93
			public void putValue(String key, Object value) {
94
				// TODO Auto-generated method stub
95
				
96
			}
97
			
98
			public boolean isEnabled() {
99
				return true;
100
			}
101
			
102
			public Object getValue(String key) {
103
				// TODO Auto-generated method stub
104
				return null;
105
			}
106
			
107
			public void addPropertyChangeListener(PropertyChangeListener listener) {
108
				// TODO Auto-generated method stub
109
				
110
			}
111
		});
112
        button.setText("Show modal window");
113
        panel.add(button);
114

  
115
        return panel;
116
    }
117

  
118
    @Override
119
    protected String getComponentTitle() {
120
        return "Modal";
121
    }
122

  
123
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.233/org.gvsig.tools.main/src/main/java/org/gvsig/tools/main/README.txt
1
====
2
    gvSIG. Desktop Geographic Information System.
3

  
4
    Copyright (C) 2007-2013 gvSIG Association.
5

  
6
    This program is free software; you can redistribute it and/or
7
    modify it under the terms of the GNU General Public License
8
    as published by the Free Software Foundation; either version 2
9
    of the License, or (at your option) any later version.
10

  
11
    This program is distributed in the hope that it will be useful,
12
    but WITHOUT ANY WARRANTY; without even the implied warranty of
13
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
    GNU General Public License for more details.
15

  
16
    You should have received a copy of the GNU General Public License
17
    along with this program; if not, write to the Free Software
18
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
    MA  02110-1301, USA.
20

  
21
    For any additional information, do not hesitate to contact us
22
    at info AT gvsig.com, or visit our website www.gvsig.com.
23
====
24

  
25
To add a new tab to the application, perform the following steps:
26

  
27
- Create a new class extending the MainAction class, implementing the methods:
28

  
29
  - createComponent(): create your demo panel
30
  
31
  - getComponentTitle(): return the name of the panel
32
  
33
- Add your new action class to the list of actions in the Main.createActions()
34
  method. 
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.233/org.gvsig.tools.main/src/test/java/org/gvsig/tools/main/AppTest.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.tools.main;
25

  
26
import junit.framework.Test;
27
import junit.framework.TestCase;
28
import junit.framework.TestSuite;
29

  
30
/**
31
 * Unit test for simple App.
32
 */
33
public class AppTest extends TestCase {
34

  
35
    /**
36
     * @return the suite of tests being tested
37
     */
38
    public static Test suite() {
39
        return new TestSuite(AppTest.class);
40
    }
41

  
42
    /**
43
     * Create the test case
44
     * 
45
     * @param testName
46
     *            name of the test case
47
     */
48
    public AppTest(String testName) {
49
        super(testName);
50
    }
51

  
52
    /**
53
     * Rigourous Test :-)
54
     */
55
    public void testApp() {
56
        assertTrue(true);
57
    }
58
}
0 59

  
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.233/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/operations/Operation.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.tools.operations;
25

  
26
public interface Operation {
27
	public Object invoke(Object self, OperationContext context)
28
			throws OperationException;
29

  
30
	public String getName();
31

  
32
	public String getDescription();
33

  
34
	public int getCode() throws OperationNotSupportedException;
35
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.233/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/operations/impl/DefaultOperationManager.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.tools.operations.impl;
25

  
26
import java.util.HashMap;
27
import java.util.Map;
28

  
29
import org.gvsig.tools.operations.Operation;
30
import org.gvsig.tools.operations.OperationContext;
31
import org.gvsig.tools.operations.OperationException;
32
import org.gvsig.tools.operations.OperationManager;
33
import org.gvsig.tools.operations.OperationNotSupportedException;
34

  
35
public class DefaultOperationManager implements OperationManager {
36

  
37
	private class OperationInfo {
38
		Class theClass;
39
		int code;
40
		Operation operation;
41

  
42
		OperationInfo(Class theClass, int code, Operation operation) {
43
			this.theClass = theClass;
44
			this.code = code;
45
			this.operation = operation;
46
		}
47

  
48
		String getKey() {
49
			return theClass.getName() + ":" + operation.getName();
50
		}
51
	}
52

  
53
	private Operation[] operations;
54
	private Map operationsInfoMap;
55
	private OperationInfo[] operationsInfo;
56

  
57
	public DefaultOperationManager() {
58
		operationsInfoMap = new HashMap();
59
		operations = new Operation[1];
60
	}
61

  
62
	public int registerOperation(Operation operation, Class theClass) {
63
		OperationInfo info = new OperationInfo(theClass, 0, operation);
64
		OperationInfo oldInfo = (OperationInfo) operationsInfoMap.get(info
65
				.getKey());
66
		if (oldInfo != null) {
67
			// Update the operation
68
			oldInfo.theClass = theClass;
69
			oldInfo.operation = operation;
70
			return oldInfo.code;
71
		}
72
		if (operations == null) {
73
			operations = new Operation[1];
74
			operationsInfo = new OperationInfo[1];
75
			info.code = 0;
76
		} else {
77
			Operation[] temp1 = new Operation[operations.length + 1];
78
			System.arraycopy(operations, 0, temp1, 0, operations.length);
79
			OperationInfo[] temp2 = new OperationInfo[operationsInfo.length + 1];
80
			System
81
					.arraycopy(operationsInfo, 0, temp2, 0,
82
							operationsInfo.length);
83
			info.code = operations.length - 1;
84
		}
85
		operations[info.code] = info.operation;
86
		operationsInfo[info.code] = info;
87
		operationsInfoMap.put(info.getKey(), info);
88
		return info.code;
89
	}
90

  
91
	private String getKey(Object obj, String name) {
92
		return obj.getClass().getName() + ":" + name;
93
	}
94

  
95
	private String getKey(Class theClass, String name) {
96
		return theClass.getName() + ":" + name;
97
	}
98

  
99
	public Operation getOperation(Object obj, String name)
100
			throws OperationNotSupportedException {
101
		OperationInfo info = (OperationInfo) operationsInfoMap.get(getKey(obj,
102
				name));
103
		if (info == null) {
104
			throw new OperationNotSupportedException(obj.getClass(), name);
105
		}
106
		return info.operation;
107
	}
108

  
109
	public Operation getOperation(Class theClass, String name)
110
			throws OperationNotSupportedException {
111
		OperationInfo info = (OperationInfo) operationsInfoMap.get(getKey(
112
				theClass, name));
113
		if (info == null) {
114
			throw new OperationNotSupportedException(theClass, name);
115
		}
116
		return info.operation;
117
	}
118

  
119
	public Operation getOperation(Object obj, int code)
120
			throws OperationNotSupportedException {
121
		if (code >= operationsInfo.length) {
122
			throw new OperationNotSupportedException(obj.getClass(), code);
123
		}
124
		OperationInfo info = operationsInfo[code];
125
		if (!info.theClass.isAssignableFrom(obj.getClass())) {
126
			throw new OperationNotSupportedException(obj.getClass(), code);
127
		}
128
		return info.operation;
129
	}
130

  
131
	public Operation getOperation(Class theClass, int code)
132
			throws OperationNotSupportedException {
133
		if (code >= operationsInfo.length) {
134
			throw new OperationNotSupportedException(theClass, code);
135
		}
136
		OperationInfo info = operationsInfo[code];
137
		if (!info.theClass.isAssignableFrom(theClass)) {
138
			throw new OperationNotSupportedException(theClass, code);
139
		}
140
		return info.operation;
141
	}
142

  
143
	public boolean hasOperation(Object obj, String name) {
144
		try {
145
			Operation op = getOperation(obj, name);
146
			return op != null;
147
		} catch (OperationNotSupportedException e) {
148
			return false;
149
		}
150
	}
151

  
152
	public boolean hasOperation(Object obj, int code) {
153
		try {
154
			Operation op = getOperation(obj, code);
155
			return op != null;
156
		} catch (OperationNotSupportedException e) {
157
			return false;
158
		}
159
	}
160

  
161
	public boolean hasOperation(Class theClass, String name) {
162
		try {
163
			Operation op = getOperation(theClass, name);
164
			return op != null;
165
		} catch (OperationNotSupportedException e) {
166
			return false;
167
		}
168
	}
169

  
170
	public boolean hasOperation(Class theClass, int code) {
171
		try {
172
			Operation op = getOperation(theClass, code);
173
			return op != null;
174
		} catch (OperationNotSupportedException e) {
175
			return false;
176
		}
177
	}
178

  
179
	public Object invokeOperation(Object obj, String name,
180
			OperationContext context) throws OperationException {
181
		Operation op = getOperation(obj, name);
182
		return op.invoke(obj, context);
183
	}
184

  
185
	public Object invokeOperation(Object obj, int code, OperationContext context)
186
			throws OperationException {
187
		try {
188
			/*
189
			 * Intentamos ejecutar la operacion, y si peta ya aremos las
190
			 * comprobaciones oportunas para lanzar la excepcion que toque.
191
			 *
192
			 * Asi evitamos codigo de comprobacion para los casos que valla bien
193
			 * que deberian ser la mayoria.
194
			 */
195
			return operations[code].invoke(obj, context);
196
		} catch (RuntimeException e) {
197
			getOperation(obj, code);
198
			throw e;
199
		} catch (OperationException e) {
200
			getOperation(obj, code);
201
			throw e;
202
		}
203
	}
204

  
205
	public int getOperationCode(Class theClass, String name)
206
			throws OperationNotSupportedException {
207
		OperationInfo info = (OperationInfo) operationsInfoMap.get(getKey(
208
				theClass, name));
209
		if (info == null) {
210
			throw new OperationNotSupportedException(theClass, name);
211
		}
212
		return info.code;
213
	}
214

  
215
	public int registerOperation(Operation operation, Object obj) {
216
		return registerOperation(operation, obj.getClass());
217
	}
218

  
219

  
220
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.233/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/operations/Operations.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.tools.operations;
25

  
26

  
27
public interface Operations {
28

  
29
	public Object invokeOperation(int code, OperationContext context)
30
			throws OperationException, OperationNotSupportedException;
31

  
32
	public Object invokeOperation(String name, OperationContext context)
33
			throws OperationException, OperationNotSupportedException;
34

  
35

  
36
	public Object getOperation(int code)
37
			throws OperationException,
38
			OperationNotSupportedException;
39

  
40
	public Object getOperation(String name)
41
			throws OperationException,
42
			OperationNotSupportedException;
43

  
44

  
45
	public boolean hasOperation(int code);
46

  
47
	public boolean hasOperation(String name);
48

  
49
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.233/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/operations/AbstractOperation.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.tools.operations;
25

  
26
import org.gvsig.tools.ToolsLocator;
27

  
28
public abstract class AbstractOperation {
29

  
30
	protected String name;
31
	protected String description;
32

  
33
	public AbstractOperation(String name, String descrption) {
34
		this.description = descrption;
35
		this.name = name;
36
	}
37

  
38
	public String getName() {
39
		return name;
40
	}
41

  
42
	public String getDescription() {
43
		return description;
44
	}
45

  
46
	/**
47
	 * Get the operation code associated to this operation.
48
	 * 
49
	 * Overwrite this method for optimize.
50
	 * 
51
	 * @return the operation code
52
	 * @throws OperationNotSupportedException
53
	 */
54
	public int getCode() throws OperationNotSupportedException {
55
		OperationManager manager = ToolsLocator.getOperationManager();
56
		return manager.getOperationCode(this.getClass(), name);
57
	}
58

  
59
	/**
60
	 * Invokes this operation in the context.
61
	 *
62
	 * @param self
63
	 *            the object to which apply this operation
64
	 * @param ctx
65
	 *            Parameter container
66
	 * @return Place-holder object that may contain any specific return value.
67
	 * @throws OperationException
68
	 *             The implementation is responsible to throw this exception
69
	 *             when needed.
70
	 */
71
	public abstract Object invoke(Object self, OperationContext context)
72
			throws OperationException;
73

  
74
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.233/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/operations/OperationContext.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.tools.operations;
25

  
26
public interface OperationContext {
27

  
28
	/**
29
	 * Returns an attribute given its name.
30
	 * If it does not exist returns <code>null</code>
31
	 * @param name
32
	 * @return attribute
33
	 */
34
	public abstract Object getAttribute(String name);
35

  
36
	/**
37
	 * Sets an attribute
38
	 * @param name
39
	 * @param value
40
	 */
41
	public abstract void setAttribute(String name, Object value);
42

  
43
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.233/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/operations/OperationNotSupportedException.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
/* gvSIG. Geographic Information System of the Valencian Government
25
*
26
* Copyright (C) 2007-2008 Infrastructures and Transports Department
27
* of the Valencian Government (CIT)
28
*
29
* This program is free software; you can redistribute it and/or
30
* modify it under the terms of the GNU General Public License
31
* as published by the Free Software Foundation; either version 2
32
* of the License, or (at your option) any later version.
33
*
34
* This program is distributed in the hope that it will be useful,
35
* but WITHOUT ANY WARRANTY; without even the implied warranty of
36
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
37
* GNU General Public License for more details.
38
*
39
* You should have received a copy of the GNU General Public License
40
* along with this program; if not, write to the Free Software
41
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
42
* MA  02110-1301, USA.
43
*
44
*/
45

  
46
/*
47
* AUTHORS (In addition to CIT):
48
* 2008 IVER T.I. S.A.   {{Task}}
49
*/
50

  
51
package org.gvsig.tools.operations;
52

  
53

  
54
public class OperationNotSupportedException extends OperationException {
55

  
56

  
57
	/**
58
	 *
59
	 */
60
	private static final long serialVersionUID = -6662679326425178742L;
61
	private static final String MESSAGE_KEY = "_OperationNotSupportedException";
62
	private static final String MESSAGE_FORMAT = "Operation %(operationName)s with code %(operationCode)s not supported in %(theClass)s.";
63

  
64
	public OperationNotSupportedException(Class theClass, String operationName) {
65
		super(MESSAGE_FORMAT, MESSAGE_KEY, serialVersionUID);
66
		setValue("operationCode", new Integer(-1));
67
		setValue("operationName", operationName);
68
		setValue("theClass", theClass);
69
	}
70

  
71
	public OperationNotSupportedException(Class theClass, int code) {
72
		super(MESSAGE_FORMAT, MESSAGE_KEY, serialVersionUID);
73
		setValue("operationCode", new Integer(code));
74
		setValue("operationName", "unknow");
75
		setValue("theClass", theClass);
76
	}
77

  
78
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.233/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/operations/OperationManager.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.tools.operations;
25

  
26
public interface OperationManager {
27

  
28
	public int getOperationCode(Class aClass, String name)
29
			throws OperationNotSupportedException;
30

  
31
	public Operation getOperation(Object obj, String name)
32
			throws OperationNotSupportedException;
33

  
34
	public Operation getOperation(Object obj, int code)
35
			throws OperationNotSupportedException;
36

  
37
	public Operation getOperation(Class aClass, String name)
38
			throws OperationNotSupportedException;
39

  
40
	public Operation getOperation(Class aClass, int code)
41
			throws OperationNotSupportedException;
42

  
43
	public Object invokeOperation(Object obj, String name,
44
			OperationContext context) throws OperationException;
45

  
46
	public Object invokeOperation(Object obj, int code, OperationContext context)
47
			throws OperationException;
48

  
49
	public boolean hasOperation(Object obj, String name);
50

  
51
	public boolean hasOperation(Object obj, int code);
52

  
53
	public boolean hasOperation(Class aClass, String name);
54

  
55
	public boolean hasOperation(Class aClass, int code);
56

  
57
	public int registerOperation(Operation operation, Object obj);
58

  
59
	public int registerOperation(Operation operation, Class aClass);
60
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.233/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/operations/OperationException.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
/* gvSIG. Geographic Information System of the Valencian Government
25
*
26
* Copyright (C) 2007-2008 Infrastructures and Transports Department
27
* of the Valencian Government (CIT)
28
*
29
* This program is free software; you can redistribute it and/or
30
* modify it under the terms of the GNU General Public License
31
* as published by the Free Software Foundation; either version 2
32
* of the License, or (at your option) any later version.
33
*
34
* This program is distributed in the hope that it will be useful,
35
* but WITHOUT ANY WARRANTY; without even the implied warranty of
36
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
37
* GNU General Public License for more details.
38
*
39
* You should have received a copy of the GNU General Public License
40
* along with this program; if not, write to the Free Software
41
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
42
* MA  02110-1301, USA.
43
*
44
*/
45

  
46
/*
47
* AUTHORS (In addition to CIT):
48
* 2008 IVER T.I. S.A.   {{Task}}
49
*/
50

  
51
package org.gvsig.tools.operations;
52

  
53
import java.util.HashMap;
54
import java.util.Map;
55

  
56
import org.gvsig.tools.exception.BaseException;
57

  
58
public class OperationException extends BaseException {
59
	/**
60
	 *
61
	 */
62
	private static final long serialVersionUID = -2344772588507587265L;
63
	private final static String MESSAGE_FORMAT = "Error with operation.";
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff