This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 230645
Collapse All | Expand All

(-)a/glassfish.common/manifest.mf (-1 / +1 lines)
Lines 3-8 Link Here
3
OpenIDE-Module-Install: org/netbeans/modules/glassfish/common/Installer.class
3
OpenIDE-Module-Install: org/netbeans/modules/glassfish/common/Installer.class
4
OpenIDE-Module-Layer: org/netbeans/modules/glassfish/common/layer.xml
4
OpenIDE-Module-Layer: org/netbeans/modules/glassfish/common/layer.xml
5
OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/glassfish/common/Bundle.properties
5
OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/glassfish/common/Bundle.properties
6
OpenIDE-Module-Specification-Version: 1.33
6
OpenIDE-Module-Specification-Version: 1.34
7
OpenIDE-Module-Provides: org.netbeans.modules.glassfish.common
7
OpenIDE-Module-Provides: org.netbeans.modules.glassfish.common
8
8
(-)a/glassfish.javaee/manifest.mf (-1 / +1 lines)
Lines 4-8 Link Here
4
OpenIDE-Module-Layer: org/netbeans/modules/glassfish/javaee/layer.xml
4
OpenIDE-Module-Layer: org/netbeans/modules/glassfish/javaee/layer.xml
5
OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/glassfish/javaee/Bundle.properties
5
OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/glassfish/javaee/Bundle.properties
6
OpenIDE-Module-Provides: org.netbeans.modules.serverplugins.javaee
6
OpenIDE-Module-Provides: org.netbeans.modules.serverplugins.javaee
7
OpenIDE-Module-Specification-Version: 1.23
7
OpenIDE-Module-Specification-Version: 1.24
8
8
(-)a/glassfish.javaee/nbproject/project.xml (-1 / +1 lines)
Lines 135-141 Link Here
135
                    <compile-dependency/>
135
                    <compile-dependency/>
136
                    <run-dependency>
136
                    <run-dependency>
137
                        <release-version>0-1</release-version>
137
                        <release-version>0-1</release-version>
138
                        <specification-version>1.30</specification-version>
138
                        <specification-version>1.34</specification-version>
139
                    </run-dependency>
139
                    </run-dependency>
140
                </dependency>
140
                </dependency>
141
                <dependency>
141
                <dependency>
(-)a/glassfish.javaee/src/org/netbeans/modules/glassfish/javaee/Bundle.properties (+3 lines)
Lines 98-100 Link Here
98
98
99
DNAME_GF_JAVA_EE_IMPL=Java EE from GlassFish
99
DNAME_GF_JAVA_EE_IMPL=Java EE from GlassFish
100
DESC_GF_JAVA_EE_IMPL=Java EE jars that are bundled with the most recently registered GlassFish installation
100
DESC_GF_JAVA_EE_IMPL=Java EE jars that are bundled with the most recently registered GlassFish installation
101
102
Hk2JavaEEPlatformImpl.missingHk2LibraryProvider=Class Hk2LibraryProvider was \
103
not found. Please check for GlassFish Server modules update.
(-)a/glassfish.javaee/src/org/netbeans/modules/glassfish/javaee/Hk2JavaEEPlatformImpl.java (-14 / +70 lines)
Lines 67-72 Link Here
67
import org.netbeans.api.project.Project;
67
import org.netbeans.api.project.Project;
68
import org.netbeans.api.project.ProjectUtils;
68
import org.netbeans.api.project.ProjectUtils;
69
import org.netbeans.api.project.SourceGroup;
69
import org.netbeans.api.project.SourceGroup;
70
import org.netbeans.api.project.libraries.Library;
70
import org.netbeans.modules.glassfish.spi.GlassfishModule;
71
import org.netbeans.modules.glassfish.spi.GlassfishModule;
71
import org.netbeans.modules.glassfish.spi.ServerUtilities;
72
import org.netbeans.modules.glassfish.spi.ServerUtilities;
72
import org.netbeans.modules.j2ee.deployment.common.api.J2eeLibraryTypeProvider;
73
import org.netbeans.modules.j2ee.deployment.common.api.J2eeLibraryTypeProvider;
Lines 80-90 Link Here
80
import org.netbeans.modules.javaee.specs.support.spi.JaxRsStackSupportImplementation;
81
import org.netbeans.modules.javaee.specs.support.spi.JaxRsStackSupportImplementation;
81
import org.netbeans.modules.websvc.wsstack.api.WSStack;
82
import org.netbeans.modules.websvc.wsstack.api.WSStack;
82
import org.netbeans.modules.websvc.wsstack.spi.WSStackFactory;
83
import org.netbeans.modules.websvc.wsstack.spi.WSStackFactory;
83
import org.netbeans.api.project.libraries.Library;
84
import org.netbeans.spi.project.libraries.LibraryImplementation;
84
import org.netbeans.spi.project.libraries.LibraryImplementation;
85
import org.openide.DialogDisplayer;
86
import org.openide.NotifyDescriptor;
85
import org.openide.filesystems.*;
87
import org.openide.filesystems.*;
86
import org.openide.util.ImageUtilities;
88
import org.openide.util.ImageUtilities;
87
import org.openide.util.Lookup;
89
import org.openide.util.Lookup;
90
import org.openide.util.NbBundle;
88
import org.openide.util.RequestProcessor;
91
import org.openide.util.RequestProcessor;
89
import org.openide.util.Utilities;
92
import org.openide.util.Utilities;
90
import org.openide.util.lookup.Lookups;
93
import org.openide.util.lookup.Lookups;
Lines 125-136 Link Here
125
    /** Keep local Lookup instance to be returned by getLookup method. */
