KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > j2ee > clientproject > ui > customizer > AppClientCompositePanelProvider


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.j2ee.clientproject.ui.customizer;
21
22 import java.util.List JavaDoc;
23 import java.util.ResourceBundle JavaDoc;
24 import javax.swing.JComponent JavaDoc;
25 import javax.swing.JPanel JavaDoc;
26 import org.netbeans.modules.j2ee.clientproject.AppClientProject;
27 import org.netbeans.modules.j2ee.clientproject.wsclient.CustomizerWSClientHost;
28 import org.netbeans.modules.j2ee.clientproject.wsclient.NoWebServiceClientsPanel;
29 import org.netbeans.modules.websvc.api.client.WebServicesClientSupport;
30 import org.netbeans.spi.project.ui.support.ProjectCustomizer;
31 import org.openide.util.Lookup;
32 import org.openide.util.NbBundle;
33
34 /**
35  *
36  * @author mkleint, rnajman
37  */

38 public class AppClientCompositePanelProvider implements ProjectCustomizer.CompositeCategoryProvider {
39     
40     private static final String JavaDoc SOURCES = "Sources";
41     static final String JavaDoc LIBRARIES = "Libraries";
42
43     private static final String JavaDoc BUILD = "Build";
44     private static final String JavaDoc JAR = "Jar";
45     private static final String JavaDoc JAVADOC = "Javadoc";
46     public static final String JavaDoc RUN = "Run";
47     
48     private static final String JavaDoc WEBSERVICECLIENTS = "WebServiceClients";
49
50     private String JavaDoc name;
51     
52     /** Creates a new instance of AppClientCompositePanelProvider */
53     public AppClientCompositePanelProvider(String JavaDoc name) {
54         this.name = name;
55     }
56
57     public ProjectCustomizer.Category createCategory(Lookup context) {
58         ResourceBundle JavaDoc bundle = NbBundle.getBundle( CustomizerProviderImpl.class );
59         ProjectCustomizer.Category toReturn = null;
60         
61         if (SOURCES.equals(name)) {
62             toReturn = ProjectCustomizer.Category.create(
63                     SOURCES,
64                     bundle.getString("LBL_Config_Sources"), //NOI18N
65
null,
66                     null);
67         } else if (LIBRARIES.equals(name)) {
68             toReturn = ProjectCustomizer.Category.create(
69                     LIBRARIES,
70                     bundle.getString( "LBL_Config_Libraries" ), // NOI18N
71
null,
72                     null );
73         } else if (BUILD.equals(name)) {
74             toReturn = ProjectCustomizer.Category.create(
75                     BUILD,
76                     bundle.getString( "LBL_Config_Build" ), // NOI18N
77
null,
78                     null);
79         } else if (JAR.equals(name)) {
80             toReturn = ProjectCustomizer.Category.create(
81                     JAR,
82                     bundle.getString( "LBL_Config_Jar" ), // NOI18N
83
null,
84                     null );
85         } else if (JAVADOC.equals(name)) {
86             toReturn = ProjectCustomizer.Category.create(
87                     JAVADOC,
88                     bundle.getString( "LBL_Config_Javadoc" ), // NOI18N
89
null,
90                     null );
91         } else if (RUN.equals(name)) {
92             toReturn = ProjectCustomizer.Category.create(
93                     RUN,
94                     bundle.getString( "LBL_Config_Run" ), // NOI18N
95
null,
96                     null );
97         } else if (WEBSERVICECLIENTS.equals(name)) {
98             AppClientProject project = (AppClientProject) context.lookup(AppClientProject.class);
99             List JavaDoc serviceClientsSettings = null;
100             WebServicesClientSupport clientSupport = WebServicesClientSupport.getWebServicesClientSupport(project.getProjectDirectory());
101             if (clientSupport != null) {
102                 serviceClientsSettings = clientSupport.getServiceClients();
103             }
104             if(serviceClientsSettings != null && serviceClientsSettings.size() > 0) {
105                 toReturn = ProjectCustomizer.Category.create(
106                         WEBSERVICECLIENTS,
107                         bundle.getString( "LBL_Config_WebServiceClients" ), // NOI18N
108
null,
109                         null );
110             }
111         }
112         
113 // assert toReturn != null : "No category for name:" + name;
114
return toReturn;
115     }
116
117     public JComponent JavaDoc createComponent(ProjectCustomizer.Category category, Lookup context) {
118         String JavaDoc nm = category.getName();
119         AppClientProjectProperties uiProps = (AppClientProjectProperties)context.lookup(AppClientProjectProperties.class);
120         if (SOURCES.equals(nm)) {
121             return new CustomizerSources(uiProps);
122         } else if (LIBRARIES.equals(nm)) {
123             CustomizerProviderImpl.SubCategoryProvider prov = (CustomizerProviderImpl.SubCategoryProvider)context.lookup(CustomizerProviderImpl.SubCategoryProvider.class);
124             assert prov != null : "Assuming CustomizerProviderImpl.SubCategoryProvider in customizer context";
125             return new CustomizerLibraries(uiProps, prov);
126         } else if (BUILD.equals(nm)) {
127             return new CustomizerCompile(uiProps);
128         } else if (JAR.equals(nm)) {
129             return new CustomizerJar(uiProps);
130         } else if (JAVADOC.equals(nm)) {
131             return new CustomizerJavadoc(uiProps);
132         } else if (RUN.equals(nm)) {
133             return new CustomizerRun(uiProps);
134         } else if (WEBSERVICECLIENTS.equals(nm)) {
135             List JavaDoc serviceClientsSettings = null;
136             WebServicesClientSupport clientSupport = WebServicesClientSupport.getWebServicesClientSupport(uiProps.getProject().getProjectDirectory());
137             if (clientSupport != null) {
138                 serviceClientsSettings = clientSupport.getServiceClients();
139             }
140             if(serviceClientsSettings != null && serviceClientsSettings.size() > 0) {
141                 return new CustomizerWSClientHost( uiProps, serviceClientsSettings );
142             } else {
143                 return new NoWebServiceClientsPanel();
144             }
145         }
146         
147         return new JPanel JavaDoc();
148     }
149
150     public static AppClientCompositePanelProvider createSources() {
151         return new AppClientCompositePanelProvider(SOURCES);
152     }
153     
154     public static AppClientCompositePanelProvider createLibraries() {
155         return new AppClientCompositePanelProvider(LIBRARIES);
156     }
157
158     public static AppClientCompositePanelProvider createBuild() {
159         return new AppClientCompositePanelProvider(BUILD);
160     }
161
162     public static AppClientCompositePanelProvider createJar() {
163         return new AppClientCompositePanelProvider(JAR);
164     }
165
166     public static AppClientCompositePanelProvider createJavadoc() {
167         return new AppClientCompositePanelProvider(JAVADOC);
168     }
169
170     public static AppClientCompositePanelProvider createRun() {
171         return new AppClientCompositePanelProvider(RUN);
172     }
173
174     public static AppClientCompositePanelProvider createWebServiceClients() {
175         return new AppClientCompositePanelProvider(WEBSERVICECLIENTS);
176     }
177     
178 }
179
Popular Tags