View Javadoc

1   /*
2    * @(#)$Id: NodeInfoFactory.java 798 2010-05-04 15:04:37Z bpuype $
3    *
4    * Author		:	Ueli Kurmann, igesture@uelikurmann.ch
5    *                  
6    *
7    * Purpose		: 
8    *
9    * -----------------------------------------------------------------------
10   *
11   * Revision Information:
12   *
13   * Date				Who			Reason
14   *
15   * 08.04.2008			ukurmann	Initial Release
16   *
17   * -----------------------------------------------------------------------
18   *
19   * Copyright 1999-2009 ETH Zurich. All Rights Reserved.
20   *
21   * This software is the proprietary information of ETH Zurich.
22   * Use is subject to license terms.
23   * 
24   */
25  
26  package org.ximtec.igesture.tool.util;
27  
28  import java.util.ArrayList;
29  import java.util.List;
30  
31  import org.sigtec.graphix.widget.BasicAction;
32  import org.sigtec.util.Constant;
33  import org.ximtec.igesture.configuration.Configuration;
34  import org.ximtec.igesture.core.GestureClass;
35  import org.ximtec.igesture.core.GestureSample;
36  import org.ximtec.igesture.core.GestureSet;
37  import org.ximtec.igesture.core.SampleDescriptor;
38  import org.ximtec.igesture.core.SampleDescriptor3D;
39  import org.ximtec.igesture.core.TestClass;
40  import org.ximtec.igesture.core.TestSet;
41  import org.ximtec.igesture.core.TextDescriptor;
42  import org.ximtec.igesture.core.composite.CompositeDescriptor;
43  import org.ximtec.igesture.tool.GestureConstants;
44  import org.ximtec.igesture.tool.core.Controller;
45  import org.ximtec.igesture.tool.explorer.NodeInfoImpl;
46  import org.ximtec.igesture.tool.explorer.SeparatorAction;
47  import org.ximtec.igesture.tool.explorer.core.NodeInfo;
48  import org.ximtec.igesture.tool.view.admin.action.AddCompositeDescriptorAction;
49  import org.ximtec.igesture.tool.view.admin.action.AddGestureClassAction;
50  import org.ximtec.igesture.tool.view.admin.action.AddGestureSetAction;
51  import org.ximtec.igesture.tool.view.admin.action.AddSampleDescriptor3DAction;
52  import org.ximtec.igesture.tool.view.admin.action.AddSampleDescriptorAction;
53  import org.ximtec.igesture.tool.view.admin.action.AddTextDescriptorAction;
54  import org.ximtec.igesture.tool.view.admin.action.CreateTestSetStructureAction;
55  import org.ximtec.igesture.tool.view.admin.action.ExportGestureSetAction;
56  import org.ximtec.igesture.tool.view.admin.action.ExportPDFGestureSetAction;
57  import org.ximtec.igesture.tool.view.admin.action.ImportGestureSetAction;
58  import org.ximtec.igesture.tool.view.admin.action.RemoveDescriptorAction;
59  import org.ximtec.igesture.tool.view.admin.action.RemoveGestureClassAction;
60  import org.ximtec.igesture.tool.view.admin.action.RemoveGestureSetAction;
61  import org.ximtec.igesture.tool.view.admin.panel.CompositeDescriptorPanel;
62  import org.ximtec.igesture.tool.view.admin.panel.DefaultPanel;
63  import org.ximtec.igesture.tool.view.admin.panel.GestureClassPanel;
64  import org.ximtec.igesture.tool.view.admin.panel.GestureSetPanel;
65  import org.ximtec.igesture.tool.view.admin.panel.GestureSetsPanel;
66  import org.ximtec.igesture.tool.view.admin.panel.SampleDescriptor3DPanel;
67  import org.ximtec.igesture.tool.view.admin.panel.SampleDescriptorPanel;
68  import org.ximtec.igesture.tool.view.admin.panel.TextDescriptorPanel;
69  import org.ximtec.igesture.tool.view.admin.wrapper.GestureSetList;
70  import org.ximtec.igesture.tool.view.testbench.action.AddConfigurationAction;
71  import org.ximtec.igesture.tool.view.testbench.action.ExportConfigurationAction;
72  import org.ximtec.igesture.tool.view.testbench.action.RemoveConfigurationAction;
73  import org.ximtec.igesture.tool.view.testbench.panel.AlgorithmListPanel;
74  import org.ximtec.igesture.tool.view.testbench.panel.AlgorithmWrapperPanel;
75  import org.ximtec.igesture.tool.view.testbench.panel.ConfigurationPanel;
76  import org.ximtec.igesture.tool.view.testbench.wrapper.AlgorithmList;
77  import org.ximtec.igesture.tool.view.testbench.wrapper.AlgorithmWrapper;
78  import org.ximtec.igesture.tool.view.testset.action.AddTestClassAction;
79  import org.ximtec.igesture.tool.view.testset.action.ConvertGestureSetAction;
80  import org.ximtec.igesture.tool.view.testset.action.DeleteTestClassAction;
81  import org.ximtec.igesture.tool.view.testset.action.DeleteTestSetAction;
82  import org.ximtec.igesture.tool.view.testset.action.ExportTestSetAction;
83  import org.ximtec.igesture.tool.view.testset.action.ImportTestSetAction;
84  import org.ximtec.igesture.tool.view.testset.action.NewTestSetAction;
85  import org.ximtec.igesture.tool.view.testset.panel.TestClassPanel;
86  import org.ximtec.igesture.tool.view.testset.panel.TestSetPanel;
87  import org.ximtec.igesture.tool.view.testset.panel.TestSetsPanel;
88  import org.ximtec.igesture.tool.view.testset.wrapper.TestSetList;
89  
90  /**
91   * Comment
92   * 
93   * @version 1.0 08.04.2008
94   * @author Ueli Kurmann
95   */
96  public class NodeInfoFactory {
97  
98    public static List<NodeInfo> createAdminNodeInfo(Controller controller) {
99      List<NodeInfo> nodeInfos = new ArrayList<NodeInfo>();
100 
101     List<Class<? extends BasicAction>> rootActions = new ArrayList<Class<? extends BasicAction>>();
102     rootActions.add(AddGestureSetAction.class);
103     rootActions.add(ImportGestureSetAction.class);
104 
105     List<Class<? extends BasicAction>> setActions = new ArrayList<Class<? extends BasicAction>>();
106     setActions.add(AddGestureClassAction.class);
107     setActions.add(SeparatorAction.class);
108     setActions.add(RemoveGestureSetAction.class);
109     setActions.add(ExportGestureSetAction.class);
110     setActions.add(SeparatorAction.class);
111     setActions.add(ExportPDFGestureSetAction.class);
112     setActions.add(CreateTestSetStructureAction.class);
113 
114     List<Class<? extends BasicAction>> classActions = new ArrayList<Class<? extends BasicAction>>();
115     classActions.add(AddSampleDescriptorAction.class);
116     classActions.add(AddSampleDescriptor3DAction.class);
117     classActions.add(AddCompositeDescriptorAction.class);
118     classActions.add(AddTextDescriptorAction.class);
119     classActions.add(SeparatorAction.class);
120     classActions.add(RemoveGestureClassAction.class);
121 
122     List<Class<? extends BasicAction>> descriptorActions = new ArrayList<Class<? extends BasicAction>>();
123     descriptorActions.add(RemoveDescriptorAction.class);
124 
125     nodeInfos = new ArrayList<NodeInfo>();
126     nodeInfos.add(new NodeInfoImpl(controller, GestureSetList.class, "name", "sets", GestureSetsPanel.class,
127         rootActions, GestureConstants.NODE_ICON_GESTURE_SET_LIST));
128     nodeInfos.add(new NodeInfoImpl(controller, GestureSet.class, "name", "gestureClasses", GestureSetPanel.class,
129         setActions, GestureConstants.NODE_ICON_GESTURE_SET));
130     nodeInfos.add(new NodeInfoImpl(controller, GestureClass.class, "name", "descriptors", GestureClassPanel.class,
131         classActions, GestureConstants.NODE_ICON_GESTURE_CLASS));
132     nodeInfos.add(new NodeInfoImpl(controller, SampleDescriptor.class, "name", null, SampleDescriptorPanel.class,
133         descriptorActions, GestureConstants.NODE_ICON_GESTURE_SAMPLE_DESCRIPTOR));
134     nodeInfos.add(new NodeInfoImpl(controller, SampleDescriptor3D.class, "name", null, SampleDescriptor3DPanel.class,
135         descriptorActions, GestureConstants.NODE_ICON_GESTURE_SAMPLE_DESCRIPTOR));
136     nodeInfos.add(new NodeInfoImpl(controller, CompositeDescriptor.class, "name", null, CompositeDescriptorPanel.class,
137         descriptorActions, GestureConstants.NODE_ICON_GESTURE_SAMPLE_DESCRIPTOR));
138     nodeInfos.add(new NodeInfoImpl(controller, TextDescriptor.class, "name", null, TextDescriptorPanel.class,
139         descriptorActions, GestureConstants.NODE_ICON_GESTURE_TEXT_DESCRIPTOR));
140     nodeInfos
141         .add(new NodeInfoImpl(controller, GestureSample.class, "name", null, DefaultPanel.class, null, GestureConstants.NODE_ICON_GESTURE_SAMPLE));
142     nodeInfos.add(new NodeInfoImpl(controller, String.class, Constant.EMPTY_STRING, null, DefaultPanel.class, null,
143         null));
144 
145     return nodeInfos;
146   }
147 
148   public static List<NodeInfo> createTestBenchNodeInfo(Controller controller) {
149 
150     List<Class<? extends BasicAction>> algorithmListActions = new ArrayList<Class<? extends BasicAction>>();
151     List<NodeInfo> nodeInfos = new ArrayList<NodeInfo>();
152 
153     List<Class<? extends BasicAction>> algorithmWrapperActions = new ArrayList<Class<? extends BasicAction>>();
154     algorithmWrapperActions.add(AddConfigurationAction.class);
155 
156     List<Class<? extends BasicAction>> configurationActions = new ArrayList<Class<? extends BasicAction>>();
157     configurationActions.add(ExportConfigurationAction.class);
158     configurationActions.add(SeparatorAction.class);
159     configurationActions.add(RemoveConfigurationAction.class);
160 
161     nodeInfos = new ArrayList<NodeInfo>();
162     nodeInfos.add(new NodeInfoImpl(controller, AlgorithmList.class, "name", "algorithms", AlgorithmListPanel.class,
163         algorithmListActions, GestureConstants.NODE_ICON_ALGORITHM_LIST));
164 
165     nodeInfos.add(new NodeInfoImpl(controller, AlgorithmWrapper.class, "name", "configurations",
166         AlgorithmWrapperPanel.class, algorithmWrapperActions, GestureConstants.NODE_ICON_ALGORITHM));
167 
168     nodeInfos.add(new NodeInfoImpl(controller, Configuration.class, "name", null, ConfigurationPanel.class,
169         configurationActions, GestureConstants.NODE_ICON_CONFIGURATION));
170 
171     return nodeInfos;
172 
173   }
174 
175   public static List<NodeInfo> createTestSetNodeInfo(Controller controller) {
176     List<NodeInfo> nodeInfos = new ArrayList<NodeInfo>();
177 
178     List<Class<? extends BasicAction>> rootActions = new ArrayList<Class<? extends BasicAction>>();
179     rootActions.add(ImportTestSetAction.class);
180     rootActions.add(NewTestSetAction.class);
181     rootActions.add(ConvertGestureSetAction.class);
182 
183     List<Class<? extends BasicAction>> setActions = new ArrayList<Class<? extends BasicAction>>();
184     setActions.add(AddTestClassAction.class);
185     setActions.add(DeleteTestSetAction.class);
186     setActions.add(SeparatorAction.class);
187     setActions.add(ExportTestSetAction.class);
188     
189 
190     List<Class<? extends BasicAction>> classActions = new ArrayList<Class<? extends BasicAction>>();
191     classActions.add(DeleteTestClassAction.class);
192 
193 
194     nodeInfos = new ArrayList<NodeInfo>();
195 
196     nodeInfos.add(new NodeInfoImpl(controller, TestSetList.class, "name", TestSetList.PROPERTY_SETS,
197         TestSetsPanel.class, rootActions, GestureConstants.NODE_ICON_TEST_SET_LIST));
198 
199     nodeInfos.add(new NodeInfoImpl(controller, TestSet.class, "name", "testClasses", TestSetPanel.class, setActions,
200         GestureConstants.NODE_ICON_TEST_SET));
201 
202     nodeInfos.add(new NodeInfoImpl(controller, TestClass.class, "name", null, TestClassPanel.class, classActions,
203         GestureConstants.NODE_ICON_TEST_CLASS));
204 
205     return nodeInfos;
206   }
207 
208 }