128
    /** Keep local Lookup instance to be returned by getLookup method. */
126
    private volatile Lookup lkp;
129
    private volatile Lookup lkp;
127
130
128
    /** Jersey Library support. */
129
    private Hk2LibraryProvider libraryProvider;
130
131
    ////////////////////////////////////////////////////////////////////////////
131
    ////////////////////////////////////////////////////////////////////////////
132
    // Static methods                                                         //
132
    // Static methods                                                         //
133
    ////////////////////////////////////////////////////////////////////////////
133
    ////////////////////////////////////////////////////////////////////////////
134
135
    /**
136
     * Display missing Hk2LibraryProvider class warning.
137
     */
138
    private static void missingHk2LibraryProvider() {
139
        String message = NbBundle.getMessage(Hk2JavaEEPlatformImpl.class,
140
                "Hk2JavaEEPlatformImpl.missingHk2LibraryProvider");
141
        NotifyDescriptor notifyDescriptor
142
                = new NotifyDescriptor.Message(message);
143
        DialogDisplayer.getDefault().notify(notifyDescriptor);
144
    }
145
134
    /**
146
    /**
135
     * Map GlassFish tooling SDK JavaSE platforms to NetBeans JavaSE platforms.
147
     * Map GlassFish tooling SDK JavaSE platforms to NetBeans JavaSE platforms.
136
     * <p/>
148
     * <p/>
Lines 300-307 Link Here
300
        this.displayName = displayName;
312
        this.displayName = displayName;
301
        this.libraryName = libraryName;
313
        this.libraryName = libraryName;
302
        this.lookupKey = lookupKey;
314
        this.lookupKey = lookupKey;
303
        this.libraryProvider = Hk2LibraryProvider.getProvider(
304
                dm.getCommonServerSupport().getInstance());
305
        addFcl();
315
        addFcl();
306
        initLibraries();
316
        initLibraries();
307
    }
317
    }
Lines 649-657 Link Here
649
659
650
            @Override
660
            @Override
651
            public void run() {
661
            public void run() {
652
                libraryProvider.setJavaEELibraryImplementation(
662
                try {
653
                        lib, libraryName);
663
                    Hk2LibraryProvider libraryProvider
654
                firePropertyChange(PROP_LIBRARIES, null, libraries.clone());
664
                            = Hk2LibraryProvider.getProvider(
665
                            dm.getCommonServerSupport().getInstance());
666
                    libraryProvider
667
                            .setJavaEELibraryImplementation(lib, libraryName);
668
                    firePropertyChange(PROP_LIBRARIES, null, libraries.clone());
669
                } catch (NoClassDefFoundError ex) {
670
                    missingHk2LibraryProvider();
671
                }
655
            }
672
            }
656
        });
673
        });
657
    }
674
    }
Lines 812-818 Link Here
812
     * @return GlassFish bundled libraries provider.
829
     * @return GlassFish bundled libraries provider.
813
     */
830
     */
