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

(-)a/java/org/apache/catalina/core/DefaultInstanceManager.java (-47 / +37 lines)
Lines 49-54 import org.apache.catalina.ContainerServlet; Link Here
49
import org.apache.catalina.Globals;
49
import org.apache.catalina.Globals;
50
import org.apache.catalina.security.SecurityUtil;
50
import org.apache.catalina.security.SecurityUtil;
51
import org.apache.catalina.util.Introspection;
51
import org.apache.catalina.util.Introspection;
52
import org.apache.juli.logging.Log;
52
import org.apache.tomcat.InstanceManager;
53
import org.apache.tomcat.InstanceManager;
53
import org.apache.tomcat.util.ExceptionUtils;
54
import org.apache.tomcat.util.ExceptionUtils;
54
import org.apache.tomcat.util.res.StringManager;
55
import org.apache.tomcat.util.res.StringManager;
Lines 71-83 public class DefaultInstanceManager implements InstanceManager { Link Here
71
    protected final ClassLoader containerClassLoader;
72
    protected final ClassLoader containerClassLoader;
72
    protected final boolean privileged;
73
    protected final boolean privileged;
73
    protected final boolean ignoreAnnotations;
74
    protected final boolean ignoreAnnotations;
74
    private final Properties restrictedFilters = new Properties();
75
    private final Properties restrictedFilters;
75
    private final Properties restrictedListeners = new Properties();
76
    private final Properties restrictedListeners;
76
    private final Properties restrictedServlets = new Properties();
77
    private final Properties restrictedServlets;
77
    private final Map<Class<?>, AnnotationCacheEntry[]> annotationCache =
78
    private final Map<Class<?>, AnnotationCacheEntry[]> annotationCache =
78
        new WeakHashMap<>();
79
        new WeakHashMap<>();
79
    private final Map<String, String> postConstructMethods;
80
    private final Map<String, String> postConstructMethods;
80
    private final Map<String, String> preDestroyMethods;
81
    private final Map<String, String> preDestroyMethods;
82
    
83
    private Properties loadProperties(String propertiesName, String errorString, Log logger) {
84
        Properties result = new Properties();
85
        InputStream is = this.getClass().getClassLoader().getResourceAsStream(propertiesName);
86
        if (is != null) {
87
            try {
88
                result.load(is);
89
            } catch (IOException e) {
90
                logger.error(errorString, e);
91
            } finally {
92
                try {
93
                    is.close();
94
                } catch (IOException e) {
95
                    // do nothing, since we either already read it, or got an exception already
96
                }
97
            }
98
        } else {
99
            logger.error(errorString);
100
        }
101
        return result;
102
    }
81
103
82
    public DefaultInstanceManager(Context context,
104
    public DefaultInstanceManager(Context context,
83
            Map<String, Map<String, String>> injectionMap,
105
            Map<String, Map<String, String>> injectionMap,
Lines 88-136 public class DefaultInstanceManager implements InstanceManager { Link Here
88
        this.containerClassLoader = containerClassLoader;
110
        this.containerClassLoader = containerClassLoader;
89
        ignoreAnnotations = catalinaContext.getIgnoreAnnotations();
111
        ignoreAnnotations = catalinaContext.getIgnoreAnnotations();
90
        StringManager sm = StringManager.getManager(Constants.Package);
112
        StringManager sm = StringManager.getManager(Constants.Package);
91
        try {
113
        restrictedServlets = loadProperties(
92
            InputStream is =
114
                "org/apache/catalina/core/RestrictedServlets.properties",
93
                this.getClass().getClassLoader().getResourceAsStream
115
                sm.getString("defaultInstanceManager.restrictedServletsResource"),
94
                    ("org/apache/catalina/core/RestrictedServlets.properties");
116
                catalinaContext.getLogger());
95
            if (is != null) {
117
        restrictedListeners = loadProperties(
96
                restrictedServlets.load(is);
118
                "org/apache/catalina/core/RestrictedListeners.properties",
97
            } else {
119
                "defaultInstanceManager.restrictedListenersResources",
98
                catalinaContext.getLogger().error(sm.getString(
120
                catalinaContext.getLogger());
99
                        "defaultInstanceManager.restrictedServletsResource"));
121
        restrictedFilters = loadProperties(
100
            }
122
                "org/apache/catalina/core/RestrictedFilters.properties",
101
        } catch (IOException e) {
123
                "defaultInstanceManager.restrictedFiltersResource",
102
            catalinaContext.getLogger().error(sm.getString(
124
                catalinaContext.getLogger());
103
                    "defaultInstanceManager.restrictedServletsResource"), e);
104
        }
105
106
        try {
107
            InputStream is =
108
                    this.getClass().getClassLoader().getResourceAsStream
109
                            ("org/apache/catalina/core/RestrictedListeners.properties");
110
            if (is != null) {
111
                restrictedListeners.load(is);
112
            } else {
113
                catalinaContext.getLogger().error(sm.getString(
114
                        "defaultInstanceManager.restrictedListenersResources"));
115
            }
116
        } catch (IOException e) {
117
            catalinaContext.getLogger().error(sm.getString(
118
                    "defaultInstanceManager.restrictedListenersResources"), e);
119
        }
120
        try {
121
            InputStream is =
122
                    this.getClass().getClassLoader().getResourceAsStream
123
                            ("org/apache/catalina/core/RestrictedFilters.properties");
124
            if (is != null) {
125
                restrictedFilters.load(is);
126
            } else {
127
                catalinaContext.getLogger().error(sm.getString(
128
                        "defaultInstanceManager.restrictedFiltersResource"));
129
            }
130
        } catch (IOException e) {
131
            catalinaContext.getLogger().error(sm.getString(
132
                    "defaultInstanceManager.restrictedServletsResources"), e);
133
        }
134
        this.context = context;
125
        this.context = context;
135
        this.injectionMap = injectionMap;
126
        this.injectionMap = injectionMap;
136
        this.postConstructMethods = catalinaContext.findPostConstructMethods();
127
        this.postConstructMethods = catalinaContext.findPostConstructMethods();
137
- 

Return to bug 56900