Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (C) 2009 eXo Platform SAS.
   *
   * This is free software; you can redistribute it and/or modify it
   * under the terms of the GNU Lesser General Public License as
   * published by the Free Software Foundation; either version 2.1 of
   * the License, or (at your option) any later version.
   *
   * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this software; if not, write to the Free
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.services.jcr.ext.script.groovy;
 
 
 import java.net.URL;
JCR groovy resource resolver.
 
 {
    private static final Log LOG = ExoLogger.getLogger(JcrGroovyResourceLoader.class);
 
    private static URL[] normalizeJcrURL(URL[] srcthrows MalformedURLException
    {
       URL[] res = new URL[src.length];
       for (int i = 0; i < src.lengthi++)
       {
          if ("jcr".equals(src[i].getProtocol()))
          {
             String ref = src[i].getRef();
             if (ref == null)
             {
                ref = "/";
             }
             else if (ref.charAt(ref.length() - 1) != '/')
             {
                ref = ref + "/"//NOSONAR
             }
             res[i] = new URL(src[i], "#" + ref);
          }
          else
          {
             res[i] = src[i];
          }
       }
       return res;
    }
 
    public JcrGroovyResourceLoader(URL[] rootsthrows MalformedURLException
    {
       super(normalizeJcrURL(roots));
    }
 
    public JcrGroovyResourceLoader(URL rootthrows MalformedURLException
    {
       this(new URL[]{root});
    }

   
 
    @Override
    protected URL getResource(String filenamethrows MalformedURLException
    {
       if (.isDebugEnabled())
          .debug("Process file: " + filename);
       return super.getResource(filename);
    }
   
   
 
    @Override
    protected URL createURL(URL rootString filenamethrows MalformedURLException
    {
       return ("jcr".equals(root.getProtocol())) ? new URL(root"#" + root.getRef() + filename)
       : new URL(rootfilename);
    }

   
 
    @Override
    protected boolean checkResource(URL resource)
   {
      URLConnection connection = null;
      try
      {
         if (.isDebugEnabled())
            .debug("Try to load resource from URL : " + resource);
         connection = resource.openConnection();
         connection.getInputStream().close();
         return true;
      }
      catch (IOException e)
      {
         if (.isDebugEnabled())
            .debug("Can't open URL : " + resource);
         return false;
      }
      finally
      {
         if (connection != null && resource != null && "jcr".equals(resource.getProtocol()))
            ((JcrURLConnection)connection).disconnect();
      }
   }
New to GrepCode? Check out our FAQ X