Author: awhite Date: Sat Oct 7 21:03:06 2006 New Revision: 454072 URL: http://svn.apache.org/viewvc?view=rev&rev=454072 Log: Get rid of warning for product derivations that use an unsupported class version. Minor API changes.
Modified: incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/conf/JDBCProductDerivation.java incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/BrokerFactoryValue.java incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAProductDerivation.java incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAVersion.java incubator/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/ProductDerivations.java incubator/openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/JDBCPersistenceProductDerivation.java incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProductDerivation.java incubator/openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/localizer.properties Modified: incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/conf/JDBCProductDerivation.java URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/conf/JDBCProductDerivation.java?view=diff&rev=454072&r1=454071&r2=454072 ============================================================================== --- incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/conf/JDBCProductDerivation.java (original) +++ incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/conf/JDBCProductDerivation.java Sat Oct 7 21:03:06 2006 @@ -15,21 +15,21 @@ */ package org.apache.openjpa.jdbc.conf; +import java.util.Map; + import org.apache.openjpa.conf.BrokerFactoryValue; import org.apache.openjpa.conf.OpenJPAProductDerivation; import org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory; import org.apache.openjpa.lib.conf.AbstractProductDerivation; import org.apache.openjpa.lib.conf.ConfigurationProvider; -import java.util.Map; - /** * Sets JDBC as default store. */ public class JDBCProductDerivation extends AbstractProductDerivation implements OpenJPAProductDerivation { - public void initializeBrokerFactoryValueAliases(Map m) { + public void putBrokerFactoryAliases(Map m) { m.put("jdbc", JDBCBrokerFactory.class.getName()); } Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/BrokerFactoryValue.java URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/BrokerFactoryValue.java?view=diff&rev=454072&r1=454071&r2=454072 ============================================================================== --- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/BrokerFactoryValue.java (original) +++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/BrokerFactoryValue.java Sat Oct 7 21:03:06 2006 @@ -42,9 +42,7 @@ public static final String KEY = "BrokerFactory"; - private static final List _aliases = new ArrayList(); - private static final List _prefixes = new ArrayList(2); - + private static final String[] _aliases; static { Map aliases = new HashMap(); aliases.put("abstractstore", @@ -52,26 +50,16 @@ ProductDerivation[] ds = ProductDerivations.getProductDerivations(); for (int i = 0; i < ds.length; i++) { if (ds[i] instanceof OpenJPAProductDerivation) - ((OpenJPAProductDerivation) ds[i]) - .initializeBrokerFactoryValueAliases(aliases); + ((OpenJPAProductDerivation) ds[i]).putBrokerFactoryAliases + (aliases); } + _aliases = new String[aliases.size() * 2]; + int i = 0; for (Iterator iter = aliases.entrySet().iterator(); iter.hasNext(); ) { Map.Entry e = (Map.Entry) iter.next(); - addDefaultAlias((String) e.getKey(), (String) e.getValue()); - } - } - - /** - * Add a mapping from <code>alias</code> to <code>cls</code> to the list - * of default aliases for new values created after this invocation. - */ - public static void addDefaultAlias(String alias, String cls) { - if (_aliases.contains(alias)) { - _aliases.set(_aliases.indexOf(alias) + 1, cls); - } else { - _aliases.add(alias); - _aliases.add(cls); + _aliases[i++] = (String) e.getKey(); + _aliases[i++] = (String) e.getValue(); } } @@ -99,6 +87,6 @@ public BrokerFactoryValue() { super(KEY, false); - setAliases((String[]) _aliases.toArray(new String[_aliases.size()])); + setAliases(_aliases); } } Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAProductDerivation.java URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAProductDerivation.java?view=diff&rev=454072&r1=454071&r2=454072 ============================================================================== --- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAProductDerivation.java (original) +++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAProductDerivation.java Sat Oct 7 21:03:06 2006 @@ -32,9 +32,9 @@ public static final int TYPE_PRODUCT_STORE = 400; /** - * Load default alias options into the BrokerFactoryValue's static data - * structures. In the case of multiple ProductDerivations, this will be - * invoked in the order defined by the type of the product derivation. + * Load default alias options into the given map. Each entry maps an + * alias to a broker factory class name. Replace anything perviously + * under the desired keys. */ - public void initializeBrokerFactoryValueAliases(Map aliases); + public void putBrokerFactoryAliases(Map aliases); } Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAVersion.java URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAVersion.java?view=diff&rev=454072&r1=454071&r2=454072 ============================================================================== --- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAVersion.java (original) +++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAVersion.java Sat Oct 7 21:03:06 2006 @@ -44,13 +44,10 @@ String vers = pack == null ? null : pack.getImplementationVersion(); if (vers == null || vers.length() == 0) vers = "0.0.0"; - VERSION_NUMBER = vers; StringTokenizer tok = new StringTokenizer(VERSION_NUMBER, ".-"); - int major, minor, patch; - try { major = tok.hasMoreTokens() ? Integer.parseInt(tok.nextToken()) : 0; } catch (Exception e) { @@ -71,8 +68,8 @@ String revision = ""; try { - InputStream in = OpenJPAVersion.class. - getResourceAsStream("/META-INF/org.apache.openjpa.revision.properties"); + InputStream in = OpenJPAVersion.class.getResourceAsStream + ("/META-INF/org.apache.openjpa.revision.properties"); if (in != null) { try { Properties props = new Properties(); @@ -102,12 +99,12 @@ appendOpenJPABanner(buf); buf.append("\n"); - getProperty("os.name", buf).append("\n"); - getProperty("os.version", buf).append("\n"); - getProperty("os.arch", buf).append("\n\n"); + appendProperty("os.name", buf).append("\n"); + appendProperty("os.version", buf).append("\n"); + appendProperty("os.arch", buf).append("\n\n"); - getProperty("java.version", buf).append("\n"); - getProperty("java.vendor", buf).append("\n\n"); + appendProperty("java.version", buf).append("\n"); + appendProperty("java.vendor", buf).append("\n\n"); buf.append("java.class.path:\n"); StringTokenizer tok = new StringTokenizer @@ -118,8 +115,7 @@ } buf.append("\n"); - getProperty("user.dir", buf); - + appendProperty("user.dir", buf); return buf.toString(); } @@ -133,8 +129,7 @@ buf.append("\n"); } - private StringBuffer getProperty(String prop, StringBuffer buf) { - buf.append(prop).append(": ").append(System.getProperty(prop)); - return buf; + private StringBuffer appendProperty(String prop, StringBuffer buf) { + return buf.append(prop).append(": ").append(System.getProperty(prop)); } } Modified: incubator/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/ProductDerivations.java URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/ProductDerivations.java?view=diff&rev=454072&r1=454071&r2=454072 ============================================================================== --- incubator/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/ProductDerivations.java (original) +++ incubator/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/ProductDerivations.java Sat Oct 7 21:03:06 2006 @@ -33,6 +33,9 @@ */ public class ProductDerivations { + private static final Localizer _loc = Localizer.forPackage + (ProductDerivations.class); + private static final ProductDerivation[] _derivations; private static final String[] _prefixes; static { @@ -43,9 +46,11 @@ try { Class cls = Class.forName(pds[i], true, cl); derivations.add(cls.newInstance()); + } catch (UnsupportedClassVersionError ucve) { + // ignore so that < 1.5 users don't get errors about + // 1.5 products they aren't using } catch (Throwable t) { - Localizer loc = Localizer.forPackage(ProductDerivations.class); - System.err.println(loc.get("bad-product-derivation", pds[i], + System.err.println(_loc.get("bad-product-derivation", pds[i], t)); } } Modified: incubator/openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/JDBCPersistenceProductDerivation.java URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/JDBCPersistenceProductDerivation.java?view=diff&rev=454072&r1=454071&r2=454072 ============================================================================== --- incubator/openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/JDBCPersistenceProductDerivation.java (original) +++ incubator/openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/JDBCPersistenceProductDerivation.java Sat Oct 7 21:03:06 2006 @@ -15,6 +15,8 @@ */ package org.apache.openjpa.persistence.jdbc; +import java.util.Map; + import org.apache.openjpa.conf.OpenJPAConfiguration; import org.apache.openjpa.conf.OpenJPAProductDerivation; import org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl; @@ -24,8 +26,6 @@ import org.apache.openjpa.persistence.FetchPlan; import org.apache.openjpa.persistence.PersistenceProductDerivation; -import java.util.Map; - /** * Sets JDBC-specific JPA specification defaults. * @@ -36,7 +36,7 @@ extends AbstractProductDerivation implements OpenJPAProductDerivation { - public void initializeBrokerFactoryValueAliases(Map m) { + public void putBrokerFactoryAliases(Map m) { } public int getType() { Modified: incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProductDerivation.java URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProductDerivation.java?view=diff&rev=454072&r1=454071&r2=454072 ============================================================================== --- incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProductDerivation.java (original) +++ incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProductDerivation.java Sat Oct 7 21:03:06 2006 @@ -70,7 +70,7 @@ private static final Localizer _loc = Localizer.forPackage (PersistenceProductDerivation.class); - public void initializeBrokerFactoryValueAliases(Map m) { + public void putBrokerFactoryAliases(Map m) { } public int getType() { @@ -326,10 +326,8 @@ loader = Thread.currentThread().getContextClassLoader(); try { if (PersistenceProviderImpl.class.isAssignableFrom - (Class.forName(provider, false, loader))) { - log(_loc.get("extended-provider", provider).getMessage()); + (Class.forName(provider, false, loader))) return true; - } } catch (Throwable t) { log(_loc.get("unloadable-provider", provider, t).getMessage()); return false; Modified: incubator/openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/localizer.properties URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/localizer.properties?view=diff&rev=454072&r1=454071&r2=454072 ============================================================================== --- incubator/openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/localizer.properties (original) +++ incubator/openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/localizer.properties Sat Oct 7 21:03:06 2006 @@ -86,7 +86,6 @@ no-transaction: Cannot perform operation with no transaction. multiple-methods-on-callback: Class "{0}" declares method "{1}" as well \ as "{2}" for handling the same "{3}" callback. -extended-provider: NOTE: Found extended persistence provider "{0}". unloadable-provider: WARNING: Unable to load persistence provider "{0}" due \ to "{1}" unrecognized-provider: WARNING: Found unrecognized persistence provider "{0}" \