Index: src/main/java/org/apache/jackrabbit/core/config/BeanConfig.java =================================================================== --- src/main/java/org/apache/jackrabbit/core/config/BeanConfig.java (revision 805440) +++ src/main/java/org/apache/jackrabbit/core/config/BeanConfig.java (working copy) @@ -22,6 +22,11 @@ import java.util.Iterator; import java.util.Properties; +import java.util.Map; +import java.util.HashMap; +import java.util.Collections; +import java.io.InputStream; +import java.io.IOException; /** * Bean configuration class. BeanConfig instances contain the class name @@ -32,6 +37,27 @@ private static Logger log = LoggerFactory.getLogger(BeanConfig.class); + private static final Map DEPRECATIONS; + + static { + try { + Map temp = new HashMap(); + Properties props = new Properties(); + InputStream in = BeanConfig.class.getResourceAsStream("deprecated-classes.properties"); + try { + props.load(in); + } finally { + in.close(); + } + for (Map.Entry entry : props.entrySet()) { + temp.put(entry.getKey().toString(), entry.getValue().toString()); + } + DEPRECATIONS = Collections.unmodifiableMap(temp); + } catch (IOException e) { + throw new InternalError("failed to read deprecated classes"); + } + } + /** The default class loader used by all instances of this class */ private static ClassLoader defaultClassLoader = BeanConfig.class.getClassLoader(); @@ -74,6 +100,11 @@ * @param properties initial properties of the bean */ public BeanConfig(String className, Properties properties) { + if (DEPRECATIONS.containsKey(className)) { + String replacement = DEPRECATIONS.get(className); + log.info("{} is deprecated. Please use {} instead", className, replacement); + className = replacement; + } this.className = className; this.properties = (Properties) properties.clone(); } Index: src/main/resources/org/apache/jackrabbit/core/config/deprecated-classes.properties =================================================================== --- src/main/resources/org/apache/jackrabbit/core/config/deprecated-classes.properties (revision 0) +++ src/main/resources/org/apache/jackrabbit/core/config/deprecated-classes.properties (revision 0) @@ -0,0 +1,37 @@ +# 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. + +# This file contains a mapping of deprecated classes to their replacement. +# When a BeanConfig reads the class attribute it will automatically replace +# the deprecated class name with its replacement and log an info message. + +# Security +org.apache.jackrabbit.core.security.SimpleAccessManager=org.apache.jackrabbit.core.security.simple.SimpleAccessManager +org.apache.jackrabbit.core.security.SimpleLoginModule=org.apache.jackrabbit.core.security.simple.SimpleLoginModule + +# DB persistence managers +org.apache.jackrabbit.core.state.db.DerbyPersistenceManager=org.apache.jackrabbit.core.persistence.db.DerbyPersistenceManager +org.apache.jackrabbit.core.state.db.JNDIDatabasePersistenceManager=org.apache.jackrabbit.core.persistence.db.JNDIDatabasePersistenceManager +org.apache.jackrabbit.core.state.db.OraclePersistenceManager=org.apache.jackrabbit.core.persistence.db.OraclePersistenceManager +org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager=org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager + +# In memory persistence manager +org.apache.jackrabbit.core.state.mem.InMemPersistenceManager=org.apache.jackrabbit.core.persistence.mem.InMemPersistenceManager + +# Object persistence manager +org.apache.jackrabbit.core.state.obj.ObjectPersistenceManager=org.apache.jackrabbit.core.persistence.obj.ObjectPersistenceManager + +# XML persistence manager +org.apache.jackrabbit.core.state.xml.XMLPersistenceManager=org.apache.jackrabbit.core.persistence.xml.XMLPersistenceManager Property changes on: src\main\resources\org\apache\jackrabbit\core\config\deprecated-classes.properties ___________________________________________________________________ Added: svn:eol-style + native