Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
   *
   * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
   *
   * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
   * Other names may be trademarks of their respective owners.
   *
   * The contents of this file are subject to the terms of either the GNU
  * General Public License Version 2 only ("GPL") or the Common
  * Development and Distribution License("CDDL") (collectively, the
  * "License"). You may not use this file except in compliance with the
  * License. You can obtain a copy of the License at
  * http://www.netbeans.org/cddl-gplv2.html
  * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
  * specific language governing permissions and limitations under the
  * License.  When distributing the software, include this License Header
  * Notice in each file and include the License file at
  * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
  * particular file as subject to the "Classpath" exception as provided
  * by Oracle in the GPL Version 2 section of the License file that
  * accompanied this code. If applicable, add the following below the
  * License Header, with the fields enclosed by brackets [] replaced by
  * your own identifying information:
  * "Portions Copyrighted [year] [name of copyright owner]"
  *
  * If you wish your version of this file to be governed by only the CDDL
  * or only the GPL Version 2, indicate your decision by adding
  * "[Contributor] elects to include this software in this distribution
  * under the [CDDL or GPL Version 2] license." If you do not indicate a
  * single choice of license, a recipient has the option to distribute
  * your version of this file under either the CDDL, the GPL Version 2 or
  * to extend the choice of license to its licensees as provided above.
  * However, if you add GPL Version 2 code and therefore, elected the GPL
  * Version 2 license, then the option applies only if the new code is
  * made subject to such option by the copyright holder.
  *
  * Contributor(s):
  *
  * Portions Copyrighted 2008 Sun Microsystems, Inc.
  */
 package org.netbeans.modules.websvc.wsstack.jaxrs.glassfish.v2;
 
 import java.io.File;
 import java.net.URL;
 import java.util.List;

Author(s):
rico
 
 public class GlassFishV2JaxRsStack implements WSStackImplementation<JaxRs> {
 
     private static final String[] JAXRS_LIBRARIES =
         new String[] {"asm""jersey-bundle""jettison""jsr311-api"}; //NOI18N
     private static final String GFV3_LIB_DIR_NAME = "lib"// NOI18N
 
     private String gfRootStr;
     private File root;
     private JaxRs jaxRs;
 
     public GlassFishV2JaxRsStack(File root) {
         this. = root;
         this. = root.getAbsolutePath();
          = new JaxRs();
     }
 
     public JaxRs get() {
         return ;
     }
 
     public WSStackVersion getVersion() {
         return WSStackVersion.valueOf(2, 1, 3, 0);
     }
 
     public WSTool getWSTool(Tool toolId) {
         if (toolId == ..) {
             return WSStackFactory.createWSTool(new JaxRsTool(..));
         }
         return null;
     }
 
     public boolean isFeatureSupported(Feature feature) {
         boolean isFeatureSupported = false;
         if (feature == ..) {
             WSTool wsTool = getWSTool(..);
             if (wsTool != null) {
                URL[] libs = wsTool.getLibraries();
                try {
                    if(libs != null && libs.length == .)
                        isFeatureSupported = true;
                    for (URL lib : libs) {
                        if (!new File(lib.toURI()).exists()) {
                            isFeatureSupported = false;
                            break;
                        }
                    }
                } catch (URISyntaxException e) {
                }
            }
        }
        return isFeatureSupported;
    }
    private File getJarName(String glassfishInstallRootString jarNamePrefix) {
        File modulesDir = new File(glassfishInstallRoot + . + );
        int subindex = jarNamePrefix.lastIndexOf("/");
        if(subindex != -1) {
            String subdir = jarNamePrefix.substring(0, subindex);
            jarNamePrefix = jarNamePrefix.substring(subindex+1);
            modulesDir = new File(modulesDirsubdir);
        }
        File candidates[] = modulesDir.listFiles(new VersionFilter(jarNamePrefix));
        if(candidates != null && candidates.length > 0) {
            return candidates[0]; // the first one
        } else {
            return null;
        }
    }
    private static class VersionFilter implements FileFilter {
        private String nameprefix;
        public VersionFilter(String nameprefix) {
            this. = nameprefix;
        }
        public boolean accept(File file) {
            return file.getName().startsWith();
        }
    }
    private class JaxRsTool implements WSToolImplementation {
        JaxRs.Tool tool;
        JaxRsTool(JaxRs.Tool tool) {
            this. = tool;
        }
        public String getName() {
            return .getName();
        }
        public URL[] getLibraries() {
            List<URLcPath = new ArrayList<URL>();
            for (String entry : ) {
                File f = getJarName(entry);
                if ((f != null) && (f.exists())) {
                    try {
                        cPath.add(f.toURI().toURL());
                    } catch (MalformedURLException ex) {
                    }
                }
            }
            return cPath.toArray(new URL[cPath.size()]);
        }
    }
New to GrepCode? Check out our FAQ X