1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.fosstrak.llrp.commander;
23
24 import java.io.IOException;
25 import java.net.URISyntaxException;
26 import java.net.URL;
27
28 import org.apache.log4j.Logger;
29 import org.apache.log4j.PropertyConfigurator;
30 import org.eclipse.core.resources.IResource;
31 import org.eclipse.core.resources.ResourcesPlugin;
32 import org.eclipse.core.runtime.FileLocator;
33 import org.eclipse.jface.preference.IPreferenceStore;
34 import org.eclipse.jface.resource.ImageDescriptor;
35 import org.eclipse.ui.plugin.AbstractUIPlugin;
36 import org.fosstrak.llrp.commander.check.CheckEclipseProject;
37 import org.fosstrak.llrp.commander.check.CheckRepository;
38 import org.fosstrak.llrp.commander.check.HealthCheck;
39 import org.fosstrak.llrp.commander.preferences.PreferenceConstants;
40 import org.fosstrak.llrp.commander.util.Utility;
41 import org.osgi.framework.BundleContext;
42
43
44
45
46
47
48
49
50 public class LLRPPlugin extends AbstractUIPlugin {
51
52
53
54
55 private static Logger log = Logger.getLogger(LLRPPlugin.class);
56
57
58
59
60 public static final String PLUGIN_ID = "llrp_commander";
61
62
63 private static LLRPPlugin plugin;
64
65
66
67
68 public LLRPPlugin() {
69
70 String prop = Utility.findWithFullPath("/log4j.properties");
71
72 PropertyConfigurator.configure(prop);
73 }
74
75
76
77
78
79 public void start(BundleContext context) throws Exception {
80 super.start(context);
81 plugin = this;
82
83 IPreferenceStore store = LLRPPlugin.getDefault().getPreferenceStore();
84 String storedProjectName = store.getString(PreferenceConstants.P_PROJECT);
85
86 if ((storedProjectName != null) || (!storedProjectName.equals(""))) {
87 ResourceCenter.getInstance().setEclipseProjectName(storedProjectName);
88 }
89
90
91
92
93
94
95
96
97
98
99
100
101
102 HealthCheck healthCheck = new HealthCheck();
103 healthCheck.registerCheckItem(new CheckEclipseProject());
104 healthCheck.registerCheckItem(new CheckRepository());
105 ResourcesPlugin.getWorkspace().getRoot().refreshLocal(IResource.DEPTH_INFINITE, null);
106 if (!healthCheck.validate()) {
107 for (String report : healthCheck.getReport()) {
108 log.debug(report);
109 }
110 healthCheck.fix();
111 ResourcesPlugin.getWorkspace().getRoot().refreshLocal(IResource.DEPTH_INFINITE, null);
112 for (String report : healthCheck.getReport()) {
113 log.debug(report);
114 }
115 }
116
117
118 ResourceCenter.getInstance().initializeAdaptorMgmt();
119
120
121 ResourceCenter.getInstance().initializeROAccessReportsLogging();
122 }
123
124
125
126
127
128 public void stop(BundleContext context) throws Exception {
129 log.info("Stopping the Plug-In, and disposing resources...");
130
131 ResourceCenter.getInstance().getMessageBoxRefresh().stop();
132 plugin = null;
133 super.stop(context);
134
135
136
137
138
139 ResourceCenter.getInstance().close();
140 }
141
142
143
144
145
146
147 public static LLRPPlugin getDefault() {
148 return plugin;
149 }
150
151
152
153
154
155
156
157
158 public static ImageDescriptor getImageDescriptor(String path) {
159 return imageDescriptorFromPlugin(PLUGIN_ID, path);
160 }
161
162 public void getResourceFile(String aRelativePath) {
163 URL bundleRoot = getBundle().getEntry("/");
164
165 try {
166 URL fileURL = FileLocator.toFileURL(bundleRoot);
167 java.io.File file = new java.io.File(fileURL.toURI());
168
169 } catch (IOException ioe) {
170 ioe.printStackTrace();
171 } catch (URISyntaxException urie) {
172 urie.printStackTrace();
173 }
174
175
176 }
177 }