1 19 20 package org.netbeans.modules.j2ee.clientproject.ui.customizer; 21 22 import java.util.List ; 23 import java.util.ResourceBundle ; 24 import javax.swing.JComponent ; 25 import javax.swing.JPanel ; 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 38 public class AppClientCompositePanelProvider implements ProjectCustomizer.CompositeCategoryProvider { 39 40 private static final String SOURCES = "Sources"; 41 static final String LIBRARIES = "Libraries"; 42 43 private static final String BUILD = "Build"; 44 private static final String JAR = "Jar"; 45 private static final String JAVADOC = "Javadoc"; 46 public static final String RUN = "Run"; 47 48 private static final String WEBSERVICECLIENTS = "WebServiceClients"; 49 50 private String name; 51 52 53 public AppClientCompositePanelProvider(String name) { 54 this.name = name; 55 } 56 57 public ProjectCustomizer.Category createCategory(Lookup context) { 58 ResourceBundle 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"), null, 66 null); 67 } else if (LIBRARIES.equals(name)) { 68 toReturn = ProjectCustomizer.Category.create( 69 LIBRARIES, 70 bundle.getString( "LBL_Config_Libraries" ), null, 72 null ); 73 } else if (BUILD.equals(name)) { 74 toReturn = ProjectCustomizer.Category.create( 75 BUILD, 76 bundle.getString( "LBL_Config_Build" ), null, 78 null); 79 } else if (JAR.equals(name)) { 80 toReturn = ProjectCustomizer.Category.create( 81 JAR, 82 bundle.getString( "LBL_Config_Jar" ), null, 84 null ); 85 } else if (JAVADOC.equals(name)) { 86 toReturn = ProjectCustomizer.Category.create( 87 JAVADOC, 88 bundle.getString( "LBL_Config_Javadoc" ), null, 90 null ); 91 } else if (RUN.equals(name)) { 92 toReturn = ProjectCustomizer.Category.create( 93 RUN, 94 bundle.getString( "LBL_Config_Run" ), null, 96 null ); 97 } else if (WEBSERVICECLIENTS.equals(name)) { 98 AppClientProject project = (AppClientProject) context.lookup(AppClientProject.class); 99 List 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" ), null, 109 null ); 110 } 111 } 112 113 return toReturn; 115 } 116 117 public JComponent createComponent(ProjectCustomizer.Category category, Lookup context) { 118 String 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 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 (); 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 |