814
    public Hk2LibraryProvider getLibraryProvider() {
831
    public Hk2LibraryProvider getLibraryProvider() {
815
        return libraryProvider;
832
        try {
833
            Hk2LibraryProvider libraryProvider = Hk2LibraryProvider.getProvider(
834
                    dm.getCommonServerSupport().getInstance());
835
            return libraryProvider;
836
        } catch (NoClassDefFoundError ex) {
837
            missingHk2LibraryProvider();
838
            return null;
839
        }
816
    }
840
    }
817
841
818
    private class JaxRsStackSupportImpl implements JaxRsStackSupportImplementation {
842
    private class JaxRsStackSupportImpl implements JaxRsStackSupportImplementation {
Lines 825-831 Link Here
825
         */
849
         */
826
        @Override
850
        @Override
827
        public boolean addJsr311Api( Project project ) {
851
        public boolean addJsr311Api( Project project ) {
828
            Library library = libraryProvider.getJaxRsLibrary();
852
            Library library;
853
            try {
854
                Hk2LibraryProvider libraryProvider = Hk2LibraryProvider.getProvider(
855
                        dm.getCommonServerSupport().getInstance());
856
                library = libraryProvider.getJaxRsLibrary();
857
            } catch (NoClassDefFoundError ex) {
858
                missingHk2LibraryProvider();
859
                library = null;
860
            }
829
            if ( library!= null ){
861
            if ( library!= null ){
830
                try {
862
                try {
831
                    return ProjectClassPathModifier.addLibraries(
863
                    return ProjectClassPathModifier.addLibraries(
Lines 873-879 Link Here
873
         */
905
         */
874
        @Override
906
        @Override
875
        public boolean extendsJerseyProjectClasspath( Project project ) {
907
        public boolean extendsJerseyProjectClasspath( Project project ) {
876
            Library library = libraryProvider.getJerseyLibrary();
908
            Library library;
909
            try {
910
                Hk2LibraryProvider libraryProvider = Hk2LibraryProvider.getProvider(
911
                        dm.getCommonServerSupport().getInstance());
912
                library = libraryProvider.getJerseyLibrary();
913
            } catch (NoClassDefFoundError ex) {
914
                missingHk2LibraryProvider();
915
                library = null;
916
            }
877
            FileObject sourceRoot = getSourceRoot(project);
917
            FileObject sourceRoot = getSourceRoot(project);
878
            if (sourceRoot == null) {
918
            if (sourceRoot == null) {
879
                return false;
919
                return false;
Lines 903-909 Link Here
903
        
943
        
904
        @Override
944
        @Override
905
        public void removeJaxRsLibraries(Project project) {
945
        public void removeJaxRsLibraries(Project project) {
906
            Library library = libraryProvider.getJerseyLibrary();
946
            Library library;
947
            try {
948
                Hk2LibraryProvider libraryProvider = Hk2LibraryProvider.getProvider(
949
                        dm.getCommonServerSupport().getInstance());
950
                library = libraryProvider.getJerseyLibrary();
951
            } catch (NoClassDefFoundError ex) {
952
                missingHk2LibraryProvider();
953
                library = null;
954
            }
907
            FileObject sourceRoot = getSourceRoot(project);
955
            FileObject sourceRoot = getSourceRoot(project);
908
            if ( sourceRoot != null){
956
            if ( sourceRoot != null){
909
                String[] classPathTypes = new String[]{ ClassPath.COMPILE , 
957
                String[] classPathTypes = new String[]{ ClassPath.COMPILE , 
Lines 958-964 Link Here
958
         */
1006
         */
959
        @Override
1007
        @Override
960
        public boolean isBundled( String classFqn ) {
1008
        public boolean isBundled( String classFqn ) {
961
            List<URL> urls = libraryProvider.getJerseyClassPathURLs();
1009
            List<URL> urls;
1010
            try {
1011
                Hk2LibraryProvider libraryProvider = Hk2LibraryProvider.getProvider(
1012
                        dm.getCommonServerSupport().getInstance());
1013
                urls = libraryProvider.getJerseyClassPathURLs();
1014
            } catch (NoClassDefFoundError ex) {
1015
                missingHk2LibraryProvider();
1016
                urls = Collections.emptyList();
1017
            }
962
            for( URL url : urls ){
1018
            for( URL url : urls ){
963
                FileObject root = URLMapper.findFileObject(url);
1019
                FileObject root = URLMapper.findFileObject(url);
964
                if ( FileUtil.isArchiveFile(root)){
1020
                if ( FileUtil.isArchiveFile(root)){
(-)a/glassfish.javaee/src/org/netbeans/modules/glassfish/javaee/JavaEEServerModuleFactory.java (-9 / +39 lines)
Lines 57-70 Link Here
57
import org.glassfish.tools.ide.data.GlassFishServer;
57
import org.glassfish.tools.ide.data.GlassFishServer;
58
import org.netbeans.api.project.libraries.Library;
58
import org.netbeans.api.project.libraries.Library;
59
import org.netbeans.api.project.libraries.LibraryManager;
59
import org.netbeans.api.project.libraries.LibraryManager;
60
import org.netbeans.modules.j2ee.deployment.plugins.api.InstanceProperties;
61
import org.netbeans.modules.glassfish.spi.GlassfishModule;
60
import org.netbeans.modules.glassfish.spi.GlassfishModule;
62
import org.netbeans.modules.glassfish.spi.GlassfishModuleFactory;
61
import org.netbeans.modules.glassfish.spi.GlassfishModuleFactory;
63
import org.netbeans.modules.glassfish.spi.RegisteredDerbyServer;
62
import org.netbeans.modules.glassfish.spi.RegisteredDerbyServer;
64
import org.netbeans.modules.glassfish.spi.ServerUtilities;
63
import org.netbeans.modules.glassfish.spi.ServerUtilities;
65
import org.netbeans.modules.j2ee.deployment.plugins.api.InstanceCreationException;
64
import org.netbeans.modules.j2ee.deployment.plugins.api.InstanceCreationException;
65
import org.netbeans.modules.j2ee.deployment.plugins.api.InstanceProperties;
66
import org.netbeans.spi.project.libraries.LibraryTypeProvider;
66
import org.netbeans.spi.project.libraries.LibraryTypeProvider;
67
import org.netbeans.spi.project.libraries.support.LibrariesSupport;
67
import org.netbeans.spi.project.libraries.support.LibrariesSupport;
68
import org.openide.DialogDisplayer;
69
import org.openide.NotifyDescriptor;
68
import org.openide.filesystems.FileUtil;
70
import org.openide.filesystems.FileUtil;
69
import org.openide.modules.InstalledFileLocator;
71
import org.openide.modules.InstalledFileLocator;
70
import org.openide.util.Lookup;
72
import org.openide.util.Lookup;
Lines 79-84 Link Here
79
public class JavaEEServerModuleFactory implements GlassfishModuleFactory {
81
public class JavaEEServerModuleFactory implements GlassfishModuleFactory {
80
82
81
    private static final JavaEEServerModuleFactory singleton = new JavaEEServerModuleFactory();
83
    private static final JavaEEServerModuleFactory singleton = new JavaEEServerModuleFactory();
84
85
    /**
86
     * Display missing Hk2LibraryProvider class warning.
87
     */
88
    private static void missingHk2LibraryProvider() {
89
        String message = NbBundle.getMessage(Hk2JavaEEPlatformImpl.class,
90
                "Hk2JavaEEPlatformImpl.missingHk2LibraryProvider");
91
        NotifyDescriptor notifyDescriptor
92
                = new NotifyDescriptor.Message(message);
93
        DialogDisplayer.getDefault().notify(notifyDescriptor);
94
    }
82
    
95
    
83
    private JavaEEServerModuleFactory() {
96
    private JavaEEServerModuleFactory() {
84
    }
97
    }
Lines 205-213 Link Here
205
                }
218
                }
206
            }
219
            }
207
220
208
            File j2eeDoc = InstalledFileLocator.getDefault().locate(
221
            File j2eeDoc;
222
            try {
223
                j2eeDoc = InstalledFileLocator.getDefault().locate(
209
                    "docs/" + PERSISTENCE_JAVADOC,
224
                    "docs/" + PERSISTENCE_JAVADOC,
210
                    Hk2LibraryProvider.JAVAEE_DOC_CODE_BASE, false);
225
                    Hk2LibraryProvider.JAVAEE_DOC_CODE_BASE, false);
226
            } catch (NoClassDefFoundError ex) {
227
                missingHk2LibraryProvider();
228
                j2eeDoc = null;
229
            }
211
            if (j2eeDoc != null) {
230
            if (j2eeDoc != null) {
212
                docList.add(ServerUtilities.fileToUrl(j2eeDoc));
231
                docList.add(ServerUtilities.fileToUrl(j2eeDoc));
213
            } else {
232
            } else {
Lines 271-277 Link Here
271
290
272
    private static boolean ensureGlassFishApiSupport(GlassFishServer server) {
291
    private static boolean ensureGlassFishApiSupport(GlassFishServer server) {
273
        String installRoot = server.getServerRoot();
292
        String installRoot = server.getServerRoot();
274
        List<URL> libraryList = Hk2LibraryProvider.getProvider(server).getJavaEEClassPathURLs();
293
        List<URL> libraryList;
294
        try {
295
            libraryList = Hk2LibraryProvider.getProvider(server).getJavaEEClassPathURLs();
296
        } catch (NoClassDefFoundError ex) {
297
            missingHk2LibraryProvider();
298
            libraryList = null;
299
        }
275
        List<URL> docList = new ArrayList<URL>();
300
        List<URL> docList = new ArrayList<URL>();
276
        String name = JAVA_EE_5_LIB;
301
        String name = JAVA_EE_5_LIB;
277
302
Lines 279-288 Link Here
279
        if (f != null && f.exists()) {
304
        if (f != null && f.exists()) {
280
            name = JAVA_EE_6_LIB;
305
            name = JAVA_EE_6_LIB;
281
        }
306
        }
282
307
        File j2eeDoc;
283
        File j2eeDoc = InstalledFileLocator.getDefault().locate(
308
        try {
284
                "docs/" + JAVA_EE_JAVADOC,
309
            j2eeDoc = InstalledFileLocator.getDefault().locate(
285
                Hk2LibraryProvider.JAVAEE_DOC_CODE_BASE, false);
310
                    "docs/" + JAVA_EE_JAVADOC,
311
                    Hk2LibraryProvider.JAVAEE_DOC_CODE_BASE, false);
312
        } catch (NoClassDefFoundError ex) {
313
            missingHk2LibraryProvider();
314
            j2eeDoc = null;
315
        }
286
        if (j2eeDoc != null) {
316
        if (j2eeDoc != null) {
287
            try {
317
            try {
288
                docList.add(ServerUtilities.fileToUrl(j2eeDoc));
318
                docList.add(ServerUtilities.fileToUrl(j2eeDoc));
Lines 295-301 Link Here
295
325
296
        // additional jar for glassfish-samples support
326
        // additional jar for glassfish-samples support
297
        f = ServerUtilities.getJarName(installRoot, "web-core" + ServerUtilities.GFV3_VERSION_MATCHER);
327
        f = ServerUtilities.getJarName(installRoot, "web-core" + ServerUtilities.GFV3_VERSION_MATCHER);
298
        if (f != null && f.exists()) {
328
        if (f != null && f.exists() && libraryList != null) {
299
            try {
329
            try {
300
                libraryList.add(ServerUtilities.fileToUrl(f));
330
                libraryList.add(ServerUtilities.fileToUrl(f));
301
            } catch (MalformedURLException ex) {
331
            } catch (MalformedURLException ex) {
Lines 309-315 Link Here
309
        String[] JERSEY_LIBS = (isGFV31 ? JAXRS_LIBRARIES_31 : JAXRS_LIBRARIES);
339
        String[] JERSEY_LIBS = (isGFV31 ? JAXRS_LIBRARIES_31 : JAXRS_LIBRARIES);
310
        for (String entry : JERSEY_LIBS) {
340
        for (String entry : JERSEY_LIBS) {
311
            f = ServerUtilities.getJarName(installRoot, entry + ServerUtilities.GFV3_VERSION_MATCHER);
341
            f = ServerUtilities.getJarName(installRoot, entry + ServerUtilities.GFV3_VERSION_MATCHER);
312
            if ((f != null) && (f.exists())) {
342
            if ((f != null) && (f.exists()) && libraryList != null) {
313
                try {
343
                try {
314
                    libraryList.add(
344
                    libraryList.add(
315
                            FileUtil.getArchiveRoot(Utilities.toURI(f).toURL()));
345
                            FileUtil.getArchiveRoot(Utilities.toURI(f).toURL()));

Return to bug 230645