Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[higgins-dev] JNDI.CO NLS change Diff path file (Jim please see this)


Hi Jim,
      I am attaching a new zip file  jndi_cp_nls_change.zip to this Change Request for review.
This zip file contains following entitities
        1. jndicp_nls_change_patch.txt (diff patch created using eclipse IDE after merging nls change)
        2. nls.jar (The nls change that is needed by jndicp needs   during build and run time)
        3. org.eclipse.higgins.idas.cp.jndi (modified source files)

Please make sure nls.jar is in your runtime and build time class path if you want to test or build the above changes. I hope you must be aware of that,  Mary Ruddy is already working on the approval of all legal issues associated with this package(nls.jar which is created from eclipse's nls OSGI bundle).

NOTES : In jndi-cp there are many log calls as "_log.debug(...msg.) .I found these calls are enabled by default immaterial of debug or normal mode of execution, so I have gloablized these messages .


Thanks and Regards,
Prakash
---------------------------------------------------------------------------------------------------
Advisory Software Engineer,
Tivoli Security Products
ETZ, Plot No. 3 , Rajiv Gandhi Infotech Park
Phase II, Hinjewadi, Pune - 411057
Ph: +91-20-42025544
e-mail: prakash.mallick@xxxxxxxxxx
---------------------------------------------------------------------------------------------------

Attachment: jndi_cp_nls_change.zip
Description: Zip archive

Index: C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/.project
===================================================================
--- C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/.project	(revision 20001)
+++ C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/.project	(working copy)
@@ -6,6 +6,11 @@
 	</projects>
 	<buildSpec>
 		<buildCommand>
+			<name>com.ibm.etools.common.migration.MigrationBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
 			<name>org.eclipse.wst.common.project.facet.core.builder</name>
 			<arguments>
 			</arguments>
Index: C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/LDAPHigginsSSLSocketFactoryProducer.java
===================================================================
--- C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/LDAPHigginsSSLSocketFactoryProducer.java	(revision 20001)
+++ C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/LDAPHigginsSSLSocketFactoryProducer.java	(working copy)
@@ -1,146 +1,146 @@
-/**
- * Copyright (c) 2006-2007 Novell, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *		Tom Doman
- */
-
-package org.eclipse.higgins.idas.cp.jndi;
-
-import javax.naming.NamingException;
-import javax.net.ssl.SSLSocketFactory;
-import javax.net.SocketFactory;
-
-import org.eclipse.higgins.util.socket.HigginsSSLSocketFactory;
-
-import java.net.Socket;
-import java.net.UnknownHostException;
-import java.net.InetAddress;
-import java.io.File;
-import java.io.IOException;
-
-/**
- */
-public class LDAPHigginsSSLSocketFactoryProducer extends SSLSocketFactory
-{
-	private static LDAPHigginsSSLSocketFactoryProducer _myInstance;
-	private HigginsSSLSocketFactory _factory;
-
-	/**
-	 * 
-	 * @param factory
-	 */
-	private LDAPHigginsSSLSocketFactoryProducer(
-		HigginsSSLSocketFactory factory)
-	{
-		super();
-		_factory = factory;
-	}
-
-	/**
-	 * Produces a single instance of HigginsSSLSocketFactory 
-	 */
-	public static SocketFactory getDefault()
-	{
-		if (_myInstance == null)
-			_myInstance = new LDAPHigginsSSLSocketFactoryProducer(
-				(HigginsSSLSocketFactory)HigginsSSLSocketFactory.getDefault());
-		return _myInstance;
-	}
-
-	/**
-	 * 
-	 * @param keyStoreFile
-	 */
-	public void setKeyStore(
-		File keyStoreFile,
-		String keyStorePassword)
-	{
-		_factory.setKeyStore(keyStoreFile, keyStorePassword);
-	}
-
-	/**
-	 * 
-	 * @throws NamingException
-	 */
-	public void reloadKeyStore() throws NamingException
-	{
-		_factory.reloadKeyStore();
-	}
-
-	/**
-	 * 
-	 */
-	public String[] getDefaultCipherSuites()
-	{
-		return _factory.getDefaultCipherSuites();
-	}
-
-	/**
-	 * 
-	 */
-	public String[] getSupportedCipherSuites()
-	{
-		return _factory.getSupportedCipherSuites();
-	}
-
-	/**
-	 * 
-	 */
-	public Socket createSocket(
-		String host,
-		int port,
-		InetAddress clientHost,
-		int clientPort) throws IOException, UnknownHostException
-	{
-		return _factory.createSocket(host, port, clientHost, clientPort);
-	}
-
-	/**
-	 * 
-	 */
-	public Socket createSocket(
-		InetAddress inetAddress,
-		int i,
-		InetAddress inetAddress1,
-		int i1) throws IOException
-	{
-		return _factory.createSocket(inetAddress, i, inetAddress1, i1);
-	}
-
-	/**
-	 * 
-	 */
-	public Socket createSocket(
-		String host,
-		int port) throws IOException, UnknownHostException
-	{
-		return _factory.createSocket(host, port);
-	}
-
-	/**
-	 * 
-	 */
-	public Socket createSocket(
-		InetAddress inetAddress,
-		int i) throws IOException
-	{
-		return _factory.createSocket(inetAddress, i);
-	}
-
-	/**
-	 * 
-	 */
-	public Socket createSocket(
-		Socket socket,
-		String host,
-		int port,
-		boolean autoClose) throws IOException, UnknownHostException
-	{
-		return _factory.createSocket(socket, host, port, autoClose);
-	}
-}
+/**
+ * Copyright (c) 2006-2007 Novell, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *		Tom Doman
+ */
+
+package org.eclipse.higgins.idas.cp.jndi;
+
+import javax.naming.NamingException;
+import javax.net.ssl.SSLSocketFactory;
+import javax.net.SocketFactory;
+
+import org.eclipse.higgins.util.socket.HigginsSSLSocketFactory;
+
+import java.net.Socket;
+import java.net.UnknownHostException;
+import java.net.InetAddress;
+import java.io.File;
+import java.io.IOException;
+
+/**
+ */
+public class LDAPHigginsSSLSocketFactoryProducer extends SSLSocketFactory
+{
+	private static LDAPHigginsSSLSocketFactoryProducer _myInstance;
+	private HigginsSSLSocketFactory _factory;
+
+	/**
+	 * 
+	 * @param factory
+	 */
+	private LDAPHigginsSSLSocketFactoryProducer(
+		HigginsSSLSocketFactory factory)
+	{
+		super();
+		_factory = factory;
+	}
+
+	/**
+	 * Produces a single instance of HigginsSSLSocketFactory 
+	 */
+	public static SocketFactory getDefault()
+	{
+		if (_myInstance == null)
+			_myInstance = new LDAPHigginsSSLSocketFactoryProducer(
+				(HigginsSSLSocketFactory)HigginsSSLSocketFactory.getDefault());
+		return _myInstance;
+	}
+
+	/**
+	 * 
+	 * @param keyStoreFile
+	 */
+	public void setKeyStore(
+		File keyStoreFile,
+		String keyStorePassword)
+	{
+		_factory.setKeyStore(keyStoreFile, keyStorePassword);
+	}
+
+	/**
+	 * 
+	 * @throws NamingException
+	 */
+	public void reloadKeyStore() throws NamingException
+	{
+		_factory.reloadKeyStore();
+	}
+
+	/**
+	 * 
+	 */
+	public String[] getDefaultCipherSuites()
+	{
+		return _factory.getDefaultCipherSuites();
+	}
+
+	/**
+	 * 
+	 */
+	public String[] getSupportedCipherSuites()
+	{
+		return _factory.getSupportedCipherSuites();
+	}
+
+	/**
+	 * 
+	 */
+	public Socket createSocket(
+		String host,
+		int port,
+		InetAddress clientHost,
+		int clientPort) throws IOException, UnknownHostException
+	{
+		return _factory.createSocket(host, port, clientHost, clientPort);
+	}
+
+	/**
+	 * 
+	 */
+	public Socket createSocket(
+		InetAddress inetAddress,
+		int i,
+		InetAddress inetAddress1,
+		int i1) throws IOException
+	{
+		return _factory.createSocket(inetAddress, i, inetAddress1, i1);
+	}
+
+	/**
+	 * 
+	 */
+	public Socket createSocket(
+		String host,
+		int port) throws IOException, UnknownHostException
+	{
+		return _factory.createSocket(host, port);
+	}
+
+	/**
+	 * 
+	 */
+	public Socket createSocket(
+		InetAddress inetAddress,
+		int i) throws IOException
+	{
+		return _factory.createSocket(inetAddress, i);
+	}
+
+	/**
+	 * 
+	 */
+	public Socket createSocket(
+		Socket socket,
+		String host,
+		int port,
+		boolean autoClose) throws IOException, UnknownHostException
+	{
+		return _factory.createSocket(socket, host, port, autoClose);
+	}
+}
Index: C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIContextFactory.java
===================================================================
--- C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIContextFactory.java	(revision 20001)
+++ C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIContextFactory.java	(working copy)
@@ -1,99 +1,101 @@
-/**
- * Copyright (c) 2006-2007 Novell, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *		Tom Doman
- *		Jim Sermersheim
- */
-
-package org.eclipse.higgins.idas.cp.jndi;
-
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.higgins.configuration.api.IConfigurableComponent;
-import org.eclipse.higgins.idas.api.IContext;
-import org.eclipse.higgins.idas.api.IContextFactory;
-import org.eclipse.higgins.idas.api.IContextId;
-import org.eclipse.higgins.idas.api.IdASException;
-import org.eclipse.higgins.idas.api.NotImplementedException;
-import org.eclipse.higgins.idas.spi.BasicAttributeSet;
-
-/**
-*
-* @author tdoman@xxxxxxxxxx
-* @author jimse@xxxxxxxxxx
-*
-*/
-
-public class JNDIContextFactory extends BasicAttributeSet implements IContextFactory, IConfigurableComponent
-{
-//	private Logger _log = Logger.getLogger(JNDIContextFactory.class.getName());
-//	private Map _mapGlobalSettings;
-//	private Map _mapComponentSettings;
-
-	/**
-	 */
-	public JNDIContextFactory() throws IdASException
-	{
-		super();
-	}
-
-	/**
-	 */
-	public String getName() throws IdASException
-	{
-		return "Higgins JNDI Context Provider";
-	}
-
-	/**
-	 */
-	public Iterator getContexts(
-	    String filter) throws IdASException
-	{
-		throw new NotImplementedException();
-	}
-
-	/**
-	 */
-	public IContext createContext(
-		IContextId contextID) throws IdASException
-	{
-		return new JNDIContext(contextID);
-	}
-
-	/**
-	 */
-	public String getPolicy() throws IdASException
-	{
-		throw new NotImplementedException();
-	}
-
-	/**
-	 */
-	public void setPolicy(
-		String arg0) throws IdASException
-	{
-		throw new NotImplementedException();
-	}
-
-	/**
-	 * 
-	 * @param mapGlobalSettings
-	 * @param strComponentName
-	 * @param mapComponentSettings
-	 * @throws Exception
-	 */
-	public void configure(
-		final Map mapGlobalSettings,
-		final String strComponentName,
-		final Map mapComponentSettings) throws Exception
-	{
-//		_mapGlobalSettings = mapGlobalSettings;
-//		_mapComponentSettings = mapComponentSettings;
-	}
-}
+/**
+ * Copyright (c) 2006-2007 Novell, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *		Tom Doman
+ *		Jim Sermersheim
+ */
+
+package org.eclipse.higgins.idas.cp.jndi;
+
+import java.util.Iterator;
+import java.util.Map;
+
+import org.eclipse.higgins.configuration.api.IConfigurableComponent;
+import org.eclipse.higgins.idas.api.IContext;
+import org.eclipse.higgins.idas.api.IContextFactory;
+import org.eclipse.higgins.idas.api.IContextId;
+import org.eclipse.higgins.idas.api.IdASException;
+import org.eclipse.higgins.idas.api.NotImplementedException;
+import org.eclipse.higgins.idas.spi.BasicAttributeSet;
+
+
+
+/**
+*
+* @author tdoman@xxxxxxxxxx
+* @author jimse@xxxxxxxxxx
+*
+*/
+
+public class JNDIContextFactory extends BasicAttributeSet implements IContextFactory, IConfigurableComponent
+{
+//	private Logger _log = Logger.getLogger(JNDIContextFactory.class.getName());
+//	private Map _mapGlobalSettings;
+//	private Map _mapComponentSettings;
+
+	/**
+	 */
+	public JNDIContextFactory() throws IdASException
+	{
+		super();
+	}
+
+	/**
+	 */
+	public String getName() throws IdASException
+	{
+		return "Higgins JNDI Context Provider";
+	}
+
+	/**
+	 */
+	public Iterator getContexts(
+	    String filter) throws IdASException
+	{
+		throw new NotImplementedException();
+	}
+
+	/**
+	 */
+	public IContext createContext(
+		IContextId contextID) throws IdASException
+	{
+		return new JNDIContext(contextID);
+	}
+
+	/**
+	 */
+	public String getPolicy() throws IdASException
+	{
+		throw new NotImplementedException();
+	}
+
+	/**
+	 */
+	public void setPolicy(
+		String arg0) throws IdASException
+	{
+		throw new NotImplementedException();
+	}
+
+	/**
+	 * 
+	 * @param mapGlobalSettings
+	 * @param strComponentName
+	 * @param mapComponentSettings
+	 * @throws Exception
+	 */
+	public void configure(
+		final Map mapGlobalSettings,
+		final String strComponentName,
+		final Map mapComponentSettings) throws Exception
+	{
+//		_mapGlobalSettings = mapGlobalSettings;
+//		_mapComponentSettings = mapComponentSettings;
+	}
+}
Index: C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIEntity.java
===================================================================
--- C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIEntity.java	(revision 20001)
+++ C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIEntity.java	(working copy)
@@ -1,428 +1,432 @@
-/**
- * Copyright (c) 2006-2007 Novell, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *		Tom Doman
- *		Jim Sermersheim
- */
-
-package org.eclipse.higgins.idas.cp.jndi;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Iterator;
-import java.util.Vector;
-
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-import javax.naming.directory.Attribute;
-import javax.naming.directory.Attributes;
-import javax.naming.directory.SearchResult;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.eclipse.higgins.idas.api.IAttribute;
-import org.eclipse.higgins.idas.api.IEntity;
-import org.eclipse.higgins.idas.api.ISimpleAttrValue;
-import org.eclipse.higgins.idas.api.IdASException;
-import org.eclipse.higgins.idas.api.InvalidTypeException;
-import org.eclipse.higgins.idas.api.NotImplementedException;
-import org.eclipse.higgins.idas.spi.AttributeNotification;
-import org.eclipse.higgins.idas.spi.BasicEntity;
-import org.eclipse.higgins.idas.spi.IEntityContainer;
-import org.eclipse.higgins.idas.spi.BasicAttribute;
-import org.eclipse.higgins.idas.spi.BasicAttributeSet;
-import org.eclipse.higgins.idas.spi.BasicSimpleValue;
-import org.eclipse.higgins.idas.spi.EntityNotification;
-import org.eclipse.higgins.idas.api.model.IEntityModel;
-import org.eclipse.higgins.util.idas.cp.BasicAttributePDP;
-import org.eclipse.higgins.util.idas.cp.BasicAttributePDPIter;
-import org.eclipse.higgins.util.idas.cp.IAttributePDPs;
-
-/**
- * 
- * @author tdoman@xxxxxxxxxx
- * @author jimse@xxxxxxxxxx
- * 
- */
-
-public class JNDIEntity extends BasicEntity implements IEntity
-{
-	private Log _log = LogFactory.getLog(JNDIEntity.class.getName());
-	private JNDIContext _context;
-	private SearchResult _jndiResult;
-	private IAttributePDPs _attrPDPs;
-	private String _entityID;
-	private URI _type;
-	private IEntityContainer _container;
-	private Vector _readListJNDI = new Vector();
-	private boolean _bReadAllJNDI = false;
-	private String _searchBase;
-
-	/**
-	 * 
-	 * @param jndiContext
-	 * @param jndiResult
-	 * @param attrPDPs
-	 * @throws IdASException
-	 */
-	public JNDIEntity(
-		JNDIContext jndiContext,
-		SearchResult jndiResult,
-		String searchBase,
-		IAttributePDPs attrPDPs) throws IdASException
-	{
-		super(jndiContext);
-		_context = jndiContext;
-		_container = jndiContext;
-		_jndiResult = jndiResult;
-		_searchBase = searchBase;
-		_attrPDPs = attrPDPs;
-	}
-
-	/**
-	 * 
-	 * @param jndiContext
-	 * @param type
-	 * @param entityID
-	 * @param attrPDPs
-	 * @throws IdASException
-	 */
-	public JNDIEntity(
-		JNDIContext jndiContext,
-		URI type,
-		String entityID,
-		IAttributePDPs attrPDPs) throws IdASException
-	{
-		super(jndiContext, type, entityID);
-		_context = jndiContext;
-		_container = jndiContext;
-		_entityID = _context.consumerEntityIDToProvider(entityID);
-		_type = type;
-		_attrPDPs = attrPDPs;
-	}
-
-	/**
-	 * 
-	 * @param jndiContext
-	 * @param copyFrom
-	 * @param attrPDPs
-	 * @throws IdASException
-	 */
-	public JNDIEntity(
-		JNDIContext jndiContext,
-		IEntity copyFrom,
-		IAttributePDPs attrPDPs) throws IdASException
-	{
-		super(jndiContext, copyFrom.getModel().getType(), copyFrom.getEntityID());
-		_context = jndiContext;
-		_container = jndiContext;
-		_entityID = _context.consumerEntityIDToProvider(copyFrom.getEntityID());
-		_type = copyFrom.getModel().getType();
-		_attrPDPs = attrPDPs;
-	}
-
-	/**
-	 * 
-	 */
-	private String _getNameInNamespace(
-		SearchResult jndiResult) // throws IdASException
-	{
-		String retStr;
-//		try
-//		{
-			retStr = _jndiResult.getName();
-			if (retStr.length() == 0)
-				retStr = _searchBase;
-			else if (_searchBase.length() > 0)
-				retStr = retStr + "," + _searchBase;
-			// HACK: composeName does not work to create full names in 1.4 for some reason and
-			//		 getNameInNamespace is only in Java 1.5.  LDAP specific hack coded above.
-			// retStr = _context.getDirContext().composeName(_jndiResult.getName(), _searchBase);
-			
-			/* Here's something we should try
-			 * NameParser parser = _context.getDirContext().getNameParser(_jndiResult.getName());
-			 * parser.add(_searchBase);
-			 * return parser.toString();
- 			 */
-//		}
-//		catch (NamingException e)
-//		{
-//			throw new IdASException(e);
-//		}
-		return retStr;
-	}
-
-	/**
-	 */
-	public String getEntityID() throws IdASException
-	{
-		if (_entityID == null)
-		{
-			if (_jndiResult != null)
-				_entityID = _context.providerEntityIDToConsumer(_getNameInNamespace(_jndiResult));
-			else
-				throw new IdASException("No entity ID is set.");
-		}
-		return _entityID;
-	}
-
-	/**
-	 */
-	public URI getEntityType() throws IdASException
-	{
-		if (_type == null)
-		{
-			if (_jndiResult != null)
-				_type = _context.getSearchResultType(_jndiResult);
-			else
-				throw new IdASException("No entity type set.");
-		}
-		return _type; 
-	}
-
-	/**
-	 */
-	public Iterator getAttributes() throws IdASException
-	{
-		BasicAttributeSet attrSet = this.getBasicAttributeSet();		
-		boolean bHasItems = attrSet.getAttributes().hasNext();
-
-		if (!_bReadAllJNDI  && (_jndiResult != null))
-		{
-			NamingEnumeration jndiEnum;
-			Attributes jndiAttrs = _jndiResult.getAttributes();
-			jndiEnum = jndiAttrs.getAll();
-			try
-			{
-				while (jndiEnum.hasMore())
-				{
-					Attribute jndiAttr = (Attribute) jndiEnum.next();
-					NamingEnumeration jndiAttrValEnum = jndiAttr.getAll();
-					URI attrURI = new URI(jndiAttr.getID());
-					BasicAttribute attr = null;
-	
-					if (!bHasItems || (attrSet.getAttribute(attrURI) == null))
-					{
-						// TODO: Map based on syntaxes.
-						attr = attrSet.addUnnotifiedAttribute(attrURI);
-						while (jndiAttrValEnum.hasMore())
-						{
-							Object jndiValue = jndiAttrValEnum.next();
-							if (jndiValue instanceof String)
-							{
-								_log.debug("Attr: " + jndiAttr.getID() + " is a String");
-								attr.addSimpleValue(ISimpleAttrValue.STRING_TYPE_URI, (String) jndiValue);
-							}
-							else if (jndiValue instanceof byte[])
-							{
-								_log.debug("Attr: " + jndiAttr.getID() + " is a byte[]");
-								attr.addSimpleValue(ISimpleAttrValue.BASE64BINARY_TYPE_URI,
-									(byte[]) jndiValue);
-							}
-							else
-							{
-								_log.debug(jndiValue.getClass().toString());
-								attr.addSimpleValue(new URI(BasicSimpleValue.ATTR_VALUE_TYPE_URI_STR), jndiValue);
-							}
-						}
-						attr.setContainer(attrSet);
-						_readListJNDI.add(attrURI);
-					}
-				}
-				_bReadAllJNDI = true;
-			}
-			catch (NamingException e)
-			{
-				throw new IdASException(e);
-			}
-			catch (URISyntaxException e)
-			{
-				throw new IdASException(e);
-			}
-		}
-
-		/* No support for metadata PDPs. */
-		return new BasicAttributePDPIter(_attrPDPs, null, null, attrSet.getAttributes(), true);
-	}
-
-	/**
-	 */
-	public IAttribute getAttribute(
-		URI consumerAttrName) throws IdASException
-	{
-		IAttribute retAttr = null;
-		BasicAttributeSet attrSet = this.getBasicAttributeSet();
-
-		out: try
-		{
-			Iterator itr = _attrPDPs.consumerIDToProviders(consumerAttrName);
-			URI providerAttrName = null;
-
-			while (itr.hasNext())
-			{
-				providerAttrName = (URI) itr.next();
-				if (_readListJNDI.contains(providerAttrName))
-				{
-					retAttr = attrSet.getAttribute(providerAttrName);
-					_log.debug(providerAttrName + " already placed attrSet, container: " + ((BasicAttribute)retAttr).getContainer());
-					break out;
-				}
-				else if ((retAttr = attrSet.getAttribute(providerAttrName)) != null)
-				{
-					_log.debug(providerAttrName + " already added attrSet, container: " + ((BasicAttribute)retAttr).getContainer());
-					break out;
-				}
-				else if (_jndiResult != null)
-				{
-					BasicAttribute attr = null;
-					Attributes jndiAttrs = _jndiResult.getAttributes();
-					NamingEnumeration jndiEnum = jndiAttrs.getAll();
-					while (jndiEnum.hasMore())
-					{
-						Attribute jndiAttr = (Attribute) jndiEnum.next();
-						URI attrURI = new URI(jndiAttr.getID());
-
-						if (providerAttrName.compareTo(attrURI) == 0)
-						{
-							NamingEnumeration jndiAttrValEnum = jndiAttr.getAll();
-							attr = attrSet.addUnnotifiedAttribute(attrURI);
-							while (jndiAttrValEnum.hasMore())
-							{
-								Object jndiValue = jndiAttrValEnum.next();
-								if (jndiValue instanceof String)
-								{
-									_log.debug("Attr: " + jndiAttr.getID() + " is a String");
-									attr.addSimpleValue(ISimpleAttrValue.STRING_TYPE_URI,
-										(String) jndiValue);
-								}
-								else if (jndiValue instanceof byte[])
-								{
-									_log.debug("Attr: " + jndiAttr.getID() + " is a byte[]");
-									attr.addSimpleValue(ISimpleAttrValue.BASE64BINARY_TYPE_URI,
-										(byte[]) jndiValue);
-								}
-								else
-								{
-									_log.debug(jndiValue.getClass().toString());
-									attr.addSimpleValue(new URI(BasicSimpleValue.ATTR_VALUE_TYPE_URI_STR), jndiValue);
-								}
-							}
-							attr.setContainer(attrSet);
-							retAttr = attr;
-							_readListJNDI.add(attrURI);
-							_log.debug("Placed [" + attr.getAttrID().toString() + "] into attrSet, container: " + ((BasicAttribute)retAttr).getContainer());
-							break out;
-						}
-					}
-				}
-			}
-		}
-		catch (NamingException e)
-		{
-			throw new IdASException(e);
-		}
-		catch (URISyntaxException e)
-		{
-			throw new IdASException(e);
-		}
-
-		if (retAttr != null)
-			return new BasicAttributePDP(_attrPDPs, null, null, retAttr, true);
-		else
-			return retAttr;
-	}
-
-	/*
-	 * @see org.eclipse.higgins.idas.api.IHasAttributes#addAttribute(org.eclipse.higgins.idas.api.IAttribute)
-	 */
-	public IAttribute addAttribute(
-		IAttribute copyFrom) throws IdASException
-	{
-		BasicAttributeSet attrSet = this.getBasicAttributeSet();
-		BasicAttributePDP attrPDP = new BasicAttributePDP(_attrPDPs, null, null, copyFrom, false);
-		IAttribute attr = attrSet.getAttribute(attrPDP.getAttrID()); 
-			
-		if (attr != null)
-			return attr;
-		else
-			return super.addAttribute(attrPDP);
-	}
-
-	/*
-	 * @see org.eclipse.higgins.idas.api.IHasAttributes#addAttribute(java.net.URI)
-	 */
-	public IAttribute addAttribute(
-		URI type) throws IdASException, InvalidTypeException
-	{
-		Iterator itr = _attrPDPs.consumerIDToProviders(type);
-		BasicAttributeSet attrSet = this.getBasicAttributeSet();
-		URI providerType = (URI)itr.next();
-		IAttribute attr = attrSet.getAttribute(providerType);
-
-		if (attr != null)
-			return attr;
-		else
-			return super.addAttribute(providerType);
-	}
-
-	/**
-	 * @see org.eclipse.higgins.idas.api.IHasAttributes#removeAttribute(java.net.URI)
-	 */
-	public void removeAttribute(URI attrID) throws IdASException {
-		Iterator itr = _attrPDPs.consumerIDToProviders(attrID);
-		if (itr != null) {
-			URI providerType = (URI)itr.next();
-			super.removeAttribute(providerType);
-		} else {
-			super.removeAttribute(attrID);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.higgins.idas.api.IHasAttributes#removeAttributeValue(IAttribute)
-	 */
-	public void removeAttributeValue(IAttribute attr) throws IdASException {
-		BasicAttributePDP attrPDP = new BasicAttributePDP(_attrPDPs, null, null, attr, false);
-		super.removeAttributeValue(attrPDP);
-	}
-
-	/**
-	 * @see org.eclipse.higgins.idas.api.IHasAttributes#removeAttributeValue(URI, Object)
-	 */
-	public void removeAttributeValue(URI attrID, Object value) throws IdASException {
-		Iterator itr = _attrPDPs.consumerIDToProviders(attrID);
-		if (itr != null) {
-			URI providerType = (URI)itr.next();
-			super.removeAttributeValue(providerType, value);
-		} else {
-			super.removeAttributeValue(attrID, value);
-		}
-	}
-	
-
-	public void remove() throws IdASException
-	{
-		if (_container != null)
-		{
-			_container.updateNotification(new EntityNotification(this, EntityNotification.UPDATE_REMOVE,
-				null));
-		}
-	}
-
-	public void updateNotification(
-		AttributeNotification attrNotif) throws IdASException
-	{
-		_log.debug("Received attribute update notification - " + attrNotif.getAction() + ", " + attrNotif.getAttr().getAttrID().toString());
-		_log.debug("_containter " + ((_container != null) ? _container.toString() : "null"));		
-		if (_container != null)
-		{
-			_container.updateNotification(new EntityNotification(this, EntityNotification.UPDATE_ATTR_NOTIFY,
-				attrNotif));
-		}
-	}
-}
+/**
+ * Copyright (c) 2006-2007 Novell, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *		Tom Doman
+ *		Jim Sermersheim
+ */
+
+package org.eclipse.higgins.idas.cp.jndi;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.Iterator;
+import java.util.Vector;
+
+import javax.naming.NamingEnumeration;
+import javax.naming.NamingException;
+import javax.naming.directory.Attribute;
+import javax.naming.directory.Attributes;
+import javax.naming.directory.SearchResult;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.eclipse.higgins.idas.api.IAttribute;
+import org.eclipse.higgins.idas.api.IEntity;
+import org.eclipse.higgins.idas.api.ISimpleAttrValue;
+import org.eclipse.higgins.idas.api.IdASException;
+import org.eclipse.higgins.idas.api.InvalidTypeException;
+import org.eclipse.higgins.idas.api.NotImplementedException;
+import org.eclipse.higgins.idas.spi.AttributeNotification;
+import org.eclipse.higgins.idas.spi.BasicEntity;
+import org.eclipse.higgins.idas.spi.IEntityContainer;
+import org.eclipse.higgins.idas.spi.BasicAttribute;
+import org.eclipse.higgins.idas.spi.BasicAttributeSet;
+import org.eclipse.higgins.idas.spi.BasicSimpleValue;
+import org.eclipse.higgins.idas.spi.EntityNotification;
+import org.eclipse.higgins.idas.api.model.IEntityModel;
+import org.eclipse.higgins.util.idas.cp.BasicAttributePDP;
+import org.eclipse.higgins.util.idas.cp.BasicAttributePDPIter;
+import org.eclipse.higgins.util.idas.cp.IAttributePDPs;
+
+import org.eclipse.higgins.idas.cp.jndi.L10n.JNDIContextMessages;
+
+/**
+ * 
+ * @author tdoman@xxxxxxxxxx
+ * @author jimse@xxxxxxxxxx
+ * 
+ */
+
+public class JNDIEntity extends BasicEntity implements IEntity
+{
+	private Log _log = LogFactory.getLog(JNDIEntity.class.getName());
+	private JNDIContext _context;
+	private SearchResult _jndiResult;
+	private IAttributePDPs _attrPDPs;
+	private String _entityID;
+	private URI _type;
+	private IEntityContainer _container;
+	private Vector _readListJNDI = new Vector();
+	private boolean _bReadAllJNDI = false;
+	private String _searchBase;
+
+	/**
+	 * 
+	 * @param jndiContext
+	 * @param jndiResult
+	 * @param attrPDPs
+	 * @throws IdASException
+	 */
+	public JNDIEntity(
+		JNDIContext jndiContext,
+		SearchResult jndiResult,
+		String searchBase,
+		IAttributePDPs attrPDPs) throws IdASException
+	{
+		super(jndiContext);
+		_context = jndiContext;
+		_container = jndiContext;
+		_jndiResult = jndiResult;
+		_searchBase = searchBase;
+		_attrPDPs = attrPDPs;
+	}
+
+	/**
+	 * 
+	 * @param jndiContext
+	 * @param type
+	 * @param entityID
+	 * @param attrPDPs
+	 * @throws IdASException
+	 */
+	public JNDIEntity(
+		JNDIContext jndiContext,
+		URI type,
+		String entityID,
+		IAttributePDPs attrPDPs) throws IdASException
+	{
+		super(jndiContext, type, entityID);
+		_context = jndiContext;
+		_container = jndiContext;
+		_entityID = _context.consumerEntityIDToProvider(entityID);
+		_type = type;
+		_attrPDPs = attrPDPs;
+	}
+
+	/**
+	 * 
+	 * @param jndiContext
+	 * @param copyFrom
+	 * @param attrPDPs
+	 * @throws IdASException
+	 */
+	public JNDIEntity(
+		JNDIContext jndiContext,
+		IEntity copyFrom,
+		IAttributePDPs attrPDPs) throws IdASException
+	{
+		super(jndiContext, copyFrom.getModel().getType(), copyFrom.getEntityID());
+		_context = jndiContext;
+		_container = jndiContext;
+		_entityID = _context.consumerEntityIDToProvider(copyFrom.getEntityID());
+		_type = copyFrom.getModel().getType();
+		_attrPDPs = attrPDPs;
+	}
+
+	/**
+	 * 
+	 */
+	private String _getNameInNamespace(
+		SearchResult jndiResult) // throws IdASException
+	{
+		String retStr;
+//		try
+//		{
+			retStr = _jndiResult.getName();
+			if (retStr.length() == 0)
+				retStr = _searchBase;
+			else if (_searchBase.length() > 0)
+				retStr = retStr + "," + _searchBase;
+			// HACK: composeName does not work to create full names in 1.4 for some reason and
+			//		 getNameInNamespace is only in Java 1.5.  LDAP specific hack coded above.
+			// retStr = _context.getDirContext().composeName(_jndiResult.getName(), _searchBase);
+			
+			/* Here's something we should try
+			 * NameParser parser = _context.getDirContext().getNameParser(_jndiResult.getName());
+			 * parser.add(_searchBase);
+			 * return parser.toString();
+ 			 */
+//		}
+//		catch (NamingException e)
+//		{
+//			throw new IdASException(e);
+//		}
+		return retStr;
+	}
+
+	/**
+	 */
+	public String getEntityID() throws IdASException
+	{
+		if (_entityID == null)
+		{
+			if (_jndiResult != null)
+				_entityID = _context.providerEntityIDToConsumer(_getNameInNamespace(_jndiResult));
+			else
+				throw new IdASException(JNDIContextMessages.JNDICNTXT_NO_EID_SET);
+		}
+		return _entityID;
+	}
+
+	/**
+	 */
+	public URI getEntityType() throws IdASException
+	{
+		if (_type == null)
+		{
+			if (_jndiResult != null)
+				_type = _context.getSearchResultType(_jndiResult);
+			else
+				throw new IdASException(JNDIContextMessages.JNDICNTXT_NO_TYPE_SET);
+		}
+		return _type; 
+	}
+
+	/**
+	 */
+	public Iterator getAttributes() throws IdASException
+	{
+		BasicAttributeSet attrSet = this.getBasicAttributeSet();		
+		boolean bHasItems = attrSet.getAttributes().hasNext();
+
+		if (!_bReadAllJNDI  && (_jndiResult != null))
+		{
+			NamingEnumeration jndiEnum;
+			Attributes jndiAttrs = _jndiResult.getAttributes();
+			jndiEnum = jndiAttrs.getAll();
+			try
+			{
+				while (jndiEnum.hasMore())
+				{
+					Attribute jndiAttr = (Attribute) jndiEnum.next();
+					NamingEnumeration jndiAttrValEnum = jndiAttr.getAll();
+					URI attrURI = new URI(jndiAttr.getID());
+					BasicAttribute attr = null;
+	
+					if (!bHasItems || (attrSet.getAttribute(attrURI) == null))
+					{
+						// TODO: Map based on syntaxes.
+						attr = attrSet.addUnnotifiedAttribute(attrURI);
+						while (jndiAttrValEnum.hasMore())
+						{
+							Object jndiValue = jndiAttrValEnum.next();
+							if (jndiValue instanceof String)
+							{
+								_log.debug(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_STRING_MSG, jndiAttr.getID()));
+								attr.addSimpleValue(ISimpleAttrValue.STRING_TYPE_URI, (String) jndiValue);
+							}
+							else if (jndiValue instanceof byte[])
+							{
+								_log.debug(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_BYTE_MSG, jndiAttr.getID()));
+								attr.addSimpleValue(ISimpleAttrValue.BASE64BINARY_TYPE_URI,
+									(byte[]) jndiValue);
+							}
+							else
+							{
+								_log.debug(jndiValue.getClass().toString());
+								attr.addSimpleValue(new URI(BasicSimpleValue.ATTR_VALUE_TYPE_URI_STR), jndiValue);
+							}
+						}
+						attr.setContainer(attrSet);
+						_readListJNDI.add(attrURI);
+					}
+				}
+				_bReadAllJNDI = true;
+			}
+			catch (NamingException e)
+			{
+				throw new IdASException(e);
+			}
+			catch (URISyntaxException e)
+			{
+				throw new IdASException(e);
+			}
+		}
+
+		/* No support for metadata PDPs. */
+		return new BasicAttributePDPIter(_attrPDPs, null, null, attrSet.getAttributes(), true);
+	}
+
+	/**
+	 */
+	public IAttribute getAttribute(
+		URI consumerAttrName) throws IdASException
+	{
+		IAttribute retAttr = null;
+		BasicAttributeSet attrSet = this.getBasicAttributeSet();
+
+		out: try
+		{
+			Iterator itr = _attrPDPs.consumerIDToProviders(consumerAttrName);
+			URI providerAttrName = null;
+
+			while (itr.hasNext())
+			{
+				providerAttrName = (URI) itr.next();
+				if (_readListJNDI.contains(providerAttrName))
+				{
+					retAttr = attrSet.getAttribute(providerAttrName);
+					_log.debug(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_ALLREADY_ADDED_ATTR_SET,providerAttrName,
+						((BasicAttribute)retAttr).getContainer()));
+					break out;
+				}
+				else if ((retAttr = attrSet.getAttribute(providerAttrName)) != null)
+				{
+					_log.debug(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_ALLREADY_ADDED_ATTR_SET,providerAttrName,
+						((BasicAttribute)retAttr).getContainer()));
+					break out;
+				}
+				else if (_jndiResult != null)
+				{
+					BasicAttribute attr = null;
+					Attributes jndiAttrs = _jndiResult.getAttributes();
+					NamingEnumeration jndiEnum = jndiAttrs.getAll();
+					while (jndiEnum.hasMore())
+					{
+						Attribute jndiAttr = (Attribute) jndiEnum.next();
+						URI attrURI = new URI(jndiAttr.getID());
+
+						if (providerAttrName.compareTo(attrURI) == 0)
+						{
+							NamingEnumeration jndiAttrValEnum = jndiAttr.getAll();
+							attr = attrSet.addUnnotifiedAttribute(attrURI);
+							while (jndiAttrValEnum.hasMore())
+							{
+								Object jndiValue = jndiAttrValEnum.next();
+								if (jndiValue instanceof String)
+								{
+									_log.debug(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_STRING_MSG, jndiAttr.getID()));
+									attr.addSimpleValue(ISimpleAttrValue.STRING_TYPE_URI,
+										(String) jndiValue);
+								}
+								else if (jndiValue instanceof byte[])
+								{
+									_log.debug(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_BYTE_MSG, jndiAttr.getID()));
+									attr.addSimpleValue(ISimpleAttrValue.BASE64BINARY_TYPE_URI,
+										(byte[]) jndiValue);
+								}
+								else
+								{
+									_log.debug(jndiValue.getClass().toString());
+									attr.addSimpleValue(new URI(BasicSimpleValue.ATTR_VALUE_TYPE_URI_STR), jndiValue);
+								}
+							}
+							attr.setContainer(attrSet);
+							retAttr = attr;
+							_readListJNDI.add(attrURI);
+							_log.debug(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_ATTR_CONTAINER_MSG, attr.getAttrID().toString(),((BasicAttribute)retAttr).getContainer()));
+							break out;
+						}
+					}
+				}
+			}
+		}
+		catch (NamingException e)
+		{
+			throw new IdASException(e);
+		}
+		catch (URISyntaxException e)
+		{
+			throw new IdASException(e);
+		}
+
+		if (retAttr != null)
+			return new BasicAttributePDP(_attrPDPs, null, null, retAttr, true);
+		else
+			return retAttr;
+	}
+
+	/*
+	 * @see org.eclipse.higgins.idas.api.IHasAttributes#addAttribute(org.eclipse.higgins.idas.api.IAttribute)
+	 */
+	public IAttribute addAttribute(
+		IAttribute copyFrom) throws IdASException
+	{
+		BasicAttributeSet attrSet = this.getBasicAttributeSet();
+		BasicAttributePDP attrPDP = new BasicAttributePDP(_attrPDPs, null, null, copyFrom, false);
+		IAttribute attr = attrSet.getAttribute(attrPDP.getAttrID()); 
+			
+		if (attr != null)
+			return attr;
+		else
+			return super.addAttribute(attrPDP);
+	}
+
+	/*
+	 * @see org.eclipse.higgins.idas.api.IHasAttributes#addAttribute(java.net.URI)
+	 */
+	public IAttribute addAttribute(
+		URI type) throws IdASException, InvalidTypeException
+	{
+		Iterator itr = _attrPDPs.consumerIDToProviders(type);
+		BasicAttributeSet attrSet = this.getBasicAttributeSet();
+		URI providerType = (URI)itr.next();
+		IAttribute attr = attrSet.getAttribute(providerType);
+
+		if (attr != null)
+			return attr;
+		else
+			return super.addAttribute(providerType);
+	}
+
+	/**
+	 * @see org.eclipse.higgins.idas.api.IHasAttributes#removeAttribute(java.net.URI)
+	 */
+	public void removeAttribute(URI attrID) throws IdASException {
+		Iterator itr = _attrPDPs.consumerIDToProviders(attrID);
+		if (itr != null) {
+			URI providerType = (URI)itr.next();
+			super.removeAttribute(providerType);
+		} else {
+			super.removeAttribute(attrID);
+		}
+	}
+
+	/**
+	 * @see org.eclipse.higgins.idas.api.IHasAttributes#removeAttributeValue(IAttribute)
+	 */
+	public void removeAttributeValue(IAttribute attr) throws IdASException {
+		BasicAttributePDP attrPDP = new BasicAttributePDP(_attrPDPs, null, null, attr, false);
+		super.removeAttributeValue(attrPDP);
+	}
+
+	/**
+	 * @see org.eclipse.higgins.idas.api.IHasAttributes#removeAttributeValue(URI, Object)
+	 */
+	public void removeAttributeValue(URI attrID, Object value) throws IdASException {
+		Iterator itr = _attrPDPs.consumerIDToProviders(attrID);
+		if (itr != null) {
+			URI providerType = (URI)itr.next();
+			super.removeAttributeValue(providerType, value);
+		} else {
+			super.removeAttributeValue(attrID, value);
+		}
+	}
+	
+
+	public void remove() throws IdASException
+	{
+		if (_container != null)
+		{
+			_container.updateNotification(new EntityNotification(this, EntityNotification.UPDATE_REMOVE,
+				null));
+		}
+	}
+
+	public void updateNotification(
+		AttributeNotification attrNotif) throws IdASException
+	{
+		_log.debug(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_ATTR_UPDATE_NOTIFICATION_MSG, attrNotif.getAction(), attrNotif.getAttr().getAttrID().toString()));
+		_log.debug("_containter " + ((_container != null) ? _container.toString() : "null"));		
+		if (_container != null)
+		{
+			_container.updateNotification(new EntityNotification(this, EntityNotification.UPDATE_ATTR_NOTIFY,
+				attrNotif));
+		}
+	}
+}
Index: C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIContext.java
===================================================================
--- C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIContext.java	(revision 20001)
+++ C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIContext.java	(working copy)
@@ -112,6 +112,8 @@
 
 import com.novell.ldap.LDAPLocalException;
 
