From b0fa81eea9a270f23d6ad67ca7a6d25c18d20da1 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sat, 16 Jul 2005 01:27:14 +0000 Subject: Major merge with Classpath. Removed many duplicate files. * HACKING: Updated.x * classpath: Imported new directory. * standard.omit: New file. * Makefile.in, aclocal.m4, configure: Rebuilt. * sources.am: New file. * configure.ac: Run Classpath configure script. Moved code around to support. Disable xlib AWT peers (temporarily). * Makefile.am (SUBDIRS): Added 'classpath' (JAVAC): Removed. (AM_CPPFLAGS): Added more -I options. (BOOTCLASSPATH): Simplified. Completely redid how sources are built. Include sources.am. * include/Makefile.am (tool_include__HEADERS): Removed jni.h. * include/jni.h: Removed (in Classpath). * scripts/classes.pl: Updated to look at built classes. * scripts/makemake.tcl: New file. * testsuite/libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Added -I options. (gcj_jni_invocation_compile_c_to_binary): Likewise. From-SVN: r102082 --- libjava/javax/naming/spi/DirObjectFactory.java | 56 --- libjava/javax/naming/spi/DirStateFactory.java | 83 ----- libjava/javax/naming/spi/DirectoryManager.java | 243 ------------- .../javax/naming/spi/InitialContextFactory.java | 49 --- .../naming/spi/InitialContextFactoryBuilder.java | 49 --- libjava/javax/naming/spi/NamingManager.java | 398 --------------------- libjava/javax/naming/spi/ObjectFactory.java | 51 --- libjava/javax/naming/spi/ObjectFactoryBuilder.java | 54 --- libjava/javax/naming/spi/ResolveResult.java | 126 ------- libjava/javax/naming/spi/Resolver.java | 55 --- libjava/javax/naming/spi/StateFactory.java | 55 --- 11 files changed, 1219 deletions(-) delete mode 100644 libjava/javax/naming/spi/DirObjectFactory.java delete mode 100644 libjava/javax/naming/spi/DirStateFactory.java delete mode 100644 libjava/javax/naming/spi/DirectoryManager.java delete mode 100644 libjava/javax/naming/spi/InitialContextFactory.java delete mode 100644 libjava/javax/naming/spi/InitialContextFactoryBuilder.java delete mode 100644 libjava/javax/naming/spi/NamingManager.java delete mode 100644 libjava/javax/naming/spi/ObjectFactory.java delete mode 100644 libjava/javax/naming/spi/ObjectFactoryBuilder.java delete mode 100644 libjava/javax/naming/spi/ResolveResult.java delete mode 100644 libjava/javax/naming/spi/Resolver.java delete mode 100644 libjava/javax/naming/spi/StateFactory.java (limited to 'libjava/javax/naming/spi') diff --git a/libjava/javax/naming/spi/DirObjectFactory.java b/libjava/javax/naming/spi/DirObjectFactory.java deleted file mode 100644 index ea0e697..0000000 --- a/libjava/javax/naming/spi/DirObjectFactory.java +++ /dev/null @@ -1,56 +0,0 @@ -/* DirObjectFactory.java -- - Copyright (C) 2001, 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package javax.naming.spi; - -import java.util.Hashtable; - -import javax.naming.Context; -import javax.naming.Name; -import javax.naming.directory.Attributes; - -/** - * @author Warren Levy (warrenl@redhat.com) - * @date June 1, 2001 - */ -public interface DirObjectFactory extends ObjectFactory -{ - Object getObjectInstance(Object obj, Name name, Context nameCtx, - Hashtable environment, Attributes attrs) - throws Exception; -} diff --git a/libjava/javax/naming/spi/DirStateFactory.java b/libjava/javax/naming/spi/DirStateFactory.java deleted file mode 100644 index b5add91..0000000 --- a/libjava/javax/naming/spi/DirStateFactory.java +++ /dev/null @@ -1,83 +0,0 @@ -/* DirStateFactory.java -- - Copyright (C) 2001, 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package javax.naming.spi; - -import java.util.Hashtable; - -import javax.naming.Context; -import javax.naming.Name; -import javax.naming.NamingException; -import javax.naming.directory.Attributes; - -/** - * @author Warren Levy (warrenl@redhat.com) - * @date June 1, 2001 - */ -public interface DirStateFactory extends StateFactory -{ - // Inner class - - public static class Result - { - private Object obj; - private Attributes outAttrs; - - public Result(Object obj, Attributes outAttrs) - { - this.obj = obj; - this.outAttrs = outAttrs; - } - - public Object getObject() - { - return obj; - } - - public Attributes getAttributes() - { - return outAttrs; - } - } - - DirStateFactory.Result getStateToBind(Object obj, Name name, - Context nameCtx, - Hashtable environment, - Attributes inAttrs) - throws NamingException; -} diff --git a/libjava/javax/naming/spi/DirectoryManager.java b/libjava/javax/naming/spi/DirectoryManager.java deleted file mode 100644 index fd482ef..0000000 --- a/libjava/javax/naming/spi/DirectoryManager.java +++ /dev/null @@ -1,243 +0,0 @@ -/* DirectoryManager.java -- - Copyright (C) 2000, 2001, 2004, 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package javax.naming.spi; - -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.StringTokenizer; - -import javax.naming.CannotProceedException; -import javax.naming.Context; -import javax.naming.Name; -import javax.naming.NamingException; -import javax.naming.RefAddr; -import javax.naming.Reference; -import javax.naming.Referenceable; -import javax.naming.StringRefAddr; -import javax.naming.directory.Attributes; -import javax.naming.directory.DirContext; - -/** - * @author Tom Tromey (tromey@redhat.com) - * @date June 25, 2001 - */ -public class DirectoryManager extends NamingManager -{ - // Can't instantiate this class. - DirectoryManager () - { - } - - public static DirContext getContinuationDirContext (CannotProceedException c) - throws NamingException - { - return (DirContext) getContinuationContext (c); - } - - // Try to create an object using the factory. Return null on - // failure. - private static Object tryCreateObject (ObjectFactory factory, - Object refInfo, - Name name, - Context nameCtx, - Hashtable environment, - Attributes attrs) - throws Exception - { - if (factory instanceof DirObjectFactory) - { - DirObjectFactory dof = (DirObjectFactory) factory; - return dof.getObjectInstance (refInfo, name, nameCtx, - environment, attrs); - } - else - return factory.getObjectInstance (refInfo, name, nameCtx, - environment); - } - - public static Object getObjectInstance (Object refInfo, Name name, - Context nameCtx, - Hashtable environment, - Attributes attrs) - throws Exception - { - ObjectFactory factory = null; - - if (ofb != null) - factory = ofb.createObjectFactory (refInfo, environment); - else - { - // First see if we have a Reference or a Referenceable. If so - // we do some special processing. - Object ref2 = refInfo; - if (refInfo instanceof Referenceable) - ref2 = ((Referenceable) refInfo).getReference (); - if (ref2 instanceof Reference) - { - Reference ref = (Reference) ref2; - - // If we have a factory class name then we use that. - String fClass = ref.getFactoryClassName (); - if (fClass != null) - { - // Exceptions here are passed to the caller. - Class k = Class.forName (fClass); - factory = (ObjectFactory) k.newInstance (); - } - else - { - // There's no factory class name. If the address is a - // StringRefAddr with address type `URL', then we try - // the URL's context factory. - Enumeration e = ref.getAll (); - while (e.hasMoreElements ()) - { - RefAddr ra = (RefAddr) e.nextElement (); - if (ra instanceof StringRefAddr - && "URL".equals (ra.getType ())) - { - factory - = (ObjectFactory) getURLContext (refInfo, - name, - nameCtx, - (String) ra.getContent (), - environment); - Object obj = tryCreateObject (factory, - refInfo, - name, - nameCtx, - environment, - attrs); - if (obj != null) - return obj; - } - } - - // Have to try the next step. - factory = null; - } - } - - // Now look at OBJECT_FACTORIES to find the factory. - if (factory == null) - { - StringTokenizer tokens = getPlusPath (Context.OBJECT_FACTORIES, - environment, nameCtx); - - while (tokens.hasMoreTokens ()) - { - String klassName = tokens.nextToken (); - Class k = Class.forName (klassName); - factory = (ObjectFactory) k.newInstance (); - Object obj = tryCreateObject (factory, refInfo, name, - nameCtx, environment, attrs); - if (obj != null) - return obj; - } - - // Failure. - return refInfo; - } - } - - if (factory == null) - return refInfo; - Object obj = tryCreateObject (factory, refInfo, name, - nameCtx, environment, attrs); - return obj == null ? refInfo : obj; - } - - public static DirStateFactory.Result getStateToBind (Object obj, - Name name, - Context nameCtx, - Hashtable environment, - Attributes attrs) - throws NamingException - { - StringTokenizer tokens = getPlusPath (Context.STATE_FACTORIES, - environment, nameCtx); - while (tokens.hasMoreTokens ()) - { - String klassName = tokens.nextToken (); - try - { - Class k = Class.forName (klassName); - StateFactory factory = (StateFactory) k.newInstance (); - - DirStateFactory.Result result = null; - if (factory instanceof DirStateFactory) - { - DirStateFactory dsf = (DirStateFactory) factory; - result = dsf.getStateToBind (obj, name, nameCtx, environment, - attrs); - } - else - { - Object o = factory.getStateToBind (obj, name, nameCtx, - environment); - if (o != null) - result = new DirStateFactory.Result (o, attrs); - } - if (result != null) - return result; - } - catch (ClassNotFoundException _1) - { - // Ignore it. - } - catch (ClassCastException _2) - { - // This means that the class we found was not an - // ObjectFactory or that the factory returned something - // which was not a Context. - } - catch (InstantiationException _3) - { - // If we couldn't instantiate the factory we might get - // this. - } - catch (IllegalAccessException _4) - { - // Another possibility when instantiating. - } - } - - return new DirStateFactory.Result (obj, attrs); - } -} diff --git a/libjava/javax/naming/spi/InitialContextFactory.java b/libjava/javax/naming/spi/InitialContextFactory.java deleted file mode 100644 index 7bfcf09..0000000 --- a/libjava/javax/naming/spi/InitialContextFactory.java +++ /dev/null @@ -1,49 +0,0 @@ -/* InitialContextFactory.java -- - Copyright (C) 2000, 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package javax.naming.spi; - -import java.util.Hashtable; - -import javax.naming.Context; -import javax.naming.NamingException; - -public interface InitialContextFactory -{ - Context getInitialContext (Hashtable environment) throws NamingException; -} diff --git a/libjava/javax/naming/spi/InitialContextFactoryBuilder.java b/libjava/javax/naming/spi/InitialContextFactoryBuilder.java deleted file mode 100644 index 76564ab..0000000 --- a/libjava/javax/naming/spi/InitialContextFactoryBuilder.java +++ /dev/null @@ -1,49 +0,0 @@ -/* InitialContextFactoryBuilder.java -- - Copyright (C) 2000, 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package javax.naming.spi; - -import java.util.Hashtable; - -import javax.naming.NamingException; - -public interface InitialContextFactoryBuilder -{ - InitialContextFactory createInitialContextFactory (Hashtable environment) - throws NamingException; -} diff --git a/libjava/javax/naming/spi/NamingManager.java b/libjava/javax/naming/spi/NamingManager.java deleted file mode 100644 index cfc9dbd..0000000 --- a/libjava/javax/naming/spi/NamingManager.java +++ /dev/null @@ -1,398 +0,0 @@ -/* NamingManager.java -- - Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package javax.naming.spi; - -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.StringTokenizer; - -import javax.naming.CannotProceedException; -import javax.naming.Context; -import javax.naming.Name; -import javax.naming.NamingException; -import javax.naming.NoInitialContextException; -import javax.naming.RefAddr; -import javax.naming.Reference; -import javax.naming.Referenceable; -import javax.naming.StringRefAddr; - -public class NamingManager -{ - public static final String CPE = "java.naming.spi.CannotProceedException"; - - private static InitialContextFactoryBuilder icfb; - - // Package private so DirectoryManager can access it. - static ObjectFactoryBuilder ofb; - - // This class cannot be instantiated. - NamingManager () - { - } - - public static boolean hasInitialContextFactoryBuilder () - { - return icfb != null; - } - - public static Context getInitialContext (Hashtable environment) - throws NamingException - { - InitialContextFactory icf = null; - - if (icfb != null) - icf = icfb.createInitialContextFactory(environment); - else - { - String java_naming_factory_initial = null; - if (environment != null) - java_naming_factory_initial - = (String) environment.get (Context.INITIAL_CONTEXT_FACTORY); - if (java_naming_factory_initial == null) - java_naming_factory_initial = - System.getProperty (Context.INITIAL_CONTEXT_FACTORY); - if (java_naming_factory_initial == null) - throw new - NoInitialContextException ("Can't find property: " - + Context.INITIAL_CONTEXT_FACTORY); - - try - { - icf = (InitialContextFactory)Class.forName - (java_naming_factory_initial, true, - Thread.currentThread().getContextClassLoader()) - .newInstance (); - } - catch (Exception exception) - { - NoInitialContextException e - = new NoInitialContextException - ("Can't load InitialContextFactory class: " - + java_naming_factory_initial); - e.setRootCause(exception); - throw e; - } - } - - return icf.getInitialContext (environment); - } - - static Context getURLContext (Object refInfo, - Name name, - Context nameCtx, - String scheme, - Hashtable environment) - throws NamingException - { - String prefixes = null; - if (environment != null) - prefixes = (String) environment.get (Context.URL_PKG_PREFIXES); - if (prefixes == null) - prefixes = System.getProperty (Context.URL_PKG_PREFIXES); - if (prefixes == null) - { - // Specified as the default in the docs. Unclear if this is - // right for us. - prefixes = "com.sun.jndi.url"; - } - - scheme = scheme + "." + scheme + "URLContextFactory"; - - StringTokenizer tokens = new StringTokenizer (prefixes, ":"); - while (tokens.hasMoreTokens ()) - { - String aTry = tokens.nextToken (); - try - { - Class factoryClass = Class.forName (aTry + "." + scheme, - true, - Thread.currentThread().getContextClassLoader()); - ObjectFactory factory = - (ObjectFactory) factoryClass.newInstance (); - Object obj = factory.getObjectInstance (refInfo, name, - nameCtx, environment); - Context ctx = (Context) obj; - if (ctx != null) - return ctx; - } - catch (ClassNotFoundException _1) - { - // Ignore it. - } - catch (ClassCastException _2) - { - // This means that the class we found was not an - // ObjectFactory or that the factory returned something - // which was not a Context. - } - catch (InstantiationException _3) - { - // If we couldn't instantiate the factory we might get - // this. - } - catch (IllegalAccessException _4) - { - // Another possibility when instantiating. - } - catch (NamingException _5) - { - throw _5; - } - catch (Exception _6) - { - // Anything from getObjectInstance. - } - } - - return null; - } - - public static Context getURLContext (String scheme, - Hashtable environment) - throws NamingException - { - return getURLContext (null, null, null, scheme, environment); - } - - public static void setObjectFactoryBuilder (ObjectFactoryBuilder builder) - throws NamingException - { - SecurityManager sm = System.getSecurityManager (); - if (sm != null) - sm.checkSetFactory (); - // Once the builder is installed it cannot be replaced. - if (ofb != null) - throw new IllegalStateException ("builder already installed"); - if (builder != null) - ofb = builder; - } - - static StringTokenizer getPlusPath (String property, Hashtable env, - Context nameCtx) - throws NamingException - { - String path = (String) env.get (property); - if (nameCtx == null) - nameCtx = getInitialContext (env); - String path2 = (String) nameCtx.getEnvironment ().get (property); - if (path == null) - path = path2; - else if (path2 != null) - path += ":" + path2; - return new StringTokenizer (path != null ? path : "", ":"); - } - - public static Object getObjectInstance (Object refInfo, - Name name, - Context nameCtx, - Hashtable environment) - throws Exception - { - ObjectFactory factory = null; - - if (ofb != null) - factory = ofb.createObjectFactory (refInfo, environment); - else - { - // First see if we have a Reference or a Referenceable. If so - // we do some special processing. - Object ref2 = refInfo; - if (refInfo instanceof Referenceable) - ref2 = ((Referenceable) refInfo).getReference (); - if (ref2 instanceof Reference) - { - Reference ref = (Reference) ref2; - - // If we have a factory class name then we use that. - String fClass = ref.getFactoryClassName (); - if (fClass != null) - { - // Exceptions here are passed to the caller. - Class k = Class.forName (fClass, - true, - Thread.currentThread().getContextClassLoader()); - factory = (ObjectFactory) k.newInstance (); - } - else - { - // There's no factory class name. If the address is a - // StringRefAddr with address type `URL', then we try - // the URL's context factory. - Enumeration e = ref.getAll (); - while (e.hasMoreElements ()) - { - RefAddr ra = (RefAddr) e.nextElement (); - if (ra instanceof StringRefAddr - && "URL".equals (ra.getType ())) - { - factory - = (ObjectFactory) getURLContext (refInfo, - name, - nameCtx, - (String) ra.getContent (), - environment); - Object obj = factory.getObjectInstance (refInfo, - name, - nameCtx, - environment); - if (obj != null) - return obj; - } - } - - // Have to try the next step. - factory = null; - } - } - - // Now look at OBJECT_FACTORIES to find the factory. - if (factory == null) - { - StringTokenizer tokens = getPlusPath (Context.OBJECT_FACTORIES, - environment, nameCtx); - - while (tokens.hasMoreTokens ()) - { - String klassName = tokens.nextToken (); - Class k = Class.forName (klassName, - true, - Thread.currentThread().getContextClassLoader()); - factory = (ObjectFactory) k.newInstance (); - Object obj = factory.getObjectInstance (refInfo, name, - nameCtx, environment); - if (obj != null) - return obj; - } - - // Failure. - return refInfo; - } - } - - if (factory == null) - return refInfo; - Object obj = factory.getObjectInstance (refInfo, name, - nameCtx, environment); - return obj == null ? refInfo : obj; - } - - public static void setInitialContextFactoryBuilder (InitialContextFactoryBuilder builder) - throws NamingException - { - SecurityManager sm = System.getSecurityManager (); - if (sm != null) - sm.checkSetFactory (); - // Once the builder is installed it cannot be replaced. - if (icfb != null) - throw new IllegalStateException ("builder already installed"); - if (builder != null) - icfb = builder; - } - - public static Context getContinuationContext (CannotProceedException cpe) - throws NamingException - { - Hashtable env = cpe.getEnvironment (); - if (env != null) - env.put (CPE, cpe); - - // It is really unclear to me if this is right. - try - { - Object obj = getObjectInstance (cpe.getResolvedObj(), - cpe.getAltName (), - cpe.getAltNameCtx (), - env); - if (obj != null) - return (Context) obj; - } - catch (Exception _) - { - } - - // fix stack trace for re-thrown exception (message confusing otherwise) - cpe.fillInStackTrace(); - - throw cpe; - } - - public static Object getStateToBind (Object obj, Name name, - Context nameCtx, Hashtable environment) - throws NamingException - { - StringTokenizer tokens = getPlusPath (Context.STATE_FACTORIES, - environment, nameCtx); - while (tokens.hasMoreTokens ()) - { - String klassName = tokens.nextToken (); - try - { - Class k = Class.forName (klassName, - true, - Thread.currentThread().getContextClassLoader()); - StateFactory factory = (StateFactory) k.newInstance (); - Object o = factory.getStateToBind (obj, name, nameCtx, - environment); - if (o != null) - return o; - } - catch (ClassNotFoundException _1) - { - // Ignore it. - } - catch (ClassCastException _2) - { - // This means that the class we found was not an - // ObjectFactory or that the factory returned something - // which was not a Context. - } - catch (InstantiationException _3) - { - // If we couldn't instantiate the factory we might get - // this. - } - catch (IllegalAccessException _4) - { - // Another possibility when instantiating. - } - } - - return obj; - } -} diff --git a/libjava/javax/naming/spi/ObjectFactory.java b/libjava/javax/naming/spi/ObjectFactory.java deleted file mode 100644 index 81648d9..0000000 --- a/libjava/javax/naming/spi/ObjectFactory.java +++ /dev/null @@ -1,51 +0,0 @@ -/* ObjectFactory.java -- - Copyright (C) 2001, 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package javax.naming.spi; - -import java.util.Hashtable; - -import javax.naming.Context; -import javax.naming.Name; - -public interface ObjectFactory -{ - Object getObjectInstance (Object obj, Name name, Context nameCtx, - Hashtable environment) - throws Exception; -} diff --git a/libjava/javax/naming/spi/ObjectFactoryBuilder.java b/libjava/javax/naming/spi/ObjectFactoryBuilder.java deleted file mode 100644 index a761393..0000000 --- a/libjava/javax/naming/spi/ObjectFactoryBuilder.java +++ /dev/null @@ -1,54 +0,0 @@ -/* ObjectFactoryBuilder.java -- - Copyright (C) 2001, 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package javax.naming.spi; - -import java.util.Hashtable; - -import javax.naming.NamingException; - -/** - * @author Warren Levy (warrenl@redhat.com) - * @date June 1, 2001 - */ -public interface ObjectFactoryBuilder -{ - ObjectFactory createObjectFactory(Object obj, - Hashtable environment) - throws NamingException; -} diff --git a/libjava/javax/naming/spi/ResolveResult.java b/libjava/javax/naming/spi/ResolveResult.java deleted file mode 100644 index 72a101e..0000000 --- a/libjava/javax/naming/spi/ResolveResult.java +++ /dev/null @@ -1,126 +0,0 @@ -/* ResolveResult.java -- - Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package javax.naming.spi; - -import java.io.Serializable; - -import javax.naming.CompositeName; -import javax.naming.InvalidNameException; -import javax.naming.Name; - -/** - * @author Warren Levy (warrenl@redhat.com) - * @date June 5, 2001 - */ - -public class ResolveResult implements Serializable -{ - // Serialized fields. - protected Object resolvedObj; - protected Name remainingName; - - protected ResolveResult() - { - resolvedObj = null; - remainingName = null; - } - - public ResolveResult(Object robj, String rcomp) - { - if (robj == null || rcomp == null) - throw new IllegalArgumentException (); - resolvedObj = robj; - remainingName = new CompositeName (); - try - { - remainingName.add (rcomp); - } - catch (InvalidNameException _) - { - } - } - - public ResolveResult(Object robj, Name rname) - { - resolvedObj = robj; - remainingName = rname; - } - - public Name getRemainingName() - { - return remainingName; - } - - public Object getResolvedObj() - { - return resolvedObj; - } - - public void setRemainingName(Name name) - { - remainingName = (Name) name.clone(); - } - - public void appendRemainingName(Name name) - { - try - { - remainingName.addAll(name); - } - catch (InvalidNameException _) - { - } - } - - public void appendRemainingComponent(String name) - { - try - { - remainingName.add(name); - } - catch (InvalidNameException _) - { - } - } - - public void setResolvedObj(Object obj) - { - resolvedObj = obj; - } -} diff --git a/libjava/javax/naming/spi/Resolver.java b/libjava/javax/naming/spi/Resolver.java deleted file mode 100644 index d80fb61..0000000 --- a/libjava/javax/naming/spi/Resolver.java +++ /dev/null @@ -1,55 +0,0 @@ -/* Resolver.java -- - Copyright (C) 2001, 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package javax.naming.spi; - -import javax.naming.Name; -import javax.naming.NamingException; - -/** - * @author Warren Levy (warrenl@redhat.com) - * @date June 1, 2001 - */ - -public interface Resolver -{ - ResolveResult resolveToClass(Name name, Class contextType) - throws NamingException; - ResolveResult resolveToClass(String name, Class contextType) - throws NamingException; -} diff --git a/libjava/javax/naming/spi/StateFactory.java b/libjava/javax/naming/spi/StateFactory.java deleted file mode 100644 index 1fbdeb1..0000000 --- a/libjava/javax/naming/spi/StateFactory.java +++ /dev/null @@ -1,55 +0,0 @@ -/* StateFactory.java -- - Copyright (C) 2001, 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package javax.naming.spi; - -import java.util.Hashtable; - -import javax.naming.Context; -import javax.naming.Name; -import javax.naming.NamingException; - -/** - * @author Warren Levy (warrenl@redhat.com) - * @date June 1, 2001 - */ -public interface StateFactory -{ - Object getStateToBind(Object obj, Name name, Context nameCtx, - Hashtable environment) throws NamingException; -} -- cgit v1.1