Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * JBoss, Home of Professional Open Source
  * Copyright 2014, Red Hat, Inc. and/or its affiliates, and individual
  * contributors by the @authors tag. See the copyright.txt in the
  * distribution for a full listing of individual contributors.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
 * http://www.apache.org/licenses/LICENSE-2.0
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.jboss.weld.environment.servlet.deployment;
import  javax.servlet.ServletContext;
Handles the paths to resources within a web application. It's used if a WAR archive is not extracted to the file system.

Author(s):
Martin Kouba
    private static final String SLASH = "/";
    private static final String DOT = ".";
    private final ServletContext servletContext;

    

Parameters:
servletContext
    public ServletContextBeanArchiveHandler(ServletContext servletContext) {
        this. = servletContext;
    }
    @Override
    public BeanArchiveBuilder handle(String path) {
        if (!path.equals(.)) {
            return null;
        }
        BeanArchiveBuilder builder = new BeanArchiveBuilder();
        handleResourcePath(pathpathbuilder);
        return builder;
    }
    private void handleResourcePath(String rootPathString resourcePathBeanArchiveBuilder builder) {
        ..debugv("Handle resource path: {0}"resourcePath);
        Set<Stringsubpaths = .getResourcePaths(resourcePath);
        if (subpaths != null && !subpaths.isEmpty()) {
            for (String subpath : subpaths) {
                if (subpath.endsWith()) {
                    // Paths indicating subdirectory end with a '/'
                    handleResourcePath(rootPathsubpathbuilder);
                } else if (subpath.endsWith(.)) {
                    // Class file
                    String className = toClassName(rootPathsubpath);
                    builder.addClass(className);
                    ..tracev("Class discovered: {0}"className);
                }
            }
        }
    }
    private String toClassName(String rootPathString resourcePath) {
        // Remove WEB-INF/classes part, suffix and replace slashes with dots
        return resourcePath.substring(rootPath.length() + 1, resourcePath.lastIndexOf(.)).replace();
    }
New to GrepCode? Check out our FAQ X