You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by Thiago Veronezi <th...@veronezi.org> on 2015/11/19 02:21:31 UTC

Re: [2/3] tomee git commit: EOL commit

Hey Romain,

What is this commit about? Removing windows line endings?
Now when I pull the source code, my local git says I have changed files
that I never touched. Am I missing a config locally?

[]s,
Thiago

On Wed, Nov 18, 2015 at 3:18 PM, <rm...@apache.org> wrote:

> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/build.xml
> ----------------------------------------------------------------------
> diff --git a/tomee/build.xml b/tomee/build.xml
> index eff1327..c660e7c 100644
> --- a/tomee/build.xml
> +++ b/tomee/build.xml
> @@ -1,46 +1,46 @@
> -<?xml version="1.0" encoding="UTF-8"?>
> -<!--
> -
> -    Licensed to the Apache Software Foundation (ASF) under one or more
> -    contributor license agreements.  See the NOTICE file distributed with
> -    this work for additional information regarding copyright ownership.
> -    The ASF licenses this file to You 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.
> --->
> -<project name="dev-helper" default="web">
> -
> -    <target name="web">
> -        <copy verbose="true"
> todir="apache-tomee/target/apache-tomee-webprofile-7.0.0-SNAPSHOT/webapps/tomee">
> -            <fileset dir="tomee-webapp/src/main/webapp"
> includes="**/*.js"/>
> -            <fileset dir="tomee-webapp/src/main/webapp"
> includes="**/*.css"/>
> -            <fileset dir="tomee-webapp/src/main/webapp"
> includes="**/*.html"/>
> -        </copy>
> -    </target>
> -
> -    <target name="rs">
> -        <copy verbose="true"
> todir="apache-tomee/target/apache-tomee-jaxrs-7.0.0-SNAPSHOT/webapps/tomee">
> -            <fileset dir="tomee-webapp/src/main/webapp"
> includes="**/*.js"/>
> -            <fileset dir="tomee-webapp/src/main/webapp"
> includes="**/*.css"/>
> -            <fileset dir="tomee-webapp/src/main/webapp"
> includes="**/*.html"/>
> -        </copy>
> -    </target>
> -
> -    <target name="plus">
> -        <copy verbose="true"
> todir="apache-tomee/target/apache-tomee-plus-7.0.0-SNAPSHOT/webapps/tomee">
> -            <fileset dir="tomee-webapp/src/main/webapp"
> includes="**/*.js"/>
> -            <fileset dir="tomee-webapp/src/main/webapp"
> includes="**/*.css"/>
> -            <fileset dir="tomee-webapp/src/main/webapp"
> includes="**/*.html"/>
> -        </copy>
> -    </target>
> -
> -</project>
> -
> +<?xml version="1.0" encoding="UTF-8"?>
> +<!--
> +
> +    Licensed to the Apache Software Foundation (ASF) under one or more
> +    contributor license agreements.  See the NOTICE file distributed with
> +    this work for additional information regarding copyright ownership.
> +    The ASF licenses this file to You 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.
> +-->
> +<project name="dev-helper" default="web">
> +
> +    <target name="web">
> +        <copy verbose="true"
> todir="apache-tomee/target/apache-tomee-webprofile-7.0.0-SNAPSHOT/webapps/tomee">
> +            <fileset dir="tomee-webapp/src/main/webapp"
> includes="**/*.js"/>
> +            <fileset dir="tomee-webapp/src/main/webapp"
> includes="**/*.css"/>
> +            <fileset dir="tomee-webapp/src/main/webapp"
> includes="**/*.html"/>
> +        </copy>
> +    </target>
> +
> +    <target name="rs">
> +        <copy verbose="true"
> todir="apache-tomee/target/apache-tomee-jaxrs-7.0.0-SNAPSHOT/webapps/tomee">
> +            <fileset dir="tomee-webapp/src/main/webapp"
> includes="**/*.js"/>
> +            <fileset dir="tomee-webapp/src/main/webapp"
> includes="**/*.css"/>
> +            <fileset dir="tomee-webapp/src/main/webapp"
> includes="**/*.html"/>
> +        </copy>
> +    </target>
> +
> +    <target name="plus">
> +        <copy verbose="true"
> todir="apache-tomee/target/apache-tomee-plus-7.0.0-SNAPSHOT/webapps/tomee">
> +            <fileset dir="tomee-webapp/src/main/webapp"
> includes="**/*.js"/>
> +            <fileset dir="tomee-webapp/src/main/webapp"
> includes="**/*.css"/>
> +            <fileset dir="tomee-webapp/src/main/webapp"
> includes="**/*.html"/>
> +        </copy>
> +    </target>
> +
> +</project>
> +
>
>
> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java
> ----------------------------------------------------------------------
> diff --git
> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java
> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java
> index 2ca6ac6..2208d91 100644
> ---
> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java
> +++
> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java
> @@ -1,165 +1,165 @@
> -/*
> - * Licensed to the Apache Software Foundation (ASF) under one or more
> - * contributor license agreements.  See the NOTICE file distributed with
> - * this work for additional information regarding copyright ownership.
> - * The ASF licenses this file to You 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.apache.tomee.catalina;
> -
> -import org.apache.catalina.Container;
> -import org.apache.catalina.Context;
> -import org.apache.catalina.Globals;
> -import org.apache.catalina.Host;
> -import org.apache.catalina.core.StandardContext;
> -import org.apache.catalina.core.StandardEngine;
> -import org.apache.catalina.core.StandardHost;
> -import org.apache.catalina.util.ContextName;
> -
> -import java.io.File;
> -import java.io.IOException;
> -
> -public class Contexts {
> -    public static String getHostname(final StandardContext ctx) {
> -        String hostName = null;
> -        final Container parentHost = ctx.getParent();
> -        if (parentHost != null) {
> -            hostName = parentHost.getName();
> -        }
> -        if ((hostName == null) || (hostName.length() < 1)) {
> -            hostName = "_";
> -        }
> -        return hostName;
> -    }
> -
> -    public static File warPath(final Context standardContext) {
> -        final File file = realWarPath(standardContext);
> -        if (file == null) {
> -            return null;
> -        }
> -
> -        final String name = file.getName();
> -        if (!file.isDirectory() && name.endsWith(".war")) {
> -            final File extracted = new File(file.getParentFile(),
> name.substring(0, name.length() - ".war".length()));
> -            if (extracted.exists()) {
> -                try {
> -                    return extracted.getCanonicalFile();
> -                } catch (final IOException e) {
> -                    return extracted;
> -                }
> -            }
> -        }
> -        try {
> -            return file.getCanonicalFile();
> -        } catch (final IOException e) {
> -            return file;
> -        }
> -    }
> -
> -    public static File realWarPath(final Context standardContext) {
> -        if (standardContext == null) {
> -            return null;
> -        }
> -
> -        final File docBase;
> -        Container container = standardContext;
> -        while (container != null) {
> -            if (container instanceof Host) {
> -                break;
> -            }
> -            container = container.getParent();
> -        }
> -
> -        String baseName = null;
> -        if (standardContext.getDocBase() != null) {
> -            File file = new File(standardContext.getDocBase());
> -            if (!file.isAbsolute()) {
> -                if (container == null) {
> -                    docBase = new File(engineBase(standardContext),
> standardContext.getDocBase());
> -                } else {
> -                    final String appBase = ((Host)
> container).getAppBase();
> -                    file = new File(appBase);
> -                    if (!file.isAbsolute()) {
> -                        file = new File(engineBase(standardContext),
> appBase);
> -                    }
> -                    docBase = new File(file,
> standardContext.getDocBase());
> -                }
> -            } else {
> -                docBase = file;
> -            }
> -        } else {
> -            final String path = standardContext.getPath();
> -            if (path == null) {
> -                throw new IllegalStateException("Can't find docBase");
> -            } else {
> -                baseName = new ContextName(path,
> standardContext.getWebappVersion()).getBaseName();
> -                docBase = new File(baseName);
> -            }
> -        }
> -
> -        if (!docBase.exists() && baseName != null) { // for old
> compatibility, will be removed soon
> -            if (Host.class.isInstance(container)) {
> -                final File file = new
> File(Host.class.cast(container).getAppBaseFile(), baseName);
> -                if (file.exists()) {
> -                    return file;
> -                }
> -            }
> -            return oldRealWarPath(standardContext);
> -        }
> -
> -        final String name = docBase.getName();
> -        if (name.endsWith(".war")) {
> -            final File extracted = new File(docBase.getParentFile(),
> name.substring(0, name.length() - ".war".length()));
> -            if (extracted.exists()) {
> -                return extracted;
> -            }
> -        }
> -
> -        return docBase;
> -    }
> -
> -    private static File engineBase(final Context standardContext) {
> -        final String base =
> System.getProperty(Globals.CATALINA_BASE_PROP);
> -        if( base == null ) {
> -            final StandardEngine eng = (StandardEngine)
> standardContext.getParent().getParent();
> -            return eng.getCatalinaBase();
> -        }
> -        return new File(base);
> -    }
> -
> -    @Deprecated
> -    private static File oldRealWarPath(final Context standardContext) {
> -        String doc = standardContext.getDocBase();
> -        // handle ROOT case
> -        if (doc == null || doc.length() == 0) {
> -            doc = "ROOT";
> -        }
> -
> -        File war = new File(doc);
> -        if (war.exists()) {
> -            return war;
> -        }
> -
> -        final StandardHost host = (StandardHost)
> standardContext.getParent();
> -        final String base = host.getAppBase();
> -        war = new File(base, doc);
> -        if (war.exists()) {
> -            return war;
> -        }
> -
> -        war = new File(new File(System.getProperty("catalina.home"),
> base), doc);
> -        if (war.exists()) {
> -            return war;
> -        }
> -        return new File(new File(System.getProperty("catalina.base"),
> base), doc); // shouldn't occur
> -    }
> -}
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one or more
> + * contributor license agreements.  See the NOTICE file distributed with
> + * this work for additional information regarding copyright ownership.
> + * The ASF licenses this file to You 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.apache.tomee.catalina;
> +
> +import org.apache.catalina.Container;
> +import org.apache.catalina.Context;
> +import org.apache.catalina.Globals;
> +import org.apache.catalina.Host;
> +import org.apache.catalina.core.StandardContext;
> +import org.apache.catalina.core.StandardEngine;
> +import org.apache.catalina.core.StandardHost;
> +import org.apache.catalina.util.ContextName;
> +
> +import java.io.File;
> +import java.io.IOException;
> +
> +public class Contexts {
> +    public static String getHostname(final StandardContext ctx) {
> +        String hostName = null;
> +        final Container parentHost = ctx.getParent();
> +        if (parentHost != null) {
> +            hostName = parentHost.getName();
> +        }
> +        if ((hostName == null) || (hostName.length() < 1)) {
> +            hostName = "_";
> +        }
> +        return hostName;
> +    }
> +
> +    public static File warPath(final Context standardContext) {
> +        final File file = realWarPath(standardContext);
> +        if (file == null) {
> +            return null;
> +        }
> +
> +        final String name = file.getName();
> +        if (!file.isDirectory() && name.endsWith(".war")) {
> +            final File extracted = new File(file.getParentFile(),
> name.substring(0, name.length() - ".war".length()));
> +            if (extracted.exists()) {
> +                try {
> +                    return extracted.getCanonicalFile();
> +                } catch (final IOException e) {
> +                    return extracted;
> +                }
> +            }
> +        }
> +        try {
> +            return file.getCanonicalFile();
> +        } catch (final IOException e) {
> +            return file;
> +        }
> +    }
> +
> +    public static File realWarPath(final Context standardContext) {
> +        if (standardContext == null) {
> +            return null;
> +        }
> +
> +        final File docBase;
> +        Container container = standardContext;
> +        while (container != null) {
> +            if (container instanceof Host) {
> +                break;
> +            }
> +            container = container.getParent();
> +        }
> +
> +        String baseName = null;
> +        if (standardContext.getDocBase() != null) {
> +            File file = new File(standardContext.getDocBase());
> +            if (!file.isAbsolute()) {
> +                if (container == null) {
> +                    docBase = new File(engineBase(standardContext),
> standardContext.getDocBase());
> +                } else {
> +                    final String appBase = ((Host)
> container).getAppBase();
> +                    file = new File(appBase);
> +                    if (!file.isAbsolute()) {
> +                        file = new File(engineBase(standardContext),
> appBase);
> +                    }
> +                    docBase = new File(file,
> standardContext.getDocBase());
> +                }
> +            } else {
> +                docBase = file;
> +            }
> +        } else {
> +            final String path = standardContext.getPath();
> +            if (path == null) {
> +                throw new IllegalStateException("Can't find docBase");
> +            } else {
> +                baseName = new ContextName(path,
> standardContext.getWebappVersion()).getBaseName();
> +                docBase = new File(baseName);
> +            }
> +        }
> +
> +        if (!docBase.exists() && baseName != null) { // for old
> compatibility, will be removed soon
> +            if (Host.class.isInstance(container)) {
> +                final File file = new
> File(Host.class.cast(container).getAppBaseFile(), baseName);
> +                if (file.exists()) {
> +                    return file;
> +                }
> +            }
> +            return oldRealWarPath(standardContext);
> +        }
> +
> +        final String name = docBase.getName();
> +        if (name.endsWith(".war")) {
> +            final File extracted = new File(docBase.getParentFile(),
> name.substring(0, name.length() - ".war".length()));
> +            if (extracted.exists()) {
> +                return extracted;
> +            }
> +        }
> +
> +        return docBase;
> +    }
> +
> +    private static File engineBase(final Context standardContext) {
> +        final String base =
> System.getProperty(Globals.CATALINA_BASE_PROP);
> +        if( base == null ) {
> +            final StandardEngine eng = (StandardEngine)
> standardContext.getParent().getParent();
> +            return eng.getCatalinaBase();
> +        }
> +        return new File(base);
> +    }
> +
> +    @Deprecated
> +    private static File oldRealWarPath(final Context standardContext) {
> +        String doc = standardContext.getDocBase();
> +        // handle ROOT case
> +        if (doc == null || doc.length() == 0) {
> +            doc = "ROOT";
> +        }
> +
> +        File war = new File(doc);
> +        if (war.exists()) {
> +            return war;
> +        }
> +
> +        final StandardHost host = (StandardHost)
> standardContext.getParent();
> +        final String base = host.getAppBase();
> +        war = new File(base, doc);
> +        if (war.exists()) {
> +            return war;
> +        }
> +
> +        war = new File(new File(System.getProperty("catalina.home"),
> base), doc);
> +        if (war.exists()) {
> +            return war;
> +        }
> +        return new File(new File(System.getProperty("catalina.base"),
> base), doc); // shouldn't occur
> +    }
> +}
>
>
> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
> ----------------------------------------------------------------------
> diff --git
> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
> index eee2d2a..2308db0 100644
> ---
> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
> +++
> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
> @@ -1,121 +1,121 @@
> -/*
> - * Licensed to the Apache Software Foundation (ASF) under one or more
> - * contributor license agreements.  See the NOTICE file distributed with
> - * this work for additional information regarding copyright ownership.
> - * The ASF licenses this file to You 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.apache.tomee.catalina;
> -
> -import org.apache.catalina.Context;
> -import org.apache.catalina.LifecycleException;
> -import org.apache.catalina.loader.WebappLoader;
> -import org.apache.openejb.ClassLoaderUtil;
> -import org.apache.openejb.classloader.ClassLoaderConfigurer;
> -import org.apache.openejb.classloader.CompositeClassLoaderConfigurer;
> -import org.apache.openejb.config.QuickJarsTxtParser;
> -import org.apache.openejb.loader.SystemInstance;
> -
> -import java.io.File;
> -
> -/**
> - * Usage example in META-INF/context.xml
> - * <p/>
> - * <p/>
> - * <Context antiJARLocking="true" >
> - * <Loader
> - * className="org.apache.tomee.catalina.ProvisioningWebappLoader"
> - * searchExternalFirst="true"
> - *
> virtualClasspath="mvn:commons-el:commons-el:1.0;mvn:commons-el:commons-el:1.0"
> - * searchVirtualFirst="true"
> - * />
> - * </Context>
> - */
> -public class TomEEWebappLoader extends WebappLoader {
> -    public static final boolean SKIP_BACKGROUND_PROCESS =
> "true".equals(SystemInstance.get().getProperty("tomee.classloader.skip-background-process",
> "false"));
> -
> -    private volatile ClassLoader loader;
> -
> -    @Override
> -    public void backgroundProcess() {
> -        if (SKIP_BACKGROUND_PROCESS) {
> -            return;
> -        }
> -
> -        final ClassLoader classloader = super.getClassLoader();
> -        if (classloader instanceof TomEEWebappClassLoader) {
> -            final TomEEWebappClassLoader tomEEWebappClassLoader =
> (TomEEWebappClassLoader) classloader;
> -            tomEEWebappClassLoader.restarting();
> -            try {
> -                super.backgroundProcess();
> -            } finally {
> -                tomEEWebappClassLoader.restarted();
> -            }
> -        } else {
> -            super.backgroundProcess();
> -        }
> -    }
> -
> -    @Override
> -    public boolean modified() {
> -        return !SKIP_BACKGROUND_PROCESS && super.modified();
> -    }
> -
> -    @Override
> -    protected void stopInternal() throws LifecycleException {
> -        loader = getClassLoader();
> -        super.stopInternal();
> -    }
> -
> -    public void clearLoader() {
> -        loader = null;
> -    }
> -
> -    public ClassLoader internalLoader() {
> -        return loader;
> -    }
> -
> -    @Override
> -    protected void startInternal() throws LifecycleException {
> -        if (getClassLoader() != null) {
> -            final TomEEWebappClassLoader webappClassLoader =
> TomEEWebappClassLoader.class.cast(getClassLoader());
> -            if (webappClassLoader.isStopped()) {
> -                webappClassLoader.internalStop();
> -            }
> -        }
> -
> -        final Context context = getContext();
> -
> -        ClassLoaderConfigurer configurer =
> ClassLoaderUtil.configurer(context.getName());
> -
> -        // WEB-INF/jars.xml
> -        final File war = Contexts.warPath(Context.class.cast(context));
> -        final File jarsXml = new File(war, "WEB-INF/" +
> QuickJarsTxtParser.FILE_NAME);
> -        final ClassLoaderConfigurer configurerTxt =
> QuickJarsTxtParser.parse(jarsXml);
> -        if (configurerTxt != null) {
> -            configurer = new CompositeClassLoaderConfigurer(configurer,
> configurerTxt);
> -        }
> -
> -        TomEEWebappClassLoader.initContext(configurer);
> -        TomEEWebappClassLoader.initContext(context);
> -        try {
> -            super.startInternal();
> -        } finally {
> -            TomEEWebappClassLoader.cleanContext();
> -        }
> -    }
> -
> -    @Override
> -    public String toString() {
> -        return "TomEE" + super.toString();
> -    }
> -}
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one or more
> + * contributor license agreements.  See the NOTICE file distributed with
> + * this work for additional information regarding copyright ownership.
> + * The ASF licenses this file to You 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.apache.tomee.catalina;
> +
> +import org.apache.catalina.Context;
> +import org.apache.catalina.LifecycleException;
> +import org.apache.catalina.loader.WebappLoader;
> +import org.apache.openejb.ClassLoaderUtil;
> +import org.apache.openejb.classloader.ClassLoaderConfigurer;
> +import org.apache.openejb.classloader.CompositeClassLoaderConfigurer;
> +import org.apache.openejb.config.QuickJarsTxtParser;
> +import org.apache.openejb.loader.SystemInstance;
> +
> +import java.io.File;
> +
> +/**
> + * Usage example in META-INF/context.xml
> + * <p/>
> + * <p/>
> + * <Context antiJARLocking="true" >
> + * <Loader
> + * className="org.apache.tomee.catalina.ProvisioningWebappLoader"
> + * searchExternalFirst="true"
> + *
> virtualClasspath="mvn:commons-el:commons-el:1.0;mvn:commons-el:commons-el:1.0"
> + * searchVirtualFirst="true"
> + * />
> + * </Context>
> + */
> +public class TomEEWebappLoader extends WebappLoader {
> +    public static final boolean SKIP_BACKGROUND_PROCESS =
> "true".equals(SystemInstance.get().getProperty("tomee.classloader.skip-background-process",
> "false"));
> +
> +    private volatile ClassLoader loader;
> +
> +    @Override
> +    public void backgroundProcess() {
> +        if (SKIP_BACKGROUND_PROCESS) {
> +            return;
> +        }
> +
> +        final ClassLoader classloader = super.getClassLoader();
> +        if (classloader instanceof TomEEWebappClassLoader) {
> +            final TomEEWebappClassLoader tomEEWebappClassLoader =
> (TomEEWebappClassLoader) classloader;
> +            tomEEWebappClassLoader.restarting();
> +            try {
> +                super.backgroundProcess();
> +            } finally {
> +                tomEEWebappClassLoader.restarted();
> +            }
> +        } else {
> +            super.backgroundProcess();
> +        }
> +    }
> +
> +    @Override
> +    public boolean modified() {
> +        return !SKIP_BACKGROUND_PROCESS && super.modified();
> +    }
> +
> +    @Override
> +    protected void stopInternal() throws LifecycleException {
> +        loader = getClassLoader();
> +        super.stopInternal();
> +    }
> +
> +    public void clearLoader() {
> +        loader = null;
> +    }
> +
> +    public ClassLoader internalLoader() {
> +        return loader;
> +    }
> +
> +    @Override
> +    protected void startInternal() throws LifecycleException {
> +        if (getClassLoader() != null) {
> +            final TomEEWebappClassLoader webappClassLoader =
> TomEEWebappClassLoader.class.cast(getClassLoader());
> +            if (webappClassLoader.isStopped()) {
> +                webappClassLoader.internalStop();
> +            }
> +        }
> +
> +        final Context context = getContext();
> +
> +        ClassLoaderConfigurer configurer =
> ClassLoaderUtil.configurer(context.getName());
> +
> +        // WEB-INF/jars.xml
> +        final File war = Contexts.warPath(Context.class.cast(context));
> +        final File jarsXml = new File(war, "WEB-INF/" +
> QuickJarsTxtParser.FILE_NAME);
> +        final ClassLoaderConfigurer configurerTxt =
> QuickJarsTxtParser.parse(jarsXml);
> +        if (configurerTxt != null) {
> +            configurer = new CompositeClassLoaderConfigurer(configurer,
> configurerTxt);
> +        }
> +
> +        TomEEWebappClassLoader.initContext(configurer);
> +        TomEEWebappClassLoader.initContext(context);
> +        try {
> +            super.startInternal();
> +        } finally {
> +            TomEEWebappClassLoader.cleanContext();
> +        }
> +    }
> +
> +    @Override
> +    public String toString() {
> +        return "TomEE" + super.toString();
> +    }
> +}
>
>
> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatDeploymentLoader.java
> ----------------------------------------------------------------------
> diff --git
> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatDeploymentLoader.java
> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatDeploymentLoader.java
> index 03fea68..4496e54 100644
> ---
> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatDeploymentLoader.java
> +++
> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatDeploymentLoader.java
> @@ -1,43 +1,43 @@
> -/*
> - * Licensed to the Apache Software Foundation (ASF) under one or more
> - * contributor license agreements.  See the NOTICE file distributed with
> - * this work for additional information regarding copyright ownership.
> - * The ASF licenses this file to You 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.apache.tomee.catalina;
> -
> -import org.apache.catalina.core.StandardContext;
> -import org.apache.openejb.config.DeploymentLoader;
> -
> -/**
> - * @version $Id$
> - */
> -public class TomcatDeploymentLoader extends DeploymentLoader {
> -    private StandardContext standardContext;
> -    private String moduleId;
> -
> -    public TomcatDeploymentLoader(final StandardContext standardContext,
> final String moduleId) {
> -        this.standardContext = standardContext;
> -        this.moduleId = moduleId;
> -    }
> -
> -    @Override
> -    protected String getContextRoot() {
> -        return standardContext.getPath();
> -    }
> -
> -    @Override
> -    protected String getModuleName() {
> -        return moduleId;
> -    }
> -}
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one or more
> + * contributor license agreements.  See the NOTICE file distributed with
> + * this work for additional information regarding copyright ownership.
> + * The ASF licenses this file to You 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.apache.tomee.catalina;
> +
> +import org.apache.catalina.core.StandardContext;
> +import org.apache.openejb.config.DeploymentLoader;
> +
> +/**
> + * @version $Id$
> + */
> +public class TomcatDeploymentLoader extends DeploymentLoader {
> +    private StandardContext standardContext;
> +    private String moduleId;
> +
> +    public TomcatDeploymentLoader(final StandardContext standardContext,
> final String moduleId) {
> +        this.standardContext = standardContext;
> +        this.moduleId = moduleId;
> +    }
> +
> +    @Override
> +    protected String getContextRoot() {
> +        return standardContext.getPath();
> +    }
> +
> +    @Override
> +    protected String getModuleName() {
> +        return moduleId;
> +    }
> +}
>
>
> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java
> ----------------------------------------------------------------------
> diff --git
> a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java
> b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java
> index 1720f9f..a2c8d06 100644
> ---
> a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java
> +++
> b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java
> @@ -1,134 +1,134 @@
> -/**
> - * Licensed to the Apache Software Foundation (ASF) under one or more
> - * contributor license agreements.  See the NOTICE file distributed with
> - * this work for additional information regarding copyright ownership.
> - * The ASF licenses this file to You 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.apache.tomee.embedded;
> -
> -import java.io.File;
> -import java.util.Set;
> -
> -import org.apache.commons.cli.CommandLine;
> -import org.apache.commons.cli.CommandLineParser;
> -import org.apache.commons.cli.HelpFormatter;
> -import org.apache.commons.cli.Options;
> -import org.apache.commons.cli.ParseException;
> -import org.apache.commons.cli.PosixParser;
> -import org.apache.openejb.loader.ProvisioningUtil;
> -
> -import static org.apache.openejb.loader.JarLocation.jarLocation;
> -
> -public class Main {
> -    public static final String PORT = "port";
> -    public static final String SHUTDOWN = "shutdown";
> -    public static final String PATH = "path";
> -    public static final String CONTEXT = "context";
> -    public static final String DIRECTORY = "directory";
> -    public static final String DOC_BASE = "doc-base";
> -    public static final String AS_WAR = "as-war";
> -
> -    public static void main(final String[] args) {
> -        final CommandLineParser parser = new PosixParser();
> -        final Options options = createOptions();
> -
> -        // parse command line
> -        final CommandLine line;
> -        try {
> -            line = parser.parse(options, args, true);
> -        } catch (final ParseException exp) {
> -            new HelpFormatter().printHelp("java -jar
> tomee-embedded-user.jar", options);
> -            return;
> -        }
> -
> -        // run TomEE
> -        try {
> -            final Container container = new
> Container(createConfiguration(line));
> -            final String[] contexts;
> -            if (line.hasOption(CONTEXT)) {
> -                contexts = line.getOptionValues(CONTEXT);
> -            } else {
> -                contexts = null;
> -            }
> -
> -            boolean autoWar = true;
> -            int i = 0;
> -            if (line.hasOption(PATH)) {
> -                for (final String path : line.getOptionValues(PATH)) {
> -                    final Set<String> locations =
> ProvisioningUtil.realLocation(path);
> -                    for (final String location : locations) {
> -                        final File file = new File(location);
> -                        if (!file.exists()) {
> -                            System.err.println(file.getAbsolutePath() + "
> does not exist, skipping");
> -                            continue;
> -                        }
> -
> -                        String name =
> file.getName().replaceAll("\\.[A-Za-z]+$", "");
> -                        if (contexts != null) {
> -                            name = contexts[i++];
> -                        }
> -                        container.deploy(name, file, true);
> -                    }
> -                }
> -                autoWar = false;
> -            }
> -            if (line.hasOption(AS_WAR)) {
> -                container.deployClasspathAsWebApp(contexts == null || i
> == contexts.length ? "" : contexts[i],
> -                        line.hasOption(DOC_BASE) ? new
> File(line.getOptionValue(DOC_BASE)) : null);
> -                autoWar = false;
> -            }
> -            if (autoWar) { // nothing deployed check if we are a war and
> deploy ourself then
> -                final File me = jarLocation(Main.class);
> -                if (me.getName().endsWith(".war")) {
> -                    container.deploy(contexts == null || i ==
> contexts.length ? "" : contexts[i], me);
> -                }
> -            }
> -
> -            Runtime.getRuntime().addShutdownHook(new Thread() {
> -                @Override
> -                public void run() {
> -                    try {
> -                        container.stop();
> -                    } catch (final Exception e) {
> -                        e.printStackTrace(); // just log the exception
> -                    }
> -                }
> -            });
> -            container.await();
> -        } catch (final Exception e) {
> -            e.printStackTrace();
> -        }
> -    }
> -
> -    private static Options createOptions() {
> -        final Options options = new Options();
> -        options.addOption(null, PATH, true, "");
> -        options.addOption(null, CONTEXT, true, "Context name for
> applications (same order than paths)");
> -        options.addOption("p", PORT, true, "TomEE http port");
> -        options.addOption("s", SHUTDOWN, true, "TomEE shutdown port");
> -        options.addOption("d", DIRECTORY, true, "TomEE directory");
> -        options.addOption("c", AS_WAR, false, "deploy classpath as war");
> -        options.addOption("b", DOC_BASE, true, "when deploy classpath as
> war, the doc base");
> -        return options;
> -    }
> -
> -    private static Configuration createConfiguration(final CommandLine
> args) {
> -        final Configuration config = new Configuration();
> -        config.setDir(System.getProperty("java.io.tmpdir"));
> -        config.setHttpPort(Integer.parseInt(args.getOptionValue(PORT,
> "8080")));
> -        config.setStopPort(Integer.parseInt(args.getOptionValue(SHUTDOWN,
> "8005")));
> -        config.setDir(args.getOptionValue(DIRECTORY, new File(new
> File("."), "apache-tomee").getAbsolutePath()));
> -        return config;
> -    }
> -
> -}
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or more
> + * contributor license agreements.  See the NOTICE file distributed with
> + * this work for additional information regarding copyright ownership.
> + * The ASF licenses this file to You 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.apache.tomee.embedded;
> +
> +import java.io.File;
> +import java.util.Set;
> +
> +import org.apache.commons.cli.CommandLine;
> +import org.apache.commons.cli.CommandLineParser;
> +import org.apache.commons.cli.HelpFormatter;
> +import org.apache.commons.cli.Options;
> +import org.apache.commons.cli.ParseException;
> +import org.apache.commons.cli.PosixParser;
> +import org.apache.openejb.loader.ProvisioningUtil;
> +
> +import static org.apache.openejb.loader.JarLocation.jarLocation;
> +
> +public class Main {
> +    public static final String PORT = "port";
> +    public static final String SHUTDOWN = "shutdown";
> +    public static final String PATH = "path";
> +    public static final String CONTEXT = "context";
> +    public static final String DIRECTORY = "directory";
> +    public static final String DOC_BASE = "doc-base";
> +    public static final String AS_WAR = "as-war";
> +
> +    public static void main(final String[] args) {
> +        final CommandLineParser parser = new PosixParser();
> +        final Options options = createOptions();
> +
> +        // parse command line
> +        final CommandLine line;
> +        try {
> +            line = parser.parse(options, args, true);
> +        } catch (final ParseException exp) {
> +            new HelpFormatter().printHelp("java -jar
> tomee-embedded-user.jar", options);
> +            return;
> +        }
> +
> +        // run TomEE
> +        try {
> +            final Container container = new
> Container(createConfiguration(line));
> +            final String[] contexts;
> +            if (line.hasOption(CONTEXT)) {
> +                contexts = line.getOptionValues(CONTEXT);
> +            } else {
> +                contexts = null;
> +            }
> +
> +            boolean autoWar = true;
> +            int i = 0;
> +            if (line.hasOption(PATH)) {
> +                for (final String path : line.getOptionValues(PATH)) {
> +                    final Set<String> locations =
> ProvisioningUtil.realLocation(path);
> +                    for (final String location : locations) {
> +                        final File file = new File(location);
> +                        if (!file.exists()) {
> +                            System.err.println(file.getAbsolutePath() + "
> does not exist, skipping");
> +                            continue;
> +                        }
> +
> +                        String name =
> file.getName().replaceAll("\\.[A-Za-z]+$", "");
> +                        if (contexts != null) {
> +                            name = contexts[i++];
> +                        }
> +                        container.deploy(name, file, true);
> +                    }
> +                }
> +                autoWar = false;
> +            }
> +            if (line.hasOption(AS_WAR)) {
> +                container.deployClasspathAsWebApp(contexts == null || i
> == contexts.length ? "" : contexts[i],
> +                        line.hasOption(DOC_BASE) ? new
> File(line.getOptionValue(DOC_BASE)) : null);
> +                autoWar = false;
> +            }
> +            if (autoWar) { // nothing deployed check if we are a war and
> deploy ourself then
> +                final File me = jarLocation(Main.class);
> +                if (me.getName().endsWith(".war")) {
> +                    container.deploy(contexts == null || i ==
> contexts.length ? "" : contexts[i], me);
> +                }
> +            }
> +
> +            Runtime.getRuntime().addShutdownHook(new Thread() {
> +                @Override
> +                public void run() {
> +                    try {
> +                        container.stop();
> +                    } catch (final Exception e) {
> +                        e.printStackTrace(); // just log the exception
> +                    }
> +                }
> +            });
> +            container.await();
> +        } catch (final Exception e) {
> +            e.printStackTrace();
> +        }
> +    }
> +
> +    private static Options createOptions() {
> +        final Options options = new Options();
> +        options.addOption(null, PATH, true, "");
> +        options.addOption(null, CONTEXT, true, "Context name for
> applications (same order than paths)");
> +        options.addOption("p", PORT, true, "TomEE http port");
> +        options.addOption("s", SHUTDOWN, true, "TomEE shutdown port");
> +        options.addOption("d", DIRECTORY, true, "TomEE directory");
> +        options.addOption("c", AS_WAR, false, "deploy classpath as war");
> +        options.addOption("b", DOC_BASE, true, "when deploy classpath as
> war, the doc base");
> +        return options;
> +    }
> +
> +    private static Configuration createConfiguration(final CommandLine
> args) {
> +        final Configuration config = new Configuration();
> +        config.setDir(System.getProperty("java.io.tmpdir"));
> +        config.setHttpPort(Integer.parseInt(args.getOptionValue(PORT,
> "8080")));
> +        config.setStopPort(Integer.parseInt(args.getOptionValue(SHUTDOWN,
> "8005")));
> +        config.setDir(args.getOptionValue(DIRECTORY, new File(new
> File("."), "apache-tomee").getAbsolutePath()));
> +        return config;
> +    }
> +
> +}
>
>
> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.policy
> ----------------------------------------------------------------------
> diff --git
> a/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.policy
> b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.policy
> index 1d8fcef..f5a4247 100644
> ---
> a/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.policy
> +++
> b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.policy
> @@ -1,241 +1,241 @@
> -// Licensed to the Apache Software Foundation (ASF) under one or more
> -// contributor license agreements.  See the NOTICE file distributed with
> -// this work for additional information regarding copyright ownership.
> -// The ASF licenses this file to You 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.
> -
> -//
> ============================================================================
> -// catalina.policy - Security Policy Permissions for Tomcat 7
> -//
> -// This file contains a default set of security policies to be enforced
> (by the
> -// JVM) when Catalina is executed with the "-security" option.  In
> addition
> -// to the permissions granted here, the following additional permissions
> are
> -// granted specific to each web application:
> -//
> -// * Read access to its document root directory
> -// * Read, write and delete access to its working directory
> -//
> -// $Id: catalina.policy 1079755 2011-03-09 11:38:38Z markt $
> -//
> ============================================================================
> -
> -
> -// ========== SYSTEM CODE PERMISSIONS
> =========================================
> -
> -
> -// These permissions apply to javac
> -grant codeBase "file:${java.home}/lib/-" {
> -        permission java.security.AllPermission;
> -};
> -
> -// These permissions apply to all shared system extensions
> -grant codeBase "file:${java.home}/jre/lib/ext/-" {
> -        permission java.security.AllPermission;
> -};
> -
> -// These permissions apply to javac when ${java.home] points at
> $JAVA_HOME/jre
> -grant codeBase "file:${java.home}/../lib/-" {
> -        permission java.security.AllPermission;
> -};
> -
> -// These permissions apply to all shared system extensions when
> -// ${java.home} points at $JAVA_HOME/jre
> -grant codeBase "file:${java.home}/lib/ext/-" {
> -        permission java.security.AllPermission;
> -};
> -
> -
> -// ========== CATALINA CODE PERMISSIONS
> =======================================
> -
> -
> -// These permissions apply to the daemon code
> -grant codeBase "file:${catalina.home}/bin/commons-daemon.jar" {
> -        permission java.security.AllPermission;
> -};
> -
> -// These permissions apply to the logging API
> -// Note: If tomcat-juli.jar is in ${catalina.base} and not in
> ${catalina.home},
> -// update this section accordingly.
> -//  grant codeBase "file:${catalina.base}/bin/tomcat-juli.jar" {..}
> -grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
> -        permission java.io.FilePermission
> -
>  "${java.home}${file.separator}lib${file.separator}logging.properties",
> "read";
> -
> -        permission java.io.FilePermission
> -
>  "${catalina.base}${file.separator}conf${file.separator}logging.properties",
> "read";
> -        permission java.io.FilePermission
> -         "${catalina.base}${file.separator}logs", "read, write";
> -        permission java.io.FilePermission
> -         "${catalina.base}${file.separator}logs${file.separator}*",
> "read, write";
> -
> -        permission java.lang.RuntimePermission "shutdownHooks";
> -        permission java.lang.RuntimePermission "getClassLoader";
> -        permission java.lang.RuntimePermission "setContextClassLoader";
> -
> -        permission java.util.logging.LoggingPermission "control";
> -
> -        permission java.util.PropertyPermission
> "java.util.logging.config.class", "read";
> -        permission java.util.PropertyPermission
> "java.util.logging.config.file", "read";
> -        permission java.util.PropertyPermission "catalina.base", "read";
> -
> -        // Note: To enable per context logging configuration, permit read
> access to
> -        // the appropriate file. Be sure that the logging configuration is
> -        // secure before enabling such access.
> -        // E.g. for the examples web application:
> -        // permission java.io.FilePermission
> "${catalina.base}${file.separator}
> -        //  webapps${file.separator}examples${file.separator}WEB-INF
> -        //  ${file.separator}classes${file.separator}logging.properties",
> "read";
> -};
> -
> -// These permissions apply to the server startup code
> -grant codeBase "file:${catalina.home}/bin/bootstrap.jar" {
> -        permission java.security.AllPermission;
> -};
> -
> -// These permissions apply to the servlet API classes
> -// and those that are shared across all class loaders
> -// located in the "lib" directory
> -grant codeBase "file:${catalina.home}/lib/-" {
> -        permission java.security.AllPermission;
> -};
> -
> -
> -// If using a per instance lib directory, i.e. ${catalina.base}/lib,
> -// then the following permission will need to be uncommented
> -// grant codeBase "file:${catalina.base}/lib/-" {
> -//         permission java.security.AllPermission;
> -// };
> -
> -
> -// ========== WEB APPLICATION PERMISSIONS
> =====================================
> -
> -
> -// These permissions are granted by default to all web applications
> -// In addition, a web application will be given a read FilePermission
> -// and JndiPermission for all files and directories in its document root.
> -grant {
> -    // Required for JNDI lookup of named JDBC DataSource's and
> -    // javamail named MimePart DataSource used to send mail
> -    permission java.util.PropertyPermission "java.home", "read";
> -    permission java.util.PropertyPermission "java.naming.*", "read";
> -    permission java.util.PropertyPermission "javax.sql.*", "read";
> -
> -    // OS Specific properties to allow read access
> -    permission java.util.PropertyPermission "os.name", "read";
> -    permission java.util.PropertyPermission "os.version", "read";
> -    permission java.util.PropertyPermission "os.arch", "read";
> -    permission java.util.PropertyPermission "file.separator", "read";
> -    permission java.util.PropertyPermission "path.separator", "read";
> -    permission java.util.PropertyPermission "line.separator", "read";
> -
> -    // JVM properties to allow read access
> -    permission java.util.PropertyPermission "java.version", "read";
> -    permission java.util.PropertyPermission "java.vendor", "read";
> -    permission java.util.PropertyPermission "java.vendor.url", "read";
> -    permission java.util.PropertyPermission "java.class.version", "read";
> -    permission java.util.PropertyPermission "java.specification.version",
> "read";
> -    permission java.util.PropertyPermission "java.specification.vendor",
> "read";
> -    permission java.util.PropertyPermission "java.specification.name",
> "read";
> -
> -    permission java.util.PropertyPermission
> "java.vm.specification.version", "read";
> -    permission java.util.PropertyPermission
> "java.vm.specification.vendor", "read";
> -    permission java.util.PropertyPermission "java.vm.specification.name",
> "read";
> -    permission java.util.PropertyPermission "java.vm.version", "read";
> -    permission java.util.PropertyPermission "java.vm.vendor", "read";
> -    permission java.util.PropertyPermission "java.vm.name", "read";
> -
> -    // Required for OpenJMX
> -    permission java.lang.RuntimePermission "getAttribute";
> -
> -    // Allow read of JAXP compliant XML parser debug
> -    permission java.util.PropertyPermission "jaxp.debug", "read";
> -
> -    // All JSPs need to be able to read this package
> -    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.tomcat";
> -
> -    // Precompiled JSPs need access to these packages.
> -    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.jasper.el";
> -    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.jasper.runtime";
> -    permission java.lang.RuntimePermission
> -     "accessClassInPackage.org.apache.jasper.runtime.*";
> -
> -    // Precompiled JSPs need access to these system properties.
> -    permission java.util.PropertyPermission
> -     "org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER", "read";
> -    permission java.util.PropertyPermission
> -     "org.apache.el.parser.COERCE_TO_ZERO", "read";
> -
> -    // The cookie code needs these.
> -    permission java.util.PropertyPermission
> -     "org.apache.catalina.STRICT_SERVLET_COMPLIANCE", "read";
> -    permission java.util.PropertyPermission
> -     "org.apache.tomcat.util.http.ServerCookie.STRICT_NAMING", "read";
> -    permission java.util.PropertyPermission
> -     "org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR",
> "read";
> -
> -    // Applications using Comet need to be able to access this package
> -    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.catalina.comet";
> -};
> -
> -
> -// The Manager application needs access to the following packages to
> support the
> -// session display functionality. These settings support the following
> -// configurations:
> -// - default CATALINA_HOME == CATALINA_BASE
> -// - CATALINA_HOME != CATALINA_BASE, per instance Manager in CATALINA_BASE
> -// - CATALINA_HOME != CATALINA_BASE, shared Manager in CATALINA_HOME
> -grant codeBase "file:${catalina.base}/webapps/manager/-" {
> -    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.catalina";
> -    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.catalina.ha.session";
> -    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.catalina.manager";
> -    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.catalina.manager.util";
> -    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.catalina.util";
> -};
> -grant codeBase "file:${catalina.home}/webapps/manager/-" {
> -    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.catalina";
> -    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.catalina.ha.session";
> -    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.catalina.manager";
> -    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.catalina.manager.util";
> -    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.catalina.util";
> -};
> -
> -// You can assign additional permissions to particular web applications by
> -// adding additional "grant" entries here, based on the code base for that
> -// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files.
> -//
> -// Different permissions can be granted to JSP pages, classes loaded from
> -// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/
> -// directory, or even to individual jar files in the /WEB-INF/lib/
> directory.
> -//
> -// For instance, assume that the standard "examples" application
> -// included a JDBC driver that needed to establish a network connection
> to the
> -// corresponding database and used the scrape taglib to get the weather
> from
> -// the NOAA web server.  You might create a "grant" entries like this:
> -//
> -// The permissions granted to the context root directory apply to JSP
> pages.
> -// grant codeBase "file:${catalina.base}/webapps/examples/-" {
> -//      permission java.net.SocketPermission "dbhost.mycompany.com:5432",
> "connect";
> -//      permission java.net.SocketPermission "*.noaa.gov:80", "connect";
> -// };
> -//
> -// The permissions granted to the context WEB-INF/classes directory
> -// grant codeBase
> "file:${catalina.base}/webapps/examples/WEB-INF/classes/-" {
> -// };
> -//
> -// The permission granted to your JDBC driver
> -// grant codeBase
> "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/driver.jar!/-" {
> -//      permission java.net.SocketPermission "dbhost.mycompany.com:5432",
> "connect";
> -// };
> -// The permission granted to the scrape taglib
> -// grant codeBase
> "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/scrape.jar!/-" {
> -//      permission java.net.SocketPermission "*.noaa.gov:80", "connect";
> -// };
> -
> +// Licensed to the Apache Software Foundation (ASF) under one or more
> +// contributor license agreements.  See the NOTICE file distributed with
> +// this work for additional information regarding copyright ownership.
> +// The ASF licenses this file to You 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.
> +
> +//
> ============================================================================
> +// catalina.policy - Security Policy Permissions for Tomcat 7
> +//
> +// This file contains a default set of security policies to be enforced
> (by the
> +// JVM) when Catalina is executed with the "-security" option.  In
> addition
> +// to the permissions granted here, the following additional permissions
> are
> +// granted specific to each web application:
> +//
> +// * Read access to its document root directory
> +// * Read, write and delete access to its working directory
> +//
> +// $Id: catalina.policy 1079755 2011-03-09 11:38:38Z markt $
> +//
> ============================================================================
> +
> +
> +// ========== SYSTEM CODE PERMISSIONS
> =========================================
> +
> +
> +// These permissions apply to javac
> +grant codeBase "file:${java.home}/lib/-" {
> +        permission java.security.AllPermission;
> +};
> +
> +// These permissions apply to all shared system extensions
> +grant codeBase "file:${java.home}/jre/lib/ext/-" {
> +        permission java.security.AllPermission;
> +};
> +
> +// These permissions apply to javac when ${java.home] points at
> $JAVA_HOME/jre
> +grant codeBase "file:${java.home}/../lib/-" {
> +        permission java.security.AllPermission;
> +};
> +
> +// These permissions apply to all shared system extensions when
> +// ${java.home} points at $JAVA_HOME/jre
> +grant codeBase "file:${java.home}/lib/ext/-" {
> +        permission java.security.AllPermission;
> +};
> +
> +
> +// ========== CATALINA CODE PERMISSIONS
> =======================================
> +
> +
> +// These permissions apply to the daemon code
> +grant codeBase "file:${catalina.home}/bin/commons-daemon.jar" {
> +        permission java.security.AllPermission;
> +};
> +
> +// These permissions apply to the logging API
> +// Note: If tomcat-juli.jar is in ${catalina.base} and not in
> ${catalina.home},
> +// update this section accordingly.
> +//  grant codeBase "file:${catalina.base}/bin/tomcat-juli.jar" {..}
> +grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
> +        permission java.io.FilePermission
> +
>  "${java.home}${file.separator}lib${file.separator}logging.properties",
> "read";
> +
> +        permission java.io.FilePermission
> +
>  "${catalina.base}${file.separator}conf${file.separator}logging.properties",
> "read";
> +        permission java.io.FilePermission
> +         "${catalina.base}${file.separator}logs", "read, write";
> +        permission java.io.FilePermission
> +         "${catalina.base}${file.separator}logs${file.separator}*",
> "read, write";
> +
> +        permission java.lang.RuntimePermission "shutdownHooks";
> +        permission java.lang.RuntimePermission "getClassLoader";
> +        permission java.lang.RuntimePermission "setContextClassLoader";
> +
> +        permission java.util.logging.LoggingPermission "control";
> +
> +        permission java.util.PropertyPermission
> "java.util.logging.config.class", "read";
> +        permission java.util.PropertyPermission
> "java.util.logging.config.file", "read";
> +        permission java.util.PropertyPermission "catalina.base", "read";
> +
> +        // Note: To enable per context logging configuration, permit read
> access to
> +        // the appropriate file. Be sure that the logging configuration is
> +        // secure before enabling such access.
> +        // E.g. for the examples web application:
> +        // permission java.io.FilePermission
> "${catalina.base}${file.separator}
> +        //  webapps${file.separator}examples${file.separator}WEB-INF
> +        //  ${file.separator}classes${file.separator}logging.properties",
> "read";
> +};
> +
> +// These permissions apply to the server startup code
> +grant codeBase "file:${catalina.home}/bin/bootstrap.jar" {
> +        permission java.security.AllPermission;
> +};
> +
> +// These permissions apply to the servlet API classes
> +// and those that are shared across all class loaders
> +// located in the "lib" directory
> +grant codeBase "file:${catalina.home}/lib/-" {
> +        permission java.security.AllPermission;
> +};
> +
> +
> +// If using a per instance lib directory, i.e. ${catalina.base}/lib,
> +// then the following permission will need to be uncommented
> +// grant codeBase "file:${catalina.base}/lib/-" {
> +//         permission java.security.AllPermission;
> +// };
> +
> +
> +// ========== WEB APPLICATION PERMISSIONS
> =====================================
> +
> +
> +// These permissions are granted by default to all web applications
> +// In addition, a web application will be given a read FilePermission
> +// and JndiPermission for all files and directories in its document root.
> +grant {
> +    // Required for JNDI lookup of named JDBC DataSource's and
> +    // javamail named MimePart DataSource used to send mail
> +    permission java.util.PropertyPermission "java.home", "read";
> +    permission java.util.PropertyPermission "java.naming.*", "read";
> +    permission java.util.PropertyPermission "javax.sql.*", "read";
> +
> +    // OS Specific properties to allow read access
> +    permission java.util.PropertyPermission "os.name", "read";
> +    permission java.util.PropertyPermission "os.version", "read";
> +    permission java.util.PropertyPermission "os.arch", "read";
> +    permission java.util.PropertyPermission "file.separator", "read";
> +    permission java.util.PropertyPermission "path.separator", "read";
> +    permission java.util.PropertyPermission "line.separator", "read";
> +
> +    // JVM properties to allow read access
> +    permission java.util.PropertyPermission "java.version", "read";
> +    permission java.util.PropertyPermission "java.vendor", "read";
> +    permission java.util.PropertyPermission "java.vendor.url", "read";
> +    permission java.util.PropertyPermission "java.class.version", "read";
> +    permission java.util.PropertyPermission "java.specification.version",
> "read";
> +    permission java.util.PropertyPermission "java.specification.vendor",
> "read";
> +    permission java.util.PropertyPermission "java.specification.name",
> "read";
> +
> +    permission java.util.PropertyPermission
> "java.vm.specification.version", "read";
> +    permission java.util.PropertyPermission
> "java.vm.specification.vendor", "read";
> +    permission java.util.PropertyPermission "java.vm.specification.name",
> "read";
> +    permission java.util.PropertyPermission "java.vm.version", "read";
> +    permission java.util.PropertyPermission "java.vm.vendor", "read";
> +    permission java.util.PropertyPermission "java.vm.name", "read";
> +
> +    // Required for OpenJMX
> +    permission java.lang.RuntimePermission "getAttribute";
> +
> +    // Allow read of JAXP compliant XML parser debug
> +    permission java.util.PropertyPermission "jaxp.debug", "read";
> +
> +    // All JSPs need to be able to read this package
> +    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.tomcat";
> +
> +    // Precompiled JSPs need access to these packages.
> +    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.jasper.el";
> +    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.jasper.runtime";
> +    permission java.lang.RuntimePermission
> +     "accessClassInPackage.org.apache.jasper.runtime.*";
> +
> +    // Precompiled JSPs need access to these system properties.
> +    permission java.util.PropertyPermission
> +     "org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER", "read";
> +    permission java.util.PropertyPermission
> +     "org.apache.el.parser.COERCE_TO_ZERO", "read";
> +
> +    // The cookie code needs these.
> +    permission java.util.PropertyPermission
> +     "org.apache.catalina.STRICT_SERVLET_COMPLIANCE", "read";
> +    permission java.util.PropertyPermission
> +     "org.apache.tomcat.util.http.ServerCookie.STRICT_NAMING", "read";
> +    permission java.util.PropertyPermission
> +     "org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR",
> "read";
> +
> +    // Applications using Comet need to be able to access this package
> +    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.catalina.comet";
> +};
> +
> +
> +// The Manager application needs access to the following packages to
> support the
> +// session display functionality. These settings support the following
> +// configurations:
> +// - default CATALINA_HOME == CATALINA_BASE
> +// - CATALINA_HOME != CATALINA_BASE, per instance Manager in CATALINA_BASE
> +// - CATALINA_HOME != CATALINA_BASE, shared Manager in CATALINA_HOME
> +grant codeBase "file:${catalina.base}/webapps/manager/-" {
> +    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.catalina";
> +    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.catalina.ha.session";
> +    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.catalina.manager";
> +    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.catalina.manager.util";
> +    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.catalina.util";
> +};
> +grant codeBase "file:${catalina.home}/webapps/manager/-" {
> +    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.catalina";
> +    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.catalina.ha.session";
> +    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.catalina.manager";
> +    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.catalina.manager.util";
> +    permission java.lang.RuntimePermission
> "accessClassInPackage.org.apache.catalina.util";
> +};
> +
> +// You can assign additional permissions to particular web applications by
> +// adding additional "grant" entries here, based on the code base for that
> +// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files.
> +//
> +// Different permissions can be granted to JSP pages, classes loaded from
> +// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/
> +// directory, or even to individual jar files in the /WEB-INF/lib/
> directory.
> +//
> +// For instance, assume that the standard "examples" application
> +// included a JDBC driver that needed to establish a network connection
> to the
> +// corresponding database and used the scrape taglib to get the weather
> from
> +// the NOAA web server.  You might create a "grant" entries like this:
> +//
> +// The permissions granted to the context root directory apply to JSP
> pages.
> +// grant codeBase "file:${catalina.base}/webapps/examples/-" {
> +//      permission java.net.SocketPermission "dbhost.mycompany.com:5432",
> "connect";
> +//      permission java.net.SocketPermission "*.noaa.gov:80", "connect";
> +// };
> +//
> +// The permissions granted to the context WEB-INF/classes directory
> +// grant codeBase
> "file:${catalina.base}/webapps/examples/WEB-INF/classes/-" {
> +// };
> +//
> +// The permission granted to your JDBC driver
> +// grant codeBase
> "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/driver.jar!/-" {
> +//      permission java.net.SocketPermission "dbhost.mycompany.com:5432",
> "connect";
> +// };
> +// The permission granted to the scrape taglib
> +// grant codeBase
> "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/scrape.jar!/-" {
> +//      permission java.net.SocketPermission "*.noaa.gov:80", "connect";
> +// };
> +
>
>
> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.properties
> ----------------------------------------------------------------------
> diff --git
> a/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.properties
> b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.properties
> index 5089043..ff86449 100644
> ---
> a/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.properties
> +++
> b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.properties
> @@ -1,122 +1,122 @@
> -# Licensed to the Apache Software Foundation (ASF) under one or more
> -# contributor license agreements.  See the NOTICE file distributed with
> -# this work for additional information regarding copyright ownership.
> -# The ASF licenses this file to You 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.
> -
> -#
> -# List of comma-separated packages that start with or equal this string
> -# will cause a security exception to be thrown when
> -# passed to checkPackageAccess unless the
> -# corresponding RuntimePermission ("accessClassInPackage."+package) has
> -# been granted.
>
> -package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.
> -#
> -# List of comma-separated packages that start with or equal this string
> -# will cause a security exception to be thrown when
> -# passed to checkPackageDefinition unless the
> -# corresponding RuntimePermission ("defineClassInPackage."+package) has
> -# been granted.
> -#
> -# by default, no packages are restricted for definition, and none of
> -# the class loaders supplied with the JDK call checkPackageDefinition.
> -#
>
> -package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.
> -
> -#
> -#
> -# List of comma-separated paths defining the contents of the "common"
> -# classloader. Prefixes should be used to define what is the repository
> type.
> -# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or
> absolute.
> -# If left as blank,the JVM system loader will be used as Catalina's
> "common"
> -# loader.
> -# Examples:
> -#     "foo": Add this folder as a class repository
> -#     "foo/*.jar": Add all the JARs of the specified folder as class
> -#                  repositories
> -#     "foo/bar.jar": Add bar.jar as a class repository
>
> -common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar
> -
> -#
> -# List of comma-separated paths defining the contents of the "server"
> -# classloader. Prefixes should be used to define what is the repository
> type.
> -# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or
> absolute.
> -# If left as blank, the "common" loader will be used as Catalina's
> "server"
> -# loader.
> -# Examples:
> -#     "foo": Add this folder as a class repository
> -#     "foo/*.jar": Add all the JARs of the specified folder as class
> -#                  repositories
> -#     "foo/bar.jar": Add bar.jar as a class repository
> -server.loader=
> -
> -#
> -# List of comma-separated paths defining the contents of the "shared"
> -# classloader. Prefixes should be used to define what is the repository
> type.
> -# Path may be relative to the CATALINA_BASE path or absolute. If left as
> blank,
> -# the "common" loader will be used as Catalina's "shared" loader.
> -# Examples:
> -#     "foo": Add this folder as a class repository
> -#     "foo/*.jar": Add all the JARs of the specified folder as class
> -#                  repositories
> -#     "foo/bar.jar": Add bar.jar as a class repository
> -# Please note that for single jars, e.g. bar.jar, you need the URL form
> -# starting with file:.
> -shared.loader=
> -
> -# List of JAR files that should not be scanned for configuration
> information
> -# such as web fragments, TLD files etc. It must be a comma separated list
> of
> -# JAR file names.
> -# The JARs listed below include:
> -# - Tomcat Bootstrap JARs
> -# - Tomcat API JARs
> -# - Catalina JARs
> -# - Jasper JARs
> -# - Tomcat JARs
> -# - Common non-Tomcat JARs
> -# - Sun JDK JARs
> -# - Apple JDK JARs
> -tomcat.util.scan.DefaultJarScanner.jarsToSkip=\
> -bootstrap.jar,commons-daemon.jar,tomcat-juli.jar,\
> -annotations-api.jar,el-api.jar,jsp-api.jar,servlet-api.jar,\
> -catalina.jar,catalina-ant.jar,catalina-ha.jar,catalina-tribes.jar,\
> -jasper.jar,jasper-el.jar,ecj-*.jar,\
> -tomcat-api.jar,tomcat-util.jar,tomcat-coyote.jar,tomcat-dbcp.jar,\
>
> -tomcat-i18n-en.jar,tomcat-i18n-es.jar,tomcat-i18n-fr.jar,tomcat-i18n-ja.jar,\
> -commons-beanutils*.jar,commons-collections*.jar,commons-dbcp*.jar,\
> -commons-digester*.jar,commons-fileupload*.jar,commons-logging*.jar,\
> -commons-pool*.jar,\
> -bcprov-*.jar,\
> -ant.jar,jmx.jar,jmx-tools.jar,\
> -xercesImpl.jar,xmlParserAPIs.jar,xml-apis.jar,\
>
> -dnsns.jar,ldapsec.jar,localedata.jar,sunjce_provider.jar,sunpkcs11.jar,tools.jar,\
> -apple_provider.jar,AppleScriptEngine.jar,CoreAudio.jar,dns_sd.jar,\
> -j3daudio.jar,j3dcore.jar,j3dutils.jar,jai_core.jar,jai_codec.jar,\
> -mlibwrapper_jai.jar,MRJToolkit.jar,vecmath.jar,\
> -hsqldb-*,openejb-core-*,xbean-*,derby*,mbean-annotation-*,\
>
> -javassit*,commons-*,swizzle-stream-*,serp-*,geronimo-javamail-*,geronimo-mail-*,\
>
> -openejb-jee-*,openejb-core-*,openejb-loader-*,openejb-api-*,openejb-derby*,\
> -openwebbeans-ejb-*,openwebbeans-impl-*,\
> -bval-*,\
>
> -tomee-loader-*,openejb-javaagent-*,openejb-ejbd-*,scannotation-*,openejb-server-*,\
> -openjpa-*,quartz-*,openejb-http-*,kahadb-*
> -
> -#
> -# String cache configuration.
> -tomcat.util.buf.StringCache.byte.enabled=true
> -#tomcat.util.buf.StringCache.char.enabled=true
> -#tomcat.util.buf.StringCache.trainThreshold=500000
> -#tomcat.util.buf.StringCache.cacheSize=5000
> -
> -http.port=${tomcatHttpPort}
> -shutdown.port=${tomcatShutdownPort}
> +# Licensed to the Apache Software Foundation (ASF) under one or more
> +# contributor license agreements.  See the NOTICE file distributed with
> +# this work for additional information regarding copyright ownership.
> +# The ASF licenses this file to You 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.
> +
> +#
> +# List of comma-separated packages that start with or equal this string
> +# will cause a security exception to be thrown when
> +# passed to checkPackageAccess unless the
> +# corresponding RuntimePermission ("accessClassInPackage."+package) has
> +# been granted.
>
> +package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.
> +#
> +# List of comma-separated packages that start with or equal this string
> +# will cause a security exception to be thrown when
> +# passed to checkPackageDefinition unless the
> +# corresponding RuntimePermission ("defineClassInPackage."+package) has
> +# been granted.
> +#
> +# by default, no packages are restricted for definition, and none of
> +# the class loaders supplied with the JDK call checkPackageDefinition.
> +#
>
> +package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.
> +
> +#
> +#
> +# List of comma-separated paths defining the contents of the "common"
> +# classloader. Prefixes should be used to define what is the repository
> type.
> +# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or
> absolute.
> +# If left as blank,the JVM system loader will be used as Catalina's
> "common"
> +# loader.
> +# Examples:
> +#     "foo": Add this folder as a class repository
> +#     "foo/*.jar": Add all the JARs of the specified folder as class
> +#                  repositories
> +#     "foo/bar.jar": Add bar.jar as a class repository
>
> +common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar
> +
> +#
> +# List of comma-separated paths defining the contents of the "server"
> +# classloader. Prefixes should be used to define what is the repository
> type.
> +# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or
> absolute.
> +# If left as blank, the "common" loader will be used as Catalina's
> "server"
> +# loader.
> +# Examples:
> +#     "foo": Add this folder as a class repository
> +#     "foo/*.jar": Add all the JARs of the specified folder as class
> +#                  repositories
> +#     "foo/bar.jar": Add bar.jar as a class repository
> +server.loader=
> +
> +#
> +# List of comma-separated paths defining the contents of the "shared"
> +# classloader. Prefixes should be used to define what is the repository
> type.
> +# Path may be relative to the CATALINA_BASE path or absolute. If left as
> blank,
> +# the "common" loader will be used as Catalina's "shared" loader.
> +# Examples:
> +#     "foo": Add this folder as a class repository
> +#     "foo/*.jar": Add all the JARs of the specified folder as class
> +#                  repositories
> +#     "foo/bar.jar": Add bar.jar as a class repository
> +# Please note that for single jars, e.g. bar.jar, you need the URL form
> +# starting with file:.
> +shared.loader=
> +
> +# List of JAR files that should not be scanned for configuration
> information
> +# such as web fragments, TLD files etc. It must be a comma separated list
> of
> +# JAR file names.
> +# The JARs listed below include:
> +# - Tomcat Bootstrap JARs
> +# - Tomcat API JARs
> +# - Catalina JARs
> +# - Jasper JARs
> +# - Tomcat JARs
> +# - Common non-Tomcat JARs
> +# - Sun JDK JARs
> +# - Apple JDK JARs
> +tomcat.util.scan.DefaultJarScanner.jarsToSkip=\
> +bootstrap.jar,commons-daemon.jar,tomcat-juli.jar,\
> +annotations-api.jar,el-api.jar,jsp-api.jar,servlet-api.jar,\
> +catalina.jar,catalina-ant.jar,catalina-ha.jar,catalina-tribes.jar,\
> +jasper.jar,jasper-el.jar,ecj-*.jar,\
> +tomcat-api.jar,tomcat-util.jar,tomcat-coyote.jar,tomcat-dbcp.jar,\
>
> +tomcat-i18n-en.jar,tomcat-i18n-es.jar,tomcat-i18n-fr.jar,tomcat-i18n-ja.jar,\
> +commons-beanutils*.jar,commons-collections*.jar,commons-dbcp*.jar,\
> +commons-digester*.jar,commons-fileupload*.jar,commons-logging*.jar,\
> +commons-pool*.jar,\
> +bcprov-*.jar,\
> +ant.jar,jmx.jar,jmx-tools.jar,\
> +xercesImpl.jar,xmlParserAPIs.jar,xml-apis.jar,\
>
> +dnsns.jar,ldapsec.jar,localedata.jar,sunjce_provider.jar,sunpkcs11.jar,tools.jar,\
> +apple_provider.jar,AppleScriptEngine.jar,CoreAudio.jar,dns_sd.jar,\
> +j3daudio.jar,j3dcore.jar,j3dutils.jar,jai_core.jar,jai_codec.jar,\
> +mlibwrapper_jai.jar,MRJToolkit.jar,vecmath.jar,\
> +hsqldb-*,openejb-core-*,xbean-*,derby*,mbean-annotation-*,\
>
> +javassit*,commons-*,swizzle-stream-*,serp-*,geronimo-javamail-*,geronimo-mail-*,\
>
> +openejb-jee-*,openejb-core-*,openejb-loader-*,openejb-api-*,openejb-derby*,\
> +openwebbeans-ejb-*,openwebbeans-impl-*,\
> +bval-*,\
>
> +tomee-loader-*,openejb-javaagent-*,openejb-ejbd-*,scannotation-*,openejb-server-*,\
> +openjpa-*,quartz-*,openejb-http-*,kahadb-*
> +
> +#
> +# String cache configuration.
> +tomcat.util.buf.StringCache.byte.enabled=true
> +#tomcat.util.buf.StringCache.char.enabled=true
> +#tomcat.util.buf.StringCache.trainThreshold=500000
> +#tomcat.util.buf.StringCache.cacheSize=5000
> +
> +http.port=${tomcatHttpPort}
> +shutdown.port=${tomcatShutdownPort}
>  shutdown.command=${tomcatShutdownCommand}
> \ No newline at end of file
>
>
> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ABean.java
> ----------------------------------------------------------------------
> diff --git
> a/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ABean.java
> b/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ABean.java
> index abbc097..8f828b9 100644
> ---
> a/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ABean.java
> +++
> b/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ABean.java
> @@ -1,26 +1,26 @@
> -/**
> - * Licensed to the Apache Software Foundation (ASF) under one or more
> - * contributor license agreements.  See the NOTICE file distributed with
> - * this work for additional information regarding copyright ownership.
> - * The ASF licenses this file to You 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.apache.tomee.embedded;
> -
> -import javax.ejb.Singleton;
> -
> -@Singleton
> -public class ABean {
> -    public String embedded() {
> -        return "ok";
> -    }
> -}
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or more
> + * contributor license agreements.  See the NOTICE file distributed with
> + * this work for additional information regarding copyright ownership.
> + * The ASF licenses this file to You 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.apache.tomee.embedded;
> +
> +import javax.ejb.Singleton;
> +
> +@Singleton
> +public class ABean {
> +    public String embedded() {
> +        return "ok";
> +    }
> +}
>
>
> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-embedded/src/test/resources/META-INF/beans.xml
> ----------------------------------------------------------------------
> diff --git a/tomee/tomee-embedded/src/test/resources/META-INF/beans.xml
> b/tomee/tomee-embedded/src/test/resources/META-INF/beans.xml
> index e0d7a63..b1514dd 100644
> --- a/tomee/tomee-embedded/src/test/resources/META-INF/beans.xml
> +++ b/tomee/tomee-embedded/src/test/resources/META-INF/beans.xml
> @@ -1,19 +1,19 @@
> -<?xml version="1.0" encoding="UTF-8"?>
> -<!--
> -
> -    Licensed to the Apache Software Foundation (ASF) under one or more
> -    contributor license agreements.  See the NOTICE file distributed with
> -    this work for additional information regarding copyright ownership.
> -    The ASF licenses this file to You 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.
> --->
> -<beans />
> +<?xml version="1.0" encoding="UTF-8"?>
> +<!--
> +
> +    Licensed to the Apache Software Foundation (ASF) under one or more
> +    contributor license agreements.  See the NOTICE file distributed with
> +    this work for additional information regarding copyright ownership.
> +    The ASF licenses this file to You 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.
> +-->
> +<beans />
>
>

Re: [2/3] tomee git commit: EOL commit

Posted by Andy <an...@gmx.de>.
This is a serious problem that GitHub seems to try and resolve via this 
document:

https://help.github.com/articles/dealing-with-line-endings/

There is a slight difference per OS. Have a read,and see how to resolve 
it for your OS.

I have followed this document to the letter. Sometimes deleting local 
and checking out afresh will help.

It is apparent that we have a mixture of line endings in the repo, so 
often whole files are changed without apparent reason, but this is going 
to continue for a while it seems.

Andy.

On 19/11/2015 02:55, Romain Manni-Bucau wrote:
> got the same, no idea why - I am configured for unix eol. Just wanted
> to push a commit without logic change before pushing actual logic.
> Andy started a thread on infra about that, not yet sure the outcome to
> be honest.
>
> Romain Manni-Bucau
> @rmannibucau |  Blog | Github | LinkedIn | Tomitriber
>
>
> 2015-11-18 17:30 GMT-08:00 Daniel Cunha <da...@gmail.com>:
>> I've the same problem here.
>>
>> On Wed, Nov 18, 2015 at 10:21 PM, Thiago Veronezi <th...@veronezi.org>
>> wrote:
>>
>>> Hey Romain,
>>>
>>> What is this commit about? Removing windows line endings?
>>> Now when I pull the source code, my local git says I have changed files
>>> that I never touched. Am I missing a config locally?
>>>
>>> []s,
>>>

-- 
   Andy Gumbrecht
   https://twitter.com/AndyGeeDe


Re: [2/3] tomee git commit: EOL commit

Posted by Romain Manni-Bucau <rm...@gmail.com>.
got the same, no idea why - I am configured for unix eol. Just wanted
to push a commit without logic change before pushing actual logic.
Andy started a thread on infra about that, not yet sure the outcome to
be honest.

Romain Manni-Bucau
@rmannibucau |  Blog | Github | LinkedIn | Tomitriber


2015-11-18 17:30 GMT-08:00 Daniel Cunha <da...@gmail.com>:
> I've the same problem here.
>
> On Wed, Nov 18, 2015 at 10:21 PM, Thiago Veronezi <th...@veronezi.org>
> wrote:
>
>> Hey Romain,
>>
>> What is this commit about? Removing windows line endings?
>> Now when I pull the source code, my local git says I have changed files
>> that I never touched. Am I missing a config locally?
>>
>> []s,
>> Thiago
>>
>> On Wed, Nov 18, 2015 at 3:18 PM, <rm...@apache.org> wrote:
>>
>> >
>> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/build.xml
>> > ----------------------------------------------------------------------
>> > diff --git a/tomee/build.xml b/tomee/build.xml
>> > index eff1327..c660e7c 100644
>> > --- a/tomee/build.xml
>> > +++ b/tomee/build.xml
>> > @@ -1,46 +1,46 @@
>> > -<?xml version="1.0" encoding="UTF-8"?>
>> > -<!--
>> > -
>> > -    Licensed to the Apache Software Foundation (ASF) under one or more
>> > -    contributor license agreements.  See the NOTICE file distributed
>> with
>> > -    this work for additional information regarding copyright ownership.
>> > -    The ASF licenses this file to You 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.
>> > --->
>> > -<project name="dev-helper" default="web">
>> > -
>> > -    <target name="web">
>> > -        <copy verbose="true"
>> >
>> todir="apache-tomee/target/apache-tomee-webprofile-7.0.0-SNAPSHOT/webapps/tomee">
>> > -            <fileset dir="tomee-webapp/src/main/webapp"
>> > includes="**/*.js"/>
>> > -            <fileset dir="tomee-webapp/src/main/webapp"
>> > includes="**/*.css"/>
>> > -            <fileset dir="tomee-webapp/src/main/webapp"
>> > includes="**/*.html"/>
>> > -        </copy>
>> > -    </target>
>> > -
>> > -    <target name="rs">
>> > -        <copy verbose="true"
>> >
>> todir="apache-tomee/target/apache-tomee-jaxrs-7.0.0-SNAPSHOT/webapps/tomee">
>> > -            <fileset dir="tomee-webapp/src/main/webapp"
>> > includes="**/*.js"/>
>> > -            <fileset dir="tomee-webapp/src/main/webapp"
>> > includes="**/*.css"/>
>> > -            <fileset dir="tomee-webapp/src/main/webapp"
>> > includes="**/*.html"/>
>> > -        </copy>
>> > -    </target>
>> > -
>> > -    <target name="plus">
>> > -        <copy verbose="true"
>> >
>> todir="apache-tomee/target/apache-tomee-plus-7.0.0-SNAPSHOT/webapps/tomee">
>> > -            <fileset dir="tomee-webapp/src/main/webapp"
>> > includes="**/*.js"/>
>> > -            <fileset dir="tomee-webapp/src/main/webapp"
>> > includes="**/*.css"/>
>> > -            <fileset dir="tomee-webapp/src/main/webapp"
>> > includes="**/*.html"/>
>> > -        </copy>
>> > -    </target>
>> > -
>> > -</project>
>> > -
>> > +<?xml version="1.0" encoding="UTF-8"?>
>> > +<!--
>> > +
>> > +    Licensed to the Apache Software Foundation (ASF) under one or more
>> > +    contributor license agreements.  See the NOTICE file distributed
>> with
>> > +    this work for additional information regarding copyright ownership.
>> > +    The ASF licenses this file to You 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.
>> > +-->
>> > +<project name="dev-helper" default="web">
>> > +
>> > +    <target name="web">
>> > +        <copy verbose="true"
>> >
>> todir="apache-tomee/target/apache-tomee-webprofile-7.0.0-SNAPSHOT/webapps/tomee">
>> > +            <fileset dir="tomee-webapp/src/main/webapp"
>> > includes="**/*.js"/>
>> > +            <fileset dir="tomee-webapp/src/main/webapp"
>> > includes="**/*.css"/>
>> > +            <fileset dir="tomee-webapp/src/main/webapp"
>> > includes="**/*.html"/>
>> > +        </copy>
>> > +    </target>
>> > +
>> > +    <target name="rs">
>> > +        <copy verbose="true"
>> >
>> todir="apache-tomee/target/apache-tomee-jaxrs-7.0.0-SNAPSHOT/webapps/tomee">
>> > +            <fileset dir="tomee-webapp/src/main/webapp"
>> > includes="**/*.js"/>
>> > +            <fileset dir="tomee-webapp/src/main/webapp"
>> > includes="**/*.css"/>
>> > +            <fileset dir="tomee-webapp/src/main/webapp"
>> > includes="**/*.html"/>
>> > +        </copy>
>> > +    </target>
>> > +
>> > +    <target name="plus">
>> > +        <copy verbose="true"
>> >
>> todir="apache-tomee/target/apache-tomee-plus-7.0.0-SNAPSHOT/webapps/tomee">
>> > +            <fileset dir="tomee-webapp/src/main/webapp"
>> > includes="**/*.js"/>
>> > +            <fileset dir="tomee-webapp/src/main/webapp"
>> > includes="**/*.css"/>
>> > +            <fileset dir="tomee-webapp/src/main/webapp"
>> > includes="**/*.html"/>
>> > +        </copy>
>> > +    </target>
>> > +
>> > +</project>
>> > +
>> >
>> >
>> >
>> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java
>> > ----------------------------------------------------------------------
>> > diff --git
>> >
>> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java
>> >
>> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java
>> > index 2ca6ac6..2208d91 100644
>> > ---
>> >
>> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java
>> > +++
>> >
>> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java
>> > @@ -1,165 +1,165 @@
>> > -/*
>> > - * Licensed to the Apache Software Foundation (ASF) under one or more
>> > - * contributor license agreements.  See the NOTICE file distributed with
>> > - * this work for additional information regarding copyright ownership.
>> > - * The ASF licenses this file to You 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.apache.tomee.catalina;
>> > -
>> > -import org.apache.catalina.Container;
>> > -import org.apache.catalina.Context;
>> > -import org.apache.catalina.Globals;
>> > -import org.apache.catalina.Host;
>> > -import org.apache.catalina.core.StandardContext;
>> > -import org.apache.catalina.core.StandardEngine;
>> > -import org.apache.catalina.core.StandardHost;
>> > -import org.apache.catalina.util.ContextName;
>> > -
>> > -import java.io.File;
>> > -import java.io.IOException;
>> > -
>> > -public class Contexts {
>> > -    public static String getHostname(final StandardContext ctx) {
>> > -        String hostName = null;
>> > -        final Container parentHost = ctx.getParent();
>> > -        if (parentHost != null) {
>> > -            hostName = parentHost.getName();
>> > -        }
>> > -        if ((hostName == null) || (hostName.length() < 1)) {
>> > -            hostName = "_";
>> > -        }
>> > -        return hostName;
>> > -    }
>> > -
>> > -    public static File warPath(final Context standardContext) {
>> > -        final File file = realWarPath(standardContext);
>> > -        if (file == null) {
>> > -            return null;
>> > -        }
>> > -
>> > -        final String name = file.getName();
>> > -        if (!file.isDirectory() && name.endsWith(".war")) {
>> > -            final File extracted = new File(file.getParentFile(),
>> > name.substring(0, name.length() - ".war".length()));
>> > -            if (extracted.exists()) {
>> > -                try {
>> > -                    return extracted.getCanonicalFile();
>> > -                } catch (final IOException e) {
>> > -                    return extracted;
>> > -                }
>> > -            }
>> > -        }
>> > -        try {
>> > -            return file.getCanonicalFile();
>> > -        } catch (final IOException e) {
>> > -            return file;
>> > -        }
>> > -    }
>> > -
>> > -    public static File realWarPath(final Context standardContext) {
>> > -        if (standardContext == null) {
>> > -            return null;
>> > -        }
>> > -
>> > -        final File docBase;
>> > -        Container container = standardContext;
>> > -        while (container != null) {
>> > -            if (container instanceof Host) {
>> > -                break;
>> > -            }
>> > -            container = container.getParent();
>> > -        }
>> > -
>> > -        String baseName = null;
>> > -        if (standardContext.getDocBase() != null) {
>> > -            File file = new File(standardContext.getDocBase());
>> > -            if (!file.isAbsolute()) {
>> > -                if (container == null) {
>> > -                    docBase = new File(engineBase(standardContext),
>> > standardContext.getDocBase());
>> > -                } else {
>> > -                    final String appBase = ((Host)
>> > container).getAppBase();
>> > -                    file = new File(appBase);
>> > -                    if (!file.isAbsolute()) {
>> > -                        file = new File(engineBase(standardContext),
>> > appBase);
>> > -                    }
>> > -                    docBase = new File(file,
>> > standardContext.getDocBase());
>> > -                }
>> > -            } else {
>> > -                docBase = file;
>> > -            }
>> > -        } else {
>> > -            final String path = standardContext.getPath();
>> > -            if (path == null) {
>> > -                throw new IllegalStateException("Can't find docBase");
>> > -            } else {
>> > -                baseName = new ContextName(path,
>> > standardContext.getWebappVersion()).getBaseName();
>> > -                docBase = new File(baseName);
>> > -            }
>> > -        }
>> > -
>> > -        if (!docBase.exists() && baseName != null) { // for old
>> > compatibility, will be removed soon
>> > -            if (Host.class.isInstance(container)) {
>> > -                final File file = new
>> > File(Host.class.cast(container).getAppBaseFile(), baseName);
>> > -                if (file.exists()) {
>> > -                    return file;
>> > -                }
>> > -            }
>> > -            return oldRealWarPath(standardContext);
>> > -        }
>> > -
>> > -        final String name = docBase.getName();
>> > -        if (name.endsWith(".war")) {
>> > -            final File extracted = new File(docBase.getParentFile(),
>> > name.substring(0, name.length() - ".war".length()));
>> > -            if (extracted.exists()) {
>> > -                return extracted;
>> > -            }
>> > -        }
>> > -
>> > -        return docBase;
>> > -    }
>> > -
>> > -    private static File engineBase(final Context standardContext) {
>> > -        final String base =
>> > System.getProperty(Globals.CATALINA_BASE_PROP);
>> > -        if( base == null ) {
>> > -            final StandardEngine eng = (StandardEngine)
>> > standardContext.getParent().getParent();
>> > -            return eng.getCatalinaBase();
>> > -        }
>> > -        return new File(base);
>> > -    }
>> > -
>> > -    @Deprecated
>> > -    private static File oldRealWarPath(final Context standardContext) {
>> > -        String doc = standardContext.getDocBase();
>> > -        // handle ROOT case
>> > -        if (doc == null || doc.length() == 0) {
>> > -            doc = "ROOT";
>> > -        }
>> > -
>> > -        File war = new File(doc);
>> > -        if (war.exists()) {
>> > -            return war;
>> > -        }
>> > -
>> > -        final StandardHost host = (StandardHost)
>> > standardContext.getParent();
>> > -        final String base = host.getAppBase();
>> > -        war = new File(base, doc);
>> > -        if (war.exists()) {
>> > -            return war;
>> > -        }
>> > -
>> > -        war = new File(new File(System.getProperty("catalina.home"),
>> > base), doc);
>> > -        if (war.exists()) {
>> > -            return war;
>> > -        }
>> > -        return new File(new File(System.getProperty("catalina.base"),
>> > base), doc); // shouldn't occur
>> > -    }
>> > -}
>> > +/*
>> > + * Licensed to the Apache Software Foundation (ASF) under one or more
>> > + * contributor license agreements.  See the NOTICE file distributed with
>> > + * this work for additional information regarding copyright ownership.
>> > + * The ASF licenses this file to You 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.apache.tomee.catalina;
>> > +
>> > +import org.apache.catalina.Container;
>> > +import org.apache.catalina.Context;
>> > +import org.apache.catalina.Globals;
>> > +import org.apache.catalina.Host;
>> > +import org.apache.catalina.core.StandardContext;
>> > +import org.apache.catalina.core.StandardEngine;
>> > +import org.apache.catalina.core.StandardHost;
>> > +import org.apache.catalina.util.ContextName;
>> > +
>> > +import java.io.File;
>> > +import java.io.IOException;
>> > +
>> > +public class Contexts {
>> > +    public static String getHostname(final StandardContext ctx) {
>> > +        String hostName = null;
>> > +        final Container parentHost = ctx.getParent();
>> > +        if (parentHost != null) {
>> > +            hostName = parentHost.getName();
>> > +        }
>> > +        if ((hostName == null) || (hostName.length() < 1)) {
>> > +            hostName = "_";
>> > +        }
>> > +        return hostName;
>> > +    }
>> > +
>> > +    public static File warPath(final Context standardContext) {
>> > +        final File file = realWarPath(standardContext);
>> > +        if (file == null) {
>> > +            return null;
>> > +        }
>> > +
>> > +        final String name = file.getName();
>> > +        if (!file.isDirectory() && name.endsWith(".war")) {
>> > +            final File extracted = new File(file.getParentFile(),
>> > name.substring(0, name.length() - ".war".length()));
>> > +            if (extracted.exists()) {
>> > +                try {
>> > +                    return extracted.getCanonicalFile();
>> > +                } catch (final IOException e) {
>> > +                    return extracted;
>> > +                }
>> > +            }
>> > +        }
>> > +        try {
>> > +            return file.getCanonicalFile();
>> > +        } catch (final IOException e) {
>> > +            return file;
>> > +        }
>> > +    }
>> > +
>> > +    public static File realWarPath(final Context standardContext) {
>> > +        if (standardContext == null) {
>> > +            return null;
>> > +        }
>> > +
>> > +        final File docBase;
>> > +        Container container = standardContext;
>> > +        while (container != null) {
>> > +            if (container instanceof Host) {
>> > +                break;
>> > +            }
>> > +            container = container.getParent();
>> > +        }
>> > +
>> > +        String baseName = null;
>> > +        if (standardContext.getDocBase() != null) {
>> > +            File file = new File(standardContext.getDocBase());
>> > +            if (!file.isAbsolute()) {
>> > +                if (container == null) {
>> > +                    docBase = new File(engineBase(standardContext),
>> > standardContext.getDocBase());
>> > +                } else {
>> > +                    final String appBase = ((Host)
>> > container).getAppBase();
>> > +                    file = new File(appBase);
>> > +                    if (!file.isAbsolute()) {
>> > +                        file = new File(engineBase(standardContext),
>> > appBase);
>> > +                    }
>> > +                    docBase = new File(file,
>> > standardContext.getDocBase());
>> > +                }
>> > +            } else {
>> > +                docBase = file;
>> > +            }
>> > +        } else {
>> > +            final String path = standardContext.getPath();
>> > +            if (path == null) {
>> > +                throw new IllegalStateException("Can't find docBase");
>> > +            } else {
>> > +                baseName = new ContextName(path,
>> > standardContext.getWebappVersion()).getBaseName();
>> > +                docBase = new File(baseName);
>> > +            }
>> > +        }
>> > +
>> > +        if (!docBase.exists() && baseName != null) { // for old
>> > compatibility, will be removed soon
>> > +            if (Host.class.isInstance(container)) {
>> > +                final File file = new
>> > File(Host.class.cast(container).getAppBaseFile(), baseName);
>> > +                if (file.exists()) {
>> > +                    return file;
>> > +                }
>> > +            }
>> > +            return oldRealWarPath(standardContext);
>> > +        }
>> > +
>> > +        final String name = docBase.getName();
>> > +        if (name.endsWith(".war")) {
>> > +            final File extracted = new File(docBase.getParentFile(),
>> > name.substring(0, name.length() - ".war".length()));
>> > +            if (extracted.exists()) {
>> > +                return extracted;
>> > +            }
>> > +        }
>> > +
>> > +        return docBase;
>> > +    }
>> > +
>> > +    private static File engineBase(final Context standardContext) {
>> > +        final String base =
>> > System.getProperty(Globals.CATALINA_BASE_PROP);
>> > +        if( base == null ) {
>> > +            final StandardEngine eng = (StandardEngine)
>> > standardContext.getParent().getParent();
>> > +            return eng.getCatalinaBase();
>> > +        }
>> > +        return new File(base);
>> > +    }
>> > +
>> > +    @Deprecated
>> > +    private static File oldRealWarPath(final Context standardContext) {
>> > +        String doc = standardContext.getDocBase();
>> > +        // handle ROOT case
>> > +        if (doc == null || doc.length() == 0) {
>> > +            doc = "ROOT";
>> > +        }
>> > +
>> > +        File war = new File(doc);
>> > +        if (war.exists()) {
>> > +            return war;
>> > +        }
>> > +
>> > +        final StandardHost host = (StandardHost)
>> > standardContext.getParent();
>> > +        final String base = host.getAppBase();
>> > +        war = new File(base, doc);
>> > +        if (war.exists()) {
>> > +            return war;
>> > +        }
>> > +
>> > +        war = new File(new File(System.getProperty("catalina.home"),
>> > base), doc);
>> > +        if (war.exists()) {
>> > +            return war;
>> > +        }
>> > +        return new File(new File(System.getProperty("catalina.base"),
>> > base), doc); // shouldn't occur
>> > +    }
>> > +}
>> >
>> >
>> >
>> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
>> > ----------------------------------------------------------------------
>> > diff --git
>> >
>> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
>> >
>> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
>> > index eee2d2a..2308db0 100644
>> > ---
>> >
>> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
>> > +++
>> >
>> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
>> > @@ -1,121 +1,121 @@
>> > -/*
>> > - * Licensed to the Apache Software Foundation (ASF) under one or more
>> > - * contributor license agreements.  See the NOTICE file distributed with
>> > - * this work for additional information regarding copyright ownership.
>> > - * The ASF licenses this file to You 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.apache.tomee.catalina;
>> > -
>> > -import org.apache.catalina.Context;
>> > -import org.apache.catalina.LifecycleException;
>> > -import org.apache.catalina.loader.WebappLoader;
>> > -import org.apache.openejb.ClassLoaderUtil;
>> > -import org.apache.openejb.classloader.ClassLoaderConfigurer;
>> > -import org.apache.openejb.classloader.CompositeClassLoaderConfigurer;
>> > -import org.apache.openejb.config.QuickJarsTxtParser;
>> > -import org.apache.openejb.loader.SystemInstance;
>> > -
>> > -import java.io.File;
>> > -
>> > -/**
>> > - * Usage example in META-INF/context.xml
>> > - * <p/>
>> > - * <p/>
>> > - * <Context antiJARLocking="true" >
>> > - * <Loader
>> > - * className="org.apache.tomee.catalina.ProvisioningWebappLoader"
>> > - * searchExternalFirst="true"
>> > - *
>> >
>> virtualClasspath="mvn:commons-el:commons-el:1.0;mvn:commons-el:commons-el:1.0"
>> > - * searchVirtualFirst="true"
>> > - * />
>> > - * </Context>
>> > - */
>> > -public class TomEEWebappLoader extends WebappLoader {
>> > -    public static final boolean SKIP_BACKGROUND_PROCESS =
>> >
>> "true".equals(SystemInstance.get().getProperty("tomee.classloader.skip-background-process",
>> > "false"));
>> > -
>> > -    private volatile ClassLoader loader;
>> > -
>> > -    @Override
>> > -    public void backgroundProcess() {
>> > -        if (SKIP_BACKGROUND_PROCESS) {
>> > -            return;
>> > -        }
>> > -
>> > -        final ClassLoader classloader = super.getClassLoader();
>> > -        if (classloader instanceof TomEEWebappClassLoader) {
>> > -            final TomEEWebappClassLoader tomEEWebappClassLoader =
>> > (TomEEWebappClassLoader) classloader;
>> > -            tomEEWebappClassLoader.restarting();
>> > -            try {
>> > -                super.backgroundProcess();
>> > -            } finally {
>> > -                tomEEWebappClassLoader.restarted();
>> > -            }
>> > -        } else {
>> > -            super.backgroundProcess();
>> > -        }
>> > -    }
>> > -
>> > -    @Override
>> > -    public boolean modified() {
>> > -        return !SKIP_BACKGROUND_PROCESS && super.modified();
>> > -    }
>> > -
>> > -    @Override
>> > -    protected void stopInternal() throws LifecycleException {
>> > -        loader = getClassLoader();
>> > -        super.stopInternal();
>> > -    }
>> > -
>> > -    public void clearLoader() {
>> > -        loader = null;
>> > -    }
>> > -
>> > -    public ClassLoader internalLoader() {
>> > -        return loader;
>> > -    }
>> > -
>> > -    @Override
>> > -    protected void startInternal() throws LifecycleException {
>> > -        if (getClassLoader() != null) {
>> > -            final TomEEWebappClassLoader webappClassLoader =
>> > TomEEWebappClassLoader.class.cast(getClassLoader());
>> > -            if (webappClassLoader.isStopped()) {
>> > -                webappClassLoader.internalStop();
>> > -            }
>> > -        }
>> > -
>> > -        final Context context = getContext();
>> > -
>> > -        ClassLoaderConfigurer configurer =
>> > ClassLoaderUtil.configurer(context.getName());
>> > -
>> > -        // WEB-INF/jars.xml
>> > -        final File war = Contexts.warPath(Context.class.cast(context));
>> > -        final File jarsXml = new File(war, "WEB-INF/" +
>> > QuickJarsTxtParser.FILE_NAME);
>> > -        final ClassLoaderConfigurer configurerTxt =
>> > QuickJarsTxtParser.parse(jarsXml);
>> > -        if (configurerTxt != null) {
>> > -            configurer = new CompositeClassLoaderConfigurer(configurer,
>> > configurerTxt);
>> > -        }
>> > -
>> > -        TomEEWebappClassLoader.initContext(configurer);
>> > -        TomEEWebappClassLoader.initContext(context);
>> > -        try {
>> > -            super.startInternal();
>> > -        } finally {
>> > -            TomEEWebappClassLoader.cleanContext();
>> > -        }
>> > -    }
>> > -
>> > -    @Override
>> > -    public String toString() {
>> > -        return "TomEE" + super.toString();
>> > -    }
>> > -}
>> > +/*
>> > + * Licensed to the Apache Software Foundation (ASF) under one or more
>> > + * contributor license agreements.  See the NOTICE file distributed with
>> > + * this work for additional information regarding copyright ownership.
>> > + * The ASF licenses this file to You 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.apache.tomee.catalina;
>> > +
>> > +import org.apache.catalina.Context;
>> > +import org.apache.catalina.LifecycleException;
>> > +import org.apache.catalina.loader.WebappLoader;
>> > +import org.apache.openejb.ClassLoaderUtil;
>> > +import org.apache.openejb.classloader.ClassLoaderConfigurer;
>> > +import org.apache.openejb.classloader.CompositeClassLoaderConfigurer;
>> > +import org.apache.openejb.config.QuickJarsTxtParser;
>> > +import org.apache.openejb.loader.SystemInstance;
>> > +
>> > +import java.io.File;
>> > +
>> > +/**
>> > + * Usage example in META-INF/context.xml
>> > + * <p/>
>> > + * <p/>
>> > + * <Context antiJARLocking="true" >
>> > + * <Loader
>> > + * className="org.apache.tomee.catalina.ProvisioningWebappLoader"
>> > + * searchExternalFirst="true"
>> > + *
>> >
>> virtualClasspath="mvn:commons-el:commons-el:1.0;mvn:commons-el:commons-el:1.0"
>> > + * searchVirtualFirst="true"
>> > + * />
>> > + * </Context>
>> > + */
>> > +public class TomEEWebappLoader extends WebappLoader {
>> > +    public static final boolean SKIP_BACKGROUND_PROCESS =
>> >
>> "true".equals(SystemInstance.get().getProperty("tomee.classloader.skip-background-process",
>> > "false"));
>> > +
>> > +    private volatile ClassLoader loader;
>> > +
>> > +    @Override
>> > +    public void backgroundProcess() {
>> > +        if (SKIP_BACKGROUND_PROCESS) {
>> > +            return;
>> > +        }
>> > +
>> > +        final ClassLoader classloader = super.getClassLoader();
>> > +        if (classloader instanceof TomEEWebappClassLoader) {
>> > +            final TomEEWebappClassLoader tomEEWebappClassLoader =
>> > (TomEEWebappClassLoader) classloader;
>> > +            tomEEWebappClassLoader.restarting();
>> > +            try {
>> > +                super.backgroundProcess();
>> > +            } finally {
>> > +                tomEEWebappClassLoader.restarted();
>> > +            }
>> > +        } else {
>> > +            super.backgroundProcess();
>> > +        }
>> > +    }
>> > +
>> > +    @Override
>> > +    public boolean modified() {
>> > +        return !SKIP_BACKGROUND_PROCESS && super.modified();
>> > +    }
>> > +
>> > +    @Override
>> > +    protected void stopInternal() throws LifecycleException {
>> > +        loader = getClassLoader();
>> > +        super.stopInternal();
>> > +    }
>> > +
>> > +    public void clearLoader() {
>> > +        loader = null;
>> > +    }
>> > +
>> > +    public ClassLoader internalLoader() {
>> > +        return loader;
>> > +    }
>> > +
>> > +    @Override
>> > +    protected void startInternal() throws LifecycleException {
>> > +        if (getClassLoader() != null) {
>> > +            final TomEEWebappClassLoader webappClassLoader =
>> > TomEEWebappClassLoader.class.cast(getClassLoader());
>> > +            if (webappClassLoader.isStopped()) {
>> > +                webappClassLoader.internalStop();
>> > +            }
>> > +        }
>> > +
>> > +        final Context context = getContext();
>> > +
>> > +        ClassLoaderConfigurer configurer =
>> > ClassLoaderUtil.configurer(context.getName());
>> > +
>> > +        // WEB-INF/jars.xml
>> > +        final File war = Contexts.warPath(Context.class.cast(context));
>> > +        final File jarsXml = new File(war, "WEB-INF/" +
>> > QuickJarsTxtParser.FILE_NAME);
>> > +        final ClassLoaderConfigurer configurerTxt =
>> > QuickJarsTxtParser.parse(jarsXml);
>> > +        if (configurerTxt != null) {
>> > +            configurer = new CompositeClassLoaderConfigurer(configurer,
>> > configurerTxt);
>> > +        }
>> > +
>> > +        TomEEWebappClassLoader.initContext(configurer);
>> > +        TomEEWebappClassLoader.initContext(context);
>> > +        try {
>> > +            super.startInternal();
>> > +        } finally {
>> > +            TomEEWebappClassLoader.cleanContext();
>> > +        }
>> > +    }
>> > +
>> > +    @Override
>> > +    public String toString() {
>> > +        return "TomEE" + super.toString();
>> > +    }
>> > +}
>> >
>> >
>> >
>> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatDeploymentLoader.java
>> > ----------------------------------------------------------------------
>> > diff --git
>> >
>> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatDeploymentLoader.java
>> >
>> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatDeploymentLoader.java
>> > index 03fea68..4496e54 100644
>> > ---
>> >
>> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatDeploymentLoader.java
>> > +++
>> >
>> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatDeploymentLoader.java
>> > @@ -1,43 +1,43 @@
>> > -/*
>> > - * Licensed to the Apache Software Foundation (ASF) under one or more
>> > - * contributor license agreements.  See the NOTICE file distributed with
>> > - * this work for additional information regarding copyright ownership.
>> > - * The ASF licenses this file to You 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.apache.tomee.catalina;
>> > -
>> > -import org.apache.catalina.core.StandardContext;
>> > -import org.apache.openejb.config.DeploymentLoader;
>> > -
>> > -/**
>> > - * @version $Id$
>> > - */
>> > -public class TomcatDeploymentLoader extends DeploymentLoader {
>> > -    private StandardContext standardContext;
>> > -    private String moduleId;
>> > -
>> > -    public TomcatDeploymentLoader(final StandardContext standardContext,
>> > final String moduleId) {
>> > -        this.standardContext = standardContext;
>> > -        this.moduleId = moduleId;
>> > -    }
>> > -
>> > -    @Override
>> > -    protected String getContextRoot() {
>> > -        return standardContext.getPath();
>> > -    }
>> > -
>> > -    @Override
>> > -    protected String getModuleName() {
>> > -        return moduleId;
>> > -    }
>> > -}
>> > +/*
>> > + * Licensed to the Apache Software Foundation (ASF) under one or more
>> > + * contributor license agreements.  See the NOTICE file distributed with
>> > + * this work for additional information regarding copyright ownership.
>> > + * The ASF licenses this file to You 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.apache.tomee.catalina;
>> > +
>> > +import org.apache.catalina.core.StandardContext;
>> > +import org.apache.openejb.config.DeploymentLoader;
>> > +
>> > +/**
>> > + * @version $Id$
>> > + */
>> > +public class TomcatDeploymentLoader extends DeploymentLoader {
>> > +    private StandardContext standardContext;
>> > +    private String moduleId;
>> > +
>> > +    public TomcatDeploymentLoader(final StandardContext standardContext,
>> > final String moduleId) {
>> > +        this.standardContext = standardContext;
>> > +        this.moduleId = moduleId;
>> > +    }
>> > +
>> > +    @Override
>> > +    protected String getContextRoot() {
>> > +        return standardContext.getPath();
>> > +    }
>> > +
>> > +    @Override
>> > +    protected String getModuleName() {
>> > +        return moduleId;
>> > +    }
>> > +}
>> >
>> >
>> >
>> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java
>> > ----------------------------------------------------------------------
>> > diff --git
>> > a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java
>> > b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java
>> > index 1720f9f..a2c8d06 100644
>> > ---
>> > a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java
>> > +++
>> > b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java
>> > @@ -1,134 +1,134 @@
>> > -/**
>> > - * Licensed to the Apache Software Foundation (ASF) under one or more
>> > - * contributor license agreements.  See the NOTICE file distributed with
>> > - * this work for additional information regarding copyright ownership.
>> > - * The ASF licenses this file to You 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.apache.tomee.embedded;
>> > -
>> > -import java.io.File;
>> > -import java.util.Set;
>> > -
>> > -import org.apache.commons.cli.CommandLine;
>> > -import org.apache.commons.cli.CommandLineParser;
>> > -import org.apache.commons.cli.HelpFormatter;
>> > -import org.apache.commons.cli.Options;
>> > -import org.apache.commons.cli.ParseException;
>> > -import org.apache.commons.cli.PosixParser;
>> > -import org.apache.openejb.loader.ProvisioningUtil;
>> > -
>> > -import static org.apache.openejb.loader.JarLocation.jarLocation;
>> > -
>> > -public class Main {
>> > -    public static final String PORT = "port";
>> > -    public static final String SHUTDOWN = "shutdown";
>> > -    public static final String PATH = "path";
>> > -    public static final String CONTEXT = "context";
>> > -    public static final String DIRECTORY = "directory";
>> > -    public static final String DOC_BASE = "doc-base";
>> > -    public static final String AS_WAR = "as-war";
>> > -
>> > -    public static void main(final String[] args) {
>> > -        final CommandLineParser parser = new PosixParser();
>> > -        final Options options = createOptions();
>> > -
>> > -        // parse command line
>> > -        final CommandLine line;
>> > -        try {
>> > -            line = parser.parse(options, args, true);
>> > -        } catch (final ParseException exp) {
>> > -            new HelpFormatter().printHelp("java -jar
>> > tomee-embedded-user.jar", options);
>> > -            return;
>> > -        }
>> > -
>> > -        // run TomEE
>> > -        try {
>> > -            final Container container = new
>> > Container(createConfiguration(line));
>> > -            final String[] contexts;
>> > -            if (line.hasOption(CONTEXT)) {
>> > -                contexts = line.getOptionValues(CONTEXT);
>> > -            } else {
>> > -                contexts = null;
>> > -            }
>> > -
>> > -            boolean autoWar = true;
>> > -            int i = 0;
>> > -            if (line.hasOption(PATH)) {
>> > -                for (final String path : line.getOptionValues(PATH)) {
>> > -                    final Set<String> locations =
>> > ProvisioningUtil.realLocation(path);
>> > -                    for (final String location : locations) {
>> > -                        final File file = new File(location);
>> > -                        if (!file.exists()) {
>> > -                            System.err.println(file.getAbsolutePath() +
>> "
>> > does not exist, skipping");
>> > -                            continue;
>> > -                        }
>> > -
>> > -                        String name =
>> > file.getName().replaceAll("\\.[A-Za-z]+$", "");
>> > -                        if (contexts != null) {
>> > -                            name = contexts[i++];
>> > -                        }
>> > -                        container.deploy(name, file, true);
>> > -                    }
>> > -                }
>> > -                autoWar = false;
>> > -            }
>> > -            if (line.hasOption(AS_WAR)) {
>> > -                container.deployClasspathAsWebApp(contexts == null || i
>> > == contexts.length ? "" : contexts[i],
>> > -                        line.hasOption(DOC_BASE) ? new
>> > File(line.getOptionValue(DOC_BASE)) : null);
>> > -                autoWar = false;
>> > -            }
>> > -            if (autoWar) { // nothing deployed check if we are a war and
>> > deploy ourself then
>> > -                final File me = jarLocation(Main.class);
>> > -                if (me.getName().endsWith(".war")) {
>> > -                    container.deploy(contexts == null || i ==
>> > contexts.length ? "" : contexts[i], me);
>> > -                }
>> > -            }
>> > -
>> > -            Runtime.getRuntime().addShutdownHook(new Thread() {
>> > -                @Override
>> > -                public void run() {
>> > -                    try {
>> > -                        container.stop();
>> > -                    } catch (final Exception e) {
>> > -                        e.printStackTrace(); // just log the exception
>> > -                    }
>> > -                }
>> > -            });
>> > -            container.await();
>> > -        } catch (final Exception e) {
>> > -            e.printStackTrace();
>> > -        }
>> > -    }
>> > -
>> > -    private static Options createOptions() {
>> > -        final Options options = new Options();
>> > -        options.addOption(null, PATH, true, "");
>> > -        options.addOption(null, CONTEXT, true, "Context name for
>> > applications (same order than paths)");
>> > -        options.addOption("p", PORT, true, "TomEE http port");
>> > -        options.addOption("s", SHUTDOWN, true, "TomEE shutdown port");
>> > -        options.addOption("d", DIRECTORY, true, "TomEE directory");
>> > -        options.addOption("c", AS_WAR, false, "deploy classpath as
>> war");
>> > -        options.addOption("b", DOC_BASE, true, "when deploy classpath as
>> > war, the doc base");
>> > -        return options;
>> > -    }
>> > -
>> > -    private static Configuration createConfiguration(final CommandLine
>> > args) {
>> > -        final Configuration config = new Configuration();
>> > -        config.setDir(System.getProperty("java.io.tmpdir"));
>> > -        config.setHttpPort(Integer.parseInt(args.getOptionValue(PORT,
>> > "8080")));
>> > -
>> config.setStopPort(Integer.parseInt(args.getOptionValue(SHUTDOWN,
>> > "8005")));
>> > -        config.setDir(args.getOptionValue(DIRECTORY, new File(new
>> > File("."), "apache-tomee").getAbsolutePath()));
>> > -        return config;
>> > -    }
>> > -
>> > -}
>> > +/**
>> > + * Licensed to the Apache Software Foundation (ASF) under one or more
>> > + * contributor license agreements.  See the NOTICE file distributed with
>> > + * this work for additional information regarding copyright ownership.
>> > + * The ASF licenses this file to You 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.apache.tomee.embedded;
>> > +
>> > +import java.io.File;
>> > +import java.util.Set;
>> > +
>> > +import org.apache.commons.cli.CommandLine;
>> > +import org.apache.commons.cli.CommandLineParser;
>> > +import org.apache.commons.cli.HelpFormatter;
>> > +import org.apache.commons.cli.Options;
>> > +import org.apache.commons.cli.ParseException;
>> > +import org.apache.commons.cli.PosixParser;
>> > +import org.apache.openejb.loader.ProvisioningUtil;
>> > +
>> > +import static org.apache.openejb.loader.JarLocation.jarLocation;
>> > +
>> > +public class Main {
>> > +    public static final String PORT = "port";
>> > +    public static final String SHUTDOWN = "shutdown";
>> > +    public static final String PATH = "path";
>> > +    public static final String CONTEXT = "context";
>> > +    public static final String DIRECTORY = "directory";
>> > +    public static final String DOC_BASE = "doc-base";
>> > +    public static final String AS_WAR = "as-war";
>> > +
>> > +    public static void main(final String[] args) {
>> > +        final CommandLineParser parser = new PosixParser();
>> > +        final Options options = createOptions();
>> > +
>> > +        // parse command line
>> > +        final CommandLine line;
>> > +        try {
>> > +            line = parser.parse(options, args, true);
>> > +        } catch (final ParseException exp) {
>> > +            new HelpFormatter().printHelp("java -jar
>> > tomee-embedded-user.jar", options);
>> > +            return;
>> > +        }
>> > +
>> > +        // run TomEE
>> > +        try {
>> > +            final Container container = new
>> > Container(createConfiguration(line));
>> > +            final String[] contexts;
>> > +            if (line.hasOption(CONTEXT)) {
>> > +                contexts = line.getOptionValues(CONTEXT);
>> > +            } else {
>> > +                contexts = null;
>> > +            }
>> > +
>> > +            boolean autoWar = true;
>> > +            int i = 0;
>> > +            if (line.hasOption(PATH)) {
>> > +                for (final String path : line.getOptionValues(PATH)) {
>> > +                    final Set<String> locations =
>> > ProvisioningUtil.realLocation(path);
>> > +                    for (final String location : locations) {
>> > +                        final File file = new File(location);
>> > +                        if (!file.exists()) {
>> > +                            System.err.println(file.getAbsolutePath() +
>> "
>> > does not exist, skipping");
>> > +                            continue;
>> > +                        }
>> > +
>> > +                        String name =
>> > file.getName().replaceAll("\\.[A-Za-z]+$", "");
>> > +                        if (contexts != null) {
>> > +                            name = contexts[i++];
>> > +                        }
>> > +                        container.deploy(name, file, true);
>> > +                    }
>> > +                }
>> > +                autoWar = false;
>> > +            }
>> > +            if (line.hasOption(AS_WAR)) {
>> > +                container.deployClasspathAsWebApp(contexts == null || i
>> > == contexts.length ? "" : contexts[i],
>> > +                        line.hasOption(DOC_BASE) ? new
>> > File(line.getOptionValue(DOC_BASE)) : null);
>> > +                autoWar = false;
>> > +            }
>> > +            if (autoWar) { // nothing deployed check if we are a war and
>> > deploy ourself then
>> > +                final File me = jarLocation(Main.class);
>> > +                if (me.getName().endsWith(".war")) {
>> > +                    container.deploy(contexts == null || i ==
>> > contexts.length ? "" : contexts[i], me);
>> > +                }
>> > +            }
>> > +
>> > +            Runtime.getRuntime().addShutdownHook(new Thread() {
>> > +                @Override
>> > +                public void run() {
>> > +                    try {
>> > +                        container.stop();
>> > +                    } catch (final Exception e) {
>> > +                        e.printStackTrace(); // just log the exception
>> > +                    }
>> > +                }
>> > +            });
>> > +            container.await();
>> > +        } catch (final Exception e) {
>> > +            e.printStackTrace();
>> > +        }
>> > +    }
>> > +
>> > +    private static Options createOptions() {
>> > +        final Options options = new Options();
>> > +        options.addOption(null, PATH, true, "");
>> > +        options.addOption(null, CONTEXT, true, "Context name for
>> > applications (same order than paths)");
>> > +        options.addOption("p", PORT, true, "TomEE http port");
>> > +        options.addOption("s", SHUTDOWN, true, "TomEE shutdown port");
>> > +        options.addOption("d", DIRECTORY, true, "TomEE directory");
>> > +        options.addOption("c", AS_WAR, false, "deploy classpath as
>> war");
>> > +        options.addOption("b", DOC_BASE, true, "when deploy classpath as
>> > war, the doc base");
>> > +        return options;
>> > +    }
>> > +
>> > +    private static Configuration createConfiguration(final CommandLine
>> > args) {
>> > +        final Configuration config = new Configuration();
>> > +        config.setDir(System.getProperty("java.io.tmpdir"));
>> > +        config.setHttpPort(Integer.parseInt(args.getOptionValue(PORT,
>> > "8080")));
>> > +
>> config.setStopPort(Integer.parseInt(args.getOptionValue(SHUTDOWN,
>> > "8005")));
>> > +        config.setDir(args.getOptionValue(DIRECTORY, new File(new
>> > File("."), "apache-tomee").getAbsolutePath()));
>> > +        return config;
>> > +    }
>> > +
>> > +}
>> >
>> >
>> >
>> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.policy
>> > ----------------------------------------------------------------------
>> > diff --git
>> >
>> a/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.policy
>> >
>> b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.policy
>> > index 1d8fcef..f5a4247 100644
>> > ---
>> >
>> a/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.policy
>> > +++
>> >
>> b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.policy
>> > @@ -1,241 +1,241 @@
>> > -// Licensed to the Apache Software Foundation (ASF) under one or more
>> > -// contributor license agreements.  See the NOTICE file distributed with
>> > -// this work for additional information regarding copyright ownership.
>> > -// The ASF licenses this file to You 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.
>> > -
>> > -//
>> >
>> ============================================================================
>> > -// catalina.policy - Security Policy Permissions for Tomcat 7
>> > -//
>> > -// This file contains a default set of security policies to be enforced
>> > (by the
>> > -// JVM) when Catalina is executed with the "-security" option.  In
>> > addition
>> > -// to the permissions granted here, the following additional permissions
>> > are
>> > -// granted specific to each web application:
>> > -//
>> > -// * Read access to its document root directory
>> > -// * Read, write and delete access to its working directory
>> > -//
>> > -// $Id: catalina.policy 1079755 2011-03-09 11:38:38Z markt $
>> > -//
>> >
>> ============================================================================
>> > -
>> > -
>> > -// ========== SYSTEM CODE PERMISSIONS
>> > =========================================
>> > -
>> > -
>> > -// These permissions apply to javac
>> > -grant codeBase "file:${java.home}/lib/-" {
>> > -        permission java.security.AllPermission;
>> > -};
>> > -
>> > -// These permissions apply to all shared system extensions
>> > -grant codeBase "file:${java.home}/jre/lib/ext/-" {
>> > -        permission java.security.AllPermission;
>> > -};
>> > -
>> > -// These permissions apply to javac when ${java.home] points at
>> > $JAVA_HOME/jre
>> > -grant codeBase "file:${java.home}/../lib/-" {
>> > -        permission java.security.AllPermission;
>> > -};
>> > -
>> > -// These permissions apply to all shared system extensions when
>> > -// ${java.home} points at $JAVA_HOME/jre
>> > -grant codeBase "file:${java.home}/lib/ext/-" {
>> > -        permission java.security.AllPermission;
>> > -};
>> > -
>> > -
>> > -// ========== CATALINA CODE PERMISSIONS
>> > =======================================
>> > -
>> > -
>> > -// These permissions apply to the daemon code
>> > -grant codeBase "file:${catalina.home}/bin/commons-daemon.jar" {
>> > -        permission java.security.AllPermission;
>> > -};
>> > -
>> > -// These permissions apply to the logging API
>> > -// Note: If tomcat-juli.jar is in ${catalina.base} and not in
>> > ${catalina.home},
>> > -// update this section accordingly.
>> > -//  grant codeBase "file:${catalina.base}/bin/tomcat-juli.jar" {..}
>> > -grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
>> > -        permission java.io.FilePermission
>> > -
>> >  "${java.home}${file.separator}lib${file.separator}logging.properties",
>> > "read";
>> > -
>> > -        permission java.io.FilePermission
>> > -
>> >
>> "${catalina.base}${file.separator}conf${file.separator}logging.properties",
>> > "read";
>> > -        permission java.io.FilePermission
>> > -         "${catalina.base}${file.separator}logs", "read, write";
>> > -        permission java.io.FilePermission
>> > -         "${catalina.base}${file.separator}logs${file.separator}*",
>> > "read, write";
>> > -
>> > -        permission java.lang.RuntimePermission "shutdownHooks";
>> > -        permission java.lang.RuntimePermission "getClassLoader";
>> > -        permission java.lang.RuntimePermission "setContextClassLoader";
>> > -
>> > -        permission java.util.logging.LoggingPermission "control";
>> > -
>> > -        permission java.util.PropertyPermission
>> > "java.util.logging.config.class", "read";
>> > -        permission java.util.PropertyPermission
>> > "java.util.logging.config.file", "read";
>> > -        permission java.util.PropertyPermission "catalina.base", "read";
>> > -
>> > -        // Note: To enable per context logging configuration, permit
>> read
>> > access to
>> > -        // the appropriate file. Be sure that the logging configuration
>> is
>> > -        // secure before enabling such access.
>> > -        // E.g. for the examples web application:
>> > -        // permission java.io.FilePermission
>> > "${catalina.base}${file.separator}
>> > -        //  webapps${file.separator}examples${file.separator}WEB-INF
>> > -        //
>> ${file.separator}classes${file.separator}logging.properties",
>> > "read";
>> > -};
>> > -
>> > -// These permissions apply to the server startup code
>> > -grant codeBase "file:${catalina.home}/bin/bootstrap.jar" {
>> > -        permission java.security.AllPermission;
>> > -};
>> > -
>> > -// These permissions apply to the servlet API classes
>> > -// and those that are shared across all class loaders
>> > -// located in the "lib" directory
>> > -grant codeBase "file:${catalina.home}/lib/-" {
>> > -        permission java.security.AllPermission;
>> > -};
>> > -
>> > -
>> > -// If using a per instance lib directory, i.e. ${catalina.base}/lib,
>> > -// then the following permission will need to be uncommented
>> > -// grant codeBase "file:${catalina.base}/lib/-" {
>> > -//         permission java.security.AllPermission;
>> > -// };
>> > -
>> > -
>> > -// ========== WEB APPLICATION PERMISSIONS
>> > =====================================
>> > -
>> > -
>> > -// These permissions are granted by default to all web applications
>> > -// In addition, a web application will be given a read FilePermission
>> > -// and JndiPermission for all files and directories in its document
>> root.
>> > -grant {
>> > -    // Required for JNDI lookup of named JDBC DataSource's and
>> > -    // javamail named MimePart DataSource used to send mail
>> > -    permission java.util.PropertyPermission "java.home", "read";
>> > -    permission java.util.PropertyPermission "java.naming.*", "read";
>> > -    permission java.util.PropertyPermission "javax.sql.*", "read";
>> > -
>> > -    // OS Specific properties to allow read access
>> > -    permission java.util.PropertyPermission "os.name", "read";
>> > -    permission java.util.PropertyPermission "os.version", "read";
>> > -    permission java.util.PropertyPermission "os.arch", "read";
>> > -    permission java.util.PropertyPermission "file.separator", "read";
>> > -    permission java.util.PropertyPermission "path.separator", "read";
>> > -    permission java.util.PropertyPermission "line.separator", "read";
>> > -
>> > -    // JVM properties to allow read access
>> > -    permission java.util.PropertyPermission "java.version", "read";
>> > -    permission java.util.PropertyPermission "java.vendor", "read";
>> > -    permission java.util.PropertyPermission "java.vendor.url", "read";
>> > -    permission java.util.PropertyPermission "java.class.version",
>> "read";
>> > -    permission java.util.PropertyPermission
>> "java.specification.version",
>> > "read";
>> > -    permission java.util.PropertyPermission "java.specification.vendor",
>> > "read";
>> > -    permission java.util.PropertyPermission "java.specification.name",
>> > "read";
>> > -
>> > -    permission java.util.PropertyPermission
>> > "java.vm.specification.version", "read";
>> > -    permission java.util.PropertyPermission
>> > "java.vm.specification.vendor", "read";
>> > -    permission java.util.PropertyPermission "java.vm.specification.name
>> ",
>> > "read";
>> > -    permission java.util.PropertyPermission "java.vm.version", "read";
>> > -    permission java.util.PropertyPermission "java.vm.vendor", "read";
>> > -    permission java.util.PropertyPermission "java.vm.name", "read";
>> > -
>> > -    // Required for OpenJMX
>> > -    permission java.lang.RuntimePermission "getAttribute";
>> > -
>> > -    // Allow read of JAXP compliant XML parser debug
>> > -    permission java.util.PropertyPermission "jaxp.debug", "read";
>> > -
>> > -    // All JSPs need to be able to read this package
>> > -    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.tomcat";
>> > -
>> > -    // Precompiled JSPs need access to these packages.
>> > -    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.jasper.el";
>> > -    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.jasper.runtime";
>> > -    permission java.lang.RuntimePermission
>> > -     "accessClassInPackage.org.apache.jasper.runtime.*";
>> > -
>> > -    // Precompiled JSPs need access to these system properties.
>> > -    permission java.util.PropertyPermission
>> > -     "org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER", "read";
>> > -    permission java.util.PropertyPermission
>> > -     "org.apache.el.parser.COERCE_TO_ZERO", "read";
>> > -
>> > -    // The cookie code needs these.
>> > -    permission java.util.PropertyPermission
>> > -     "org.apache.catalina.STRICT_SERVLET_COMPLIANCE", "read";
>> > -    permission java.util.PropertyPermission
>> > -     "org.apache.tomcat.util.http.ServerCookie.STRICT_NAMING", "read";
>> > -    permission java.util.PropertyPermission
>> > -     "org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR",
>> > "read";
>> > -
>> > -    // Applications using Comet need to be able to access this package
>> > -    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.catalina.comet";
>> > -};
>> > -
>> > -
>> > -// The Manager application needs access to the following packages to
>> > support the
>> > -// session display functionality. These settings support the following
>> > -// configurations:
>> > -// - default CATALINA_HOME == CATALINA_BASE
>> > -// - CATALINA_HOME != CATALINA_BASE, per instance Manager in
>> CATALINA_BASE
>> > -// - CATALINA_HOME != CATALINA_BASE, shared Manager in CATALINA_HOME
>> > -grant codeBase "file:${catalina.base}/webapps/manager/-" {
>> > -    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.catalina";
>> > -    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.catalina.ha.session";
>> > -    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.catalina.manager";
>> > -    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.catalina.manager.util";
>> > -    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.catalina.util";
>> > -};
>> > -grant codeBase "file:${catalina.home}/webapps/manager/-" {
>> > -    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.catalina";
>> > -    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.catalina.ha.session";
>> > -    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.catalina.manager";
>> > -    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.catalina.manager.util";
>> > -    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.catalina.util";
>> > -};
>> > -
>> > -// You can assign additional permissions to particular web applications
>> by
>> > -// adding additional "grant" entries here, based on the code base for
>> that
>> > -// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files.
>> > -//
>> > -// Different permissions can be granted to JSP pages, classes loaded
>> from
>> > -// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/
>> > -// directory, or even to individual jar files in the /WEB-INF/lib/
>> > directory.
>> > -//
>> > -// For instance, assume that the standard "examples" application
>> > -// included a JDBC driver that needed to establish a network connection
>> > to the
>> > -// corresponding database and used the scrape taglib to get the weather
>> > from
>> > -// the NOAA web server.  You might create a "grant" entries like this:
>> > -//
>> > -// The permissions granted to the context root directory apply to JSP
>> > pages.
>> > -// grant codeBase "file:${catalina.base}/webapps/examples/-" {
>> > -//      permission java.net.SocketPermission "dbhost.mycompany.com:5432
>> ",
>> > "connect";
>> > -//      permission java.net.SocketPermission "*.noaa.gov:80",
>> "connect";
>> > -// };
>> > -//
>> > -// The permissions granted to the context WEB-INF/classes directory
>> > -// grant codeBase
>> > "file:${catalina.base}/webapps/examples/WEB-INF/classes/-" {
>> > -// };
>> > -//
>> > -// The permission granted to your JDBC driver
>> > -// grant codeBase
>> > "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/driver.jar!/-" {
>> > -//      permission java.net.SocketPermission "dbhost.mycompany.com:5432
>> ",
>> > "connect";
>> > -// };
>> > -// The permission granted to the scrape taglib
>> > -// grant codeBase
>> > "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/scrape.jar!/-" {
>> > -//      permission java.net.SocketPermission "*.noaa.gov:80",
>> "connect";
>> > -// };
>> > -
>> > +// Licensed to the Apache Software Foundation (ASF) under one or more
>> > +// contributor license agreements.  See the NOTICE file distributed with
>> > +// this work for additional information regarding copyright ownership.
>> > +// The ASF licenses this file to You 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.
>> > +
>> > +//
>> >
>> ============================================================================
>> > +// catalina.policy - Security Policy Permissions for Tomcat 7
>> > +//
>> > +// This file contains a default set of security policies to be enforced
>> > (by the
>> > +// JVM) when Catalina is executed with the "-security" option.  In
>> > addition
>> > +// to the permissions granted here, the following additional permissions
>> > are
>> > +// granted specific to each web application:
>> > +//
>> > +// * Read access to its document root directory
>> > +// * Read, write and delete access to its working directory
>> > +//
>> > +// $Id: catalina.policy 1079755 2011-03-09 11:38:38Z markt $
>> > +//
>> >
>> ============================================================================
>> > +
>> > +
>> > +// ========== SYSTEM CODE PERMISSIONS
>> > =========================================
>> > +
>> > +
>> > +// These permissions apply to javac
>> > +grant codeBase "file:${java.home}/lib/-" {
>> > +        permission java.security.AllPermission;
>> > +};
>> > +
>> > +// These permissions apply to all shared system extensions
>> > +grant codeBase "file:${java.home}/jre/lib/ext/-" {
>> > +        permission java.security.AllPermission;
>> > +};
>> > +
>> > +// These permissions apply to javac when ${java.home] points at
>> > $JAVA_HOME/jre
>> > +grant codeBase "file:${java.home}/../lib/-" {
>> > +        permission java.security.AllPermission;
>> > +};
>> > +
>> > +// These permissions apply to all shared system extensions when
>> > +// ${java.home} points at $JAVA_HOME/jre
>> > +grant codeBase "file:${java.home}/lib/ext/-" {
>> > +        permission java.security.AllPermission;
>> > +};
>> > +
>> > +
>> > +// ========== CATALINA CODE PERMISSIONS
>> > =======================================
>> > +
>> > +
>> > +// These permissions apply to the daemon code
>> > +grant codeBase "file:${catalina.home}/bin/commons-daemon.jar" {
>> > +        permission java.security.AllPermission;
>> > +};
>> > +
>> > +// These permissions apply to the logging API
>> > +// Note: If tomcat-juli.jar is in ${catalina.base} and not in
>> > ${catalina.home},
>> > +// update this section accordingly.
>> > +//  grant codeBase "file:${catalina.base}/bin/tomcat-juli.jar" {..}
>> > +grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
>> > +        permission java.io.FilePermission
>> > +
>> >  "${java.home}${file.separator}lib${file.separator}logging.properties",
>> > "read";
>> > +
>> > +        permission java.io.FilePermission
>> > +
>> >
>> "${catalina.base}${file.separator}conf${file.separator}logging.properties",
>> > "read";
>> > +        permission java.io.FilePermission
>> > +         "${catalina.base}${file.separator}logs", "read, write";
>> > +        permission java.io.FilePermission
>> > +         "${catalina.base}${file.separator}logs${file.separator}*",
>> > "read, write";
>> > +
>> > +        permission java.lang.RuntimePermission "shutdownHooks";
>> > +        permission java.lang.RuntimePermission "getClassLoader";
>> > +        permission java.lang.RuntimePermission "setContextClassLoader";
>> > +
>> > +        permission java.util.logging.LoggingPermission "control";
>> > +
>> > +        permission java.util.PropertyPermission
>> > "java.util.logging.config.class", "read";
>> > +        permission java.util.PropertyPermission
>> > "java.util.logging.config.file", "read";
>> > +        permission java.util.PropertyPermission "catalina.base", "read";
>> > +
>> > +        // Note: To enable per context logging configuration, permit
>> read
>> > access to
>> > +        // the appropriate file. Be sure that the logging configuration
>> is
>> > +        // secure before enabling such access.
>> > +        // E.g. for the examples web application:
>> > +        // permission java.io.FilePermission
>> > "${catalina.base}${file.separator}
>> > +        //  webapps${file.separator}examples${file.separator}WEB-INF
>> > +        //
>> ${file.separator}classes${file.separator}logging.properties",
>> > "read";
>> > +};
>> > +
>> > +// These permissions apply to the server startup code
>> > +grant codeBase "file:${catalina.home}/bin/bootstrap.jar" {
>> > +        permission java.security.AllPermission;
>> > +};
>> > +
>> > +// These permissions apply to the servlet API classes
>> > +// and those that are shared across all class loaders
>> > +// located in the "lib" directory
>> > +grant codeBase "file:${catalina.home}/lib/-" {
>> > +        permission java.security.AllPermission;
>> > +};
>> > +
>> > +
>> > +// If using a per instance lib directory, i.e. ${catalina.base}/lib,
>> > +// then the following permission will need to be uncommented
>> > +// grant codeBase "file:${catalina.base}/lib/-" {
>> > +//         permission java.security.AllPermission;
>> > +// };
>> > +
>> > +
>> > +// ========== WEB APPLICATION PERMISSIONS
>> > =====================================
>> > +
>> > +
>> > +// These permissions are granted by default to all web applications
>> > +// In addition, a web application will be given a read FilePermission
>> > +// and JndiPermission for all files and directories in its document
>> root.
>> > +grant {
>> > +    // Required for JNDI lookup of named JDBC DataSource's and
>> > +    // javamail named MimePart DataSource used to send mail
>> > +    permission java.util.PropertyPermission "java.home", "read";
>> > +    permission java.util.PropertyPermission "java.naming.*", "read";
>> > +    permission java.util.PropertyPermission "javax.sql.*", "read";
>> > +
>> > +    // OS Specific properties to allow read access
>> > +    permission java.util.PropertyPermission "os.name", "read";
>> > +    permission java.util.PropertyPermission "os.version", "read";
>> > +    permission java.util.PropertyPermission "os.arch", "read";
>> > +    permission java.util.PropertyPermission "file.separator", "read";
>> > +    permission java.util.PropertyPermission "path.separator", "read";
>> > +    permission java.util.PropertyPermission "line.separator", "read";
>> > +
>> > +    // JVM properties to allow read access
>> > +    permission java.util.PropertyPermission "java.version", "read";
>> > +    permission java.util.PropertyPermission "java.vendor", "read";
>> > +    permission java.util.PropertyPermission "java.vendor.url", "read";
>> > +    permission java.util.PropertyPermission "java.class.version",
>> "read";
>> > +    permission java.util.PropertyPermission
>> "java.specification.version",
>> > "read";
>> > +    permission java.util.PropertyPermission "java.specification.vendor",
>> > "read";
>> > +    permission java.util.PropertyPermission "java.specification.name",
>> > "read";
>> > +
>> > +    permission java.util.PropertyPermission
>> > "java.vm.specification.version", "read";
>> > +    permission java.util.PropertyPermission
>> > "java.vm.specification.vendor", "read";
>> > +    permission java.util.PropertyPermission "java.vm.specification.name
>> ",
>> > "read";
>> > +    permission java.util.PropertyPermission "java.vm.version", "read";
>> > +    permission java.util.PropertyPermission "java.vm.vendor", "read";
>> > +    permission java.util.PropertyPermission "java.vm.name", "read";
>> > +
>> > +    // Required for OpenJMX
>> > +    permission java.lang.RuntimePermission "getAttribute";
>> > +
>> > +    // Allow read of JAXP compliant XML parser debug
>> > +    permission java.util.PropertyPermission "jaxp.debug", "read";
>> > +
>> > +    // All JSPs need to be able to read this package
>> > +    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.tomcat";
>> > +
>> > +    // Precompiled JSPs need access to these packages.
>> > +    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.jasper.el";
>> > +    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.jasper.runtime";
>> > +    permission java.lang.RuntimePermission
>> > +     "accessClassInPackage.org.apache.jasper.runtime.*";
>> > +
>> > +    // Precompiled JSPs need access to these system properties.
>> > +    permission java.util.PropertyPermission
>> > +     "org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER", "read";
>> > +    permission java.util.PropertyPermission
>> > +     "org.apache.el.parser.COERCE_TO_ZERO", "read";
>> > +
>> > +    // The cookie code needs these.
>> > +    permission java.util.PropertyPermission
>> > +     "org.apache.catalina.STRICT_SERVLET_COMPLIANCE", "read";
>> > +    permission java.util.PropertyPermission
>> > +     "org.apache.tomcat.util.http.ServerCookie.STRICT_NAMING", "read";
>> > +    permission java.util.PropertyPermission
>> > +     "org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR",
>> > "read";
>> > +
>> > +    // Applications using Comet need to be able to access this package
>> > +    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.catalina.comet";
>> > +};
>> > +
>> > +
>> > +// The Manager application needs access to the following packages to
>> > support the
>> > +// session display functionality. These settings support the following
>> > +// configurations:
>> > +// - default CATALINA_HOME == CATALINA_BASE
>> > +// - CATALINA_HOME != CATALINA_BASE, per instance Manager in
>> CATALINA_BASE
>> > +// - CATALINA_HOME != CATALINA_BASE, shared Manager in CATALINA_HOME
>> > +grant codeBase "file:${catalina.base}/webapps/manager/-" {
>> > +    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.catalina";
>> > +    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.catalina.ha.session";
>> > +    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.catalina.manager";
>> > +    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.catalina.manager.util";
>> > +    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.catalina.util";
>> > +};
>> > +grant codeBase "file:${catalina.home}/webapps/manager/-" {
>> > +    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.catalina";
>> > +    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.catalina.ha.session";
>> > +    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.catalina.manager";
>> > +    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.catalina.manager.util";
>> > +    permission java.lang.RuntimePermission
>> > "accessClassInPackage.org.apache.catalina.util";
>> > +};
>> > +
>> > +// You can assign additional permissions to particular web applications
>> by
>> > +// adding additional "grant" entries here, based on the code base for
>> that
>> > +// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files.
>> > +//
>> > +// Different permissions can be granted to JSP pages, classes loaded
>> from
>> > +// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/
>> > +// directory, or even to individual jar files in the /WEB-INF/lib/
>> > directory.
>> > +//
>> > +// For instance, assume that the standard "examples" application
>> > +// included a JDBC driver that needed to establish a network connection
>> > to the
>> > +// corresponding database and used the scrape taglib to get the weather
>> > from
>> > +// the NOAA web server.  You might create a "grant" entries like this:
>> > +//
>> > +// The permissions granted to the context root directory apply to JSP
>> > pages.
>> > +// grant codeBase "file:${catalina.base}/webapps/examples/-" {
>> > +//      permission java.net.SocketPermission "dbhost.mycompany.com:5432
>> ",
>> > "connect";
>> > +//      permission java.net.SocketPermission "*.noaa.gov:80",
>> "connect";
>> > +// };
>> > +//
>> > +// The permissions granted to the context WEB-INF/classes directory
>> > +// grant codeBase
>> > "file:${catalina.base}/webapps/examples/WEB-INF/classes/-" {
>> > +// };
>> > +//
>> > +// The permission granted to your JDBC driver
>> > +// grant codeBase
>> > "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/driver.jar!/-" {
>> > +//      permission java.net.SocketPermission "dbhost.mycompany.com:5432
>> ",
>> > "connect";
>> > +// };
>> > +// The permission granted to the scrape taglib
>> > +// grant codeBase
>> > "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/scrape.jar!/-" {
>> > +//      permission java.net.SocketPermission "*.noaa.gov:80",
>> "connect";
>> > +// };
>> > +
>> >
>> >
>> >
>> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.properties
>> > ----------------------------------------------------------------------
>> > diff --git
>> >
>> a/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.properties
>> >
>> b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.properties
>> > index 5089043..ff86449 100644
>> > ---
>> >
>> a/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.properties
>> > +++
>> >
>> b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.properties
>> > @@ -1,122 +1,122 @@
>> > -# Licensed to the Apache Software Foundation (ASF) under one or more
>> > -# contributor license agreements.  See the NOTICE file distributed with
>> > -# this work for additional information regarding copyright ownership.
>> > -# The ASF licenses this file to You 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.
>> > -
>> > -#
>> > -# List of comma-separated packages that start with or equal this string
>> > -# will cause a security exception to be thrown when
>> > -# passed to checkPackageAccess unless the
>> > -# corresponding RuntimePermission ("accessClassInPackage."+package) has
>> > -# been granted.
>> >
>> >
>> -package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.
>> > -#
>> > -# List of comma-separated packages that start with or equal this string
>> > -# will cause a security exception to be thrown when
>> > -# passed to checkPackageDefinition unless the
>> > -# corresponding RuntimePermission ("defineClassInPackage."+package) has
>> > -# been granted.
>> > -#
>> > -# by default, no packages are restricted for definition, and none of
>> > -# the class loaders supplied with the JDK call checkPackageDefinition.
>> > -#
>> >
>> >
>> -package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.
>> > -
>> > -#
>> > -#
>> > -# List of comma-separated paths defining the contents of the "common"
>> > -# classloader. Prefixes should be used to define what is the repository
>> > type.
>> > -# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or
>> > absolute.
>> > -# If left as blank,the JVM system loader will be used as Catalina's
>> > "common"
>> > -# loader.
>> > -# Examples:
>> > -#     "foo": Add this folder as a class repository
>> > -#     "foo/*.jar": Add all the JARs of the specified folder as class
>> > -#                  repositories
>> > -#     "foo/bar.jar": Add bar.jar as a class repository
>> >
>> >
>> -common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar
>> > -
>> > -#
>> > -# List of comma-separated paths defining the contents of the "server"
>> > -# classloader. Prefixes should be used to define what is the repository
>> > type.
>> > -# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or
>> > absolute.
>> > -# If left as blank, the "common" loader will be used as Catalina's
>> > "server"
>> > -# loader.
>> > -# Examples:
>> > -#     "foo": Add this folder as a class repository
>> > -#     "foo/*.jar": Add all the JARs of the specified folder as class
>> > -#                  repositories
>> > -#     "foo/bar.jar": Add bar.jar as a class repository
>> > -server.loader=
>> > -
>> > -#
>> > -# List of comma-separated paths defining the contents of the "shared"
>> > -# classloader. Prefixes should be used to define what is the repository
>> > type.
>> > -# Path may be relative to the CATALINA_BASE path or absolute. If left as
>> > blank,
>> > -# the "common" loader will be used as Catalina's "shared" loader.
>> > -# Examples:
>> > -#     "foo": Add this folder as a class repository
>> > -#     "foo/*.jar": Add all the JARs of the specified folder as class
>> > -#                  repositories
>> > -#     "foo/bar.jar": Add bar.jar as a class repository
>> > -# Please note that for single jars, e.g. bar.jar, you need the URL form
>> > -# starting with file:.
>> > -shared.loader=
>> > -
>> > -# List of JAR files that should not be scanned for configuration
>> > information
>> > -# such as web fragments, TLD files etc. It must be a comma separated
>> list
>> > of
>> > -# JAR file names.
>> > -# The JARs listed below include:
>> > -# - Tomcat Bootstrap JARs
>> > -# - Tomcat API JARs
>> > -# - Catalina JARs
>> > -# - Jasper JARs
>> > -# - Tomcat JARs
>> > -# - Common non-Tomcat JARs
>> > -# - Sun JDK JARs
>> > -# - Apple JDK JARs
>> > -tomcat.util.scan.DefaultJarScanner.jarsToSkip=\
>> > -bootstrap.jar,commons-daemon.jar,tomcat-juli.jar,\
>> > -annotations-api.jar,el-api.jar,jsp-api.jar,servlet-api.jar,\
>> > -catalina.jar,catalina-ant.jar,catalina-ha.jar,catalina-tribes.jar,\
>> > -jasper.jar,jasper-el.jar,ecj-*.jar,\
>> > -tomcat-api.jar,tomcat-util.jar,tomcat-coyote.jar,tomcat-dbcp.jar,\
>> >
>> >
>> -tomcat-i18n-en.jar,tomcat-i18n-es.jar,tomcat-i18n-fr.jar,tomcat-i18n-ja.jar,\
>> > -commons-beanutils*.jar,commons-collections*.jar,commons-dbcp*.jar,\
>> > -commons-digester*.jar,commons-fileupload*.jar,commons-logging*.jar,\
>> > -commons-pool*.jar,\
>> > -bcprov-*.jar,\
>> > -ant.jar,jmx.jar,jmx-tools.jar,\
>> > -xercesImpl.jar,xmlParserAPIs.jar,xml-apis.jar,\
>> >
>> >
>> -dnsns.jar,ldapsec.jar,localedata.jar,sunjce_provider.jar,sunpkcs11.jar,tools.jar,\
>> > -apple_provider.jar,AppleScriptEngine.jar,CoreAudio.jar,dns_sd.jar,\
>> > -j3daudio.jar,j3dcore.jar,j3dutils.jar,jai_core.jar,jai_codec.jar,\
>> > -mlibwrapper_jai.jar,MRJToolkit.jar,vecmath.jar,\
>> > -hsqldb-*,openejb-core-*,xbean-*,derby*,mbean-annotation-*,\
>> >
>> >
>> -javassit*,commons-*,swizzle-stream-*,serp-*,geronimo-javamail-*,geronimo-mail-*,\
>> >
>> >
>> -openejb-jee-*,openejb-core-*,openejb-loader-*,openejb-api-*,openejb-derby*,\
>> > -openwebbeans-ejb-*,openwebbeans-impl-*,\
>> > -bval-*,\
>> >
>> >
>> -tomee-loader-*,openejb-javaagent-*,openejb-ejbd-*,scannotation-*,openejb-server-*,\
>> > -openjpa-*,quartz-*,openejb-http-*,kahadb-*
>> > -
>> > -#
>> > -# String cache configuration.
>> > -tomcat.util.buf.StringCache.byte.enabled=true
>> > -#tomcat.util.buf.StringCache.char.enabled=true
>> > -#tomcat.util.buf.StringCache.trainThreshold=500000
>> > -#tomcat.util.buf.StringCache.cacheSize=5000
>> > -
>> > -http.port=${tomcatHttpPort}
>> > -shutdown.port=${tomcatShutdownPort}
>> > +# Licensed to the Apache Software Foundation (ASF) under one or more
>> > +# contributor license agreements.  See the NOTICE file distributed with
>> > +# this work for additional information regarding copyright ownership.
>> > +# The ASF licenses this file to You 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.
>> > +
>> > +#
>> > +# List of comma-separated packages that start with or equal this string
>> > +# will cause a security exception to be thrown when
>> > +# passed to checkPackageAccess unless the
>> > +# corresponding RuntimePermission ("accessClassInPackage."+package) has
>> > +# been granted.
>> >
>> >
>> +package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.
>> > +#
>> > +# List of comma-separated packages that start with or equal this string
>> > +# will cause a security exception to be thrown when
>> > +# passed to checkPackageDefinition unless the
>> > +# corresponding RuntimePermission ("defineClassInPackage."+package) has
>> > +# been granted.
>> > +#
>> > +# by default, no packages are restricted for definition, and none of
>> > +# the class loaders supplied with the JDK call checkPackageDefinition.
>> > +#
>> >
>> >
>> +package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.
>> > +
>> > +#
>> > +#
>> > +# List of comma-separated paths defining the contents of the "common"
>> > +# classloader. Prefixes should be used to define what is the repository
>> > type.
>> > +# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or
>> > absolute.
>> > +# If left as blank,the JVM system loader will be used as Catalina's
>> > "common"
>> > +# loader.
>> > +# Examples:
>> > +#     "foo": Add this folder as a class repository
>> > +#     "foo/*.jar": Add all the JARs of the specified folder as class
>> > +#                  repositories
>> > +#     "foo/bar.jar": Add bar.jar as a class repository
>> >
>> >
>> +common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar
>> > +
>> > +#
>> > +# List of comma-separated paths defining the contents of the "server"
>> > +# classloader. Prefixes should be used to define what is the repository
>> > type.
>> > +# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or
>> > absolute.
>> > +# If left as blank, the "common" loader will be used as Catalina's
>> > "server"
>> > +# loader.
>> > +# Examples:
>> > +#     "foo": Add this folder as a class repository
>> > +#     "foo/*.jar": Add all the JARs of the specified folder as class
>> > +#                  repositories
>> > +#     "foo/bar.jar": Add bar.jar as a class repository
>> > +server.loader=
>> > +
>> > +#
>> > +# List of comma-separated paths defining the contents of the "shared"
>> > +# classloader. Prefixes should be used to define what is the repository
>> > type.
>> > +# Path may be relative to the CATALINA_BASE path or absolute. If left as
>> > blank,
>> > +# the "common" loader will be used as Catalina's "shared" loader.
>> > +# Examples:
>> > +#     "foo": Add this folder as a class repository
>> > +#     "foo/*.jar": Add all the JARs of the specified folder as class
>> > +#                  repositories
>> > +#     "foo/bar.jar": Add bar.jar as a class repository
>> > +# Please note that for single jars, e.g. bar.jar, you need the URL form
>> > +# starting with file:.
>> > +shared.loader=
>> > +
>> > +# List of JAR files that should not be scanned for configuration
>> > information
>> > +# such as web fragments, TLD files etc. It must be a comma separated
>> list
>> > of
>> > +# JAR file names.
>> > +# The JARs listed below include:
>> > +# - Tomcat Bootstrap JARs
>> > +# - Tomcat API JARs
>> > +# - Catalina JARs
>> > +# - Jasper JARs
>> > +# - Tomcat JARs
>> > +# - Common non-Tomcat JARs
>> > +# - Sun JDK JARs
>> > +# - Apple JDK JARs
>> > +tomcat.util.scan.DefaultJarScanner.jarsToSkip=\
>> > +bootstrap.jar,commons-daemon.jar,tomcat-juli.jar,\
>> > +annotations-api.jar,el-api.jar,jsp-api.jar,servlet-api.jar,\
>> > +catalina.jar,catalina-ant.jar,catalina-ha.jar,catalina-tribes.jar,\
>> > +jasper.jar,jasper-el.jar,ecj-*.jar,\
>> > +tomcat-api.jar,tomcat-util.jar,tomcat-coyote.jar,tomcat-dbcp.jar,\
>> >
>> >
>> +tomcat-i18n-en.jar,tomcat-i18n-es.jar,tomcat-i18n-fr.jar,tomcat-i18n-ja.jar,\
>> > +commons-beanutils*.jar,commons-collections*.jar,commons-dbcp*.jar,\
>> > +commons-digester*.jar,commons-fileupload*.jar,commons-logging*.jar,\
>> > +commons-pool*.jar,\
>> > +bcprov-*.jar,\
>> > +ant.jar,jmx.jar,jmx-tools.jar,\
>> > +xercesImpl.jar,xmlParserAPIs.jar,xml-apis.jar,\
>> >
>> >
>> +dnsns.jar,ldapsec.jar,localedata.jar,sunjce_provider.jar,sunpkcs11.jar,tools.jar,\
>> > +apple_provider.jar,AppleScriptEngine.jar,CoreAudio.jar,dns_sd.jar,\
>> > +j3daudio.jar,j3dcore.jar,j3dutils.jar,jai_core.jar,jai_codec.jar,\
>> > +mlibwrapper_jai.jar,MRJToolkit.jar,vecmath.jar,\
>> > +hsqldb-*,openejb-core-*,xbean-*,derby*,mbean-annotation-*,\
>> >
>> >
>> +javassit*,commons-*,swizzle-stream-*,serp-*,geronimo-javamail-*,geronimo-mail-*,\
>> >
>> >
>> +openejb-jee-*,openejb-core-*,openejb-loader-*,openejb-api-*,openejb-derby*,\
>> > +openwebbeans-ejb-*,openwebbeans-impl-*,\
>> > +bval-*,\
>> >
>> >
>> +tomee-loader-*,openejb-javaagent-*,openejb-ejbd-*,scannotation-*,openejb-server-*,\
>> > +openjpa-*,quartz-*,openejb-http-*,kahadb-*
>> > +
>> > +#
>> > +# String cache configuration.
>> > +tomcat.util.buf.StringCache.byte.enabled=true
>> > +#tomcat.util.buf.StringCache.char.enabled=true
>> > +#tomcat.util.buf.StringCache.trainThreshold=500000
>> > +#tomcat.util.buf.StringCache.cacheSize=5000
>> > +
>> > +http.port=${tomcatHttpPort}
>> > +shutdown.port=${tomcatShutdownPort}
>> >  shutdown.command=${tomcatShutdownCommand}
>> > \ No newline at end of file
>> >
>> >
>> >
>> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ABean.java
>> > ----------------------------------------------------------------------
>> > diff --git
>> > a/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ABean.java
>> > b/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ABean.java
>> > index abbc097..8f828b9 100644
>> > ---
>> > a/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ABean.java
>> > +++
>> > b/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ABean.java
>> > @@ -1,26 +1,26 @@
>> > -/**
>> > - * Licensed to the Apache Software Foundation (ASF) under one or more
>> > - * contributor license agreements.  See the NOTICE file distributed with
>> > - * this work for additional information regarding copyright ownership.
>> > - * The ASF licenses this file to You 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.apache.tomee.embedded;
>> > -
>> > -import javax.ejb.Singleton;
>> > -
>> > -@Singleton
>> > -public class ABean {
>> > -    public String embedded() {
>> > -        return "ok";
>> > -    }
>> > -}
>> > +/**
>> > + * Licensed to the Apache Software Foundation (ASF) under one or more
>> > + * contributor license agreements.  See the NOTICE file distributed with
>> > + * this work for additional information regarding copyright ownership.
>> > + * The ASF licenses this file to You 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.apache.tomee.embedded;
>> > +
>> > +import javax.ejb.Singleton;
>> > +
>> > +@Singleton
>> > +public class ABean {
>> > +    public String embedded() {
>> > +        return "ok";
>> > +    }
>> > +}
>> >
>> >
>> >
>> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-embedded/src/test/resources/META-INF/beans.xml
>> > ----------------------------------------------------------------------
>> > diff --git a/tomee/tomee-embedded/src/test/resources/META-INF/beans.xml
>> > b/tomee/tomee-embedded/src/test/resources/META-INF/beans.xml
>> > index e0d7a63..b1514dd 100644
>> > --- a/tomee/tomee-embedded/src/test/resources/META-INF/beans.xml
>> > +++ b/tomee/tomee-embedded/src/test/resources/META-INF/beans.xml
>> > @@ -1,19 +1,19 @@
>> > -<?xml version="1.0" encoding="UTF-8"?>
>> > -<!--
>> > -
>> > -    Licensed to the Apache Software Foundation (ASF) under one or more
>> > -    contributor license agreements.  See the NOTICE file distributed
>> with
>> > -    this work for additional information regarding copyright ownership.
>> > -    The ASF licenses this file to You 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.
>> > --->
>> > -<beans />
>> > +<?xml version="1.0" encoding="UTF-8"?>
>> > +<!--
>> > +
>> > +    Licensed to the Apache Software Foundation (ASF) under one or more
>> > +    contributor license agreements.  See the NOTICE file distributed
>> with
>> > +    this work for additional information regarding copyright ownership.
>> > +    The ASF licenses this file to You 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.
>> > +-->
>> > +<beans />
>> >
>> >
>>
>
>
>
> --
> Daniel Cunha
> https://twitter.com/dvlc_
> http://www.tomitribe.com


Re: [2/3] tomee git commit: EOL commit

Posted by Daniel Cunha <da...@gmail.com>.
I've the same problem here.

On Wed, Nov 18, 2015 at 10:21 PM, Thiago Veronezi <th...@veronezi.org>
wrote:

> Hey Romain,
>
> What is this commit about? Removing windows line endings?
> Now when I pull the source code, my local git says I have changed files
> that I never touched. Am I missing a config locally?
>
> []s,
> Thiago
>
> On Wed, Nov 18, 2015 at 3:18 PM, <rm...@apache.org> wrote:
>
> >
> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/build.xml
> > ----------------------------------------------------------------------
> > diff --git a/tomee/build.xml b/tomee/build.xml
> > index eff1327..c660e7c 100644
> > --- a/tomee/build.xml
> > +++ b/tomee/build.xml
> > @@ -1,46 +1,46 @@
> > -<?xml version="1.0" encoding="UTF-8"?>
> > -<!--
> > -
> > -    Licensed to the Apache Software Foundation (ASF) under one or more
> > -    contributor license agreements.  See the NOTICE file distributed
> with
> > -    this work for additional information regarding copyright ownership.
> > -    The ASF licenses this file to You 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.
> > --->
> > -<project name="dev-helper" default="web">
> > -
> > -    <target name="web">
> > -        <copy verbose="true"
> >
> todir="apache-tomee/target/apache-tomee-webprofile-7.0.0-SNAPSHOT/webapps/tomee">
> > -            <fileset dir="tomee-webapp/src/main/webapp"
> > includes="**/*.js"/>
> > -            <fileset dir="tomee-webapp/src/main/webapp"
> > includes="**/*.css"/>
> > -            <fileset dir="tomee-webapp/src/main/webapp"
> > includes="**/*.html"/>
> > -        </copy>
> > -    </target>
> > -
> > -    <target name="rs">
> > -        <copy verbose="true"
> >
> todir="apache-tomee/target/apache-tomee-jaxrs-7.0.0-SNAPSHOT/webapps/tomee">
> > -            <fileset dir="tomee-webapp/src/main/webapp"
> > includes="**/*.js"/>
> > -            <fileset dir="tomee-webapp/src/main/webapp"
> > includes="**/*.css"/>
> > -            <fileset dir="tomee-webapp/src/main/webapp"
> > includes="**/*.html"/>
> > -        </copy>
> > -    </target>
> > -
> > -    <target name="plus">
> > -        <copy verbose="true"
> >
> todir="apache-tomee/target/apache-tomee-plus-7.0.0-SNAPSHOT/webapps/tomee">
> > -            <fileset dir="tomee-webapp/src/main/webapp"
> > includes="**/*.js"/>
> > -            <fileset dir="tomee-webapp/src/main/webapp"
> > includes="**/*.css"/>
> > -            <fileset dir="tomee-webapp/src/main/webapp"
> > includes="**/*.html"/>
> > -        </copy>
> > -    </target>
> > -
> > -</project>
> > -
> > +<?xml version="1.0" encoding="UTF-8"?>
> > +<!--
> > +
> > +    Licensed to the Apache Software Foundation (ASF) under one or more
> > +    contributor license agreements.  See the NOTICE file distributed
> with
> > +    this work for additional information regarding copyright ownership.
> > +    The ASF licenses this file to You 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.
> > +-->
> > +<project name="dev-helper" default="web">
> > +
> > +    <target name="web">
> > +        <copy verbose="true"
> >
> todir="apache-tomee/target/apache-tomee-webprofile-7.0.0-SNAPSHOT/webapps/tomee">
> > +            <fileset dir="tomee-webapp/src/main/webapp"
> > includes="**/*.js"/>
> > +            <fileset dir="tomee-webapp/src/main/webapp"
> > includes="**/*.css"/>
> > +            <fileset dir="tomee-webapp/src/main/webapp"
> > includes="**/*.html"/>
> > +        </copy>
> > +    </target>
> > +
> > +    <target name="rs">
> > +        <copy verbose="true"
> >
> todir="apache-tomee/target/apache-tomee-jaxrs-7.0.0-SNAPSHOT/webapps/tomee">
> > +            <fileset dir="tomee-webapp/src/main/webapp"
> > includes="**/*.js"/>
> > +            <fileset dir="tomee-webapp/src/main/webapp"
> > includes="**/*.css"/>
> > +            <fileset dir="tomee-webapp/src/main/webapp"
> > includes="**/*.html"/>
> > +        </copy>
> > +    </target>
> > +
> > +    <target name="plus">
> > +        <copy verbose="true"
> >
> todir="apache-tomee/target/apache-tomee-plus-7.0.0-SNAPSHOT/webapps/tomee">
> > +            <fileset dir="tomee-webapp/src/main/webapp"
> > includes="**/*.js"/>
> > +            <fileset dir="tomee-webapp/src/main/webapp"
> > includes="**/*.css"/>
> > +            <fileset dir="tomee-webapp/src/main/webapp"
> > includes="**/*.html"/>
> > +        </copy>
> > +    </target>
> > +
> > +</project>
> > +
> >
> >
> >
> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java
> > ----------------------------------------------------------------------
> > diff --git
> >
> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java
> >
> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java
> > index 2ca6ac6..2208d91 100644
> > ---
> >
> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java
> > +++
> >
> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java
> > @@ -1,165 +1,165 @@
> > -/*
> > - * Licensed to the Apache Software Foundation (ASF) under one or more
> > - * contributor license agreements.  See the NOTICE file distributed with
> > - * this work for additional information regarding copyright ownership.
> > - * The ASF licenses this file to You 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.apache.tomee.catalina;
> > -
> > -import org.apache.catalina.Container;
> > -import org.apache.catalina.Context;
> > -import org.apache.catalina.Globals;
> > -import org.apache.catalina.Host;
> > -import org.apache.catalina.core.StandardContext;
> > -import org.apache.catalina.core.StandardEngine;
> > -import org.apache.catalina.core.StandardHost;
> > -import org.apache.catalina.util.ContextName;
> > -
> > -import java.io.File;
> > -import java.io.IOException;
> > -
> > -public class Contexts {
> > -    public static String getHostname(final StandardContext ctx) {
> > -        String hostName = null;
> > -        final Container parentHost = ctx.getParent();
> > -        if (parentHost != null) {
> > -            hostName = parentHost.getName();
> > -        }
> > -        if ((hostName == null) || (hostName.length() < 1)) {
> > -            hostName = "_";
> > -        }
> > -        return hostName;
> > -    }
> > -
> > -    public static File warPath(final Context standardContext) {
> > -        final File file = realWarPath(standardContext);
> > -        if (file == null) {
> > -            return null;
> > -        }
> > -
> > -        final String name = file.getName();
> > -        if (!file.isDirectory() && name.endsWith(".war")) {
> > -            final File extracted = new File(file.getParentFile(),
> > name.substring(0, name.length() - ".war".length()));
> > -            if (extracted.exists()) {
> > -                try {
> > -                    return extracted.getCanonicalFile();
> > -                } catch (final IOException e) {
> > -                    return extracted;
> > -                }
> > -            }
> > -        }
> > -        try {
> > -            return file.getCanonicalFile();
> > -        } catch (final IOException e) {
> > -            return file;
> > -        }
> > -    }
> > -
> > -    public static File realWarPath(final Context standardContext) {
> > -        if (standardContext == null) {
> > -            return null;
> > -        }
> > -
> > -        final File docBase;
> > -        Container container = standardContext;
> > -        while (container != null) {
> > -            if (container instanceof Host) {
> > -                break;
> > -            }
> > -            container = container.getParent();
> > -        }
> > -
> > -        String baseName = null;
> > -        if (standardContext.getDocBase() != null) {
> > -            File file = new File(standardContext.getDocBase());
> > -            if (!file.isAbsolute()) {
> > -                if (container == null) {
> > -                    docBase = new File(engineBase(standardContext),
> > standardContext.getDocBase());
> > -                } else {
> > -                    final String appBase = ((Host)
> > container).getAppBase();
> > -                    file = new File(appBase);
> > -                    if (!file.isAbsolute()) {
> > -                        file = new File(engineBase(standardContext),
> > appBase);
> > -                    }
> > -                    docBase = new File(file,
> > standardContext.getDocBase());
> > -                }
> > -            } else {
> > -                docBase = file;
> > -            }
> > -        } else {
> > -            final String path = standardContext.getPath();
> > -            if (path == null) {
> > -                throw new IllegalStateException("Can't find docBase");
> > -            } else {
> > -                baseName = new ContextName(path,
> > standardContext.getWebappVersion()).getBaseName();
> > -                docBase = new File(baseName);
> > -            }
> > -        }
> > -
> > -        if (!docBase.exists() && baseName != null) { // for old
> > compatibility, will be removed soon
> > -            if (Host.class.isInstance(container)) {
> > -                final File file = new
> > File(Host.class.cast(container).getAppBaseFile(), baseName);
> > -                if (file.exists()) {
> > -                    return file;
> > -                }
> > -            }
> > -            return oldRealWarPath(standardContext);
> > -        }
> > -
> > -        final String name = docBase.getName();
> > -        if (name.endsWith(".war")) {
> > -            final File extracted = new File(docBase.getParentFile(),
> > name.substring(0, name.length() - ".war".length()));
> > -            if (extracted.exists()) {
> > -                return extracted;
> > -            }
> > -        }
> > -
> > -        return docBase;
> > -    }
> > -
> > -    private static File engineBase(final Context standardContext) {
> > -        final String base =
> > System.getProperty(Globals.CATALINA_BASE_PROP);
> > -        if( base == null ) {
> > -            final StandardEngine eng = (StandardEngine)
> > standardContext.getParent().getParent();
> > -            return eng.getCatalinaBase();
> > -        }
> > -        return new File(base);
> > -    }
> > -
> > -    @Deprecated
> > -    private static File oldRealWarPath(final Context standardContext) {
> > -        String doc = standardContext.getDocBase();
> > -        // handle ROOT case
> > -        if (doc == null || doc.length() == 0) {
> > -            doc = "ROOT";
> > -        }
> > -
> > -        File war = new File(doc);
> > -        if (war.exists()) {
> > -            return war;
> > -        }
> > -
> > -        final StandardHost host = (StandardHost)
> > standardContext.getParent();
> > -        final String base = host.getAppBase();
> > -        war = new File(base, doc);
> > -        if (war.exists()) {
> > -            return war;
> > -        }
> > -
> > -        war = new File(new File(System.getProperty("catalina.home"),
> > base), doc);
> > -        if (war.exists()) {
> > -            return war;
> > -        }
> > -        return new File(new File(System.getProperty("catalina.base"),
> > base), doc); // shouldn't occur
> > -    }
> > -}
> > +/*
> > + * Licensed to the Apache Software Foundation (ASF) under one or more
> > + * contributor license agreements.  See the NOTICE file distributed with
> > + * this work for additional information regarding copyright ownership.
> > + * The ASF licenses this file to You 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.apache.tomee.catalina;
> > +
> > +import org.apache.catalina.Container;
> > +import org.apache.catalina.Context;
> > +import org.apache.catalina.Globals;
> > +import org.apache.catalina.Host;
> > +import org.apache.catalina.core.StandardContext;
> > +import org.apache.catalina.core.StandardEngine;
> > +import org.apache.catalina.core.StandardHost;
> > +import org.apache.catalina.util.ContextName;
> > +
> > +import java.io.File;
> > +import java.io.IOException;
> > +
> > +public class Contexts {
> > +    public static String getHostname(final StandardContext ctx) {
> > +        String hostName = null;
> > +        final Container parentHost = ctx.getParent();
> > +        if (parentHost != null) {
> > +            hostName = parentHost.getName();
> > +        }
> > +        if ((hostName == null) || (hostName.length() < 1)) {
> > +            hostName = "_";
> > +        }
> > +        return hostName;
> > +    }
> > +
> > +    public static File warPath(final Context standardContext) {
> > +        final File file = realWarPath(standardContext);
> > +        if (file == null) {
> > +            return null;
> > +        }
> > +
> > +        final String name = file.getName();
> > +        if (!file.isDirectory() && name.endsWith(".war")) {
> > +            final File extracted = new File(file.getParentFile(),
> > name.substring(0, name.length() - ".war".length()));
> > +            if (extracted.exists()) {
> > +                try {
> > +                    return extracted.getCanonicalFile();
> > +                } catch (final IOException e) {
> > +                    return extracted;
> > +                }
> > +            }
> > +        }
> > +        try {
> > +            return file.getCanonicalFile();
> > +        } catch (final IOException e) {
> > +            return file;
> > +        }
> > +    }
> > +
> > +    public static File realWarPath(final Context standardContext) {
> > +        if (standardContext == null) {
> > +            return null;
> > +        }
> > +
> > +        final File docBase;
> > +        Container container = standardContext;
> > +        while (container != null) {
> > +            if (container instanceof Host) {
> > +                break;
> > +            }
> > +            container = container.getParent();
> > +        }
> > +
> > +        String baseName = null;
> > +        if (standardContext.getDocBase() != null) {
> > +            File file = new File(standardContext.getDocBase());
> > +            if (!file.isAbsolute()) {
> > +                if (container == null) {
> > +                    docBase = new File(engineBase(standardContext),
> > standardContext.getDocBase());
> > +                } else {
> > +                    final String appBase = ((Host)
> > container).getAppBase();
> > +                    file = new File(appBase);
> > +                    if (!file.isAbsolute()) {
> > +                        file = new File(engineBase(standardContext),
> > appBase);
> > +                    }
> > +                    docBase = new File(file,
> > standardContext.getDocBase());
> > +                }
> > +            } else {
> > +                docBase = file;
> > +            }
> > +        } else {
> > +            final String path = standardContext.getPath();
> > +            if (path == null) {
> > +                throw new IllegalStateException("Can't find docBase");
> > +            } else {
> > +                baseName = new ContextName(path,
> > standardContext.getWebappVersion()).getBaseName();
> > +                docBase = new File(baseName);
> > +            }
> > +        }
> > +
> > +        if (!docBase.exists() && baseName != null) { // for old
> > compatibility, will be removed soon
> > +            if (Host.class.isInstance(container)) {
> > +                final File file = new
> > File(Host.class.cast(container).getAppBaseFile(), baseName);
> > +                if (file.exists()) {
> > +                    return file;
> > +                }
> > +            }
> > +            return oldRealWarPath(standardContext);
> > +        }
> > +
> > +        final String name = docBase.getName();
> > +        if (name.endsWith(".war")) {
> > +            final File extracted = new File(docBase.getParentFile(),
> > name.substring(0, name.length() - ".war".length()));
> > +            if (extracted.exists()) {
> > +                return extracted;
> > +            }
> > +        }
> > +
> > +        return docBase;
> > +    }
> > +
> > +    private static File engineBase(final Context standardContext) {
> > +        final String base =
> > System.getProperty(Globals.CATALINA_BASE_PROP);
> > +        if( base == null ) {
> > +            final StandardEngine eng = (StandardEngine)
> > standardContext.getParent().getParent();
> > +            return eng.getCatalinaBase();
> > +        }
> > +        return new File(base);
> > +    }
> > +
> > +    @Deprecated
> > +    private static File oldRealWarPath(final Context standardContext) {
> > +        String doc = standardContext.getDocBase();
> > +        // handle ROOT case
> > +        if (doc == null || doc.length() == 0) {
> > +            doc = "ROOT";
> > +        }
> > +
> > +        File war = new File(doc);
> > +        if (war.exists()) {
> > +            return war;
> > +        }
> > +
> > +        final StandardHost host = (StandardHost)
> > standardContext.getParent();
> > +        final String base = host.getAppBase();
> > +        war = new File(base, doc);
> > +        if (war.exists()) {
> > +            return war;
> > +        }
> > +
> > +        war = new File(new File(System.getProperty("catalina.home"),
> > base), doc);
> > +        if (war.exists()) {
> > +            return war;
> > +        }
> > +        return new File(new File(System.getProperty("catalina.base"),
> > base), doc); // shouldn't occur
> > +    }
> > +}
> >
> >
> >
> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
> > ----------------------------------------------------------------------
> > diff --git
> >
> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
> >
> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
> > index eee2d2a..2308db0 100644
> > ---
> >
> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
> > +++
> >
> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
> > @@ -1,121 +1,121 @@
> > -/*
> > - * Licensed to the Apache Software Foundation (ASF) under one or more
> > - * contributor license agreements.  See the NOTICE file distributed with
> > - * this work for additional information regarding copyright ownership.
> > - * The ASF licenses this file to You 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.apache.tomee.catalina;
> > -
> > -import org.apache.catalina.Context;
> > -import org.apache.catalina.LifecycleException;
> > -import org.apache.catalina.loader.WebappLoader;
> > -import org.apache.openejb.ClassLoaderUtil;
> > -import org.apache.openejb.classloader.ClassLoaderConfigurer;
> > -import org.apache.openejb.classloader.CompositeClassLoaderConfigurer;
> > -import org.apache.openejb.config.QuickJarsTxtParser;
> > -import org.apache.openejb.loader.SystemInstance;
> > -
> > -import java.io.File;
> > -
> > -/**
> > - * Usage example in META-INF/context.xml
> > - * <p/>
> > - * <p/>
> > - * <Context antiJARLocking="true" >
> > - * <Loader
> > - * className="org.apache.tomee.catalina.ProvisioningWebappLoader"
> > - * searchExternalFirst="true"
> > - *
> >
> virtualClasspath="mvn:commons-el:commons-el:1.0;mvn:commons-el:commons-el:1.0"
> > - * searchVirtualFirst="true"
> > - * />
> > - * </Context>
> > - */
> > -public class TomEEWebappLoader extends WebappLoader {
> > -    public static final boolean SKIP_BACKGROUND_PROCESS =
> >
> "true".equals(SystemInstance.get().getProperty("tomee.classloader.skip-background-process",
> > "false"));
> > -
> > -    private volatile ClassLoader loader;
> > -
> > -    @Override
> > -    public void backgroundProcess() {
> > -        if (SKIP_BACKGROUND_PROCESS) {
> > -            return;
> > -        }
> > -
> > -        final ClassLoader classloader = super.getClassLoader();
> > -        if (classloader instanceof TomEEWebappClassLoader) {
> > -            final TomEEWebappClassLoader tomEEWebappClassLoader =
> > (TomEEWebappClassLoader) classloader;
> > -            tomEEWebappClassLoader.restarting();
> > -            try {
> > -                super.backgroundProcess();
> > -            } finally {
> > -                tomEEWebappClassLoader.restarted();
> > -            }
> > -        } else {
> > -            super.backgroundProcess();
> > -        }
> > -    }
> > -
> > -    @Override
> > -    public boolean modified() {
> > -        return !SKIP_BACKGROUND_PROCESS && super.modified();
> > -    }
> > -
> > -    @Override
> > -    protected void stopInternal() throws LifecycleException {
> > -        loader = getClassLoader();
> > -        super.stopInternal();
> > -    }
> > -
> > -    public void clearLoader() {
> > -        loader = null;
> > -    }
> > -
> > -    public ClassLoader internalLoader() {
> > -        return loader;
> > -    }
> > -
> > -    @Override
> > -    protected void startInternal() throws LifecycleException {
> > -        if (getClassLoader() != null) {
> > -            final TomEEWebappClassLoader webappClassLoader =
> > TomEEWebappClassLoader.class.cast(getClassLoader());
> > -            if (webappClassLoader.isStopped()) {
> > -                webappClassLoader.internalStop();
> > -            }
> > -        }
> > -
> > -        final Context context = getContext();
> > -
> > -        ClassLoaderConfigurer configurer =
> > ClassLoaderUtil.configurer(context.getName());
> > -
> > -        // WEB-INF/jars.xml
> > -        final File war = Contexts.warPath(Context.class.cast(context));
> > -        final File jarsXml = new File(war, "WEB-INF/" +
> > QuickJarsTxtParser.FILE_NAME);
> > -        final ClassLoaderConfigurer configurerTxt =
> > QuickJarsTxtParser.parse(jarsXml);
> > -        if (configurerTxt != null) {
> > -            configurer = new CompositeClassLoaderConfigurer(configurer,
> > configurerTxt);
> > -        }
> > -
> > -        TomEEWebappClassLoader.initContext(configurer);
> > -        TomEEWebappClassLoader.initContext(context);
> > -        try {
> > -            super.startInternal();
> > -        } finally {
> > -            TomEEWebappClassLoader.cleanContext();
> > -        }
> > -    }
> > -
> > -    @Override
> > -    public String toString() {
> > -        return "TomEE" + super.toString();
> > -    }
> > -}
> > +/*
> > + * Licensed to the Apache Software Foundation (ASF) under one or more
> > + * contributor license agreements.  See the NOTICE file distributed with
> > + * this work for additional information regarding copyright ownership.
> > + * The ASF licenses this file to You 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.apache.tomee.catalina;
> > +
> > +import org.apache.catalina.Context;
> > +import org.apache.catalina.LifecycleException;
> > +import org.apache.catalina.loader.WebappLoader;
> > +import org.apache.openejb.ClassLoaderUtil;
> > +import org.apache.openejb.classloader.ClassLoaderConfigurer;
> > +import org.apache.openejb.classloader.CompositeClassLoaderConfigurer;
> > +import org.apache.openejb.config.QuickJarsTxtParser;
> > +import org.apache.openejb.loader.SystemInstance;
> > +
> > +import java.io.File;
> > +
> > +/**
> > + * Usage example in META-INF/context.xml
> > + * <p/>
> > + * <p/>
> > + * <Context antiJARLocking="true" >
> > + * <Loader
> > + * className="org.apache.tomee.catalina.ProvisioningWebappLoader"
> > + * searchExternalFirst="true"
> > + *
> >
> virtualClasspath="mvn:commons-el:commons-el:1.0;mvn:commons-el:commons-el:1.0"
> > + * searchVirtualFirst="true"
> > + * />
> > + * </Context>
> > + */
> > +public class TomEEWebappLoader extends WebappLoader {
> > +    public static final boolean SKIP_BACKGROUND_PROCESS =
> >
> "true".equals(SystemInstance.get().getProperty("tomee.classloader.skip-background-process",
> > "false"));
> > +
> > +    private volatile ClassLoader loader;
> > +
> > +    @Override
> > +    public void backgroundProcess() {
> > +        if (SKIP_BACKGROUND_PROCESS) {
> > +            return;
> > +        }
> > +
> > +        final ClassLoader classloader = super.getClassLoader();
> > +        if (classloader instanceof TomEEWebappClassLoader) {
> > +            final TomEEWebappClassLoader tomEEWebappClassLoader =
> > (TomEEWebappClassLoader) classloader;
> > +            tomEEWebappClassLoader.restarting();
> > +            try {
> > +                super.backgroundProcess();
> > +            } finally {
> > +                tomEEWebappClassLoader.restarted();
> > +            }
> > +        } else {
> > +            super.backgroundProcess();
> > +        }
> > +    }
> > +
> > +    @Override
> > +    public boolean modified() {
> > +        return !SKIP_BACKGROUND_PROCESS && super.modified();
> > +    }
> > +
> > +    @Override
> > +    protected void stopInternal() throws LifecycleException {
> > +        loader = getClassLoader();
> > +        super.stopInternal();
> > +    }
> > +
> > +    public void clearLoader() {
> > +        loader = null;
> > +    }
> > +
> > +    public ClassLoader internalLoader() {
> > +        return loader;
> > +    }
> > +
> > +    @Override
> > +    protected void startInternal() throws LifecycleException {
> > +        if (getClassLoader() != null) {
> > +            final TomEEWebappClassLoader webappClassLoader =
> > TomEEWebappClassLoader.class.cast(getClassLoader());
> > +            if (webappClassLoader.isStopped()) {
> > +                webappClassLoader.internalStop();
> > +            }
> > +        }
> > +
> > +        final Context context = getContext();
> > +
> > +        ClassLoaderConfigurer configurer =
> > ClassLoaderUtil.configurer(context.getName());
> > +
> > +        // WEB-INF/jars.xml
> > +        final File war = Contexts.warPath(Context.class.cast(context));
> > +        final File jarsXml = new File(war, "WEB-INF/" +
> > QuickJarsTxtParser.FILE_NAME);
> > +        final ClassLoaderConfigurer configurerTxt =
> > QuickJarsTxtParser.parse(jarsXml);
> > +        if (configurerTxt != null) {
> > +            configurer = new CompositeClassLoaderConfigurer(configurer,
> > configurerTxt);
> > +        }
> > +
> > +        TomEEWebappClassLoader.initContext(configurer);
> > +        TomEEWebappClassLoader.initContext(context);
> > +        try {
> > +            super.startInternal();
> > +        } finally {
> > +            TomEEWebappClassLoader.cleanContext();
> > +        }
> > +    }
> > +
> > +    @Override
> > +    public String toString() {
> > +        return "TomEE" + super.toString();
> > +    }
> > +}
> >
> >
> >
> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatDeploymentLoader.java
> > ----------------------------------------------------------------------
> > diff --git
> >
> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatDeploymentLoader.java
> >
> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatDeploymentLoader.java
> > index 03fea68..4496e54 100644
> > ---
> >
> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatDeploymentLoader.java
> > +++
> >
> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatDeploymentLoader.java
> > @@ -1,43 +1,43 @@
> > -/*
> > - * Licensed to the Apache Software Foundation (ASF) under one or more
> > - * contributor license agreements.  See the NOTICE file distributed with
> > - * this work for additional information regarding copyright ownership.
> > - * The ASF licenses this file to You 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.apache.tomee.catalina;
> > -
> > -import org.apache.catalina.core.StandardContext;
> > -import org.apache.openejb.config.DeploymentLoader;
> > -
> > -/**
> > - * @version $Id$
> > - */
> > -public class TomcatDeploymentLoader extends DeploymentLoader {
> > -    private StandardContext standardContext;
> > -    private String moduleId;
> > -
> > -    public TomcatDeploymentLoader(final StandardContext standardContext,
> > final String moduleId) {
> > -        this.standardContext = standardContext;
> > -        this.moduleId = moduleId;
> > -    }
> > -
> > -    @Override
> > -    protected String getContextRoot() {
> > -        return standardContext.getPath();
> > -    }
> > -
> > -    @Override
> > -    protected String getModuleName() {
> > -        return moduleId;
> > -    }
> > -}
> > +/*
> > + * Licensed to the Apache Software Foundation (ASF) under one or more
> > + * contributor license agreements.  See the NOTICE file distributed with
> > + * this work for additional information regarding copyright ownership.
> > + * The ASF licenses this file to You 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.apache.tomee.catalina;
> > +
> > +import org.apache.catalina.core.StandardContext;
> > +import org.apache.openejb.config.DeploymentLoader;
> > +
> > +/**
> > + * @version $Id$
> > + */
> > +public class TomcatDeploymentLoader extends DeploymentLoader {
> > +    private StandardContext standardContext;
> > +    private String moduleId;
> > +
> > +    public TomcatDeploymentLoader(final StandardContext standardContext,
> > final String moduleId) {
> > +        this.standardContext = standardContext;
> > +        this.moduleId = moduleId;
> > +    }
> > +
> > +    @Override
> > +    protected String getContextRoot() {
> > +        return standardContext.getPath();
> > +    }
> > +
> > +    @Override
> > +    protected String getModuleName() {
> > +        return moduleId;
> > +    }
> > +}
> >
> >
> >
> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java
> > ----------------------------------------------------------------------
> > diff --git
> > a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java
> > b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java
> > index 1720f9f..a2c8d06 100644
> > ---
> > a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java
> > +++
> > b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java
> > @@ -1,134 +1,134 @@
> > -/**
> > - * Licensed to the Apache Software Foundation (ASF) under one or more
> > - * contributor license agreements.  See the NOTICE file distributed with
> > - * this work for additional information regarding copyright ownership.
> > - * The ASF licenses this file to You 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.apache.tomee.embedded;
> > -
> > -import java.io.File;
> > -import java.util.Set;
> > -
> > -import org.apache.commons.cli.CommandLine;
> > -import org.apache.commons.cli.CommandLineParser;
> > -import org.apache.commons.cli.HelpFormatter;
> > -import org.apache.commons.cli.Options;
> > -import org.apache.commons.cli.ParseException;
> > -import org.apache.commons.cli.PosixParser;
> > -import org.apache.openejb.loader.ProvisioningUtil;
> > -
> > -import static org.apache.openejb.loader.JarLocation.jarLocation;
> > -
> > -public class Main {
> > -    public static final String PORT = "port";
> > -    public static final String SHUTDOWN = "shutdown";
> > -    public static final String PATH = "path";
> > -    public static final String CONTEXT = "context";
> > -    public static final String DIRECTORY = "directory";
> > -    public static final String DOC_BASE = "doc-base";
> > -    public static final String AS_WAR = "as-war";
> > -
> > -    public static void main(final String[] args) {
> > -        final CommandLineParser parser = new PosixParser();
> > -        final Options options = createOptions();
> > -
> > -        // parse command line
> > -        final CommandLine line;
> > -        try {
> > -            line = parser.parse(options, args, true);
> > -        } catch (final ParseException exp) {
> > -            new HelpFormatter().printHelp("java -jar
> > tomee-embedded-user.jar", options);
> > -            return;
> > -        }
> > -
> > -        // run TomEE
> > -        try {
> > -            final Container container = new
> > Container(createConfiguration(line));
> > -            final String[] contexts;
> > -            if (line.hasOption(CONTEXT)) {
> > -                contexts = line.getOptionValues(CONTEXT);
> > -            } else {
> > -                contexts = null;
> > -            }
> > -
> > -            boolean autoWar = true;
> > -            int i = 0;
> > -            if (line.hasOption(PATH)) {
> > -                for (final String path : line.getOptionValues(PATH)) {
> > -                    final Set<String> locations =
> > ProvisioningUtil.realLocation(path);
> > -                    for (final String location : locations) {
> > -                        final File file = new File(location);
> > -                        if (!file.exists()) {
> > -                            System.err.println(file.getAbsolutePath() +
> "
> > does not exist, skipping");
> > -                            continue;
> > -                        }
> > -
> > -                        String name =
> > file.getName().replaceAll("\\.[A-Za-z]+$", "");
> > -                        if (contexts != null) {
> > -                            name = contexts[i++];
> > -                        }
> > -                        container.deploy(name, file, true);
> > -                    }
> > -                }
> > -                autoWar = false;
> > -            }
> > -            if (line.hasOption(AS_WAR)) {
> > -                container.deployClasspathAsWebApp(contexts == null || i
> > == contexts.length ? "" : contexts[i],
> > -                        line.hasOption(DOC_BASE) ? new
> > File(line.getOptionValue(DOC_BASE)) : null);
> > -                autoWar = false;
> > -            }
> > -            if (autoWar) { // nothing deployed check if we are a war and
> > deploy ourself then
> > -                final File me = jarLocation(Main.class);
> > -                if (me.getName().endsWith(".war")) {
> > -                    container.deploy(contexts == null || i ==
> > contexts.length ? "" : contexts[i], me);
> > -                }
> > -            }
> > -
> > -            Runtime.getRuntime().addShutdownHook(new Thread() {
> > -                @Override
> > -                public void run() {
> > -                    try {
> > -                        container.stop();
> > -                    } catch (final Exception e) {
> > -                        e.printStackTrace(); // just log the exception
> > -                    }
> > -                }
> > -            });
> > -            container.await();
> > -        } catch (final Exception e) {
> > -            e.printStackTrace();
> > -        }
> > -    }
> > -
> > -    private static Options createOptions() {
> > -        final Options options = new Options();
> > -        options.addOption(null, PATH, true, "");
> > -        options.addOption(null, CONTEXT, true, "Context name for
> > applications (same order than paths)");
> > -        options.addOption("p", PORT, true, "TomEE http port");
> > -        options.addOption("s", SHUTDOWN, true, "TomEE shutdown port");
> > -        options.addOption("d", DIRECTORY, true, "TomEE directory");
> > -        options.addOption("c", AS_WAR, false, "deploy classpath as
> war");
> > -        options.addOption("b", DOC_BASE, true, "when deploy classpath as
> > war, the doc base");
> > -        return options;
> > -    }
> > -
> > -    private static Configuration createConfiguration(final CommandLine
> > args) {
> > -        final Configuration config = new Configuration();
> > -        config.setDir(System.getProperty("java.io.tmpdir"));
> > -        config.setHttpPort(Integer.parseInt(args.getOptionValue(PORT,
> > "8080")));
> > -
> config.setStopPort(Integer.parseInt(args.getOptionValue(SHUTDOWN,
> > "8005")));
> > -        config.setDir(args.getOptionValue(DIRECTORY, new File(new
> > File("."), "apache-tomee").getAbsolutePath()));
> > -        return config;
> > -    }
> > -
> > -}
> > +/**
> > + * Licensed to the Apache Software Foundation (ASF) under one or more
> > + * contributor license agreements.  See the NOTICE file distributed with
> > + * this work for additional information regarding copyright ownership.
> > + * The ASF licenses this file to You 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.apache.tomee.embedded;
> > +
> > +import java.io.File;
> > +import java.util.Set;
> > +
> > +import org.apache.commons.cli.CommandLine;
> > +import org.apache.commons.cli.CommandLineParser;
> > +import org.apache.commons.cli.HelpFormatter;
> > +import org.apache.commons.cli.Options;
> > +import org.apache.commons.cli.ParseException;
> > +import org.apache.commons.cli.PosixParser;
> > +import org.apache.openejb.loader.ProvisioningUtil;
> > +
> > +import static org.apache.openejb.loader.JarLocation.jarLocation;
> > +
> > +public class Main {
> > +    public static final String PORT = "port";
> > +    public static final String SHUTDOWN = "shutdown";
> > +    public static final String PATH = "path";
> > +    public static final String CONTEXT = "context";
> > +    public static final String DIRECTORY = "directory";
> > +    public static final String DOC_BASE = "doc-base";
> > +    public static final String AS_WAR = "as-war";
> > +
> > +    public static void main(final String[] args) {
> > +        final CommandLineParser parser = new PosixParser();
> > +        final Options options = createOptions();
> > +
> > +        // parse command line
> > +        final CommandLine line;
> > +        try {
> > +            line = parser.parse(options, args, true);
> > +        } catch (final ParseException exp) {
> > +            new HelpFormatter().printHelp("java -jar
> > tomee-embedded-user.jar", options);
> > +            return;
> > +        }
> > +
> > +        // run TomEE
> > +        try {
> > +            final Container container = new
> > Container(createConfiguration(line));
> > +            final String[] contexts;
> > +            if (line.hasOption(CONTEXT)) {
> > +                contexts = line.getOptionValues(CONTEXT);
> > +            } else {
> > +                contexts = null;
> > +            }
> > +
> > +            boolean autoWar = true;
> > +            int i = 0;
> > +            if (line.hasOption(PATH)) {
> > +                for (final String path : line.getOptionValues(PATH)) {
> > +                    final Set<String> locations =
> > ProvisioningUtil.realLocation(path);
> > +                    for (final String location : locations) {
> > +                        final File file = new File(location);
> > +                        if (!file.exists()) {
> > +                            System.err.println(file.getAbsolutePath() +
> "
> > does not exist, skipping");
> > +                            continue;
> > +                        }
> > +
> > +                        String name =
> > file.getName().replaceAll("\\.[A-Za-z]+$", "");
> > +                        if (contexts != null) {
> > +                            name = contexts[i++];
> > +                        }
> > +                        container.deploy(name, file, true);
> > +                    }
> > +                }
> > +                autoWar = false;
> > +            }
> > +            if (line.hasOption(AS_WAR)) {
> > +                container.deployClasspathAsWebApp(contexts == null || i
> > == contexts.length ? "" : contexts[i],
> > +                        line.hasOption(DOC_BASE) ? new
> > File(line.getOptionValue(DOC_BASE)) : null);
> > +                autoWar = false;
> > +            }
> > +            if (autoWar) { // nothing deployed check if we are a war and
> > deploy ourself then
> > +                final File me = jarLocation(Main.class);
> > +                if (me.getName().endsWith(".war")) {
> > +                    container.deploy(contexts == null || i ==
> > contexts.length ? "" : contexts[i], me);
> > +                }
> > +            }
> > +
> > +            Runtime.getRuntime().addShutdownHook(new Thread() {
> > +                @Override
> > +                public void run() {
> > +                    try {
> > +                        container.stop();
> > +                    } catch (final Exception e) {
> > +                        e.printStackTrace(); // just log the exception
> > +                    }
> > +                }
> > +            });
> > +            container.await();
> > +        } catch (final Exception e) {
> > +            e.printStackTrace();
> > +        }
> > +    }
> > +
> > +    private static Options createOptions() {
> > +        final Options options = new Options();
> > +        options.addOption(null, PATH, true, "");
> > +        options.addOption(null, CONTEXT, true, "Context name for
> > applications (same order than paths)");
> > +        options.addOption("p", PORT, true, "TomEE http port");
> > +        options.addOption("s", SHUTDOWN, true, "TomEE shutdown port");
> > +        options.addOption("d", DIRECTORY, true, "TomEE directory");
> > +        options.addOption("c", AS_WAR, false, "deploy classpath as
> war");
> > +        options.addOption("b", DOC_BASE, true, "when deploy classpath as
> > war, the doc base");
> > +        return options;
> > +    }
> > +
> > +    private static Configuration createConfiguration(final CommandLine
> > args) {
> > +        final Configuration config = new Configuration();
> > +        config.setDir(System.getProperty("java.io.tmpdir"));
> > +        config.setHttpPort(Integer.parseInt(args.getOptionValue(PORT,
> > "8080")));
> > +
> config.setStopPort(Integer.parseInt(args.getOptionValue(SHUTDOWN,
> > "8005")));
> > +        config.setDir(args.getOptionValue(DIRECTORY, new File(new
> > File("."), "apache-tomee").getAbsolutePath()));
> > +        return config;
> > +    }
> > +
> > +}
> >
> >
> >
> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.policy
> > ----------------------------------------------------------------------
> > diff --git
> >
> a/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.policy
> >
> b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.policy
> > index 1d8fcef..f5a4247 100644
> > ---
> >
> a/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.policy
> > +++
> >
> b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.policy
> > @@ -1,241 +1,241 @@
> > -// Licensed to the Apache Software Foundation (ASF) under one or more
> > -// contributor license agreements.  See the NOTICE file distributed with
> > -// this work for additional information regarding copyright ownership.
> > -// The ASF licenses this file to You 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.
> > -
> > -//
> >
> ============================================================================
> > -// catalina.policy - Security Policy Permissions for Tomcat 7
> > -//
> > -// This file contains a default set of security policies to be enforced
> > (by the
> > -// JVM) when Catalina is executed with the "-security" option.  In
> > addition
> > -// to the permissions granted here, the following additional permissions
> > are
> > -// granted specific to each web application:
> > -//
> > -// * Read access to its document root directory
> > -// * Read, write and delete access to its working directory
> > -//
> > -// $Id: catalina.policy 1079755 2011-03-09 11:38:38Z markt $
> > -//
> >
> ============================================================================
> > -
> > -
> > -// ========== SYSTEM CODE PERMISSIONS
> > =========================================
> > -
> > -
> > -// These permissions apply to javac
> > -grant codeBase "file:${java.home}/lib/-" {
> > -        permission java.security.AllPermission;
> > -};
> > -
> > -// These permissions apply to all shared system extensions
> > -grant codeBase "file:${java.home}/jre/lib/ext/-" {
> > -        permission java.security.AllPermission;
> > -};
> > -
> > -// These permissions apply to javac when ${java.home] points at
> > $JAVA_HOME/jre
> > -grant codeBase "file:${java.home}/../lib/-" {
> > -        permission java.security.AllPermission;
> > -};
> > -
> > -// These permissions apply to all shared system extensions when
> > -// ${java.home} points at $JAVA_HOME/jre
> > -grant codeBase "file:${java.home}/lib/ext/-" {
> > -        permission java.security.AllPermission;
> > -};
> > -
> > -
> > -// ========== CATALINA CODE PERMISSIONS
> > =======================================
> > -
> > -
> > -// These permissions apply to the daemon code
> > -grant codeBase "file:${catalina.home}/bin/commons-daemon.jar" {
> > -        permission java.security.AllPermission;
> > -};
> > -
> > -// These permissions apply to the logging API
> > -// Note: If tomcat-juli.jar is in ${catalina.base} and not in
> > ${catalina.home},
> > -// update this section accordingly.
> > -//  grant codeBase "file:${catalina.base}/bin/tomcat-juli.jar" {..}
> > -grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
> > -        permission java.io.FilePermission
> > -
> >  "${java.home}${file.separator}lib${file.separator}logging.properties",
> > "read";
> > -
> > -        permission java.io.FilePermission
> > -
> >
> "${catalina.base}${file.separator}conf${file.separator}logging.properties",
> > "read";
> > -        permission java.io.FilePermission
> > -         "${catalina.base}${file.separator}logs", "read, write";
> > -        permission java.io.FilePermission
> > -         "${catalina.base}${file.separator}logs${file.separator}*",
> > "read, write";
> > -
> > -        permission java.lang.RuntimePermission "shutdownHooks";
> > -        permission java.lang.RuntimePermission "getClassLoader";
> > -        permission java.lang.RuntimePermission "setContextClassLoader";
> > -
> > -        permission java.util.logging.LoggingPermission "control";
> > -
> > -        permission java.util.PropertyPermission
> > "java.util.logging.config.class", "read";
> > -        permission java.util.PropertyPermission
> > "java.util.logging.config.file", "read";
> > -        permission java.util.PropertyPermission "catalina.base", "read";
> > -
> > -        // Note: To enable per context logging configuration, permit
> read
> > access to
> > -        // the appropriate file. Be sure that the logging configuration
> is
> > -        // secure before enabling such access.
> > -        // E.g. for the examples web application:
> > -        // permission java.io.FilePermission
> > "${catalina.base}${file.separator}
> > -        //  webapps${file.separator}examples${file.separator}WEB-INF
> > -        //
> ${file.separator}classes${file.separator}logging.properties",
> > "read";
> > -};
> > -
> > -// These permissions apply to the server startup code
> > -grant codeBase "file:${catalina.home}/bin/bootstrap.jar" {
> > -        permission java.security.AllPermission;
> > -};
> > -
> > -// These permissions apply to the servlet API classes
> > -// and those that are shared across all class loaders
> > -// located in the "lib" directory
> > -grant codeBase "file:${catalina.home}/lib/-" {
> > -        permission java.security.AllPermission;
> > -};
> > -
> > -
> > -// If using a per instance lib directory, i.e. ${catalina.base}/lib,
> > -// then the following permission will need to be uncommented
> > -// grant codeBase "file:${catalina.base}/lib/-" {
> > -//         permission java.security.AllPermission;
> > -// };
> > -
> > -
> > -// ========== WEB APPLICATION PERMISSIONS
> > =====================================
> > -
> > -
> > -// These permissions are granted by default to all web applications
> > -// In addition, a web application will be given a read FilePermission
> > -// and JndiPermission for all files and directories in its document
> root.
> > -grant {
> > -    // Required for JNDI lookup of named JDBC DataSource's and
> > -    // javamail named MimePart DataSource used to send mail
> > -    permission java.util.PropertyPermission "java.home", "read";
> > -    permission java.util.PropertyPermission "java.naming.*", "read";
> > -    permission java.util.PropertyPermission "javax.sql.*", "read";
> > -
> > -    // OS Specific properties to allow read access
> > -    permission java.util.PropertyPermission "os.name", "read";
> > -    permission java.util.PropertyPermission "os.version", "read";
> > -    permission java.util.PropertyPermission "os.arch", "read";
> > -    permission java.util.PropertyPermission "file.separator", "read";
> > -    permission java.util.PropertyPermission "path.separator", "read";
> > -    permission java.util.PropertyPermission "line.separator", "read";
> > -
> > -    // JVM properties to allow read access
> > -    permission java.util.PropertyPermission "java.version", "read";
> > -    permission java.util.PropertyPermission "java.vendor", "read";
> > -    permission java.util.PropertyPermission "java.vendor.url", "read";
> > -    permission java.util.PropertyPermission "java.class.version",
> "read";
> > -    permission java.util.PropertyPermission
> "java.specification.version",
> > "read";
> > -    permission java.util.PropertyPermission "java.specification.vendor",
> > "read";
> > -    permission java.util.PropertyPermission "java.specification.name",
> > "read";
> > -
> > -    permission java.util.PropertyPermission
> > "java.vm.specification.version", "read";
> > -    permission java.util.PropertyPermission
> > "java.vm.specification.vendor", "read";
> > -    permission java.util.PropertyPermission "java.vm.specification.name
> ",
> > "read";
> > -    permission java.util.PropertyPermission "java.vm.version", "read";
> > -    permission java.util.PropertyPermission "java.vm.vendor", "read";
> > -    permission java.util.PropertyPermission "java.vm.name", "read";
> > -
> > -    // Required for OpenJMX
> > -    permission java.lang.RuntimePermission "getAttribute";
> > -
> > -    // Allow read of JAXP compliant XML parser debug
> > -    permission java.util.PropertyPermission "jaxp.debug", "read";
> > -
> > -    // All JSPs need to be able to read this package
> > -    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.tomcat";
> > -
> > -    // Precompiled JSPs need access to these packages.
> > -    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.jasper.el";
> > -    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.jasper.runtime";
> > -    permission java.lang.RuntimePermission
> > -     "accessClassInPackage.org.apache.jasper.runtime.*";
> > -
> > -    // Precompiled JSPs need access to these system properties.
> > -    permission java.util.PropertyPermission
> > -     "org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER", "read";
> > -    permission java.util.PropertyPermission
> > -     "org.apache.el.parser.COERCE_TO_ZERO", "read";
> > -
> > -    // The cookie code needs these.
> > -    permission java.util.PropertyPermission
> > -     "org.apache.catalina.STRICT_SERVLET_COMPLIANCE", "read";
> > -    permission java.util.PropertyPermission
> > -     "org.apache.tomcat.util.http.ServerCookie.STRICT_NAMING", "read";
> > -    permission java.util.PropertyPermission
> > -     "org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR",
> > "read";
> > -
> > -    // Applications using Comet need to be able to access this package
> > -    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.catalina.comet";
> > -};
> > -
> > -
> > -// The Manager application needs access to the following packages to
> > support the
> > -// session display functionality. These settings support the following
> > -// configurations:
> > -// - default CATALINA_HOME == CATALINA_BASE
> > -// - CATALINA_HOME != CATALINA_BASE, per instance Manager in
> CATALINA_BASE
> > -// - CATALINA_HOME != CATALINA_BASE, shared Manager in CATALINA_HOME
> > -grant codeBase "file:${catalina.base}/webapps/manager/-" {
> > -    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.catalina";
> > -    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.catalina.ha.session";
> > -    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.catalina.manager";
> > -    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.catalina.manager.util";
> > -    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.catalina.util";
> > -};
> > -grant codeBase "file:${catalina.home}/webapps/manager/-" {
> > -    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.catalina";
> > -    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.catalina.ha.session";
> > -    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.catalina.manager";
> > -    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.catalina.manager.util";
> > -    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.catalina.util";
> > -};
> > -
> > -// You can assign additional permissions to particular web applications
> by
> > -// adding additional "grant" entries here, based on the code base for
> that
> > -// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files.
> > -//
> > -// Different permissions can be granted to JSP pages, classes loaded
> from
> > -// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/
> > -// directory, or even to individual jar files in the /WEB-INF/lib/
> > directory.
> > -//
> > -// For instance, assume that the standard "examples" application
> > -// included a JDBC driver that needed to establish a network connection
> > to the
> > -// corresponding database and used the scrape taglib to get the weather
> > from
> > -// the NOAA web server.  You might create a "grant" entries like this:
> > -//
> > -// The permissions granted to the context root directory apply to JSP
> > pages.
> > -// grant codeBase "file:${catalina.base}/webapps/examples/-" {
> > -//      permission java.net.SocketPermission "dbhost.mycompany.com:5432
> ",
> > "connect";
> > -//      permission java.net.SocketPermission "*.noaa.gov:80",
> "connect";
> > -// };
> > -//
> > -// The permissions granted to the context WEB-INF/classes directory
> > -// grant codeBase
> > "file:${catalina.base}/webapps/examples/WEB-INF/classes/-" {
> > -// };
> > -//
> > -// The permission granted to your JDBC driver
> > -// grant codeBase
> > "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/driver.jar!/-" {
> > -//      permission java.net.SocketPermission "dbhost.mycompany.com:5432
> ",
> > "connect";
> > -// };
> > -// The permission granted to the scrape taglib
> > -// grant codeBase
> > "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/scrape.jar!/-" {
> > -//      permission java.net.SocketPermission "*.noaa.gov:80",
> "connect";
> > -// };
> > -
> > +// Licensed to the Apache Software Foundation (ASF) under one or more
> > +// contributor license agreements.  See the NOTICE file distributed with
> > +// this work for additional information regarding copyright ownership.
> > +// The ASF licenses this file to You 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.
> > +
> > +//
> >
> ============================================================================
> > +// catalina.policy - Security Policy Permissions for Tomcat 7
> > +//
> > +// This file contains a default set of security policies to be enforced
> > (by the
> > +// JVM) when Catalina is executed with the "-security" option.  In
> > addition
> > +// to the permissions granted here, the following additional permissions
> > are
> > +// granted specific to each web application:
> > +//
> > +// * Read access to its document root directory
> > +// * Read, write and delete access to its working directory
> > +//
> > +// $Id: catalina.policy 1079755 2011-03-09 11:38:38Z markt $
> > +//
> >
> ============================================================================
> > +
> > +
> > +// ========== SYSTEM CODE PERMISSIONS
> > =========================================
> > +
> > +
> > +// These permissions apply to javac
> > +grant codeBase "file:${java.home}/lib/-" {
> > +        permission java.security.AllPermission;
> > +};
> > +
> > +// These permissions apply to all shared system extensions
> > +grant codeBase "file:${java.home}/jre/lib/ext/-" {
> > +        permission java.security.AllPermission;
> > +};
> > +
> > +// These permissions apply to javac when ${java.home] points at
> > $JAVA_HOME/jre
> > +grant codeBase "file:${java.home}/../lib/-" {
> > +        permission java.security.AllPermission;
> > +};
> > +
> > +// These permissions apply to all shared system extensions when
> > +// ${java.home} points at $JAVA_HOME/jre
> > +grant codeBase "file:${java.home}/lib/ext/-" {
> > +        permission java.security.AllPermission;
> > +};
> > +
> > +
> > +// ========== CATALINA CODE PERMISSIONS
> > =======================================
> > +
> > +
> > +// These permissions apply to the daemon code
> > +grant codeBase "file:${catalina.home}/bin/commons-daemon.jar" {
> > +        permission java.security.AllPermission;
> > +};
> > +
> > +// These permissions apply to the logging API
> > +// Note: If tomcat-juli.jar is in ${catalina.base} and not in
> > ${catalina.home},
> > +// update this section accordingly.
> > +//  grant codeBase "file:${catalina.base}/bin/tomcat-juli.jar" {..}
> > +grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
> > +        permission java.io.FilePermission
> > +
> >  "${java.home}${file.separator}lib${file.separator}logging.properties",
> > "read";
> > +
> > +        permission java.io.FilePermission
> > +
> >
> "${catalina.base}${file.separator}conf${file.separator}logging.properties",
> > "read";
> > +        permission java.io.FilePermission
> > +         "${catalina.base}${file.separator}logs", "read, write";
> > +        permission java.io.FilePermission
> > +         "${catalina.base}${file.separator}logs${file.separator}*",
> > "read, write";
> > +
> > +        permission java.lang.RuntimePermission "shutdownHooks";
> > +        permission java.lang.RuntimePermission "getClassLoader";
> > +        permission java.lang.RuntimePermission "setContextClassLoader";
> > +
> > +        permission java.util.logging.LoggingPermission "control";
> > +
> > +        permission java.util.PropertyPermission
> > "java.util.logging.config.class", "read";
> > +        permission java.util.PropertyPermission
> > "java.util.logging.config.file", "read";
> > +        permission java.util.PropertyPermission "catalina.base", "read";
> > +
> > +        // Note: To enable per context logging configuration, permit
> read
> > access to
> > +        // the appropriate file. Be sure that the logging configuration
> is
> > +        // secure before enabling such access.
> > +        // E.g. for the examples web application:
> > +        // permission java.io.FilePermission
> > "${catalina.base}${file.separator}
> > +        //  webapps${file.separator}examples${file.separator}WEB-INF
> > +        //
> ${file.separator}classes${file.separator}logging.properties",
> > "read";
> > +};
> > +
> > +// These permissions apply to the server startup code
> > +grant codeBase "file:${catalina.home}/bin/bootstrap.jar" {
> > +        permission java.security.AllPermission;
> > +};
> > +
> > +// These permissions apply to the servlet API classes
> > +// and those that are shared across all class loaders
> > +// located in the "lib" directory
> > +grant codeBase "file:${catalina.home}/lib/-" {
> > +        permission java.security.AllPermission;
> > +};
> > +
> > +
> > +// If using a per instance lib directory, i.e. ${catalina.base}/lib,
> > +// then the following permission will need to be uncommented
> > +// grant codeBase "file:${catalina.base}/lib/-" {
> > +//         permission java.security.AllPermission;
> > +// };
> > +
> > +
> > +// ========== WEB APPLICATION PERMISSIONS
> > =====================================
> > +
> > +
> > +// These permissions are granted by default to all web applications
> > +// In addition, a web application will be given a read FilePermission
> > +// and JndiPermission for all files and directories in its document
> root.
> > +grant {
> > +    // Required for JNDI lookup of named JDBC DataSource's and
> > +    // javamail named MimePart DataSource used to send mail
> > +    permission java.util.PropertyPermission "java.home", "read";
> > +    permission java.util.PropertyPermission "java.naming.*", "read";
> > +    permission java.util.PropertyPermission "javax.sql.*", "read";
> > +
> > +    // OS Specific properties to allow read access
> > +    permission java.util.PropertyPermission "os.name", "read";
> > +    permission java.util.PropertyPermission "os.version", "read";
> > +    permission java.util.PropertyPermission "os.arch", "read";
> > +    permission java.util.PropertyPermission "file.separator", "read";
> > +    permission java.util.PropertyPermission "path.separator", "read";
> > +    permission java.util.PropertyPermission "line.separator", "read";
> > +
> > +    // JVM properties to allow read access
> > +    permission java.util.PropertyPermission "java.version", "read";
> > +    permission java.util.PropertyPermission "java.vendor", "read";
> > +    permission java.util.PropertyPermission "java.vendor.url", "read";
> > +    permission java.util.PropertyPermission "java.class.version",
> "read";
> > +    permission java.util.PropertyPermission
> "java.specification.version",
> > "read";
> > +    permission java.util.PropertyPermission "java.specification.vendor",
> > "read";
> > +    permission java.util.PropertyPermission "java.specification.name",
> > "read";
> > +
> > +    permission java.util.PropertyPermission
> > "java.vm.specification.version", "read";
> > +    permission java.util.PropertyPermission
> > "java.vm.specification.vendor", "read";
> > +    permission java.util.PropertyPermission "java.vm.specification.name
> ",
> > "read";
> > +    permission java.util.PropertyPermission "java.vm.version", "read";
> > +    permission java.util.PropertyPermission "java.vm.vendor", "read";
> > +    permission java.util.PropertyPermission "java.vm.name", "read";
> > +
> > +    // Required for OpenJMX
> > +    permission java.lang.RuntimePermission "getAttribute";
> > +
> > +    // Allow read of JAXP compliant XML parser debug
> > +    permission java.util.PropertyPermission "jaxp.debug", "read";
> > +
> > +    // All JSPs need to be able to read this package
> > +    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.tomcat";
> > +
> > +    // Precompiled JSPs need access to these packages.
> > +    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.jasper.el";
> > +    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.jasper.runtime";
> > +    permission java.lang.RuntimePermission
> > +     "accessClassInPackage.org.apache.jasper.runtime.*";
> > +
> > +    // Precompiled JSPs need access to these system properties.
> > +    permission java.util.PropertyPermission
> > +     "org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER", "read";
> > +    permission java.util.PropertyPermission
> > +     "org.apache.el.parser.COERCE_TO_ZERO", "read";
> > +
> > +    // The cookie code needs these.
> > +    permission java.util.PropertyPermission
> > +     "org.apache.catalina.STRICT_SERVLET_COMPLIANCE", "read";
> > +    permission java.util.PropertyPermission
> > +     "org.apache.tomcat.util.http.ServerCookie.STRICT_NAMING", "read";
> > +    permission java.util.PropertyPermission
> > +     "org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR",
> > "read";
> > +
> > +    // Applications using Comet need to be able to access this package
> > +    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.catalina.comet";
> > +};
> > +
> > +
> > +// The Manager application needs access to the following packages to
> > support the
> > +// session display functionality. These settings support the following
> > +// configurations:
> > +// - default CATALINA_HOME == CATALINA_BASE
> > +// - CATALINA_HOME != CATALINA_BASE, per instance Manager in
> CATALINA_BASE
> > +// - CATALINA_HOME != CATALINA_BASE, shared Manager in CATALINA_HOME
> > +grant codeBase "file:${catalina.base}/webapps/manager/-" {
> > +    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.catalina";
> > +    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.catalina.ha.session";
> > +    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.catalina.manager";
> > +    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.catalina.manager.util";
> > +    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.catalina.util";
> > +};
> > +grant codeBase "file:${catalina.home}/webapps/manager/-" {
> > +    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.catalina";
> > +    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.catalina.ha.session";
> > +    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.catalina.manager";
> > +    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.catalina.manager.util";
> > +    permission java.lang.RuntimePermission
> > "accessClassInPackage.org.apache.catalina.util";
> > +};
> > +
> > +// You can assign additional permissions to particular web applications
> by
> > +// adding additional "grant" entries here, based on the code base for
> that
> > +// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files.
> > +//
> > +// Different permissions can be granted to JSP pages, classes loaded
> from
> > +// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/
> > +// directory, or even to individual jar files in the /WEB-INF/lib/
> > directory.
> > +//
> > +// For instance, assume that the standard "examples" application
> > +// included a JDBC driver that needed to establish a network connection
> > to the
> > +// corresponding database and used the scrape taglib to get the weather
> > from
> > +// the NOAA web server.  You might create a "grant" entries like this:
> > +//
> > +// The permissions granted to the context root directory apply to JSP
> > pages.
> > +// grant codeBase "file:${catalina.base}/webapps/examples/-" {
> > +//      permission java.net.SocketPermission "dbhost.mycompany.com:5432
> ",
> > "connect";
> > +//      permission java.net.SocketPermission "*.noaa.gov:80",
> "connect";
> > +// };
> > +//
> > +// The permissions granted to the context WEB-INF/classes directory
> > +// grant codeBase
> > "file:${catalina.base}/webapps/examples/WEB-INF/classes/-" {
> > +// };
> > +//
> > +// The permission granted to your JDBC driver
> > +// grant codeBase
> > "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/driver.jar!/-" {
> > +//      permission java.net.SocketPermission "dbhost.mycompany.com:5432
> ",
> > "connect";
> > +// };
> > +// The permission granted to the scrape taglib
> > +// grant codeBase
> > "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/scrape.jar!/-" {
> > +//      permission java.net.SocketPermission "*.noaa.gov:80",
> "connect";
> > +// };
> > +
> >
> >
> >
> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.properties
> > ----------------------------------------------------------------------
> > diff --git
> >
> a/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.properties
> >
> b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.properties
> > index 5089043..ff86449 100644
> > ---
> >
> a/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.properties
> > +++
> >
> b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.properties
> > @@ -1,122 +1,122 @@
> > -# Licensed to the Apache Software Foundation (ASF) under one or more
> > -# contributor license agreements.  See the NOTICE file distributed with
> > -# this work for additional information regarding copyright ownership.
> > -# The ASF licenses this file to You 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.
> > -
> > -#
> > -# List of comma-separated packages that start with or equal this string
> > -# will cause a security exception to be thrown when
> > -# passed to checkPackageAccess unless the
> > -# corresponding RuntimePermission ("accessClassInPackage."+package) has
> > -# been granted.
> >
> >
> -package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.
> > -#
> > -# List of comma-separated packages that start with or equal this string
> > -# will cause a security exception to be thrown when
> > -# passed to checkPackageDefinition unless the
> > -# corresponding RuntimePermission ("defineClassInPackage."+package) has
> > -# been granted.
> > -#
> > -# by default, no packages are restricted for definition, and none of
> > -# the class loaders supplied with the JDK call checkPackageDefinition.
> > -#
> >
> >
> -package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.
> > -
> > -#
> > -#
> > -# List of comma-separated paths defining the contents of the "common"
> > -# classloader. Prefixes should be used to define what is the repository
> > type.
> > -# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or
> > absolute.
> > -# If left as blank,the JVM system loader will be used as Catalina's
> > "common"
> > -# loader.
> > -# Examples:
> > -#     "foo": Add this folder as a class repository
> > -#     "foo/*.jar": Add all the JARs of the specified folder as class
> > -#                  repositories
> > -#     "foo/bar.jar": Add bar.jar as a class repository
> >
> >
> -common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar
> > -
> > -#
> > -# List of comma-separated paths defining the contents of the "server"
> > -# classloader. Prefixes should be used to define what is the repository
> > type.
> > -# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or
> > absolute.
> > -# If left as blank, the "common" loader will be used as Catalina's
> > "server"
> > -# loader.
> > -# Examples:
> > -#     "foo": Add this folder as a class repository
> > -#     "foo/*.jar": Add all the JARs of the specified folder as class
> > -#                  repositories
> > -#     "foo/bar.jar": Add bar.jar as a class repository
> > -server.loader=
> > -
> > -#
> > -# List of comma-separated paths defining the contents of the "shared"
> > -# classloader. Prefixes should be used to define what is the repository
> > type.
> > -# Path may be relative to the CATALINA_BASE path or absolute. If left as
> > blank,
> > -# the "common" loader will be used as Catalina's "shared" loader.
> > -# Examples:
> > -#     "foo": Add this folder as a class repository
> > -#     "foo/*.jar": Add all the JARs of the specified folder as class
> > -#                  repositories
> > -#     "foo/bar.jar": Add bar.jar as a class repository
> > -# Please note that for single jars, e.g. bar.jar, you need the URL form
> > -# starting with file:.
> > -shared.loader=
> > -
> > -# List of JAR files that should not be scanned for configuration
> > information
> > -# such as web fragments, TLD files etc. It must be a comma separated
> list
> > of
> > -# JAR file names.
> > -# The JARs listed below include:
> > -# - Tomcat Bootstrap JARs
> > -# - Tomcat API JARs
> > -# - Catalina JARs
> > -# - Jasper JARs
> > -# - Tomcat JARs
> > -# - Common non-Tomcat JARs
> > -# - Sun JDK JARs
> > -# - Apple JDK JARs
> > -tomcat.util.scan.DefaultJarScanner.jarsToSkip=\
> > -bootstrap.jar,commons-daemon.jar,tomcat-juli.jar,\
> > -annotations-api.jar,el-api.jar,jsp-api.jar,servlet-api.jar,\
> > -catalina.jar,catalina-ant.jar,catalina-ha.jar,catalina-tribes.jar,\
> > -jasper.jar,jasper-el.jar,ecj-*.jar,\
> > -tomcat-api.jar,tomcat-util.jar,tomcat-coyote.jar,tomcat-dbcp.jar,\
> >
> >
> -tomcat-i18n-en.jar,tomcat-i18n-es.jar,tomcat-i18n-fr.jar,tomcat-i18n-ja.jar,\
> > -commons-beanutils*.jar,commons-collections*.jar,commons-dbcp*.jar,\
> > -commons-digester*.jar,commons-fileupload*.jar,commons-logging*.jar,\
> > -commons-pool*.jar,\
> > -bcprov-*.jar,\
> > -ant.jar,jmx.jar,jmx-tools.jar,\
> > -xercesImpl.jar,xmlParserAPIs.jar,xml-apis.jar,\
> >
> >
> -dnsns.jar,ldapsec.jar,localedata.jar,sunjce_provider.jar,sunpkcs11.jar,tools.jar,\
> > -apple_provider.jar,AppleScriptEngine.jar,CoreAudio.jar,dns_sd.jar,\
> > -j3daudio.jar,j3dcore.jar,j3dutils.jar,jai_core.jar,jai_codec.jar,\
> > -mlibwrapper_jai.jar,MRJToolkit.jar,vecmath.jar,\
> > -hsqldb-*,openejb-core-*,xbean-*,derby*,mbean-annotation-*,\
> >
> >
> -javassit*,commons-*,swizzle-stream-*,serp-*,geronimo-javamail-*,geronimo-mail-*,\
> >
> >
> -openejb-jee-*,openejb-core-*,openejb-loader-*,openejb-api-*,openejb-derby*,\
> > -openwebbeans-ejb-*,openwebbeans-impl-*,\
> > -bval-*,\
> >
> >
> -tomee-loader-*,openejb-javaagent-*,openejb-ejbd-*,scannotation-*,openejb-server-*,\
> > -openjpa-*,quartz-*,openejb-http-*,kahadb-*
> > -
> > -#
> > -# String cache configuration.
> > -tomcat.util.buf.StringCache.byte.enabled=true
> > -#tomcat.util.buf.StringCache.char.enabled=true
> > -#tomcat.util.buf.StringCache.trainThreshold=500000
> > -#tomcat.util.buf.StringCache.cacheSize=5000
> > -
> > -http.port=${tomcatHttpPort}
> > -shutdown.port=${tomcatShutdownPort}
> > +# Licensed to the Apache Software Foundation (ASF) under one or more
> > +# contributor license agreements.  See the NOTICE file distributed with
> > +# this work for additional information regarding copyright ownership.
> > +# The ASF licenses this file to You 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.
> > +
> > +#
> > +# List of comma-separated packages that start with or equal this string
> > +# will cause a security exception to be thrown when
> > +# passed to checkPackageAccess unless the
> > +# corresponding RuntimePermission ("accessClassInPackage."+package) has
> > +# been granted.
> >
> >
> +package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.
> > +#
> > +# List of comma-separated packages that start with or equal this string
> > +# will cause a security exception to be thrown when
> > +# passed to checkPackageDefinition unless the
> > +# corresponding RuntimePermission ("defineClassInPackage."+package) has
> > +# been granted.
> > +#
> > +# by default, no packages are restricted for definition, and none of
> > +# the class loaders supplied with the JDK call checkPackageDefinition.
> > +#
> >
> >
> +package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.
> > +
> > +#
> > +#
> > +# List of comma-separated paths defining the contents of the "common"
> > +# classloader. Prefixes should be used to define what is the repository
> > type.
> > +# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or
> > absolute.
> > +# If left as blank,the JVM system loader will be used as Catalina's
> > "common"
> > +# loader.
> > +# Examples:
> > +#     "foo": Add this folder as a class repository
> > +#     "foo/*.jar": Add all the JARs of the specified folder as class
> > +#                  repositories
> > +#     "foo/bar.jar": Add bar.jar as a class repository
> >
> >
> +common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar
> > +
> > +#
> > +# List of comma-separated paths defining the contents of the "server"
> > +# classloader. Prefixes should be used to define what is the repository
> > type.
> > +# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or
> > absolute.
> > +# If left as blank, the "common" loader will be used as Catalina's
> > "server"
> > +# loader.
> > +# Examples:
> > +#     "foo": Add this folder as a class repository
> > +#     "foo/*.jar": Add all the JARs of the specified folder as class
> > +#                  repositories
> > +#     "foo/bar.jar": Add bar.jar as a class repository
> > +server.loader=
> > +
> > +#
> > +# List of comma-separated paths defining the contents of the "shared"
> > +# classloader. Prefixes should be used to define what is the repository
> > type.
> > +# Path may be relative to the CATALINA_BASE path or absolute. If left as
> > blank,
> > +# the "common" loader will be used as Catalina's "shared" loader.
> > +# Examples:
> > +#     "foo": Add this folder as a class repository
> > +#     "foo/*.jar": Add all the JARs of the specified folder as class
> > +#                  repositories
> > +#     "foo/bar.jar": Add bar.jar as a class repository
> > +# Please note that for single jars, e.g. bar.jar, you need the URL form
> > +# starting with file:.
> > +shared.loader=
> > +
> > +# List of JAR files that should not be scanned for configuration
> > information
> > +# such as web fragments, TLD files etc. It must be a comma separated
> list
> > of
> > +# JAR file names.
> > +# The JARs listed below include:
> > +# - Tomcat Bootstrap JARs
> > +# - Tomcat API JARs
> > +# - Catalina JARs
> > +# - Jasper JARs
> > +# - Tomcat JARs
> > +# - Common non-Tomcat JARs
> > +# - Sun JDK JARs
> > +# - Apple JDK JARs
> > +tomcat.util.scan.DefaultJarScanner.jarsToSkip=\
> > +bootstrap.jar,commons-daemon.jar,tomcat-juli.jar,\
> > +annotations-api.jar,el-api.jar,jsp-api.jar,servlet-api.jar,\
> > +catalina.jar,catalina-ant.jar,catalina-ha.jar,catalina-tribes.jar,\
> > +jasper.jar,jasper-el.jar,ecj-*.jar,\
> > +tomcat-api.jar,tomcat-util.jar,tomcat-coyote.jar,tomcat-dbcp.jar,\
> >
> >
> +tomcat-i18n-en.jar,tomcat-i18n-es.jar,tomcat-i18n-fr.jar,tomcat-i18n-ja.jar,\
> > +commons-beanutils*.jar,commons-collections*.jar,commons-dbcp*.jar,\
> > +commons-digester*.jar,commons-fileupload*.jar,commons-logging*.jar,\
> > +commons-pool*.jar,\
> > +bcprov-*.jar,\
> > +ant.jar,jmx.jar,jmx-tools.jar,\
> > +xercesImpl.jar,xmlParserAPIs.jar,xml-apis.jar,\
> >
> >
> +dnsns.jar,ldapsec.jar,localedata.jar,sunjce_provider.jar,sunpkcs11.jar,tools.jar,\
> > +apple_provider.jar,AppleScriptEngine.jar,CoreAudio.jar,dns_sd.jar,\
> > +j3daudio.jar,j3dcore.jar,j3dutils.jar,jai_core.jar,jai_codec.jar,\
> > +mlibwrapper_jai.jar,MRJToolkit.jar,vecmath.jar,\
> > +hsqldb-*,openejb-core-*,xbean-*,derby*,mbean-annotation-*,\
> >
> >
> +javassit*,commons-*,swizzle-stream-*,serp-*,geronimo-javamail-*,geronimo-mail-*,\
> >
> >
> +openejb-jee-*,openejb-core-*,openejb-loader-*,openejb-api-*,openejb-derby*,\
> > +openwebbeans-ejb-*,openwebbeans-impl-*,\
> > +bval-*,\
> >
> >
> +tomee-loader-*,openejb-javaagent-*,openejb-ejbd-*,scannotation-*,openejb-server-*,\
> > +openjpa-*,quartz-*,openejb-http-*,kahadb-*
> > +
> > +#
> > +# String cache configuration.
> > +tomcat.util.buf.StringCache.byte.enabled=true
> > +#tomcat.util.buf.StringCache.char.enabled=true
> > +#tomcat.util.buf.StringCache.trainThreshold=500000
> > +#tomcat.util.buf.StringCache.cacheSize=5000
> > +
> > +http.port=${tomcatHttpPort}
> > +shutdown.port=${tomcatShutdownPort}
> >  shutdown.command=${tomcatShutdownCommand}
> > \ No newline at end of file
> >
> >
> >
> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ABean.java
> > ----------------------------------------------------------------------
> > diff --git
> > a/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ABean.java
> > b/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ABean.java
> > index abbc097..8f828b9 100644
> > ---
> > a/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ABean.java
> > +++
> > b/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ABean.java
> > @@ -1,26 +1,26 @@
> > -/**
> > - * Licensed to the Apache Software Foundation (ASF) under one or more
> > - * contributor license agreements.  See the NOTICE file distributed with
> > - * this work for additional information regarding copyright ownership.
> > - * The ASF licenses this file to You 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.apache.tomee.embedded;
> > -
> > -import javax.ejb.Singleton;
> > -
> > -@Singleton
> > -public class ABean {
> > -    public String embedded() {
> > -        return "ok";
> > -    }
> > -}
> > +/**
> > + * Licensed to the Apache Software Foundation (ASF) under one or more
> > + * contributor license agreements.  See the NOTICE file distributed with
> > + * this work for additional information regarding copyright ownership.
> > + * The ASF licenses this file to You 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.apache.tomee.embedded;
> > +
> > +import javax.ejb.Singleton;
> > +
> > +@Singleton
> > +public class ABean {
> > +    public String embedded() {
> > +        return "ok";
> > +    }
> > +}
> >
> >
> >
> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-embedded/src/test/resources/META-INF/beans.xml
> > ----------------------------------------------------------------------
> > diff --git a/tomee/tomee-embedded/src/test/resources/META-INF/beans.xml
> > b/tomee/tomee-embedded/src/test/resources/META-INF/beans.xml
> > index e0d7a63..b1514dd 100644
> > --- a/tomee/tomee-embedded/src/test/resources/META-INF/beans.xml
> > +++ b/tomee/tomee-embedded/src/test/resources/META-INF/beans.xml
> > @@ -1,19 +1,19 @@
> > -<?xml version="1.0" encoding="UTF-8"?>
> > -<!--
> > -
> > -    Licensed to the Apache Software Foundation (ASF) under one or more
> > -    contributor license agreements.  See the NOTICE file distributed
> with
> > -    this work for additional information regarding copyright ownership.
> > -    The ASF licenses this file to You 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.
> > --->
> > -<beans />
> > +<?xml version="1.0" encoding="UTF-8"?>
> > +<!--
> > +
> > +    Licensed to the Apache Software Foundation (ASF) under one or more
> > +    contributor license agreements.  See the NOTICE file distributed
> with
> > +    this work for additional information regarding copyright ownership.
> > +    The ASF licenses this file to You 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.
> > +-->
> > +<beans />
> >
> >
>



-- 
Daniel Cunha
https://twitter.com/dvlc_
http://www.tomitribe.com