+import org.eclipse.higgins.idas.cp.jndi.L10n.JNDIContextMessages;
+
 /**
  * 
  * @author tdoman@xxxxxxxxxx
@@ -198,8 +200,7 @@
 		_contextSettings = contextID.getConfiguration();
 		_connectionSettings = (Map)_contextSettings.get("Connection");
 		if (_connectionSettings == null)
-			throw new IdASException("No JNDI conne" +
-					"ction settings specified");
+			throw new IdASException(JNDIContextMessages.JNDICNTXT_NO_JNDI_CONN);
 		_env = new Hashtable();
 
 		URI contextURIs[] = _contextID.getUris();
@@ -364,7 +365,7 @@
 				if (entityID == null)
 					entityID = entity.getEntityID();
 				else
-					throw new IdASException("Non-unique identity from AuthN materials.");
+					throw new IdASException(JNDIContextMessages.JNDICNTXT_NO_UNIQUE_IDENTITY);
 			}
 		}
 
@@ -432,8 +433,8 @@
 				_env.put(Context.SECURITY_PRINCIPAL, consumerEntityIDToProvider(_entityID));
 				_env.put(Context.SECURITY_CREDENTIALS,
 					((AuthNNamePasswordMaterials) identity).getPassword());
-				_log.debug("attempt open using simple auth with user: " + _entityID 
-						+" mapped to: " + consumerEntityIDToProvider(_entityID));
+				_log.debug(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_OPEN_WITH_USER,
+					_entityID,consumerEntityIDToProvider(_entityID)));
 			}
 			else if (identity instanceof AuthNDigestMaterials)
 			{
@@ -446,16 +447,16 @@
 						.getLexical(), null));
 					lookupFilter = new BasicFilter();
 					lookupFilter.setAssertion(attrAssertion);
-					_log.debug("attempt open using digestmaterials: " + base64Value.getLexical());
+					_log.debug(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_OPEN_WITH_DIGITALMATERIALS,base64Value.getLexical()));
 			}
 			else if (identity instanceof AuthNLeastPrivilegedUserMaterials)
 			{
 				_entityID = (String) _env.get(Context.SECURITY_PRINCIPAL);
-				_log.debug("attempt open using least privileged user: " + _entityID);
+				_log.debug(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_OPEN_WITH_PRIV_USER, _entityID));
 			}
 			else if (identity instanceof AuthNAnonymousMaterials)
 			{
-				_log.debug("attempt open using anonymous materials");
+				_log.debug(JNDIContextMessages.JNDICNTXT_OPEN_WITH_ANONYMOUSMATERIALS);
 				_env.put(Context.SECURITY_AUTHENTICATION, "none");
 				Object obj = _env.get(Context.SECURITY_PRINCIPAL);
 				_env.remove(obj);
@@ -470,7 +471,7 @@
 							saslClientProvider = (String) _env.get("org.eclipse.higgins.idas.cp.jndi.saslClientProvider");
 
 					if ((saslClientPackage == null) || (saslClientProvider == null))
-						throw new IdASException("SASL SAML Client Provider not specified");
+						throw new IdASException(JNDIContextMessages.JNDICNTXT_NO_SASLSAML_CLIENT);
 
 					// Make sure the SAML/SASL security provider is loaded
 					if (java.security.Security.getProvider("SAML SASL Mechanism") == null)
@@ -482,7 +483,7 @@
 					SAML1Assertion assertion = (SAML1Assertion)identity;
 					SAML1Subject subject = assertion.getSubject();
 					if (subject.getNameIDFormat().indexOf("X509SubjectName") == -1)
-						throw new IdASException("Unsupported name format specified in SAML assertion"); 
+						throw new IdASException(JNDIContextMessages.JNDICNTXT_UNSUPPORTED_FORMAT_SAML_ASSERT);
 					_entityID = subject.getNameID();
 					_env.put(Context.SECURITY_PRINCIPAL, _entityID);
 					_env.put(Context.SECURITY_PROTOCOL, "ssl");
@@ -506,8 +507,8 @@
 			}
 			else
 			{
-				throw new NotImplementedException("Unsupported AuthN materials: "
-					+ identity.toString());
+				throw new NotImplementedException(JNDIContextMessages.bind(
+					JNDIContextMessages.JNDICNTXT_UNSUPPORTED_AUTHN_MATERIALS,identity.toString()));
 			}
 
 			try
@@ -531,14 +532,14 @@
 						{
 							sess = _tls.negotiate();
 						}
-						_log.debug("Start TLS request successful: Host (" + sess.getPeerHost()
-							+ ")" + ", Protocol ("
-							+ sess.getProtocol() + ")");
+						_log.debug(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_START_TLS_MSG,
+							sess.getPeerHost(),sess.getProtocol()));
 					}
 
 					_emitXDASRecord(XDasEvents.XDAS_AE_CREATE_SESSION,
 						XDasOutcomes.XDAS_OUT_SUCCESS, _getIdentity(), null, null);
-					_log.debug("Context opened: " + _contextURIs + " as: " + _getIdentity());
+					_log.debug(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_OPENED_CNTXT_INFO,
+						_contextURIs , _getIdentity()));
 				}
 				else
 				{
@@ -565,8 +566,8 @@
 			{
 				_entityID = _lookupEntity(lookupFilter);
 				if (_entityID == null)
-					throw new IdASException("AuthN materials produced no Entity ID: "
-						+ identity.toString());
+					throw new IdASException(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_NO_ENTITY_ID,
+					identity.toString()));
 			}
 		}
 		else
@@ -621,7 +622,7 @@
 		List addressList = (List)_connectionSettings.get("AddressList");
 		
 		if ((addressList == null) || (addressList.size() == 0))
-			throw new IdASException("No JNDI service addresses configured.");
+			throw new IdASException(JNDIContextMessages.JNDICNTXT_NO_JNDI_SERVICE_CONFIGURED);
 
 		int iLoop;
 		for (iLoop = 0; iLoop < addressList.size(); iLoop++)
@@ -630,7 +631,7 @@
 			if ((_currAddr != null) && (_currAddr.compareTo(addr) == 0))
 				continue;
 			_currAddr = addr;
-			_log.debug("Attempting to create initial context: " + _currAddr);
+			_log.debug(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_INITIAL_CNTXT, _currAddr));
 
 			String ssl = null;
 			if ( ((trustStore = (String) _env.get("org.eclipse.higgins.idas.cp.jndi.trustStore")) != null)
@@ -666,7 +667,7 @@
 			}
 		}
 		if (iLoop == addressList.size())
-			throw new IdASException("Unable to connect to any specified JNDI service address.");
+			throw new IdASException(JNDIContextMessages.JNDICNTXT_CONNECTION_FAILURE);
 	}
 
 	/**
@@ -714,7 +715,7 @@
 		_bIsOpen = false;
 		_emitXDASRecord(XDasEvents.XDAS_AE_TERMINATE_SESSION,
 			XDasOutcomes.XDAS_OUT_SUCCESS, _getIdentity(), null, null);
-		_log.debug("Context closed: " + _contextURIs + " as: " + _getIdentity());
+		_log.debug(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_CNTXT_CLOSED,_contextURIs , _getIdentity()));
 	}
 
 	/**
@@ -752,17 +753,7 @@
 		docType.setInternalDeclarations(entityDeclList);
 		docType.setName("rdf:RDF");
 		doc.setDocType(docType);
-		doc.addComment("\r\n*******************************************************************************\r\n"
-				+ "* Copyright (c) 2006 Novell Inc.\r\n"
-				+ "* All rights reserved. This document and accompanying materials\r\n"
-				+ "* are made available under the terms of the Eclipse Public License v1.0\r\n"
-				+ "* which accompanies this distribution, and is available at\r\n"
-				+ "* http://www.eclipse.org/legal/epl-v10.html\r\n";
-				+ "*\r\n"
-				+ "* Contributors:\r\n"
-				+ "*     Tom Doman\r\n"
-				+ "*     Jim Sermersheim\r\n"
-				+ "*******************************************************************************\r\n");
+		doc.addComment(JNDIContextMessages.JNDICNTXT_COPYRIGHT_TEXT);
 
 		DOMElement elem = (DOMElement) doc.addElement("rdf:RDF");
 		elem.addAttribute("xml:base",
@@ -776,8 +767,7 @@
 		DOMElement ontElem = (DOMElement) elem.addElement("owl:Ontology");
 		ontElem.addAttribute("rdf:about", "");
 		DOMElement childElem = (DOMElement) ontElem.addElement("rdfs:label");
-		childElem.addText("Dynamically Generated Higgins-based LDAP Ontology (Context: "
-			+ _contextURIs + ")");
+		childElem.addText(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_HIGGINS_LDAP_ONTOLOGY, _contextURIs));
 		childElem = (DOMElement) ontElem.addElement("owl:imports");
 		childElem.addAttribute("rdf:resource",
 			"http://www.eclipse.org/higgins/ontologies/2006/higgins";);
@@ -1212,8 +1202,7 @@
 
 		_emitXDASRecord(XDasEvents.XDAS_AE_QUERY_ACCOUNT, XDasOutcomes.XDAS_OUT_SUCCESS,
 			_getIdentity(), entityID, null);
-		_log.debug("Searching for Entity: " + entityID + " as: "
-			+ _getIdentity() + " in context: " + _contextURIs);
+		_log.debug(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_SEARCH_ENTITY_EID,entityID, _getIdentity(),_contextURIs));
 		JNDIEntity entity = null;
 		NamingEnumeration results;
 		SearchControls controls = new SearchControls();
@@ -1245,7 +1234,7 @@
 				SearchResult result = (SearchResult) results.next();
 				entity = new JNDIEntity(this, result, realEntityID, _attrPDPs);
 				if (results.hasMore())
-					throw new IdASException("Non-unique Entity ID");
+					throw new IdASException(JNDIContextMessages.JNDICNTXT_NO_UNIQUE_EID);
 			}
 		}
 		catch (NamingException e)
@@ -1357,8 +1346,8 @@
 								ldapFilter.addPresent(attrName.toString());
 								break;
 							default:
-								throw new NotImplementedException("Comparator (" + comparator
-									+ ") not supported.");
+								throw new NotImplementedException(JNDIContextMessages.bind(
+								JNDIContextMessages.JNDICNTXT_CMPRTR_NOT_SUPPORTED,comparator));
 							}
 						}
 						else if (assertionValue.isSimple())
@@ -1398,14 +1387,13 @@
 								// if (rfcType == RfcFilter.SUBSTRINGS)
 								// ldapFilter.startSubstrings();
 								// if (rfcType == RfcFilter.EXTENSIBLE_MATCH)
-								throw new NotImplementedException("Comparator (" + comparator
-									+ ") not supported.");
+								throw new NotImplementedException(JNDIContextMessages.bind(
+									JNDIContextMessages.JNDICNTXT_CMPRTR_NOT_SUPPORTED,comparator));
 							}
 						}
 						else
 						{
-							throw new NotImplementedException(
-								"Complex assertion values in filters not supported.");
+							throw new NotImplementedException(JNDIContextMessages.JNDICNTXT_NOT_SUPPORTED_COMPLEX_VALUES);
 						}
 					}
 					else if (assertion instanceof BasicFilterEntityTypeAssertion)
@@ -1478,8 +1466,7 @@
 		else if (operator.compareTo(IFilter.OP_OR) == 0)
 			iRet = RfcFilter.OR;
 		else
-			throw new NotImplementedException("Operator (" + operator
-				+ ") not supported.");
+			throw new NotImplementedException(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_NOT_SUPPORTED_OPERATOR,operator));
 
 		return iRet;
 	}
@@ -1503,8 +1490,8 @@
 
 		_emitXDASRecord(XDasEvents.XDAS_AE_QUERY_ACCOUNT, XDasOutcomes.XDAS_OUT_SUCCESS,
 			_getIdentity(), filter == null ? null : filter.toString(), null);
-		_log.debug("Searching for Entities matching filter: " + filter == null ? null : filter.toString()
-			+ " as: " + _getIdentity() + " in context: " + _contextURIs);
+		_log.debug(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_FILTER_SEARCH_INFO,filter == null ? null : filter.toString(),
+			_getIdentity(), _contextURIs));
 		HashSet subs = new HashSet();
 		String strFilter = "(objectclass=*)";
 
@@ -1515,7 +1502,7 @@
 			RfcFilter ldapFilter = new RfcFilter();
 			_convertFilter(basicFilter, ldapFilter);
 			strFilter = ldapFilter.filterToString();
-			_log.debug("LDAP String Filter: " + strFilter);
+			_log.debug(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_STRING_FILTER_INFO,strFilter));
 		}
 		try
 		{
@@ -1608,7 +1595,7 @@
 		}
 
 		if (structuralClass == null)
-			throw new IdASException("No structural class found.");
+			throw new IdASException(JNDIContextMessages.JNDICNTXT_NO_STRUCURAL_CLASS_FOUND);
 
 		URI uriType = null;
 		try
@@ -1724,8 +1711,8 @@
 					bFoundStructural = true;
 					NamingEnumeration jndiAttrValEnum = jndiAttr.getAll();
 					if (jndiAttr.size() != 1)
-						throw new IdASException("Only 1 value expected, found: "
-							+ jndiAttr.size());
+						throw new IdASException(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_EXPECTED_VALUE_INFO,
+						new java.lang.Integer(jndiAttr.size())));
 
 					String jndiValue = (String) jndiAttrValEnum.next();
 					if (jndiValue.compareToIgnoreCase("top") != 0)
@@ -1748,7 +1735,7 @@
 		}
 
 		if (retAttr == null)
-			throw new IdASException("No structural or object class found.");
+			throw new IdASException(JNDIContextMessages.JNDICNTXT_NO_STRUCURALOBJECT_CLASS_FOUND);
 		return retAttr;
 	}
 
@@ -1869,7 +1856,7 @@
 		Hashtable updateList = super.getUpdateList();
 		try
 		{
-			_log.debug("Applying updates ...");
+			_log.debug(JNDIContextMessages.JNDICNTXT_APPLY_UPDATE);
 			int iCount = 0;
 			Iterator keyIter = updateList.keySet().iterator();
 			while (keyIter.hasNext())
@@ -1878,7 +1865,7 @@
 				_updateEntry(entityID, (Vector)updateList.get(entityID));
 				iCount++;
 			}
-			_log.debug(iCount + ((iCount == 1) ? " change " : " changes ") + "applied");
+			_log.debug(iCount + ((iCount == 1) ? JNDIContextMessages.JNDICNTXT_CHANGE : JNDIContextMessages.JNDICNTXT_CHANGE) + JNDIContextMessages.JNDICNTXT_APPLIED);
 		}
 		catch (IdASException e)
 		{
@@ -1897,7 +1884,7 @@
 		try
 		{
 			EntityNotification [] aEntityNotifs = (EntityNotification []) entityNotifs.toArray(new EntityNotification[entityNotifs.size()]);
-			_log.debug("Updating entry [" + entityID + "], " + aEntityNotifs[0].getAction());
+			_log.debug(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_UPDATE_ENTRY, entityID,aEntityNotifs[0].getAction()));
 			if (aEntityNotifs[0].getAction().compareTo(EntityNotification.UPDATE_ADD) == 0)
 			{
 				BasicAttributes jndiAttrs = _entityNotificationToBasicAttributes(aEntityNotifs);
@@ -1939,8 +1926,7 @@
 				{
 					AttributeValueNotification attrValNotif = attrNotif.getAttributeValueNotification();
 					if (attrValNotif.getAction().compareTo(AttributeValueNotification.UPDATE_ADD) != 0)
-						throw new IdASException("Unallowed attribute value notification type during entity creation: "
-							+ attrValNotif.getAction());
+						throw new IdASException(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_UNALLOWED_ATTR_VAL_NOTIFICATION,attrValNotif.getAction()));
 
 					/* If we got one attribute value added, we got them all. */
 					if (jndiAttrs.get(attrNotif.getAttr().getAttrID().toString()) == null)
