24 import org.eclipse.core.expressions.ExpressionConverter; |
24 import org.eclipse.core.expressions.ExpressionConverter; |
25 import org.eclipse.core.resources.IProject; |
25 import org.eclipse.core.resources.IProject; |
26 import org.eclipse.core.runtime.CoreException; |
26 import org.eclipse.core.runtime.CoreException; |
27 import org.eclipse.core.runtime.IConfigurationElement; |
27 import org.eclipse.core.runtime.IConfigurationElement; |
28 import org.symbian.tools.tmw.core.TMWCore; |
28 import org.symbian.tools.tmw.core.TMWCore; |
29 import org.symbian.tools.tmw.core.projects.IMTWProject; |
29 import org.symbian.tools.tmw.core.projects.ITMWProject; |
30 import org.symbian.tools.tmw.core.projects.IMTWProjectProvider; |
30 import org.symbian.tools.tmw.core.projects.ITMWProjectProvider; |
31 |
31 |
32 public class ProjectProvider implements IMTWProjectProvider { |
32 public class ProjectProvider implements ITMWProjectProvider { |
33 private final IConfigurationElement element; |
33 private final IConfigurationElement element; |
34 private final Expression expression; |
34 private final Expression expression; |
35 private IMTWProjectProvider provider; |
35 private ITMWProjectProvider provider; |
36 |
36 |
37 public ProjectProvider(IConfigurationElement element) throws CoreException { |
37 public ProjectProvider(IConfigurationElement element) throws CoreException { |
38 this.element = element; |
38 this.element = element; |
39 IConfigurationElement[] children = element.getChildren("enablement"); |
39 IConfigurationElement[] children = element.getChildren("enablement"); |
40 if (children.length == 1) { |
40 if (children.length == 1) { |
47 element.getNamespaceIdentifier()); |
47 element.getNamespaceIdentifier()); |
48 } |
48 } |
49 } |
49 } |
50 } |
50 } |
51 |
51 |
52 public IMTWProject create(IProject project) { |
52 public ITMWProject create(IProject project) { |
53 return getProvider().create(project); |
53 return getProvider().create(project); |
54 } |
54 } |
55 |
55 |
56 private IMTWProjectProvider getProvider() { |
56 private ITMWProjectProvider getProvider() { |
57 if (provider == null) { |
57 if (provider == null) { |
58 try { |
58 try { |
59 provider = (IMTWProjectProvider) element.createExecutableExtension("class"); |
59 provider = (ITMWProjectProvider) element.createExecutableExtension("class"); |
60 } catch (CoreException e) { |
60 } catch (CoreException e) { |
61 throw new RuntimeException(e); |
61 throw new RuntimeException(e); |
62 } |
62 } |
63 } |
63 } |
64 return provider; |
64 return provider; |