1 19 20 package org.netbeans.modules.web.freeform.ui; 21 22 import java.util.List ; 23 import javax.swing.JComponent ; 24 import org.netbeans.api.project.Project; 25 import org.netbeans.modules.ant.freeform.spi.ProjectAccessor; 26 import org.netbeans.modules.ant.freeform.spi.support.Util; 27 import org.netbeans.modules.web.freeform.LookupProviderImpl; 28 import org.netbeans.modules.web.freeform.WebProjectGenerator; 29 import org.netbeans.spi.project.AuxiliaryConfiguration; 30 import org.netbeans.spi.project.ui.support.ProjectCustomizer; 31 import org.netbeans.spi.project.ui.support.ProjectCustomizer.Category; 32 import org.openide.filesystems.FileUtil; 33 import org.openide.util.Lookup; 34 import org.openide.util.NbBundle; 35 36 40 public class WebClasspathCategoryProvider implements ProjectCustomizer.CompositeCategoryProvider { 41 42 43 public WebClasspathCategoryProvider() { 44 } 45 46 public Category createCategory(Lookup context) { 47 AuxiliaryConfiguration aux = (AuxiliaryConfiguration)context.lookup(AuxiliaryConfiguration.class); 48 assert aux != null; 49 if (LookupProviderImpl.isMyProject(aux)) { 50 Category cat = ProjectCustomizer.Category.create("WebClasspath", NbBundle.getMessage(WebClasspathPanel.class, "LBL_ProjectCustomizer_Category_Classpath"), null, null); 52 return cat; 53 } 54 return null; 55 } 56 57 public JComponent createComponent(Category category, Lookup context) { 58 Project project = (Project)context.lookup(Project.class); 59 ProjectAccessor acc = (ProjectAccessor)context.lookup(ProjectAccessor.class); 60 AuxiliaryConfiguration aux = (AuxiliaryConfiguration)context.lookup(AuxiliaryConfiguration.class); 61 assert aux != null; 62 assert acc != null; 63 assert project != null; 64 65 WebClasspathPanel panel = new WebClasspathPanel(false); 66 List l = WebProjectGenerator.getWebmodules(acc.getHelper(), aux); 67 if (l != null){ 68 WebProjectGenerator.WebModule wm = (WebProjectGenerator.WebModule)l.get(0); 69 panel.setProjectFolders(Util.getProjectLocation(acc.getHelper(), acc.getEvaluator()), 70 FileUtil.toFile(acc.getHelper().getProjectDirectory())); 71 panel.setClasspath(wm.classpath, acc.getEvaluator()); 72 panel.updateButtons(); 73 } 74 75 category.setOkButtonListener(panel.getCustomizerOkListener(acc.getHelper())); 76 return panel; 77 } 78 79 } 80 | Popular Tags |