@@ -1955,14 +1941,12 @@
 				else
 				{
 					/* Any other kind of attribute notification should not occur during entity creation. */ 
-					throw new IdASException("Unallowed attribute notification type during entity creation: "
-						+ attrNotif.getAction());
+					throw new IdASException(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_UNALLOWED_ATTR_VAL_NOTIFICATION,attrNotif.getAction()));
 				}
 			}
 			else if (entityNotifs[iLoop].getAction().compareTo(EntityNotification.UPDATE_ADD) != 0)
 			{
-				throw new IdASException("Unallowed entity notification type during entity creation: "
-					+ entityNotifs[iLoop].getAction());
+				throw new IdASException(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_UNALLOWED_ATTR_VAL_NOTIFICATION,entityNotifs[iLoop].getAction()));
 			}
 		}
 		return jndiAttrs;
@@ -1972,12 +1956,12 @@
 		EntityNotification[] entityNotifs) throws IdASException
 	{
 		Vector jndiMods = new Vector();
-		_log.debug("Entity notifications: " + entityNotifs.length);
+		_log.debug(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_ENTITY_NOTIFICATION, new Integer(entityNotifs.length)));
 		for (int iLoop = 0; iLoop < entityNotifs.length; ++iLoop)
 		{
 			AttributeNotification attrNotif = entityNotifs[iLoop].getAttributeNotification();
-			_log.debug("Converting attribute notification to modification item: " + attrNotif.getAction()
-					+ ", " + attrNotif.getAttr().getAttrID().toString());
+			_log.debug(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_ATTR_NOTIFICATION, attrNotif.getAction(),
+				attrNotif.getAttr().getAttrID().toString()));
 
 			if (attrNotif.getAction().compareTo(AttributeNotification.UPDATE_VALUE_NOTIFY) == 0)
 			{
@@ -2038,11 +2022,11 @@
 				providerVal = (IAttributeValue)_attrPDPs.consumerValueToProvider(
 					val.getModel().getType(), null, providerType, null, attrVal);
 				String strVal = ((ISimpleAttrValue)providerVal).getLexical();
-				_log.debug("Adding value to JNDI attribute: " + strVal);
+				_log.debug(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_ADD_JNDI_ATTR_VAL,strVal));
 				attr.add(strVal);
 			}
 			else {
-				throw new NotImplementedException("Cannot convert complex attributes to JNDI attributes");
+				throw new NotImplementedException(JNDIContextMessages.JNDICNTXT_CANNOT_CONVERT_TO_JNDI_ATTR);
 			}
 		}
 		catch (URISyntaxException e)
@@ -2082,7 +2066,7 @@
 				new URI(attr.getAttrID().toString())).firstElement();
 			IAttributeValue providerVal;
 			jndiAttr = new BasicAttribute(providerType.toString());
-			_log.debug("Converting consumer attribute to provider attribute: " + attr.getAttrID().toString());
+			_log.debug(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_CONVERT_TO_PROVIDER_ATTR, attr.getAttrID().toString()));
 
 			// put each value into the jndi attr
 			Iterator consumerVals = attr.getValues();
@@ -2096,8 +2080,8 @@
 					jndiAttr.add(((ISimpleAttrValue)providerVal).getLexical());
 				}
 				else {
-					throw new NotImplementedException("Cannot convert complex attributes to JNDI attributes: "
-						+ consumerVal.getClass().toString());
+					throw new NotImplementedException(JNDIContextMessages.bind(JNDIContextMessages.JNDICNTXT_CANNOT_CONVERT_TO_JNDI_ATTR_INFO,
+						consumerVal.getClass().toString()));
 				}
 			}
 		}
Index: C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIContextModel.java
===================================================================
--- C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIContextModel.java	(revision 20001)
+++ C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIContextModel.java	(working copy)
@@ -1,110 +1,110 @@
-/**
- * Copyright (c) 2006-2007 Novell, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *		Tom Doman
- */
-
-package org.eclipse.higgins.idas.cp.jndi;
-
-import java.net.URI;
-import java.util.Iterator;
-
-import javax.naming.NamingException;
-import javax.naming.directory.DirContext;
-
-import org.eclipse.higgins.idas.api.IdASException;
-import org.eclipse.higgins.idas.api.model.IAttributeModel;
-import org.eclipse.higgins.idas.api.model.IContextModel;
-import org.eclipse.higgins.idas.api.model.IEntityModel;
-import org.eclipse.higgins.idas.api.model.IDisplayData;
-import org.eclipse.higgins.idas.api.model.IModel;
-
-public class JNDIContextModel implements IContextModel
-{
-	private JNDIContext _context;
-
-	public JNDIContextModel(
-		JNDIContext context)
-	{
-		_context = context;
-	}
-
-	public IModel getModel(
-		URI type)
-	{
-		IModel model = null;
-		DirContext schemaCtx;
-
-		try
-		{
-			schemaCtx = _context.getDirContext().getSchema(_context.getDirContext().getNameInNamespace());
-		}
-		catch (NamingException e)
-		{
-			try
-			{
-				schemaCtx = _context.getDirContext().getSchema("");
-			}
-			catch (NamingException e1)
-			{
-				try
-				{
-					schemaCtx = _context.getDirContext().getSchema(_context.consumerEntityIDToProvider(_context.getAuthEntityID()));
-				}
-				catch (NamingException e2)
-				{
-					return model;
-				}
-				catch (IdASException e3)
-				{
-					return model;
-				}
-			}
-			//schemaCtx.close();
-		}
-		return model;
-	}
-
-	public IEntityModel getEntityModel(
-		URI entityType)
-	{
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public Iterator getEntityModels()
-	{
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public IDisplayData getDisplayData()
-	{
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public URI getType()
-	{
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public IAttributeModel getAttributeModel(
-		URI attrID)
-	{
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public Iterator getAttributeModels()
-	{
-		// TODO Auto-generated method stub
-		return null;
-	}
-}
+/**
+ * Copyright (c) 2006-2007 Novell, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *		Tom Doman
+ */
+
+package org.eclipse.higgins.idas.cp.jndi;
+
+import java.net.URI;
+import java.util.Iterator;
+
+import javax.naming.NamingException;
+import javax.naming.directory.DirContext;
+
+import org.eclipse.higgins.idas.api.IdASException;
+import org.eclipse.higgins.idas.api.model.IAttributeModel;
+import org.eclipse.higgins.idas.api.model.IContextModel;
+import org.eclipse.higgins.idas.api.model.IEntityModel;
+import org.eclipse.higgins.idas.api.model.IDisplayData;
+import org.eclipse.higgins.idas.api.model.IModel;
+
+public class JNDIContextModel implements IContextModel
+{
+	private JNDIContext _context;
+
+	public JNDIContextModel(
+		JNDIContext context)
+	{
+		_context = context;
+	}
+
+	public IModel getModel(
+		URI type)
+	{
+		IModel model = null;
+		DirContext schemaCtx;
+
+		try
+		{
+			schemaCtx = _context.getDirContext().getSchema(_context.getDirContext().getNameInNamespace());
+		}
+		catch (NamingException e)
+		{
+			try
+			{
+				schemaCtx = _context.getDirContext().getSchema("");
+			}
+			catch (NamingException e1)
+			{
+				try
+				{
+					schemaCtx = _context.getDirContext().getSchema(_context.consumerEntityIDToProvider(_context.getAuthEntityID()));
+				}
+				catch (NamingException e2)
+				{
+					return model;
+				}
+				catch (IdASException e3)
+				{
+					return model;
+				}
+			}
+			//schemaCtx.close();
+		}
+		return model;
+	}
+
+	public IEntityModel getEntityModel(
+		URI entityType)
+	{
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public Iterator getEntityModels()
+	{
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public IDisplayData getDisplayData()
+	{
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public URI getType()
+	{
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public IAttributeModel getAttributeModel(
+		URI attrID)
+	{
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public Iterator getAttributeModels()
+	{
+		// TODO Auto-generated method stub
+		return null;
+	}
+}
Index: C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/L10n/JNDIContextMessages.java
===================================================================
--- C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/L10n/JNDIContextMessages.java	(revision 0)
+++ C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/L10n/JNDIContextMessages.java	(revision 0)
@@ -0,0 +1,171 @@
+
+package org.eclipse.higgins.idas.cp.jndi.L10n;
+
+import org.eclipse.osgi.util.NLS;
+
+
+public class JNDIContextMessages extends NLS {
+	private static final String BUNDLE_NAME = "org.eclipse.higgins.idas.cp.jndi.L10n.JNDIContextMessages"; //$NON-NLS-1$
+   
+   
+   public static String JNDICNTXT_NO_JNDI_CONN;
+   public static String JNDICNTXT_NO_UNIQUE_IDENTITY;
+   public static String JNDICNTXT_OPEN_WITH_USER;
+   public static String JNDICNTXT_OPEN_WITH_DIGITALMATERIALS;
+   public static String JNDICNTXT_OPEN_WITH_PRIV_USER;
+   public static String JNDICNTXT_OPEN_WITH_ANONYMOUSMATERIALS;
+   public static String JNDICNTXT_NO_SASLSAML_CLIENT;
+   public static String JNDICNTXT_UNSUPPORTED_FORMAT_SAML_ASSERT;
+   public static String JNDICNTXT_UNSUPPORTED_AUTHN_MATERIALS;
+   public static String JNDICNTXT_START_TLS_MSG;
+   public static String JNDICNTXT_OPENED_CNTXT_INFO;
+   public static String JNDICNTXT_NO_ENTITY_ID;
+   public static String JNDICNTXT_NO_JNDI_SERVICE_CONFIGURED;
+   public static String JNDICNTXT_INITIAL_CNTXT;
+   public static String JNDICNTXT_CONNECTION_FAILURE;
+   public static String JNDICNTXT_CNTXT_CLOSED;
+   public static String JNDICNTXT_COPYRIGHT_TEXT;
+   public static String JNDICNTXT_HIGGINS_LDAP_ONTOLOGY;
+   public static String JNDICNTXT_SEARCH_ENTITY_EID;
+   public static String JNDICNTXT_NO_UNIQUE_EID;
+   public static String JNDICNTXT_CMPRTR_NOT_SUPPORTED;
+   public static String JNDICNTXT_NOT_SUPPORTED_COMPLEX_VALUES;
+   public static String JNDICNTXT_NOT_SUPPORTED_OPERATOR;
+   public static String JNDICNTXT_FILTER_SEARCH_INFO;
+   public static String JNDICNTXT_STRING_FILTER_INFO;
+   public static String JNDICNTXT_NO_STRUCURAL_CLASS_FOUND;
+   public static String JNDICNTXT_EXPECTED_VALUE_INFO;
+   public static String JNDICNTXT_NO_STRUCURALOBJECT_CLASS_FOUND;
+   public static String JNDICNTXT_APPLY_UPDATE;
+   public static String JNDICNTXT_CHANGE;
+   public static String JNDICNTXT_CHANGES;
+   public static String JNDICNTXT_APPLIED;
+   public static String JNDICNTXT_UPDATE_ENTRY;
+   public static String JNDICNTXT_UNALLOWED_ATTR_VAL_NOTIFICATION;
+   public static String JNDICNTXT_ENTITY_NOTIFICATION;
+   public static String JNDICNTXT_ATTR_NOTIFICATION;
+   public static String JNDICNTXT_ADD_JNDI_ATTR_VAL;
+   public static String JNDICNTXT_CANNOT_CONVERT_TO_JNDI_ATTR;
+   public static String JNDICNTXT_CANNOT_CONVERT_TO_JNDI_ATTR_INFO;
+   public static String JNDICNTXT_CONVERT_TO_PROVIDER_ATTR;
+   public static String JNDICNTXT_CNTX_PROVIDER_INST_MSG;
+   public static String JNDICNTXT_NO_EID_SET;
+   public static String JNDICNTXT_NO_TYPE_SET;
+   public static String JNDICNTXT_STRING_MSG;
+   public static String JNDICNTXT_BYTE_MSG;
+   public static String JNDICNTXT_ALLREADY_ADDED_ATTR_SET;
+   public static String JNDICNTXT_ATTR_CONTAINER_MSG;
+   public static String JNDICNTXT_ATTR_UPDATE_NOTIFICATION_MSG;
+   
+   static {
+      NLS.initializeMessages(BUNDLE_NAME, JNDIContextMessages.class);
+   }
+   public static java.lang.String bind(java.lang.String msgid, java.lang.Object o1)
+   {
+   	Object msgparms[] = generateMsgParms(o1);
+   	return NLS.bind(msgid,msgparms);
+   }
+   public static java.lang.String bind(java.lang.String msgid, java.lang.Object o1, java.lang.Object o2)
+   {
+   	Object msgparms[] = generateMsgParms(o1,o2);
+   	return NLS.bind(msgid,msgparms);
+   }
+   //similarly add for 4 or more no of parameterized values
+   public static java.lang.String bind(java.lang.String msgid, java.lang.Object o1, java.lang.Object o2,java.lang.Object o3)
+   {
+   	Object msgparms[] = generateMsgParms(o1,o2,o3);
+   	return NLS.bind(msgid,msgparms);
+   }
+   public static Object[] generateNullMsgParms()
+   {
+       Object parms[] = new Object[1];
+       parms[0] = null;
+       return parms;
+   }
+   
+   public static Object[] generateMsgParms(Object parm1)
+   {
+       Object parms[] = new Object[1];
+       parms[0] = parm1;
+       return parms;
+   }
+
+   public static Object[] generateMsgParms(Object parm1, Object parm2)
+   {
+       Object parms[] = new Object[2];
+       parms[0] = parm1;
+       parms[1] = parm2;
+       return parms;
+   }
+
+   
+   public static Object[] generateMsgParms(Object parm1, Object parm2, Object parm3)
+   {
+       Object parms[] = new Object[3];
+       parms[0] = parm1;
+       parms[1] = parm2;
+       parms[2] = parm3;
+       return parms;
+   }
+   public static Object[] generateMsgParms(Object parm1, Object parm2, Object parm3, Object parm4)
+   {
+       Object parms[] = new Object[4];
+       parms[0] = parm1;
+       parms[1] = parm2;
+       parms[2] = parm3;
+       parms[3] = parm4;
+       return parms;
+   }
+   public static Object[] generateMsgParms(Object parm1, Object parm2, Object parm3, Object parm4, Object parm5)
+   {
+       Object parms[] = new Object[5];
+       parms[0] = parm1;
+       parms[1] = parm2;
+       parms[2] = parm3;
+       parms[3] = parm4;
+       parms[4] = parm5;
+       return parms;
+   }
+   public static Object[] generateMsgParms(Object parm1, Object parm2, Object parm3, Object parm4, Object parm5,
+      Object parm6)
+   {
+	  Object parms[] = new Object[6];
+	  parms[0] = parm1;
+	  parms[1] = parm2;
+	  parms[2] = parm3;
+	  parms[3] = parm4;
+	  parms[4] = parm5;
+	  parms[5] = parm6;
+	  return parms;
+   }
+   
+   public static Object[] generateMsgParms(Object parm1, Object parm2, Object parm3, Object parm4, Object parm5,
+      Object parm6, Object parm7)
+   {
+	  Object parms[] = new Object[7];
+	  parms[0] = parm1;
+	  parms[1] = parm2;
+	  parms[2] = parm3;
+	  parms[3] = parm4;
+	  parms[4] = parm5;
+	  parms[5] = parm6;
+	  parms[6] = parm7;
+	  return parms;
+   }
+
+
+	public static Object[] generateMsgParms(Object parm1, Object parm2, Object parm3, Object parm4, Object parm5,
+	      Object parm6, Object parm7, Object parm8)
+	{
+	  Object parms[] = new Object[8];
+	  parms[0] = parm1;
+	  parms[1] = parm2;
+	  parms[2] = parm3;
+	  parms[3] = parm4;
+	  parms[4] = parm5;
+	  parms[5] = parm6;
+	  parms[6] = parm7;
+	  parms[7] = parm8;
+	  return parms;
+	}
+}
\ No newline at end of file
Index: C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/L10n/JNDIContextMessages.properties
===================================================================
--- C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/L10n/JNDIContextMessages.properties	(revision 0)
+++ C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/L10n/JNDIContextMessages.properties	(revision 0)
@@ -0,0 +1,59 @@
+JNDICNTXT_NO_JNDI_CONN=No JNDI connection settings specified 
+JNDICNTXT_NO_UNIQUE_IDENTITY=Non-unique identity from AuthN materials.
+JNDICNTXT_OPEN_WITH_USER=attempt open using simple auth with user: {0}  mapped to: {1}
+JNDICNTXT_OPEN_WITH_DIGITALMATERIALS=attempt open using digestmaterials:  {0}
+JNDICNTXT_OPEN_WITH_PRIV_USER=attempt open using least privileged user: {0}
+JNDICNTXT_OPEN_WITH_ANONYMOUSMATERIALS=attempt open using anonymous materials
+JNDICNTXT_NO_SASLSAML_CLIENT=SASL SAML Client Provider not specified
+JNDICNTXT_UNSUPPORTED_FORMAT_SAML_ASSERT=Unsupported name format specified in SAML assertion
+JNDICNTXT_UNSUPPORTED_AUTHN_MATERIALS=Unsupported AuthN materials: {0}
+JNDICNTXT_START_TLS_MSG=Start TLS request successful: Host ({0}), Protocol ({1})
+JNDICNTXT_OPENED_CNTXT_INFO=Context opened: {0}  as: {1} 
+JNDICNTXT_NO_ENTITY_ID=AuthN materials produced no Entity ID: {0}
+JNDICNTXT_NO_JNDI_SERVICE_CONFIGURED=No JNDI service addresses configured.
+JNDICNTXT_INITIAL_CNTXT=Attempting to create initial context: {0}
+JNDICNTXT_CONNECTION_FAILURE=Unable to connect to any specified JNDI service address.
+JNDICNTXT_CNTXT_CLOSED=Context closed: {0} as {1}
+JNDICNTXT_HIGGINS_LDAP_ONTOLOGY=Dynamically Generated Higgins-based LDAP Ontology (Context:  {0} )
+JNDICNTXT_SEARCH_ENTITY_EID="Searching for Entity: {0} as: {1} in context: {2}
+JNDICNTXT_NO_UNIQUE_EID=Non-unique Entity ID
+JNDICNTXT_CMPRTR_NOT_SUPPORTED=omparator ( {0} ) not supported.
+JNDICNTXT_NOT_SUPPORTED_COMPLEX_VALUES=Complex assertion values in filters not supported.
+JNDICNTXT_NOT_SUPPORTED_OPERATOR=Operator ({0}) not supported.
+JNDICNTXT_FILTER_SEARCH_INFO=Searching for Entities matching filter: {0} as: {1} in context: {2}
+JNDICNTXT_STRING_FILTER_INFO=LDAP String Filter: {0}
+JNDICNTXT_NO_STRUCURAL_CLASS_FOUND=No structural class found.
+JNDICNTXT_EXPECTED_VALUE_INFO=Only 1 value expected, found: {0}
+JNDICNTXT_NO_STRUCURALOBJECT_CLASS_FOUND=No structural class or object class found.
+JNDICNTXT_APPLY_UPDATE=Applying updates
+JNDICNTXT_CHANGE=change
+JNDICNTXT_CHANGES=changes
+JNDICNTXT_APPLIED=applied
+JNDICNTXT_UPDATE_ENTRY=Updating entry [ {0} ], {1}
+JNDICNTXT_UNALLOWED_ATTR_VAL_NOTIFICATION=Unallowed attribute value notification type during entity creation: {0}
+JNDICNTXT_ENTITY_NOTIFICATION=Entity notifications: {0}
+JNDICNTXT_ATTR_NOTIFICATION=Converting attribute notification to modification item: {0}, {1}
+JNDICNTXT_ADD_JNDI_ATTR_VAL=Adding value to JNDI attribute: {0}
+JNDICNTXT_CANNOT_CONVERT_TO_JNDI_ATTR=Cannot convert complex attributes to JNDI attributes
+JNDICNTXT_CANNOT_CONVERT_TO_JNDI_ATTR_INFO=Cannot convert complex attributes to JNDI attributes {0}
+JNDICNTXT_CONVERT_TO_PROVIDER_ATTR=Converting consumer attribute to provider attribute: {0}
+JNDICNTXT_CNTX_PROVIDER_INST_MSG=JNDI Context Factory Provider instantiated
+JNDICNTXT_NO_EID_SET=No entity ID is set.
+JNDICNTXT_NO_TYPE_SET=No entity type set.
+JNDICNTXT_STRING_MSG=Attr: {0} is a String
+JNDICNTXT_BYTE_MSG=Attr: {0} is a byte[]
+JNDICNTXT_ALLREADY_ADDED_ATTR_SET={0}  already added attrSet, container: {1}
+JNDICNTXT_ATTR_CONTAINER_MSG=Placed [{0}] into attrSet, container: {1}
+JNDICNTXT_ATTR_UPDATE_NOTIFICATION_MSG=Received attribute update notification - {0}, {1}
+
+JNDICNTXT_COPYRIGHT_TEXT=\n*******************************************************************************\n\
+			* Copyright (c) 2006 Novell Inc.\n\
+			* All rights reserved. This document and accompanying materials\n\
+			* are made available under the terms of the Eclipse Public License v1.0\n\
+			* which accompanies this distribution, and is available at\n\
+			* http://www.eclipse.org/legal/epl-v10.html\n\
+			\n\
+			* Contributors:\n\
+			*     Tom Doman\n\
+			*     Jim Sermersheim\n\
+			*******************************************************************************\n
Index: C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIContextFactoryProvider.java
===================================================================
--- C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIContextFactoryProvider.java	(revision 20001)
+++ C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIContextFactoryProvider.java	(working copy)
@@ -1,33 +1,35 @@
-/**
- * Copyright (c) 2006 Novell, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *		Tom Doman
- */
-package org.eclipse.higgins.idas.cp.jndi;
-
-import java.security.Provider;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
-* @author tdoman@xxxxxxxxxx
-*/
-
-public final class JNDIContextFactoryProvider extends Provider
-{
-	private Log _log = LogFactory.getLog(JNDIContextFactoryProvider.class.getName());
-	private static final long serialVersionUID = 1L;
-
-	public JNDIContextFactoryProvider()
-	{
-		super("JNDIHigginsProvider", 1.0, "JNDI provider for Higgins ContextFactory objects.");
-		_log.debug("JNDI Context Factory Provider instantiated");		
-		put("ContextFactory.Higgins.JNDI", "org.eclipse.higgins.idas.cp.jndi.JNDIContextFactory");
-	}
-}
+/**
+ * Copyright (c) 2006 Novell, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *		Tom Doman
+ */
+package org.eclipse.higgins.idas.cp.jndi;
+
+import java.security.Provider;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import org.eclipse.higgins.idas.cp.jndi.L10n.JNDIContextMessages;
+
+/**
+* @author tdoman@xxxxxxxxxx
+*/
+
+public final class JNDIContextFactoryProvider extends Provider
+{
+	private Log _log = LogFactory.getLog(JNDIContextFactoryProvider.class.getName());
+	private static final long serialVersionUID = 1L;
+
+	public JNDIContextFactoryProvider()
+	{
+		super("JNDIHigginsProvider", 1.0, "JNDI provider for Higgins ContextFactory objects.");
+		_log.debug(JNDIContextMessages.JNDICNTXT_CNTX_PROVIDER_INST_MSG);		
+		put("ContextFactory.Higgins.JNDI", "org.eclipse.higgins.idas.cp.jndi.JNDIContextFactory");
+	}
+}
Index: C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIContextFactoryConfigurableComponentFactory.java
===================================================================
--- C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIContextFactoryConfigurableComponentFactory.java	(revision 20001)
+++ C:/supertemp/org.eclipse.higgins.idas.cp.all/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIContextFactoryConfigurableComponentFactory.java	(working copy)
@@ -1,50 +1,51 @@
-/**
- * Copyright (c) 2006-2007 Novell, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *		Tom Doman
- */
-
-package org.eclipse.higgins.idas.cp.jndi;
-
-import org.eclipse.higgins.configuration.api.IConfigurableComponent;
-import org.eclipse.higgins.configuration.api.IConfigurableComponentFactory;
-import org.eclipse.higgins.idas.api.IdASException;
-
-/**
-*
-* @author tdoman@xxxxxxxxxx
-*
-*/
-
-public class JNDIContextFactoryConfigurableComponentFactory implements IConfigurableComponentFactory
-{
-	/**
-	 * 
-	 */
-	public IConfigurableComponent getSingletonInstance()
-	{
-		return null;
-	}
-
-	/**
-	 * 
-	 */
-	public IConfigurableComponent getNewInstance()
-	{
-		IConfigurableComponent iComponentRet;
-		try
-		{
-			iComponentRet = new org.eclipse.higgins.idas.cp.jndi.JNDIContextFactory();
-		}
-		catch (IdASException e)
-		{
-			iComponentRet = null;
-		}
-		return iComponentRet;
-	}
-}
+/**
+ * Copyright (c) 2006-2007 Novell, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *		Tom Doman
+ */
+
+package org.eclipse.higgins.idas.cp.jndi;
+
+import org.eclipse.higgins.configuration.api.IConfigurableComponent;
+import org.eclipse.higgins.configuration.api.IConfigurableComponentFactory;
+import org.eclipse.higgins.idas.api.IdASException;
+
+
+/**
+*
+* @author tdoman@xxxxxxxxxx
+*
+*/
+
+public class JNDIContextFactoryConfigurableComponentFactory implements IConfigurableComponentFactory
+{
+	/**
+	 * 
+	 */
+	public IConfigurableComponent getSingletonInstance()
+	{
+		return null;
+	}
+
+	/**
+	 * 
+	 */
+	public IConfigurableComponent getNewInstance()
+	{
+		IConfigurableComponent iComponentRet;
+		try
+		{
+			iComponentRet = new org.eclipse.higgins.idas.cp.jndi.JNDIContextFactory();
+		}
+		catch (IdASException e)
+		{
+			iComponentRet = null;
+		}
+		return iComponentRet;
+	}
+}

Back to the top