Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[higgins-dev] diffs for 222143

attached are the diffs for https://bugs.eclipse.org/bugs/show_bug.cgi?id=222143


let me know if there's something wrong or missing.


Jim


p.s. it's no fun distinguishing between our "nodes" and other "nodes" while renaming.

Index: /home/jimse/dev/higgins/org.eclipse.higgins.deployment.idas.basic/conf/Higgins-LDAP-Server.xrds
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.deployment.idas.basic/conf/Higgins-LDAP-Server.xrds	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.deployment.idas.basic/conf/Higgins-LDAP-Server.xrds	(working copy)
@@ -61,7 +61,7 @@
 								RESULT = "http://www.eclipse.org/higgins/ontologies/deployment/idas/basic/ldap#attr_"; + providerID.toString();
 							]]>
 						</Setting>
-						<Setting Name="consumerNodeTypeToProvider" Type="htf:jscriptexec">
+						<Setting Name="consumerEntityTypeToProvider" Type="htf:jscriptexec">
 							<![CDATA[
 								var re = new RegExp("^http://www.eclipse.org/higgins/ontologies/deployment/idas/basic/ldap#class_";, "i");
 								RESULT = String(consumerType.toString()).replace(re, "");
@@ -67,7 +67,7 @@
 								RESULT = String(consumerType.toString()).replace(re, "");
 							]]>
 						</Setting>
-						<Setting Name="providerNodeTypeToConsumer" Type="htf:jscriptexec">
+						<Setting Name="providerEntityTypeToConsumer" Type="htf:jscriptexec">
 							<![CDATA[
 								RESULT = "http://www.eclipse.org/higgins/ontologies/deployment/idas/basic/ldap#class_"; + String(providerType.toString());
 							]]>
Index: /home/jimse/dev/higgins/org.eclipse.higgins.deployment.idas.basic/conf/IdASConfiguration1.xml
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.deployment.idas.basic/conf/IdASConfiguration1.xml	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.deployment.idas.basic/conf/IdASConfiguration1.xml	(working copy)
@@ -82,7 +82,7 @@
 									RESULT = "http://www.eclipse.org/higgins/ontologies/deployment/idas/basic/ldap#attr_"; + providerID.toString();
 								]]>
 							</Setting>
-							<Setting Name="consumerNodeTypeToProvider" Type="htf:jscriptexec">
+							<Setting Name="consumerEntityTypeToProvider" Type="htf:jscriptexec">
 								<![CDATA[
 									var re = new RegExp("^http://www.eclipse.org/higgins/ontologies/deployment/idas/basic/ldap#class_";, "i");
 									RESULT = String(consumerType.toString()).replace(re, "");
@@ -88,7 +88,7 @@
 									RESULT = String(consumerType.toString()).replace(re, "");
 								]]>
 							</Setting>
-							<Setting Name="providerNodeTypeToConsumer" Type="htf:jscriptexec">
+							<Setting Name="providerEntityTypeToConsumer" Type="htf:jscriptexec">
 								<![CDATA[
 									RESULT = "http://www.eclipse.org/higgins/ontologies/deployment/idas/basic/ldap#class_"; + String(providerType.toString());
 								]]>
Index: /home/jimse/dev/higgins/org.eclipse.higgins.deployment.idas.basic/src/org/eclipse/higgins/deployment/idas/basic/BasicIdAS.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.deployment.idas.basic/src/org/eclipse/higgins/deployment/idas/basic/BasicIdAS.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.deployment.idas.basic/src/org/eclipse/higgins/deployment/idas/basic/BasicIdAS.java	(working copy)
@@ -21,7 +21,7 @@
 import org.eclipse.higgins.idas.api.IAttribute;
 import org.eclipse.higgins.idas.api.IAttributeValue;
 import org.eclipse.higgins.idas.api.IContext;
-import org.eclipse.higgins.idas.api.INode;
+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.common.AuthNNamePasswordMaterials;
@@ -33,10 +33,10 @@
 	public static void main(String[] args) {
 		org.apache.log4j.PropertyConfigurator.configure("conf/log4j.properties");
 		BasicIdAS basicIdAS = new BasicIdAS();
-		basicIdAS.readNode();
+		basicIdAS.readEntity();
 	}
 
-	private void readNode() {
+	private void readEntity() {
 		IContext context;
 		
 		try {
@@ -47,9 +47,9 @@
 			context = contextFromXRDS("./conf/Higgins-LDAP-Server.xrds");
 		
 			// Open the context, get the authenticated node, and read its attributes
-			String nodeID = context.open(new AuthNNamePasswordMaterials(context, "cn=admin,o=bandit", "admin"));
-			INode node = context.getNode(nodeID); 
-			displayNodeInfo(node);
+			String entityID = context.open(new AuthNNamePasswordMaterials(context, "cn=admin,o=bandit", "admin"));
+			IEntity entity = context.getEntity(entityID); 
+			displayEntityInfo(entity);
 			
 		} catch (ContextOpenException e) {
 			// TODO Auto-generated catch block
@@ -63,11 +63,11 @@
 		}
 	}
 
-	private void displayNodeInfo(
-			INode node) throws IdASException {
-		Iterator attrIter = node.getAttributes();
-		System.out.println("node ID = " + node.getNodeID());
-		System.out.println("node's type = " + node.getNodeType());
+	private void displayEntityInfo(
+			IEntity entity) throws IdASException {
+		Iterator attrIter = entity.getAttributes();
+		System.out.println("node ID = " + entity.getEntityID());
+		System.out.println("node's type = " + entity.getEntityType());
 		System.out.println("node's attributes:");
 
 		while (attrIter.hasNext()) {
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/EntityExistsException.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/EntityExistsException.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/EntityExistsException.java	(working copy)
@@ -14,7 +14,7 @@
  * @author jimse@xxxxxxxxxx
  *
  */
-public class NodeExistsException extends IdASException {
+public class EntityExistsException extends IdASException {
 
 
 	/**
@@ -25,7 +25,7 @@
 	/**
 	 * 
 	 */
-	public NodeExistsException() {
+	public EntityExistsException() {
 		// TODO Auto-generated constructor stub
 	}
 
@@ -32,7 +32,7 @@
 	/**
 	 * @param message
 	 */
-	public NodeExistsException(String message) {
+	public EntityExistsException(String message) {
 		super(message);
 		// TODO Auto-generated constructor stub
 	}
@@ -41,7 +41,7 @@
 	 * @param message
 	 * @param cause
 	 */
-	public NodeExistsException(String message, Throwable cause) {
+	public EntityExistsException(String message, Throwable cause) {
 		super(message, cause);
 		// TODO Auto-generated constructor stub
 	}
@@ -49,7 +49,7 @@
 	/**
 	 * @param cause
 	 */
-	public NodeExistsException(Throwable cause) {
+	public EntityExistsException(Throwable cause) {
 		super(cause);
 		// TODO Auto-generated constructor stub
 	}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IContext.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IContext.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IContext.java	(working copy)
@@ -17,7 +17,7 @@
 import org.eclipse.higgins.idas.api.model.IContextModel;
 
 /**
- * As defined at <a href="http://spwiki.editme.com/Context";>http://spwiki.editme.com/Context</a> and <a href="http://spwiki.editme.com/ContextProvider";>http://spwiki.editme.com/ContextProvider</a>, This interface holds a set of {@link INode} objects.<p>
+ * As defined at <a href="http://spwiki.editme.com/Context";>http://spwiki.editme.com/Context</a> and <a href="http://spwiki.editme.com/ContextProvider";>http://spwiki.editme.com/ContextProvider</a>, This interface holds a set of {@link IEntity} objects.<p>
  * 
  */
 public interface IContext
@@ -31,15 +31,15 @@
 	 * Upon success (return with no exception), this Context is in an "open" state 
 	 * and is available to have other methods called (such as 
 	 * {@link #addRelationship(URI)}, 
-	 * {@link #addNode(URI, String)}, 
+	 * {@link #addEntity(URI, String)}, 
 	 * {@link #exportData(String, String)}, 
 	 * {@link #getRelationships()}, 
-	 * {@link #getNode(String)}, 
-	 * {@link #getNode(String, Iterator)}, 
-	 * {@link #getNodes(IFilter)},
-	 * {@link #getNodes(IFilter, Iterator)},
+	 * {@link #getEntity(String)}, 
+	 * {@link #getEntity(String, Iterator)}, 
+	 * {@link #getEntities(IFilter)},
+	 * {@link #getEntities(IFilter, Iterator)},
 	 * {@link #importData(String, String)},
-	 * {@link #verifyNodeAttributes(String, Iterator)}}
+	 * {@link #verifyEntityAttributes(String, Iterator)}}
 	 * ). 
 	 * Methods requiring the context to be open throw {@link ContextNotOpenException} 
 	 * when in an un-open state.<p>
@@ -48,7 +48,7 @@
 	 * The antithesis of this method is close().
 	 *
 	 * @param authentication AuthN object used to open the context.  This may be an instance of {@link IAuthNAttributesMaterials} or some other object used to authenticate. 
-	 * @return Node ID of the Node representing the identity used to open the context.  May be null.
+	 * @return Entity ID of the Entity representing the identity used to open the context.  May be null.
 	 * @throws IdASException
 	 * @throws ContextOpenException, AuthenticationException
 	 * @see #close() 
@@ -99,7 +99,7 @@
 	/**
 	 * Returns a model of the context object as it defined in the context's
 	 * schema. Returned model could be used to analyze context's schema and
-	 * discover what types of Nodes are defined.
+	 * discover what types of Entities are defined.
 	 * 
 	 * @return the model of this Context.
 	 * @throws IdASException
@@ -117,7 +117,7 @@
 	/**
 	 * Exports this Context.<p>
 	 * TODO (Arch): filter format TBD<p>
-	 * TODO (Arch): Does this export only Nodes, or the entire Context (Metadata, Schema, Nodes, Relationships)?
+	 * TODO (Arch): Does this export only Entities, or the entire Context (Metadata, Schema, Entities, Relationships)?
 	 * @param filter May be {@code null}. Used to select a subset of this Context to be exported.
 	 * @param representationFormat Indicates the format of the string to be returned. TODO (Arch)(Doc): Specify format type. Give example
 	 * @return String in the form of representationFormat containing the exported Context.
@@ -128,7 +128,7 @@
 	/**
 	 * Imports this Context.<p>
 	 * TODO (Arch): filter format TBD<p>
-	 * TODO (Arch): Does this import only Nodes, or the entire Context (Metadata, Schema, Nodes, Relationships)?
+	 * TODO (Arch): Does this import only Entities, or the entire Context (Metadata, Schema, Entities, Relationships)?
 	 * TODO (Arch)(Doc): Discuss collisions.
 	 * @param filter May be {@code null}. Used to select a subset of the external data set to be imported.
 	 * @param representationFormat Indicates the format of the external data string being specified in external. TODO (Arch)(Doc): Specify format type. Give example
@@ -146,7 +146,7 @@
 	public IAuthNAttributesMaterials buildAuthNAttributesMaterials() throws IdASException;
 	
 	/**
-	 * Builds an IAttribute (unassociated with any node).
+	 * Builds an IAttribute (unassociated with any Entity).
 	 * This is used to build up {@link IAuthNAttributesMaterials}
 	 * @param attrID
 	 * @return An {@link IAttribute}
@@ -155,7 +155,7 @@
 	public IAttribute buildAttribute(URI attrID) throws IdASException;
 	
 	/**
-	 * Builds an IFilter instance that may be used when calling {@link #getNodes(IFilter)}
+	 * Builds an IFilter instance that may be used when calling {@link #getEntities(IFilter)}
 	 */
 	public IFilter buildFilter() throws IdASException;
 	
@@ -160,8 +160,8 @@
 	public IFilter buildFilter() throws IdASException;
 	
 	/**
-	 * Builds an assertion for Node Attributes 
-	 * (see {@link INode#getAttributes()} and {@link INode#getAttribute(URI)}) 
+	 * Builds an assertion for Entity Attributes 
+	 * (see {@link IEntity#getAttributes()} and {@link IEntity#getAttribute(URI)}) 
 	 * which can be passed to {@link IFilter#setAssertion(IFilterAssertion)}
 	 */
 	public IFilterAttributeAssertion buildAttributeAssertion() throws IdASException;
@@ -167,8 +167,8 @@
 	public IFilterAttributeAssertion buildAttributeAssertion() throws IdASException;
 
 	/**
-	 * Builds an assertion for Node IDs 
-	 * (see {@link INode#getNodeID()}) 
+	 * Builds an assertion for Entity IDs 
+	 * (see {@link IEntity#getEntityID()}) 
 	 * which can be passed to {@link IFilter#setAssertion(IFilterAssertion)}
 	 * Note that this is simply a convenience method equivalent to creating an
 	 * IFilterAttributeAssertion for the 
@@ -174,11 +174,11 @@
 	 * IFilterAttributeAssertion for the 
 	 * http://www.eclipse.org/higgins/ontologies/2006/higgins#uniqueIdentifier attribute
 	 */
-	public IFilterNodeIDAssertion buildNodeIDAssertion() throws IdASException;
+	public IFilterEntityIDAssertion buildEntityIDAssertion() throws IdASException;
 
 	/**
-	 * Builds an assertion for Node Metadata 
-	 * (see {@link INode#getMetadataSet()}) 
+	 * Builds an assertion for Entity Metadata 
+	 * (see {@link IEntity#getMetadataSet()}) 
 	 * which can be passed to {@link IFilter#setAssertion(IFilterAssertion)}
 	 */
 	public IFilterMetadataAssertion buildMetadataAssertion() throws IdASException;
@@ -184,11 +184,11 @@
 	public IFilterMetadataAssertion buildMetadataAssertion() throws IdASException;
 
 	/**
-	 * Builds an assertion for Node Types 
-	 * (see {@link INode#getNodeType()}) 
+	 * Builds an assertion for Entity Types 
+	 * (see {@link IEntity#getEntityType()}) 
 	 * which can be passed to {@link IFilter#setAssertion(IFilterAssertion)}
 	 */
-	public IFilterNodeTypeAssertion buildNodeTypeAssertion() throws IdASException;
+	public IFilterEntityTypeAssertion buildEntityTypeAssertion() throws IdASException;
 
 	/**
 	 * Builds a simple attribute value to be passed to {@link IFilterAttributeAssertion#setAssertionValue(IAttributeValue)}.<p>
@@ -227,54 +227,54 @@
 
 
 	/*
-	 * Methods relating to Nodes
+	 * Methods relating to Entities
 	 */
 
 	/**
-	 * Creates a new Node for this Context.<br>
+	 * Creates a new Entity for this Context.<br>
 	 * This call is typically followed by one or more calls to 
-	 * {@link INode#addAttribute}, {@link INode#addMetadata}
-	 * on the returned INode
+	 * {@link IEntity#addAttribute}, {@link IEntity#addMetadata}
+	 * on the returned IEntity
 	 * Note: This operation is only applied to any backing data 
 	 * store after {@link IContext#applyUpdates()}
-	 * @param nodeType The URI specifying the type of Node being created
-	 * @param nodeID May be null.  When specified, uniquely names the node within
+	 * @param entityType The URI specifying the type of Entity being created
+	 * @param entityID May be null.  When specified, uniquely names the Entity within
 	 * this Context.  When null, indicates that the caller plans to later add an 
-	 * attribute or attributes which will be used to construct the unique node ID
-	 * @return The resulting INode.  This is only applied to any backing data 
+	 * attribute or attributes which will be used to construct the unique Entity ID
+	 * @return The resulting IEntity.  This is only applied to any backing data 
 	 * store after {@link IContext#applyUpdates()}
-	 * @throws InvalidTypeException when the nodeType is invalid
-	 * @throws InvalidNodeIDException when the nodeID is invalid
-	 * @throws NodeExistsException when the nodeID is known to already exist
+	 * @throws InvalidTypeException when the entityType is invalid
+	 * @throws InvalidEntityIDException when the entityID is invalid
+	 * @throws EntityExistsException when the entityID is known to already exist
 	 * @throws IdASException
 	 */
-	INode addNode(URI nodeType, String nodeID) throws IdASException, InvalidTypeException, InvalidNodeIDException, NodeExistsException;
+	IEntity addEntity(URI entityType, String entityID) throws IdASException, InvalidTypeException, InvalidEntityIDException, EntityExistsException;
 
 	/**
-	 * Creates a new Node for this Context by copying the data from the passed node<br>
+	 * Creates a new Entity for this Context by copying the data from the passed entity<br>
 	 * Note: This operation is only applied to any backing data 
 	 * store after {@link IContext#applyUpdates()} is called.
-	 * @param copyFrom an {@link INode} from which data is copied to construct a new 
-	 * Node
-	 * @return The resulting INode.  This is only applied to any backing data 
+	 * @param copyFrom an {@link IEntity} from which data is copied to construct a new 
+	 * Entity
+	 * @return The resulting IEntity.  This is only applied to any backing data 
 	 * store after {@link IContext#applyUpdates()} is called.
-	 * @throws NodeExistsException when copyFrom is known to already exist
+	 * @throws EntityExistsException when copyFrom is known to already exist
 	 * @throws IdASException
 	 */
-	INode addNode(INode copyFrom) throws IdASException, NodeExistsException;
+	IEntity addEntity(IEntity copyFrom) throws IdASException, EntityExistsException;
 
 	/**
-	 * This is the same as passing null as the attrSelectionList in {@link #getNode(String, Iterator)}
-	 *	@see #getNode(String, Iterator)
+	 * This is the same as passing null as the attrSelectionList in {@link #getEntity(String, Iterator)}
+	 *	@see #getEntity(String, Iterator)
 	 *	 
 	 */
-	public INode getNode(String nodeID) throws IdASException;
+	public IEntity getEntity(String entityID) throws IdASException;
 	/**
-	 * Returns the Node matching the specified nodeID.
-	 * This is effectively the same as calling {@link #getNodes} with
-	 * the filter set to {@literal <appropriate filter for nodeID=name>}<p>
+	 * Returns the Entity matching the specified entityID.
+	 * This is effectively the same as calling {@link #getEntities} with
+	 * the filter set to {@literal <appropriate filter for entityID=name>}<p>
 	 * 
-	 * @param nodeID Contextually unique ID of Node to return.
+	 * @param entityID Contextually unique ID of Entity to return.
 	 * @param attrSelectionList Iterator holding the {@link URI}s of IAttribute types 
 	 * 							that the caller expects to access.  
 	 * 							A {@code null}indicates that the caller expects to read all attributes.  
@@ -283,43 +283,43 @@
 	 *                          The caller may eventually end up reading more or less.  The purpose of this 
 	 *                          parameter is so that a context provider which gathers data across a network 
 	 *                          connection can optimize based on the callers intended usage. 
-	 * @return INode.
+	 * @return IEntity.
 	 * @throws IdASException (typically a subclass of. See below).
-	 * @throws NoSuchNodeException when node specified by nodeID is not found.
+	 * @throws NoSuchEntityException when entity specified by entityID is not found.
 	 *
 	 */
-	public INode getNode(String nodeID, Iterator attrSelectionList) throws IdASException;
+	public IEntity getEntity(String entityID, Iterator attrSelectionList) throws IdASException;
 	
 	/**
-	 * @see #getNodes(IFilter, Iterator)
-	 * This is the same as passing null as the attrSelectionList in {@link #getNodes(IFilter, Iterator)}
-	 * @return an Iterator of {@link INode}s that match the filter 
+	 * @see #getEntities(IFilter, Iterator)
+	 * This is the same as passing null as the attrSelectionList in {@link #getEntities(IFilter, Iterator)}
+	 * @return an Iterator of {@link IEntity}s that match the filter 
 	 */
-	public Iterator getNodes(IFilter filter) throws IdASException;
+	public Iterator getEntities(IFilter filter) throws IdASException;
 	
 	/**
-	 * From this context, return {@link INode}s that match the specified filter <p>
-	 * @param filter 	Filter used to constrain the set of {@link INode}s returned.
-	 * 					A {@code null} or empty filter causes all {@link INode}s to be returned.
+	 * From this context, return {@link IEntity}s that match the specified filter <p>
+	 * @param filter 	Filter used to constrain the set of {@link IEntity}s returned.
+	 * 					A {@code null} or empty filter causes all {@link IEntity}s to be returned.
 	 * @param attrSelectionList Iterator of {@link URI}s of IAttribute types that the caller expects to access.  A {@code null} indicates that all attributes will be read.  An empty set indicates that no attributes will be read.
-	 * @return an Iterator of {@link INode}s that match the filter 
+	 * @return an Iterator of {@link IEntity}s that match the filter 
 	 * @throws IdASException
 	 *
 	 */
-	public Iterator getNodes(IFilter filter, Iterator attrSelectionList) throws IdASException;
+	public Iterator getEntities(IFilter filter, Iterator attrSelectionList) throws IdASException;
 	
 	/**
-	 * Simple method for comparing a set of attribute assertions against a Node.<p>
-	 * TODO (Arch): This doesn't leave a way to verify that a Node representing a group contains a specific member in its member value.
+	 * Simple method for comparing a set of attribute assertions against a Entity.<p>
+	 * TODO (Arch): This doesn't leave a way to verify that a Entity representing a group contains a specific member in its member value.
 	 * 		We may want to consider allowing a filter to be passed here, or at least a partial attribute.
 	 * 
-	 * @param nodeID Contextually unique ID of Node being verified.
-	 * @param attributes Iterator of {@link IAttribute} to be compared to the Node specified by nodeID. 
-	 * @return {@code true} if all attribute assertions in attributes are found to be equal to those attributes in the Node specified by nodeID. {@code false} otherwise. 
+	 * @param entityID Contextually unique ID of Entity being verified.
+	 * @param attributes Iterator of {@link IAttribute} to be compared to the Entity specified by entityID. 
+	 * @return {@code true} if all attribute assertions in attributes are found to be equal to those attributes in the Entity specified by entityID. {@code false} otherwise. 
 	 * @throws IdASException (typically a subclass of. See below).
-	 * @throws NoSuchNodeException when node specified by nodeID is not found.
+	 * @throws NoSuchEntityException when Entity specified by entityID is not found.
 	 */
-	public boolean verifyNodeAttributes(String nodeID, Iterator attributes) throws IdASException;
+	public boolean verifyEntityAttributes(String entityID, Iterator attributes) throws IdASException;
 
 	/**
 	 * Returns the relationships this Object has to others.
@@ -341,7 +341,7 @@
 	/**
 	 * Applies all update operations which have been called on this Context 
 	 * and called on any element held by this Context 
-	 * (including nodess, metadata, attributes, attribute metadata and it's value(s), and attribute values) 
+	 * (including entitiess, metadata, attributes, attribute metadata and it's value(s), and attribute values) 
 	 * to a backing data store.  These updates are applied atomically when possible, but may not be 
 	 * applied atomically by Context Providers which do not support this.
 	 * Update operations which will be applied are any of the following:<br>
@@ -346,9 +346,9 @@
 	 * applied atomically by Context Providers which do not support this.
 	 * Update operations which will be applied are any of the following:<br>
 	 * {@link IContext#addRelationship(URI)}<br>
-	 * {@link IContext#addNode(URI, String)}<br>
-	 * {@link IContext#addNode(INode)}<br>
-	 * {@link INode#remove()}<br>
+	 * {@link IContext#addEntity(URI, String)}<br>
+	 * {@link IContext#addEntity(IEntity)}<br>
+	 * {@link IEntity#remove()}<br>
 	 * {@link IHasAttributes#addAttribute(IAttribute)}<br>
 	 * {@link IHasAttributes#addAttribute(URI)}<br>
 	 * {@link IHasAttributes#removeAttribute(URI)}<br>
@@ -378,7 +378,7 @@
 	/**
 	 * Cancels all update operations which have been called on this Context 
 	 * and called on any element held by this Context 
-	 * (including nodes, metadata, attributes, 
+	 * (including entities, metadata, attributes, 
 	 * attribute metadata and it's value(s), and attribute values).
 	 * Any updates which have already been applied (by calling {@link #applyUpdates()}) are not canceled.   
 	 * @throws IdASException
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IEntity.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IEntity.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IEntity.java	(working copy)
@@ -13,7 +13,7 @@
 
 import java.net.URI;
 
-import org.eclipse.higgins.idas.api.model.INodeModel;
+import org.eclipse.higgins.idas.api.model.IEntityModel;
 import org.eclipse.higgins.idas.api.model.IModel;
 
 /**
@@ -18,48 +18,48 @@
 
 /**
  * As defined at 
- * <a href="http://wiki.eclipse.org/Node";>http://wiki.eclipse.org/Node</a> 
+ * <a href="http://wiki.eclipse.org/Entity";>http://wiki.eclipse.org/Entity</a> 
  * and <a href="http://wiki.eclipse.org/Context";>http://wiki.eclipse.org/Context</a>, 
- * This interface holds a set of {@link INode} objects.<p>
- * All Nodes follow the http://www.eclipse.org/higgins/ontologies/2006/higgins ontology
- * as a base. As such, each Node has the attribute 
- * http://www.eclipse.org/higgins/ontologies/2006/higgins#uniqueIdentifier. {@link #getNodeID()}
+ * This interface holds a set of {@link IEntity} objects.<p>
+ * All Entities follow the http://www.eclipse.org/higgins/ontologies/2006/higgins ontology
+ * as a base. As such, each Entity has the attribute 
+ * http://www.eclipse.org/higgins/ontologies/2006/higgins#uniqueIdentifier. {@link #getEntityID()}
  * provides a shortcut to access the value of this attribute.
  * TODO (Doc): Finish javadoc on methods   
  */
-public interface INode extends IHasMetadata, IHasAttributes
+public interface IEntity extends IHasMetadata, IHasAttributes
 {
 	/**
-	 * @return The Context holding this Node.
+	 * @return The Context holding this Entity.
 	 * @throws IdASException
 	 */
-	public IContext	getContext() throws IdASException;
+	public IContext getContext() throws IdASException;
 
 	/**
-	 * Returns the Contextually unique identifier of this Node. 
+	 * Returns the Contextually unique identifier of this Entity. 
 	 * This is a convenience method equivalent to reading the node's 
 	 * http://www.eclipse.org/higgins/ontologies/2006/higgins#uniqueIdentifier attribute.
 	 * 
-	 * @return Contextually unique identifier of this Node
+	 * @return Contextually unique identifier of this Entity
 	 * @throws IdASException
 	 */
-	public String getNodeID() throws IdASException;
+	public String getEntityID() throws IdASException;
 	
 	/**
-	 * Returns the type of this Node.  For example: http://www.eclipse.org/higgins/ontologies/2006/person#Person<p>
-	 * @return This Node's type
+	 * Returns the type of this Entity.  For example: http://www.eclipse.org/higgins/ontologies/2006/person#Person<p>
+	 * @return This Entity's type
 	 * @throws IdASException
-	 * @deprecated Instead, call {@link INode#getModel()} and from that call {@link IModel#getType()}.  
+	 * @deprecated Instead, call {@link IEntity#getModel()} and from that call {@link IModel#getType()}.  
 	 * Doing this is equivalent to calling this method.
 	 */
-	public URI getNodeType() throws IdASException;
+	public URI getEntityType() throws IdASException;
 
 	/**
-	 * Removes this Node from its Context.
+	 * Removes this Entity from its Context.
 	 * Note: This operation is only applied to any backing data store after
 	 * {@link IContext#applyUpdates()} is called. <br>
 	 * Note: It is invalid to call subsequent update operations on this 
-	 * INode instance or on any elements held by this Node 
+	 * IEntity instance or on any elements held by this Entity 
 	 * or by any of its sub-elements.
 	 * 
 	 * @throws IdASException
@@ -67,12 +67,12 @@
 	void remove() throws IdASException;	
 	
 	/**
-	 * Returns a model of this type of Nodes as it defined in the
+	 * Returns a model of this type of Entities as it defined in the
 	 * context's schema. Returned model could be used to discover what
-	 * attributes are defined in the context's schema for this type of Nodes.
+	 * attributes are defined in the context's schema for this type of Entities.
 	 * 
-	 * @return the model of this Node
+	 * @return the model of this Entity
 	 * @throws IdASException
 	 */
-	public INodeModel getModel() throws IdASException;
+	public IEntityModel getModel() throws IdASException;
 }
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IFilterAssertion.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IFilterAssertion.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IFilterAssertion.java	(working copy)
@@ -17,7 +17,7 @@
 
 /**
  * Represents a filter assertion. 
- * Sub-interfaces of this are defined for specific aspects of an INode.
+ * Sub-interfaces of this are defined for specific aspects of an IEntity.
  * An assertion is made up of at least a comparator (operator), 
  * and often an identifier and assertion value.<p>
  * TODO Methods here should be get*, not set* to match other interfaces.
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IFilterAttributeAssertion.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IFilterAttributeAssertion.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IFilterAttributeAssertion.java	(working copy)
@@ -17,7 +17,7 @@
 
 /**
  * Represents a filter assertion about a Node's Attributes 
- * ({@link org.eclipse.higgins.idas.api.INode#getAttribute(URI)} and {@link org.eclipse.higgins.idas.api.INode#getAttributes()}).<p>
+ * ({@link org.eclipse.higgins.idas.api.IEntity#getAttribute(URI)} and {@link org.eclipse.higgins.idas.api.IEntity#getAttributes()}).<p>
  *
  * This assertion is made up of a comparator (operator), attribute type and assertion value.<p>
  *  
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IFilterEntityIDAssertion.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IFilterEntityIDAssertion.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IFilterEntityIDAssertion.java	(working copy)
@@ -13,7 +13,7 @@
 
 /**
  * Represents a filter assertion about a Node's ID 
- * (see {@link org.eclipse.higgins.idas.api.INode#getNodeID()}).<p>
+ * (see {@link org.eclipse.higgins.idas.api.IEntity#getEntityID()}).<p>
  * This assertion is made up of a comparator (operator), and assertion value.<p>
  * The filter assertion is true for a Node when: <p>
  * TODO (Doc): add assertion rules <p>
@@ -20,7 +20,7 @@
  *  
  * The particular form of the String used as an assertion is dictated by the comparator.
  */
-public interface IFilterNodeIDAssertion extends IFilterAssertion {
+public interface IFilterEntityIDAssertion extends IFilterAssertion {
 
 	/**
 	 * Compares true when a tested Node has a unique ID equal to the specified assertion value.<P> 
@@ -29,7 +29,7 @@
 	public static final String COMP_NODEID_EQ = "urn:org.eclipse.higgins.idas.api.comparator.nodeid.equality";
 
 	/**
-	 * Specifies the assertion data to be tested against an INode's unique ID.
+	 * Specifies the assertion data to be tested against an IEntity's unique ID.
 	 * 
 	 */
 	public void setAssertionValue(String assertion) throws IdASException;
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IFilterEntityTypeAssertion.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IFilterEntityTypeAssertion.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IFilterEntityTypeAssertion.java	(working copy)
@@ -15,7 +15,7 @@
 
 /**
  * Represents a filter assertion about a Node's Type 
- * (see {@link org.eclipse.higgins.idas.api.INode#getNodeType()}).<p>
+ * (see {@link org.eclipse.higgins.idas.api.IEntity#getEntityType()}).<p>
  * This assertion is made up of a comparator (operator), and assertion value.<p>
  * The filter assertion is true for a Node when: <p>
  * TODO (Doc): add assertion rules <p>
@@ -22,7 +22,7 @@
  *  
  * The particular form of the String used as an assertion is dictated by the comparator.
  */
-public interface IFilterNodeTypeAssertion extends IFilterAssertion {
+public interface IFilterEntityTypeAssertion extends IFilterAssertion {
 
 	/**
 	 * Compares true when a tested Node has a type equal to the specified assertion value.<p>
@@ -31,7 +31,7 @@
 	public static final String COMP_TYPE_EQ = "urn:org.eclipse.higgins.idas.api.comparator.type.equality";
 
 	/**
-	 * Specifies the assertion data to be tested against an INode's type.
+	 * Specifies the assertion data to be tested against an IEntity's type.
 	 * 
 	 */
 	public void setAssertionValue(URI assertion) throws IdASException;
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IFilterNodeIDAssertion.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IFilterNodeIDAssertion.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IFilterNodeIDAssertion.java	(working copy)
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * 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:
- *    Jim Sermersheim - Initial cut
- *******************************************************************************/
-
-package org.eclipse.higgins.idas.api;
-
-/**
- * Represents a filter assertion about a Node's ID 
- * (see {@link org.eclipse.higgins.idas.api.INode#getNodeID()}).<p>
- * This assertion is made up of a comparator (operator), and assertion value.<p>
- * The filter assertion is true for a Node when: <p>
- * TODO (Doc): add assertion rules <p>
- *  
- * The particular form of the String used as an assertion is dictated by the comparator.
- */
-public interface IFilterNodeIDAssertion extends IFilterAssertion {
-
-	/**
-	 * Compares true when a tested Node has a unique ID equal to the specified assertion value.<P> 
-	 * Value: {@value}
-	 */
-	public static final String COMP_NODEID_EQ = "urn:org.eclipse.higgins.idas.api.comparator.nodeid.equality";
-
-	/**
-	 * Specifies the assertion data to be tested against an INode's unique ID.
-	 * 
-	 */
-	public void setAssertionValue(String assertion) throws IdASException;
-	
-}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IFilterNodeTypeAssertion.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IFilterNodeTypeAssertion.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IFilterNodeTypeAssertion.java	(working copy)
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * 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:
- *    Jim Sermersheim - Initial cut
- *******************************************************************************/
-
-package org.eclipse.higgins.idas.api;
-
-import java.net.URI;
-
-/**
- * Represents a filter assertion about a Node's Type 
- * (see {@link org.eclipse.higgins.idas.api.INode#getNodeType()}).<p>
- * This assertion is made up of a comparator (operator), and assertion value.<p>
- * The filter assertion is true for a Node when: <p>
- * TODO (Doc): add assertion rules <p>
- *  
- * The particular form of the String used as an assertion is dictated by the comparator.
- */
-public interface IFilterNodeTypeAssertion extends IFilterAssertion {
-
-	/**
-	 * Compares true when a tested Node has a type equal to the specified assertion value.<p>
-	 * Value: {@value}
-	 */
-	public static final String COMP_TYPE_EQ = "urn:org.eclipse.higgins.idas.api.comparator.type.equality";
-
-	/**
-	 * Specifies the assertion data to be tested against an INode's type.
-	 * 
-	 */
-	public void setAssertionValue(URI assertion) throws IdASException;
-
-}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IHasAttributes.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IHasAttributes.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/IHasAttributes.java	(working copy)
@@ -48,7 +48,7 @@
 	public ISingleValuedAttribute getSingleValuedAttribute(URI attrID) throws IdASException, NotSingleValuedAttributeException;
 
 	/**
-	 * Creates a new Attribute for this container of attributes (typically {@link INode}).
+	 * Creates a new Attribute for this container of attributes (typically {@link IEntity}).
 	 * This call is typically followed by one or more calls to 
 	 * {@link IAttribute#addValue}, {@link IAttribute#addSimpleValue}, 
 	 * {@link IAttribute#addComplexValue}, (@link IHasMetadata#addMetadata} on
@@ -66,7 +66,7 @@
 	
 	/**
 	 * Creates a new Attribute for this container of 
-	 * attributes (typically {@link INode}) by copying the data from
+	 * attributes (typically {@link IEntity}) by copying the data from
 	 * the passed IAttribute.
 	 * Note: This operation is only applied to any backing data store after
 	 * IContext.applyUpdates() is called.
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/INode.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/INode.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/INode.java	(working copy)
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * 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:
- *    Jim Sermersheim - Initial cut of interfaces agreed upon 20060707
- *******************************************************************************/
-
-package org.eclipse.higgins.idas.api;
-
-import java.net.URI;
-
-import org.eclipse.higgins.idas.api.model.INodeModel;
-import org.eclipse.higgins.idas.api.model.IModel;
-
-/**
- * As defined at 
- * <a href="http://wiki.eclipse.org/Node";>http://wiki.eclipse.org/Node</a> 
- * and <a href="http://wiki.eclipse.org/Context";>http://wiki.eclipse.org/Context</a>, 
- * This interface holds a set of {@link INode} objects.<p>
- * All Nodes follow the http://www.eclipse.org/higgins/ontologies/2006/higgins ontology
- * as a base. As such, each Node has the attribute 
- * http://www.eclipse.org/higgins/ontologies/2006/higgins#uniqueIdentifier. {@link #getNodeID()}
- * provides a shortcut to access the value of this attribute.
- * TODO (Doc): Finish javadoc on methods   
- */
-public interface INode extends IHasMetadata, IHasAttributes
-{
-	/**
-	 * @return The Context holding this Node.
-	 * @throws IdASException
-	 */
-	public IContext	getContext() throws IdASException;
-
-	/**
-	 * Returns the Contextually unique identifier of this Node. 
-	 * This is a convenience method equivalent to reading the node's 
-	 * http://www.eclipse.org/higgins/ontologies/2006/higgins#uniqueIdentifier attribute.
-	 * 
-	 * @return Contextually unique identifier of this Node
-	 * @throws IdASException
-	 */
-	public String getNodeID() throws IdASException;
-	
-	/**
-	 * Returns the type of this Node.  For example: http://www.eclipse.org/higgins/ontologies/2006/person#Person<p>
-	 * @return This Node's type
-	 * @throws IdASException
-	 * @deprecated Instead, call {@link INode#getModel()} and from that call {@link IModel#getType()}.  
-	 * Doing this is equivalent to calling this method.
-	 */
-	public URI getNodeType() throws IdASException;
-
-	/**
-	 * Removes this Node from its Context.
-	 * Note: This operation is only applied to any backing data store after
-	 * {@link IContext#applyUpdates()} is called. <br>
-	 * Note: It is invalid to call subsequent update operations on this 
-	 * INode instance or on any elements held by this Node 
-	 * or by any of its sub-elements.
-	 * 
-	 * @throws IdASException
-	 */
-	void remove() throws IdASException;	
-	
-	/**
-	 * Returns a model of this type of Nodes as it defined in the
-	 * context's schema. Returned model could be used to discover what
-	 * attributes are defined in the context's schema for this type of Nodes.
-	 * 
-	 * @return the model of this Node
-	 * @throws IdASException
-	 */
-	public INodeModel getModel() throws IdASException;
-}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/InvalidEntityIDException.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/InvalidEntityIDException.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/InvalidEntityIDException.java	(working copy)
@@ -13,7 +13,7 @@
 /**
  * Thrown when a specified Type is invalid.
  */
-public class InvalidNodeIDException extends IdASException {
+public class InvalidEntityIDException extends IdASException {
 
 	/**
 	 * 
@@ -23,7 +23,7 @@
 	/**
 	 * @see IdASException#IdASException()
 	 */
-	public InvalidNodeIDException() {
+	public InvalidEntityIDException() {
 		super();
 	}
 
@@ -31,7 +31,7 @@
 	 * @param message
 	 * @see IdASException#IdASException(String)
 	 */
-	public InvalidNodeIDException(String message) {
+	public InvalidEntityIDException(String message) {
 		super(message);
 	}
 
@@ -40,7 +40,7 @@
 	 * @param cause
 	 * @see IdASException#IdASException(String, Throwable)
 	 */
-	public InvalidNodeIDException(String message, Throwable cause) {
+	public InvalidEntityIDException(String message, Throwable cause) {
 		super(message, cause);
 	}
 
@@ -48,7 +48,7 @@
 	 * @param cause
 	 * @see IdASException#IdASException(Throwable)
 	 */
-	public InvalidNodeIDException(Throwable cause) {
+	public InvalidEntityIDException(Throwable cause) {
 		super(cause);
 	}
 
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/InvalidNodeIDException.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/InvalidNodeIDException.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/InvalidNodeIDException.java	(working copy)
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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:
- *    Jim Sermersheim - Initial cut
- *******************************************************************************/
-package org.eclipse.higgins.idas.api;
-
-/**
- * Thrown when a specified Type is invalid.
- */
-public class InvalidNodeIDException extends IdASException {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = -2061692182356732973L;
-
-	/**
-	 * @see IdASException#IdASException()
-	 */
-	public InvalidNodeIDException() {
-		super();
-	}
-
-	/**
-	 * @param message
-	 * @see IdASException#IdASException(String)
-	 */
-	public InvalidNodeIDException(String message) {
-		super(message);
-	}
-
-	/**
-	 * @param message
-	 * @param cause
-	 * @see IdASException#IdASException(String, Throwable)
-	 */
-	public InvalidNodeIDException(String message, Throwable cause) {
-		super(message, cause);
-	}
-
-	/**
-	 * @param cause
-	 * @see IdASException#IdASException(Throwable)
-	 */
-	public InvalidNodeIDException(Throwable cause) {
-		super(cause);
-	}
-
-}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/model/IAttributeModel.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/model/IAttributeModel.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/model/IAttributeModel.java	(working copy)
@@ -46,9 +46,9 @@
 	 * Returns the maximum number of values required by occurrences of this
 	 * attribute.
 	 * When this IAttributeModel is returned from 
-	 * {@link INodeModel#getAttributeModel(URI)} or 
-	 * {@link INodeModel#getAttributeModels()}, the maximum cardinality 
-	 * refers to occurrences of this attribute in relationship to that Node
+	 * {@link IEntityModel#getAttributeModel(URI)} or 
+	 * {@link IEntityModel#getAttributeModels()}, the maximum cardinality 
+	 * refers to occurrences of this attribute in relationship to that Entity
 	 * type.
 	 * When this IAttributeModel is returned from {@link IContextModel#getModel(URI)},
 	 * the minimum cardinality refers to the default
@@ -53,9 +53,9 @@
 	 * When this IAttributeModel is returned from {@link IContextModel#getModel(URI)},
 	 * the minimum cardinality refers to the default
 	 * behavior of occurrences of this attribute, but the cardinality may be overridden
-	 * as the attribute is applied to any given Node type.  Therefore,
+	 * as the attribute is applied to any given Entity type.  Therefore,
 	 * it's best to query an attribute's cardinality as it applies to a particular 
-	 * Node.
+	 * Entity.
 	 * @return A positive number indicates the maximum number of values that may 
 	 * be present. The value -1 indicates that there is no limit to the number of values that may 
 	 * be present. The value 0 has no meaning and should not be returned. 
@@ -67,9 +67,9 @@
 	 * Returns the minimum number of values required by occurrences of this
 	 * attribute.
 	 * When this IAttributeModel is returned from 
-	 * {@link INodeModel#getAttributeModel(URI)} or 
-	 * {@link INodeModel#getAttributeModels()}, the minimum cardinality 
-	 * refers to occurrences of this attribute in relationship to that Node
+	 * {@link IEntityModel#getAttributeModel(URI)} or 
+	 * {@link IEntityModel#getAttributeModels()}, the minimum cardinality 
+	 * refers to occurrences of this attribute in relationship to that Entity
 	 * type.
 	 * When this IAttributeModel is returned from {@link IContextModel#getModel(URI)}, 
 	 * the minimum cardinality refers to the default
@@ -74,9 +74,9 @@
 	 * When this IAttributeModel is returned from {@link IContextModel#getModel(URI)}, 
 	 * the minimum cardinality refers to the default
 	 * behavior of occurrences of this attribute, but the cardinality may be overridden
-	 * as the attribute is applied to any given Node type.  Therefore,
+	 * as the attribute is applied to any given Entity type.  Therefore,
 	 * it's best to query an attribute's cardinality as it applies to a particular 
-	 * Node.
+	 * Entity.
 	 * @return 0 if no values are required to be present. This of course also means the 
 	 * attribute itself is optional. A positive number indicates the minimum number of values that must 
 	 * be present. The value -1 has no meaning and should not be returned. 
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/model/IContextModel.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/model/IContextModel.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/model/IContextModel.java	(working copy)
@@ -45,18 +45,18 @@
 	public IModel getModel(URI type);
 
 	/**
-	 * Returns {@link INodeModel}s for the nodes 
+	 * Returns {@link IEntityModel}s for the entities 
 	 * which are defined (allowed) in this context model.
-	 * @return Iterator of {@link INodeModel}
-	 * @see org.eclipse.higgins.idas.api.IContext#getNode(String)
-	 * @see org.eclipse.higgins.idas.api.IContext#getNodes(IFilter)
+	 * @return Iterator of {@link IEntityModel}
+	 * @see org.eclipse.higgins.idas.api.IContext#getEntity(String)
+	 * @see org.eclipse.higgins.idas.api.IContext#getEntities(IFilter)
 	 */
-	public Iterator getNodeModels();
+	public Iterator getEntityModels();
 	
 	/**
-	 * Returns the INodeModel for the specified node type
-	 * @param nodeType
-	 * @return {@link INodeModel} for the specified node type 
+	 * Returns the INodeModel for the specified entity type
+	 * @param entityType
+	 * @return {@link IEntityModel} for the specified entity type 
 	 */	
-	public INodeModel getNodeModel(URI nodeType);
+	public IEntityModel getEntityModel(URI entityType);
 }
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/model/IEntityModel.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/model/IEntityModel.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/model/IEntityModel.java	(working copy)
@@ -22,13 +22,13 @@
  * The type returned by
  * {@link org.eclipse.higgins.idas.api.model.IModel#getType()}
  * could be used in
- * {@link org.eclipse.higgins.idas.api.IContext#addNode(URI, String)} to
- * create an {@link org.eclipse.higgins.idas.api.INode} of the represented
+ * {@link org.eclipse.higgins.idas.api.IContext#addEntity(URI, String)} to
+ * create an {@link org.eclipse.higgins.idas.api.IEntity} of the represented
  * type.
  * 
- * @see org.eclipse.higgins.idas.api.INode#getModel()
+ * @see org.eclipse.higgins.idas.api.IEntity#getModel()
  */
-public interface INodeModel extends IModel {
+public interface IEntityModel extends IModel {
 	/**
 	 * Returns IAttributeModels for the attributes
 	 * which are defined (allowed) in this node model.
@@ -34,7 +34,7 @@
 	 * which are defined (allowed) in this node model.
 	 * @return Iterator of {@link IAttributeModel}
 	 * @see org.eclipse.higgins.idas.api.IHasAttributes#getAttributes()
-	 *      INode.getAttributes()
+	 *      IEntity.getAttributes()
 	 */
 	public Iterator getAttributeModels();
 
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/model/INodeModel.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/model/INodeModel.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/model/INodeModel.java	(working copy)
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Parity Communications, Inc.
- * Copyright (c) 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:
- *     Valery Kokhan - Initial cut of interfaces
- *     Jim Sermersheim (Novell) Update to 20070319 interfaces
- *******************************************************************************/
-
-package org.eclipse.higgins.idas.api.model;
-
-import java.net.URI;
-import java.util.Iterator;
-
-/**
- * Represents a model of a node as it defined in the context's ontology model.
- * <p>
- * The type returned by
- * {@link org.eclipse.higgins.idas.api.model.IModel#getType()}
- * could be used in
- * {@link org.eclipse.higgins.idas.api.IContext#addNode(URI, String)} to
- * create an {@link org.eclipse.higgins.idas.api.INode} of the represented
- * type.
- * 
- * @see org.eclipse.higgins.idas.api.INode#getModel()
- */
-public interface INodeModel extends IModel {
-	/**
-	 * Returns IAttributeModels for the attributes
-	 * which are defined (allowed) in this node model.
-	 * @return Iterator of {@link IAttributeModel}
-	 * @see org.eclipse.higgins.idas.api.IHasAttributes#getAttributes()
-	 *      INode.getAttributes()
-	 */
-	public Iterator getAttributeModels();
-
-	/**
-	 * Returns IAttributeModel for the specified attribute ID
-	 * 
-	 * @param attrID the ID of attribute.
-	 * @return attribute's model of requested ID or <code>null</code> if
-	 *         the specified attrID is not defined or not valid for this
-	 *         node model.
-	 */
-	public IAttributeModel getAttributeModel(URI attrID);
-	
-	/**
-	 * Returns IMetadataModels for the metadata elements
-	 * which are defined (allowed) in this node model.
-	 * @return Iterator of {@link IMetadataModel}
-	 */
-	public Iterator getMetadataModels(); 
-	
-	/**
-	 * Returns IMetadataModel for the specified metadata ID
-	 * 
-	 * @param metadataType the type of metadata.
-	 * @return metadata's model of requested type or <code>null</code> if
-	 *         the specified metadataID is not defined or not valid for this
-	 *         node model.
-	 */
-	public IMetadataModel getMetadataModel(URI metadataType);	
-}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/NodeExistsException.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/NodeExistsException.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/NodeExistsException.java	(working copy)
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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:
- *    Jim Sermersheim - Initial cut
- *******************************************************************************/
-package org.eclipse.higgins.idas.api;
-
-/**
- * @author jimse@xxxxxxxxxx
- *
- */
-public class NodeExistsException extends IdASException {
-
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 4214113640980791252L;
-
-	/**
-	 * 
-	 */
-	public NodeExistsException() {
-		// TODO Auto-generated constructor stub
-	}
-
-	/**
-	 * @param message
-	 */
-	public NodeExistsException(String message) {
-		super(message);
-		// TODO Auto-generated constructor stub
-	}
-
-	/**
-	 * @param message
-	 * @param cause
-	 */
-	public NodeExistsException(String message, Throwable cause) {
-		super(message, cause);
-		// TODO Auto-generated constructor stub
-	}
-
-	/**
-	 * @param cause
-	 */
-	public NodeExistsException(Throwable cause) {
-		super(cause);
-		// TODO Auto-generated constructor stub
-	}
-
-}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/NoSuchEntityException.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/NoSuchEntityException.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/NoSuchEntityException.java	(working copy)
@@ -13,7 +13,7 @@
 /**
  * Thrown when a specified Node is not found in the Context.
  */
-public class NoSuchNodeException extends IdASException {
+public class NoSuchEntityException extends IdASException {
 
 	/**
 	 * 
@@ -23,7 +23,7 @@
 	/**
 	 * @see IdASException#IdASException()
 	 */
-	public NoSuchNodeException() {
+	public NoSuchEntityException() {
 		super();
 	}
 
@@ -31,7 +31,7 @@
 	 * @param message
 	 * @see IdASException#IdASException(String)
 	 */
-	public NoSuchNodeException(String message) {
+	public NoSuchEntityException(String message) {
 		super(message);
 	}
 
@@ -40,7 +40,7 @@
 	 * @param cause
 	 * @see IdASException#IdASException(String, Throwable)
 	 */
-	public NoSuchNodeException(String message, Throwable cause) {
+	public NoSuchEntityException(String message, Throwable cause) {
 		super(message, cause);
 	}
 
@@ -48,7 +48,7 @@
 	 * @param cause
 	 * @see IdASException#IdASException(Throwable)
 	 */
-	public NoSuchNodeException(Throwable cause) {
+	public NoSuchEntityException(Throwable cause) {
 		super(cause);
 	}
 
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/NoSuchNodeException.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/NoSuchNodeException.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.api/src/org/eclipse/higgins/idas/api/NoSuchNodeException.java	(working copy)
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * 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:
- *    Jim Sermersheim - Initial cut
- *******************************************************************************/
-package org.eclipse.higgins.idas.api;
-
-/**
- * Thrown when a specified Node is not found in the Context.
- */
-public class NoSuchNodeException extends IdASException {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = -2061692182356732973L;
-
-	/**
-	 * @see IdASException#IdASException()
-	 */
-	public NoSuchNodeException() {
-		super();
-	}
-
-	/**
-	 * @param message
-	 * @see IdASException#IdASException(String)
-	 */
-	public NoSuchNodeException(String message) {
-		super(message);
-	}
-
-	/**
-	 * @param message
-	 * @param cause
-	 * @see IdASException#IdASException(String, Throwable)
-	 */
-	public NoSuchNodeException(String message, Throwable cause) {
-		super(message, cause);
-	}
-
-	/**
-	 * @param cause
-	 * @see IdASException#IdASException(Throwable)
-	 */
-	public NoSuchNodeException(Throwable cause) {
-		super(cause);
-	}
-
-}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.inmem/src/org/eclipse/higgins/idas/cp/inmem/InMemoryContext.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.inmem/src/org/eclipse/higgins/idas/cp/inmem/InMemoryContext.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.inmem/src/org/eclipse/higgins/idas/cp/inmem/InMemoryContext.java	(working copy)
@@ -24,25 +24,25 @@
 import org.eclipse.higgins.idas.api.ContextNotOpenException;
 import org.eclipse.higgins.idas.api.ContextOpenException;
 import org.eclipse.higgins.idas.api.IContextId;
-import org.eclipse.higgins.idas.api.INode;
+import org.eclipse.higgins.idas.api.IEntity;
 import org.eclipse.higgins.idas.api.IFilter;
 import org.eclipse.higgins.idas.api.IdASException;
-import org.eclipse.higgins.idas.api.InvalidNodeIDException;
+import org.eclipse.higgins.idas.api.InvalidEntityIDException;
 import org.eclipse.higgins.idas.api.InvalidTypeException;
-import org.eclipse.higgins.idas.api.NoSuchNodeException;
+import org.eclipse.higgins.idas.api.NoSuchEntityException;
 import org.eclipse.higgins.idas.api.NotImplementedException;
-import org.eclipse.higgins.idas.api.NodeExistsException;
+import org.eclipse.higgins.idas.api.EntityExistsException;
 import org.eclipse.higgins.idas.spi.BasicContext;
-import org.eclipse.higgins.idas.spi.INodeContainer;
-import org.eclipse.higgins.idas.spi.NodeNotification;
+import org.eclipse.higgins.idas.spi.IEntityContainer;
+import org.eclipse.higgins.idas.spi.EntityNotification;
 
 /**
  * An implementation of a <a href="http://www.eclipse.org/higgins/";>Higgins</a>.
- * Context Provider which is intended for use when Nodes are being
+ * Context Provider which is intended for use when Entities are being
  * manufactored on the fly or need to be cached privatly.
  * 
- * Please see the Samples section for one usage of creating Nodes
- * from SAML assertions, then allowing interfaces which require Nodes
+ * Please see the Samples section for one usage of creating Entities
+ * from SAML assertions, then allowing interfaces which require Entities
  * to manipulate the InMemory Node.
  * 
  * @author jimse@xxxxxxxxxx
@@ -50,7 +50,7 @@
  * @author dbuss@xxxxxxxxxx
  */
 
-public class InMemoryContext extends BasicContext implements INodeContainer
+public class InMemoryContext extends BasicContext implements IEntityContainer
 {
 	// private Logger _log = Logger.getLogger(InMemoryContext.class.getName());
 	// private Hashtable<String, Object> _env;
@@ -83,7 +83,7 @@
 
 		_bIsOpen = true;
 
-		// TODO: return nodeID
+		// TODO: return entityID
 		return null;
 	}
 
@@ -158,10 +158,10 @@
 	 * 
 	 * @see org.eclipse.higgins.idas.api.IContext#getNode(java.lang.String)
 	 */
-	public INode getNode(
-		String nodeID) throws IdASException
+	public IEntity getNode(
+		String entityID) throws IdASException
 	{
-		return getNode(nodeID, null);
+		return getNode(entityID, null);
 	}
 
 	/*
@@ -170,8 +170,8 @@
 	 * @see org.eclipse.higgins.idas.api.IContext#getNode(java.lang.String,
 	 *      java.util.Iterator)
 	 */
-	public INode getNode(
-		String nodeID,
+	public IEntity getNode(
+		String entityID,
 		Iterator attrSelectionList) throws IdASException
 	{
 		if (!_bIsOpen)
@@ -177,15 +177,15 @@
 		if (!_bIsOpen)
 			throw new ContextNotOpenException();
 
-		CIStringKey idKey = new CIStringKey(nodeID);
+		CIStringKey idKey = new CIStringKey(entityID);
 
 		// TODO: filter things not in attrSelectionList
 		if (_idHashMap == null)
-			throw new NoSuchNodeException("No such node: " + idKey);
+			throw new NoSuchEntityException("No such node: " + idKey);
 
-		INode ds = (INode) _idHashMap.get(idKey);
+		IEntity ds = (IEntity) _idHashMap.get(idKey);
 		if (ds == null)
-			throw new NoSuchNodeException("No such node: " + idKey);
+			throw new NoSuchEntityException("No such node: " + idKey);
 		return ds;
 	}
 
@@ -192,12 +192,12 @@
 	/*
 	 * (non-Javadoc)
 	 * 
-	 * @see org.eclipse.higgins.idas.api.IContext#getNodes(org.eclipse.higgins.idas.api.IFilter)
+	 * @see org.eclipse.higgins.idas.api.IContext#getEntities(org.eclipse.higgins.idas.api.IFilter)
 	 */
-	public Iterator getNodes(
+	public Iterator getEntities(
 		IFilter filter) throws IdASException
 	{
-		return getNodes(filter, null);
+		return getEntities(filter, null);
 	}
 
 	/**
@@ -202,7 +202,7 @@
 
 	/**
 	 */
-	public Iterator getNodes(
+	public Iterator getEntities(
 		IFilter filter,
 		Iterator attrSelectionList) throws IdASException
 	{
@@ -215,12 +215,12 @@
 	/*
 	 * 
 	 */
-	private void _addNode(
-		String nodeID,
-		INode ds)
+	private void _addEntity(
+		String entityID,
+		IEntity ds)
 	{
 
-		CIStringKey idKey = new CIStringKey(nodeID);
+		CIStringKey idKey = new CIStringKey(entityID);
 		if (_idHashMap == null)
 			_idHashMap = new HashMap();
 		_idHashMap.put(idKey, ds);
@@ -230,7 +230,7 @@
 	 * (non-Javadoc)
 	 * @see org.eclipse.higgins.idas.spi.BasicContext# addNode(java.net.URI, java.lang.String)
 	 */
-	public INode addNode(URI type, String nodeID) throws IdASException, InvalidTypeException, InvalidNodeIDException, NodeExistsException 
+	public IEntity addNode(URI type, String entityID) throws IdASException, InvalidTypeException, InvalidEntityIDException, EntityExistsException 
 	{
 		if (!_bIsOpen)
 			throw new ContextNotOpenException();
@@ -235,9 +235,9 @@
 		if (!_bIsOpen)
 			throw new ContextNotOpenException();
 		
-		INode ds = new InMemoryNode(this, type, nodeID);
+		IEntity ds = new InMemoryEntity(this, type, entityID);
 
-		_addNode(nodeID, ds);
+		_addEntity(entityID, ds);
 		return ds;
 	}
 
@@ -243,9 +243,9 @@
 
 	/*
 	 * (non-Javadoc)
-	 * @see org.eclipse.higgins.idas.spi.BasicContext#addNode(org.eclipse.higgins.idas.api.INode)
+	 * @see org.eclipse.higgins.idas.spi.BasicContext#addNode(org.eclipse.higgins.idas.api.IEntity)
 	 */
-	public INode addNode(INode copyFrom) throws IdASException, NodeExistsException 
+	public IEntity addNode(IEntity copyFrom) throws IdASException, EntityExistsException 
 	{
 		if (!_bIsOpen)
 			throw new ContextNotOpenException();
@@ -264,7 +264,7 @@
 	 * @see org.eclipse.higgins.idas.api.IContext#verifyNodeAttributes(java.lang.String,
 	 *      java.util.Iterator)
 	 */
-	public boolean verifyNodeAttributes(
+	public boolean verifyEntityAttributes(
 		String arg0,
 		Iterator arg1) throws IdASException
 	{
@@ -274,9 +274,9 @@
 		throw new NotImplementedException();
 	}
 
-	public void updateNotification(NodeNotification nodeNotif) throws IdASException {
-		if (nodeNotif.getAction().equals(NodeNotification.UPDATE_REMOVE)) {
-			CIStringKey idKey = new CIStringKey(nodeNotif.getNode().getNodeID());
+	public void updateNotification(EntityNotification nodeNotif) throws IdASException {
+		if (nodeNotif.getAction().equals(EntityNotification.UPDATE_REMOVE)) {
+			CIStringKey idKey = new CIStringKey(nodeNotif.getEntity().getEntityID());
 			if (_idHashMap != null)
 				_idHashMap.remove(idKey);
 		}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.inmem/src/org/eclipse/higgins/idas/cp/inmem/InMemoryContextFactory.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.inmem/src/org/eclipse/higgins/idas/cp/inmem/InMemoryContextFactory.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.inmem/src/org/eclipse/higgins/idas/cp/inmem/InMemoryContextFactory.java	(working copy)
@@ -29,12 +29,12 @@
 * An implementation of a 
 * <a href="http://www.eclipse.org/higgins/";>Higgins</a>.
 *  Context Factory for the InMemory/Mapping Context Provider
-*  which is intended for use when Nodes 
+*  which is intended for use when Entities 
 *  are being manufactored on the fly or need to be cached privatly.  
 *  
-* Please see the Samples section for one usage of creating Nodes 
+* Please see the Samples section for one usage of creating Entities 
 * from SAML assertions, then allowing interfaces which require 
-* Nodes to manipulate the InMemory Node.
+* Entities to manipulate the InMemory Entity.
 
 * @author jimse@xxxxxxxxxx
 * @author tdoman@xxxxxxxxxx
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.inmem/src/org/eclipse/higgins/idas/cp/inmem/InMemoryEntity.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.inmem/src/org/eclipse/higgins/idas/cp/inmem/InMemoryEntity.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.inmem/src/org/eclipse/higgins/idas/cp/inmem/InMemoryEntity.java	(working copy)
@@ -16,15 +16,15 @@
 import java.net.URI;
 import java.util.Iterator;
 
-import org.eclipse.higgins.idas.api.INode;
+import org.eclipse.higgins.idas.api.IEntity;
 import org.eclipse.higgins.idas.api.IdASException;
 import org.eclipse.higgins.idas.api.NotImplementedException;
-import org.eclipse.higgins.idas.api.model.INodeModel;
+import org.eclipse.higgins.idas.api.model.IEntityModel;
 import org.eclipse.higgins.idas.spi.AttributeNotification;
-import org.eclipse.higgins.idas.spi.BasicNode;
-import org.eclipse.higgins.idas.spi.INodeContainer;
+import org.eclipse.higgins.idas.spi.BasicEntity;
+import org.eclipse.higgins.idas.spi.IEntityContainer;
 import org.eclipse.higgins.idas.spi.MetadataNotification;
-import org.eclipse.higgins.idas.spi.NodeNotification;
+import org.eclipse.higgins.idas.spi.EntityNotification;
 
 /**
 * An implementation of a 
@@ -30,12 +30,12 @@
 * An implementation of a 
 * <a href="http://www.eclipse.org/higgins/";>Higgins</a>.
 *  Node for the InMemory/Mapping Context Provider
-*  which is intended for use when Nodes 
+*  which is intended for use when Entities 
 *  are being manufactured on the fly or need to be cached privately.  
 *  
-* Please see the Samples section for one usage of creating Nodes 
+* Please see the Samples section for one usage of creating Entities 
 * from SAML assertions, then allowing interfaces which require 
-* Nodes to manipulate the InMemory Node.
+* Entities to manipulate the InMemory Node.
 
 * @author jimse@xxxxxxxxxx
 * @author tdoman@xxxxxxxxxx
@@ -42,17 +42,17 @@
 * @author dbuss@xxxxxxxxxx
 */
 
-public class InMemoryNode extends BasicNode implements INode
+public class InMemoryEntity extends BasicEntity implements IEntity
 {
-	private INodeContainer _container;
+	private IEntityContainer _container;
 	
-	public InMemoryNode(
+	public InMemoryEntity(
 			InMemoryContext container,
 			URI type,
-			String nodeId
+			String entityId
 		) throws IdASException
 	{
-		super(container, type, nodeId);
+		super(container, type, entityId);
 		_container = container;
 	}
 	
@@ -58,14 +58,14 @@
 	
 	/**
 	 */
-	public InMemoryNode(
+	public InMemoryEntity(
 		InMemoryContext container,
 		URI type,
-		String nodeID,
+		String entityID,
 		Iterator attributes,
 		Iterator metadata) throws IdASException
 	{
-		super(container, type, nodeID, attributes, metadata);
+		super(container, type, entityID, attributes, metadata);
 		_container = container;
 	}
 
@@ -70,7 +70,7 @@
 	}
 
 	public void remove() throws IdASException {
-		NodeNotification nodeNotif = new NodeNotification(this, NodeNotification.UPDATE_REMOVE, null, null);
+		EntityNotification nodeNotif = new EntityNotification(this, EntityNotification.UPDATE_REMOVE, null, null);
 		_container.updateNotification(nodeNotif);
 	}
 
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.inmem/src/org/eclipse/higgins/idas/cp/inmem/InMemoryNode.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.inmem/src/org/eclipse/higgins/idas/cp/inmem/InMemoryNode.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.inmem/src/org/eclipse/higgins/idas/cp/inmem/InMemoryNode.java	(working copy)
@@ -1,85 +0,0 @@
-/**
- * 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
- *		Duane Buss
- */
-
-package org.eclipse.higgins.idas.cp.inmem;
-
-import java.net.URI;
-import java.util.Iterator;
-
-import org.eclipse.higgins.idas.api.INode;
-import org.eclipse.higgins.idas.api.IdASException;
-import org.eclipse.higgins.idas.api.NotImplementedException;
-import org.eclipse.higgins.idas.api.model.INodeModel;
-import org.eclipse.higgins.idas.spi.AttributeNotification;
-import org.eclipse.higgins.idas.spi.BasicNode;
-import org.eclipse.higgins.idas.spi.INodeContainer;
-import org.eclipse.higgins.idas.spi.MetadataNotification;
-import org.eclipse.higgins.idas.spi.NodeNotification;
-
-/**
-* An implementation of a 
-* <a href="http://www.eclipse.org/higgins/";>Higgins</a>.
-*  Node for the InMemory/Mapping Context Provider
-*  which is intended for use when Nodes 
-*  are being manufactured on the fly or need to be cached privately.  
-*  
-* Please see the Samples section for one usage of creating Nodes 
-* from SAML assertions, then allowing interfaces which require 
-* Nodes to manipulate the InMemory Node.
-
-* @author jimse@xxxxxxxxxx
-* @author tdoman@xxxxxxxxxx
-* @author dbuss@xxxxxxxxxx
-*/
-
-public class InMemoryNode extends BasicNode implements INode
-{
-	private INodeContainer _container;
-	
-	public InMemoryNode(
-			InMemoryContext container,
-			URI type,
-			String nodeId
-		) throws IdASException
-	{
-		super(container, type, nodeId);
-		_container = container;
-	}
-	
-	/**
-	 */
-	public InMemoryNode(
-		InMemoryContext container,
-		URI type,
-		String nodeID,
-		Iterator attributes,
-		Iterator metadata) throws IdASException
-	{
-		super(container, type, nodeID, attributes, metadata);
-		_container = container;
-	}
-
-	public void remove() throws IdASException {
-		NodeNotification nodeNotif = new NodeNotification(this, NodeNotification.UPDATE_REMOVE, null, null);
-		_container.updateNotification(nodeNotif);
-	}
-
-	public void updateNotification(AttributeNotification attrNotif) throws IdASException {
-		// AFAIK, everything is happening in memory, so no notifications need to happen
-	}
-
-	public void updateNotification(MetadataNotification metaNotif) throws IdASException {
-		// AFAIK, everything is happening in memory, so no notifications need to happen
-	}
-
-}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.inmem.test/src/org/eclipse/higgins/idas/cp/inmem/test/InMemoryCPTest.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.inmem.test/src/org/eclipse/higgins/idas/cp/inmem/test/InMemoryCPTest.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.inmem.test/src/org/eclipse/higgins/idas/cp/inmem/test/InMemoryCPTest.java	(working copy)
@@ -21,7 +21,7 @@
 import org.eclipse.higgins.idas.api.IAttributeValue;
 import org.eclipse.higgins.idas.api.IContext;
 import org.eclipse.higgins.idas.api.IContextFactory;
-import org.eclipse.higgins.idas.api.INode;
+import org.eclipse.higgins.idas.api.IEntity;
 import org.eclipse.higgins.idas.api.ITypedValue;
 import org.eclipse.higgins.idas.api.IdASException;
 import org.eclipse.higgins.idas.cp.inmem.InMemoryContextFactory;
@@ -51,7 +51,7 @@
 		_runContextTest();
 	}
 
-	private INode _setupnewDS(
+	private IEntity _setupnewDS(
 		IContext context,
 		String testName,
 		String attributeTypes[],
@@ -60,7 +60,7 @@
 		if (attributeTypes.length != attributeValues.length)
 			throw new IdASException();
 
-		INode ds = context.addNode(new URI(testName), testName);
+		IEntity ds = context.addEntity(new URI(testName), testName);
 		
 		for (int iLoop = 0; iLoop < attributeTypes.length; iLoop++)
 		{
@@ -83,9 +83,9 @@
 			if (context != null)
 			{
 				context.open(null);
-				INode ds = _setupnewDS(context, "test1", new String[] {"role", "role"},
+				IEntity ds = _setupnewDS(context, "test1", new String[] {"role", "role"},
 					new String[] {"roleValue1", "roleValue2"});
-				_displayNodeInfo(ds);
+				_displayEntityInfo(ds);
 
 //				IAttribute attr = ds.getAttribute(new URI("role"), null);
 				Iterator attrListItr = ds.getAttributes();
@@ -108,12 +108,12 @@
 		}
 	}
 
-	private void _displayNodeInfo(
-		INode node) throws IdASException
+	private void _displayEntityInfo(
+		IEntity entity) throws IdASException
 	{
-		Iterator attrIter = node.getAttributes();
-		System.out.println(node.getNodeID());
-		System.out.println(node.getNodeType());
+		Iterator attrIter = entity.getAttributes();
+		System.out.println(entity.getEntityID());
+		System.out.println(entity.getEntityType());
 
 		while (attrIter.hasNext())
 		{
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/IJenaContext.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/IJenaContext.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/IJenaContext.java	(working copy)
@@ -15,7 +15,7 @@
 
 import org.eclipse.higgins.idas.api.IContext;
 import org.eclipse.higgins.idas.api.IdASException;
-import org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject;
+import org.eclipse.higgins.idas.cp.jena2.impl.Entity;
 
 import com.hp.hpl.jena.ontology.DatatypeProperty;
 import com.hp.hpl.jena.ontology.ObjectProperty;
@@ -109,18 +109,18 @@
 	public String getSchemaURI() throws IdASException;
 
 	/**
-	 * When some DigitalSubject was changed (its attribute/value/metadata was added/removed/changed)
+	 * When some Entity was changed (its attribute/value/metadata was added/removed/changed)
 	 * it should be registered using this method to be validated before saving the context by .  
 	 * @param subj
 	 */
-	public void registerChangedSubject(DigitalSubject subj);
+	public void registerChangedSubject(Entity subj);
 
 	/**
-	 *  When some DigitalSubject was removed it should be also removed from changed subjects list
+	 *  When some Entity was removed it should be also removed from changed subjects list
 	 *  to prevent validation of non-existent subject
 	 * @param subj
 	 */
-	public void unregisterChangedSubject(DigitalSubject subj);
+	public void unregisterChangedSubject(Entity subj);
 
 	/**
 	 * @param performValidation if <code>true</code> then all changed subjects should be validated
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/Attribute.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/Attribute.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/Attribute.java	(working copy)
@@ -56,7 +56,7 @@
 	protected boolean isSimple_ = false;
 
 	// the subject which owns this attribute (directly or through any level of complex value)
-	protected DigitalSubject subject_ = null;
+	protected Entity subject_ = null;
 
 	protected Individual owner_ = null;
 
@@ -66,8 +66,8 @@
 
 	protected URI type_ = null;
 
-	protected Attribute(Context context, DigitalSubject subject, OntProperty property, IAttributeModel model) throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Attribute::Attribute(..., DigitalSubject, ...)");
+	protected Attribute(Context context, Entity subject, OntProperty property, IAttributeModel model) throws IdASException {
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Attribute::Attribute(..., Entity, ...)");
 		if (subject == null)
 			throw new IdASException("Parameter \"subject\" is null.");
 		subject_ = subject;
@@ -115,7 +115,7 @@
 		if (ModelUtils.isPropertyRelative(attrProp, prop) == false)
 			throw new IdASException("Property with URI " + uri + " is not a subproperty of " + HigginsVocabulary.attribute);
 		if (ModelUtils.isPropertyOfClass(context_, ownerClass_, prop) == false)
-			throw new IdASException("Can not create attribute with type " + uri + " for DigitalSubject with class " + ownerClass_.getURI());
+			throw new IdASException("Can not create attribute with type " + uri + " for Entity with class " + ownerClass_.getURI());
 	}
 
 	/**
@@ -147,7 +147,7 @@
 	}
 
 	/**
-	 * @return <code>Individual</code> of <code>DigitalSubject</code> or <code>ComplexValue</code> which owns this attribure
+	 * @return <code>Individual</code> of <code>Entity</code> or <code>ComplexValue</code> which owns this attribure
 	 */
 	public Individual getOwner() {
 		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Attribute::getOwner");
@@ -155,7 +155,7 @@
 	}
 
 	/**
-	 * @return Ontology class of Individual of DigitalSubject or ComplexValue which immediately owns this attribure
+	 * @return Ontology class of Individual of Entity or ComplexValue which immediately owns this attribure
 	 */
 	public OntClass getOwnerClass() {
 		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Attribute::getOwnerClass");
@@ -163,9 +163,9 @@
 	}
 
 	/**
-	 * @return DigitalSubject which owns this attribute (directly or through any level of complex value)
+	 * @return Entity which owns this attribute (directly or through any level of complex value)
 	 */
-	public DigitalSubject getSubjectOwner() {
+	public Entity getSubjectOwner() {
 		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Attribute::getSubjectOwner");
 		return subject_;
 	}
@@ -173,7 +173,7 @@
 	/**
 	 * @return ObjectProperty of this attribute
 	 */
-	public DigitalSubject getAttributeProperty() {
+	public Entity getAttributeProperty() {
 		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Attribute::getSubjectOwner");
 		return subject_;
 	}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/ComplexValue.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/ComplexValue.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/ComplexValue.java	(working copy)
@@ -55,7 +55,7 @@
 	protected Attribute attribute_ = null;
 
 	// the subject which owns this complex value (through any level of attribute/complex value)
-	protected DigitalSubject subject_ = null;
+	protected Entity subject_ = null;
 
 	protected Individual value_ = null;
 
@@ -101,9 +101,9 @@
 	}
 
 	/**
-	 * @return <code>DigitalSubject</code> which owns this attribute (directly or through any level of complex value)
+	 * @return <code>Entity</code> which owns this attribute (directly or through any level of complex value)
 	 */
-	public DigitalSubject getSubjectOwner() {
+	public Entity getSubjectOwner() {
 		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.ComplexValue::getSubjectOwner");
 		return subject_;
 	}
@@ -277,7 +277,7 @@
 				if ((usedURIs.contains(uri) == false) && ModelUtils.isPropertyRelative(attrProp, property)) {
 					AttributeModel attrModel = (AttributeModel)valueModel_.getAttribute(URI.create(uri));
 					if (attrModel == null)
-						throw new IdASException("Can not get model of attribute with type " + uri + " for DigitalSubject with type " + valueClass_.getURI());
+						throw new IdASException("Can not get model of attribute with type " + uri + " for Entity with type " + valueClass_.getURI());
 					int maxCardinality = ModelUtils.getMaxCardinality(context_, valueClass_, property);
 					if (maxCardinality == 1)
 						attrs.add(new SingleValuedAttribute(context_, this, property, attrModel ));
@@ -294,7 +294,7 @@
 	 * @see org.eclipse.higgins.idas.api.IHasAttributes#getAttributes()
 	 */
 	public Iterator getAttributes() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getAttributes");
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Entity::getAttributes");
 		List attrs = new ArrayList();
 		Iterator itr = valueModel_.getAttributes();
 		while(itr.hasNext()) {
@@ -301,7 +301,7 @@
 			AttributeModel attrModel = (AttributeModel)itr.next();
 			URI attrType = attrModel.getType();
 			if (attrType == null)
-				throw new IdASException("Can not get the type of attribute model for DigitalSubject with type " + valueClass_.getURI());
+				throw new IdASException("Can not get the type of attribute model for Entity with type " + valueClass_.getURI());
 			ObjectProperty property = context_.getModel().getObjectProperty(attrType.toString());
 			if (property == null)
 				throw new IdASException("Can not get object property with type " + attrType);
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/Context.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/Context.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/Context.java	(working copy)
@@ -36,20 +36,20 @@
 import org.eclipse.higgins.idas.api.IAuthNAttributesMaterials;
 import org.eclipse.higgins.idas.api.IComplexAttrValue;
 import org.eclipse.higgins.idas.api.IContextRelation;
-import org.eclipse.higgins.idas.api.INode;
+import org.eclipse.higgins.idas.api.IEntity;
 import org.eclipse.higgins.idas.api.IFilter;
 import org.eclipse.higgins.idas.api.IFilterAttributeAssertion;
-import org.eclipse.higgins.idas.api.IFilterNodeIDAssertion;
+import org.eclipse.higgins.idas.api.IFilterEntityIDAssertion;
 import org.eclipse.higgins.idas.api.IFilterMetadataAssertion;
-import org.eclipse.higgins.idas.api.IFilterNodeTypeAssertion;
+import org.eclipse.higgins.idas.api.IFilterEntityTypeAssertion;
 import org.eclipse.higgins.idas.api.IMetadata;
 import org.eclipse.higgins.idas.api.ISimpleAttrValue;
 import org.eclipse.higgins.idas.api.IdASException;
-import org.eclipse.higgins.idas.api.InvalidNodeIDException;
+import org.eclipse.higgins.idas.api.InvalidEntityIDException;
 import org.eclipse.higgins.idas.api.InvalidTypeException;
-import org.eclipse.higgins.idas.api.NoSuchNodeException;
+import org.eclipse.higgins.idas.api.NoSuchEntityException;
 import org.eclipse.higgins.idas.api.NotImplementedException;
-import org.eclipse.higgins.idas.api.NodeExistsException;
+import org.eclipse.higgins.idas.api.EntityExistsException;
 import org.eclipse.higgins.idas.cp.jena2.IJenaContext;
 import org.eclipse.higgins.idas.cp.jena2.IUserAccount;
 import org.eclipse.higgins.idas.cp.jena2.impl.authentication.AuthenticationModule;
@@ -55,7 +55,7 @@
 import org.eclipse.higgins.idas.cp.jena2.impl.authentication.AuthenticationModule;
 import org.eclipse.higgins.idas.cp.jena2.impl.filter.Filter;
 import org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterAttributeAssertion;
-import org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterNodeIDAssertion;
+import org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterEntityIDAssertion;
 import org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterContext;
 import org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterMetadataAssertion;
 import org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterTypeAssertion;
@@ -129,7 +129,7 @@
 		throw new NotImplementedException("");
 	}
 
-	public INode addNode(URI type, String nodeID) throws IdASException, InvalidTypeException, InvalidNodeIDException, NodeExistsException {
+	public IEntity addEntity(URI type, String entityID) throws IdASException, InvalidTypeException, InvalidEntityIDException, EntityExistsException {
 		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Context::addSubject");
 		if (userAccount_ == null)
 			throw new ContextNotOpenException("");
@@ -135,8 +135,8 @@
 			throw new ContextNotOpenException("");
 		if (type == null)
 			throw new IdASException("Parameter \"type\" is null");
-		if (nodeID != null && ModelUtils.getSubjectByID(this, nodeID) != null)
-			throw new NodeExistsException("Subject with ID = " + nodeID + " already exists");
+		if (entityID != null && ModelUtils.getSubjectByID(this, entityID) != null)
+			throw new EntityExistsException("Subject with ID = " + entityID + " already exists");
 		String uri = type.toString();
 		OntClass ontClass = getOntClass(uri);
 		String uriDS = HigginsVocabulary.DigitalSubject;
@@ -147,8 +147,8 @@
 		String userToken = userAccount_.getUserToken();
 		if (userToken != null && userToken.length() > 0)
 			ModelUtils.setUserToken(this, ind, userToken);
-		DigitalSubject subj = new DigitalSubject(this, ind);
-		String newSubjID = (nodeID != null) ? nodeID : ModelUtils.generateUniqueID(this);
+		Entity subj = new Entity(this, ind);
+		String newSubjID = (entityID != null) ? entityID : ModelUtils.generateUniqueID(this);
 		subj.getAttribute(HigginsVocabulary.uniqueIdentifierURI).addSimpleValue(null, newSubjID);
 		
 		return subj;
@@ -154,7 +154,7 @@
 		return subj;
 	}
 
-	public INode addNode(INode copyFrom) throws IdASException, NodeExistsException {
+	public IEntity addEntity(IEntity copyFrom) throws IdASException, EntityExistsException {
 		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Context::addSubject");
 		if (userAccount_ == null)
 			throw new ContextNotOpenException("");
@@ -160,7 +160,7 @@
 			throw new ContextNotOpenException("");
 		if (copyFrom == null)
 			throw new IdASException("Parameter \"copyFrom\" is null");
-		String uri = copyFrom.getNodeType().toString();
+		String uri = copyFrom.getEntityType().toString();
 		OntClass ontClass = getOntClass(uri);
 		String uriDS = HigginsVocabulary.DigitalSubject;
 		OntClass higginsDigitalSubject_ = getOntClass(uriDS);
@@ -170,7 +170,7 @@
 		String userToken = userAccount_.getUserToken();
 		if (userToken != null && userToken.length() > 0)
 			ModelUtils.setUserToken(this, ind, userToken);
-		DigitalSubject subj = new DigitalSubject(this, ind);
+		Entity subj = new Entity(this, ind);
 		subj.getAttribute(HigginsVocabulary.uniqueIdentifierURI).addSimpleValue(null, ModelUtils.generateUniqueID(this));
 		Iterator mtd = copyFrom.getMetadataSet();
 		while (mtd.hasNext()) {
@@ -203,9 +203,9 @@
 		return new BasicAuthNAttributesMaterials(null, this);
 	}
 
-	public IFilterNodeIDAssertion buildNodeIDAssertion() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Context::buildNodeIDAssertion");
-		return new FilterNodeIDAssertion(this);
+	public IFilterEntityIDAssertion buildEntityIDAssertion() throws IdASException {
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Context::buildEntityIDAssertion");
+		return new FilterEntityIDAssertion(this);
 	}
 
 	public IComplexAttrValue buildComplexAttrValue(URI type) throws IdASException, InvalidTypeException {
@@ -233,7 +233,7 @@
 		return new BasicSimpleValue(type, value);
 	}
 
-	public IFilterNodeTypeAssertion buildNodeTypeAssertion() throws IdASException {
+	public IFilterEntityTypeAssertion buildEntityTypeAssertion() throws IdASException {
 		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Context::buildTypeAssertion");
 		return new FilterTypeAssertion(this);
 	}
@@ -325,7 +325,7 @@
 	/* (non-Javadoc)
 	 * @see org.eclipse.higgins.idas.api.IContext#getSubject(java.lang.String)
 	 */
-	public INode getNode(String cuid) throws IdASException {
+	public IEntity getEntity(String cuid) throws IdASException {
 		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Context::getSubject");
 		if (userAccount_ == null)
 			throw new ContextNotOpenException("");
@@ -330,13 +330,13 @@
 		if (userAccount_ == null)
 			throw new ContextNotOpenException("");
 		if (cuid == null)
-			throw new NoSuchNodeException("Couldn't get DigitalSubject with null cuid");
+			throw new NoSuchEntityException("Couldn't get Entity with null cuid");
 		Individual subj = ModelUtils.getSubjectByID(this, cuid);
 		if (subj == null)
-			throw new NoSuchNodeException("Couldn't find DigitalSubject with cuid : " + cuid);
+			throw new NoSuchEntityException("Couldn't find Entity with cuid : " + cuid);
 		else {
 			if (hasUserPermissions(subj))
-				return new DigitalSubject(this, subj);
+				return new Entity(this, subj);
 			else
 				throw new AuthenticationException("The user opened the context does not have permissions to the subject with ID = " + cuid + ".");
 		}
@@ -355,12 +355,12 @@
 		return true;
 	}
 
-	public INode getNode(String cuid, Iterator attrSelectionList) throws IdASException {
+	public IEntity getEntity(String cuid, Iterator attrSelectionList) throws IdASException {
 		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Context::getSubject");
-		return getNode(cuid);
+		return getEntity(cuid);
 	}
 
-	public Iterator getNodes(IFilter filter) throws IdASException {
+	public Iterator getEntities(IFilter filter) throws IdASException {
 		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Context::getSubjects");
 		if (userAccount_ == null)
 			throw new ContextNotOpenException("");
@@ -367,7 +367,7 @@
 		Filter f = null;
 		if (filter == null) {
 			f = (Filter)buildFilter();
-			FilterTypeAssertion fass = (FilterTypeAssertion)buildNodeTypeAssertion();
+			FilterTypeAssertion fass = (FilterTypeAssertion)buildEntityTypeAssertion();
 			fass.setID(HigginsVocabulary.DigitalSubjectURI);
 			fass.includeSubtypes(true);
 			f.addFilter(fass);
@@ -384,7 +384,7 @@
 		int size = lst.size();
 		for (int i = 0; i < size; i ++) {
 			Individual ind = (Individual)lst.get(i);
-			DigitalSubject ds = new DigitalSubject(this, ind);
+			Entity ds = new Entity(this, ind);
 			result.add(ds);
 		}
 		return result.iterator();
@@ -408,9 +408,9 @@
 		return result;
 	}
 
-	public Iterator getNodes(IFilter filter, Iterator attrSelectionList) throws IdASException {
+	public Iterator getEntities(IFilter filter, Iterator attrSelectionList) throws IdASException {
 		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Context::getSubjects");
-		return getNodes(filter);
+		return getEntities(filter);
 	}
 
 	public void importData(String filter, String representationFormat) throws IdASException {
@@ -451,7 +451,7 @@
 		if (subjInd != null)
 			ModelUtils.removeIndividual(this, subjInd);
 		else
-			throw new NoSuchNodeException("Couldn't find DigitalSubject with cuid : " + cuid);
+			throw new NoSuchEntityException("Couldn't find Entity with cuid : " + cuid);
 	}
 
 	public void setSchema(String schema) throws IdASException {
@@ -459,7 +459,7 @@
 		schemaURL_ = schema;
 	}
 
-	public boolean verifyNodeAttributes(String subjectID, Iterator attributes) throws IdASException {
+	public boolean verifyEntityAttributes(String subjectID, Iterator attributes) throws IdASException {
 		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Context::verifySubjectAttributes");
 		throw new NotImplementedException("");
 	}
@@ -624,7 +624,7 @@
 			return;
 		int size = changedSubjects_.size();
 		for (int i = 0; i < size; i++) {
-			DigitalSubject subj = (DigitalSubject)changedSubjects_.get(i);
+			Entity subj = (Entity)changedSubjects_.get(i);
 			ModelUtils.validateSubject(this, subj);
 		}
 	}
@@ -635,7 +635,7 @@
 	 * @param subj
 	 * @throws IdASException
 	 */
-	public void registerChangedSubject(DigitalSubject subj) {
+	public void registerChangedSubject(Entity subj) {
 		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Context::registerChangedSubject");
 		if (validateChangedSubjects_ == false)
 			return;
@@ -644,9 +644,9 @@
 	}
 
 	/* (non-Javadoc)
-	 * @see org.eclipse.higgins.idas.cp.jena2.IJenaContext#unregisterChangedSubject(org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject)
+	 * @see org.eclipse.higgins.idas.cp.jena2.IJenaContext#unregisterChangedSubject(org.eclipse.higgins.idas.cp.jena2.impl.Entity)
 	 */
-	public void unregisterChangedSubject(DigitalSubject subj) {
+	public void unregisterChangedSubject(Entity subj) {
 		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Context::unregisterChangedSubject");
 		if (changedSubjects_.contains(subj))
 			changedSubjects_.remove(subj);
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/DigitalSubject.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/DigitalSubject.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/DigitalSubject.java	(working copy)
@@ -1,354 +0,0 @@
-/**
- * Copyright (c) 2007 Parity Communications, 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:
- *     Sergey Lyakhov - initial API and implementation
- */
-
-package org.eclipse.higgins.idas.cp.jena2.impl;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-
-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.IAttributeValue;
-import org.eclipse.higgins.idas.api.IContext;
-import org.eclipse.higgins.idas.api.INode;
-import org.eclipse.higgins.idas.api.IHasAttributes;
-import org.eclipse.higgins.idas.api.IHasMetadata;
-import org.eclipse.higgins.idas.api.IMetadata;
-import org.eclipse.higgins.idas.api.ISimpleAttrValue;
-import org.eclipse.higgins.idas.api.ISingleValuedAttribute;
-import org.eclipse.higgins.idas.api.IdASException;
-import org.eclipse.higgins.idas.api.InvalidTypeException;
-import org.eclipse.higgins.idas.cp.jena2.IJenaContext;
-import org.eclipse.higgins.idas.cp.jena2.util.HigginsVocabulary;
-import org.eclipse.higgins.idas.cp.jena2.util.ModelUtils;
-import org.eclipse.higgins.idas.model.impl.AttributeModel;
-import org.eclipse.higgins.idas.api.model.INodeModel;
-
-import com.hp.hpl.jena.ontology.DatatypeProperty;
-import com.hp.hpl.jena.ontology.Individual;
-import com.hp.hpl.jena.ontology.ObjectProperty;
-import com.hp.hpl.jena.ontology.OntClass;
-import com.hp.hpl.jena.ontology.OntProperty;
-import com.hp.hpl.jena.rdf.model.Property;
-import com.hp.hpl.jena.rdf.model.Statement;
-import com.hp.hpl.jena.rdf.model.StmtIterator;
-
-public class DigitalSubject implements INode {
-	private Log log = LogFactory.getLog(DigitalSubject.class);
-
-	protected Context context_ = null;
-
-	protected INodeModel model_ = null;
-
-	protected Individual subject_ = null;
-
-	protected OntClass ontClass_ = null;
-
-	protected URI type_ = null;
-
-	protected String userToken_ = null;
-
-	/**
-	 * Constructs DigitalSubject for already stored in ontology Individual
-	 * 
-	 * @param context
-	 * @param subject
-	 * @throws IdASException
-	 */
-	public DigitalSubject(Context context, Individual subject) throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::DigitalSubject");
-		if (context == null)
-			throw new IdASException("Couldn't create DigitalSubject with null IContext");
-		if (subject == null)
-			throw new IdASException("Couldn't create DigitalSubject for null subject individual");
-		context_ = context;
-		subject_ = subject;
-		ontClass_ = context.getOntClass(subject.getRDFType().getURI());
-		URI type = getNodeType();
-		model_ = context_.getContextModel().getNodeModel(type);
-		if (model_ == null)
-			throw new IdASException("Can not get node model for Node URI " + type.toString());
-		userToken_ = ModelUtils.getUserToken(context_, subject_);
-	}
-
-	public IContext getContext() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getContext");
-		return context_;
-	}
-
-	public IJenaContext getJenaContext() {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getJenaContext");
-		return context_;
-	}
-
-	public Individual getSubjectIndividual() {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getSubjectIndividual");
-		return subject_;
-	}
-
-	public INodeModel getModel() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getModel");
-		return model_;
-	}
-
-	public String getNodeID() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getNodeID");
-		IAttribute sAttr = getAttribute(HigginsVocabulary.uniqueIdentifierURI);
-		if (sAttr == null)
-			throw new IdASException("Attribute" + HigginsVocabulary.uniqueIdentifier + " was not found");
-		IAttributeValue val = null;
-		Iterator itr = sAttr.getValues();
-		if (itr != null && itr.hasNext())
-			val = (IAttributeValue)itr.next();
-		if (val == null)
-			throw new IdASException("Value of attribute " + HigginsVocabulary.uniqueIdentifier + " is null");
-		if (val.isSimple() == false)
-			throw new IdASException("Value of attribute " + HigginsVocabulary.uniqueIdentifier + " is not SimpleValue");
-		Object data = ((ISimpleAttrValue) val).getData();
-		if (data == null)
-			throw new IdASException("Value of attribute " + HigginsVocabulary.uniqueIdentifier + " contains null data");
-		return data.toString();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.higgins.idas.IDigitalSubject#getNodeType()
-	 */
-	public URI getNodeType() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getNodeType");
-		if (type_ == null)
-			type_ = URI.create(ontClass_.getURI());
-		return type_;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.higgins.idas.IDigitalSubject#remove()
-	 */
-	public void remove() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::remove");
-		context_.unregisterChangedSubject(this);
-		ModelUtils.removeIndividual(context_, subject_);
-	}
-
-	public IMetadata addMetadata(URI metadataID) throws IdASException, InvalidTypeException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::addMetadata");
-		if (metadataID == null)
-			throw new IdASException("Parameter \"metadataID\" is null.");
-		IMetadata newMetadata = getMetadata(metadataID);
-		return newMetadata;
-	}
-
-	public IMetadata addMetadata(IMetadata copyFrom) throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::addMetadata");
-		if (copyFrom == null)
-			throw new IdASException("Parameter \"copyFrom\" is null.");
-		IMetadata newMetadata = getMetadata(copyFrom.getMetaID());
-
-		//TODO implement add metadata
-//		newMetadata.setData(copyFrom.getData());
-
-		context_.registerChangedSubject(this);
-		return newMetadata;
-	}
-
-	public IMetadata getMetadata(URI metadataID) throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getMetadata");
-		if (metadataID == null)
-			throw new IdASException("Parameter \"metadataID\" is null.");
-		String uri = metadataID.toString();
-		DatatypeProperty prop = context_.getDatatypeProperty(uri);
-		if (prop == null)
-			throw new IdASException("Can not find datatype property with URI " + uri);
-		DatatypeProperty metadata = context_.getDatatypeProperty(HigginsVocabulary.metadata);
-		if (metadata == null)
-			throw new IdASException("Can not find datatype property with URI " + HigginsVocabulary.metadata);
-		if (ModelUtils.isPropertyRelative(metadata, prop) == false)
-			throw new IdASException("Property with URI " + uri + " is not a subproperty of " + HigginsVocabulary.metadata);
-		if (ModelUtils.isPropertyOfClass(context_, ontClass_, prop) == false)
-			throw new IdASException("Can not add metadata with type " + uri + " for class " + ontClass_.getURI());
-		return new Metadata(context_, subject_, prop, this);
-	}
-
-	public Iterator getMetadataSet() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getMetadataSet");
-		ArrayList list = new ArrayList();
-		DatatypeProperty metadata = context_.getDatatypeProperty(HigginsVocabulary.metadata);
-		if (metadata == null)
-			throw new IdASException("Can not find datatype property with URI " + HigginsVocabulary.metadata);
-		StmtIterator props = subject_.listProperties();
-		while (props.hasNext()) {
-			Statement st = props.nextStatement();
-			Property prop = st.getPredicate();
-			DatatypeProperty dpProperty = context_.getModel().getDatatypeProperty(prop.getURI());
-			if (dpProperty != null) {
-				if (ModelUtils.isPropertyRelative(metadata, dpProperty)) {
-					IMetadata md = new Metadata(context_, subject_, dpProperty, this);
-					list.add(md);
-				}
-			}
-		}
-		return list.iterator();
-	}
-
-	public IAttribute addAttribute(URI attrID) throws IdASException, InvalidTypeException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::addAttribute");
-		return getAttribute(attrID);
-	}
-
-	public IAttribute addAttribute(IAttribute copyFrom) throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::addAttribute");
-		if (copyFrom == null)
-			throw new IdASException("Parameter \"copyFrom\" is null.");
-		IAttribute newAttr = getAttribute(copyFrom.getAttrID());
-		context_.registerChangedSubject(this);
-		Iterator itrVal = copyFrom.getValues();
-		while (itrVal.hasNext()) {
-			IAttributeValue value = (IAttributeValue) itrVal.next();
-			newAttr.addValue(value);
-		}
-		Iterator itrMd = copyFrom.getMetadataSet();
-		while (itrMd.hasNext()) {
-			IMetadata metadata = (IMetadata) itrMd.next();
-			newAttr.addMetadata(metadata);
-		}
-		return newAttr;
-	}
-
-	public IAttribute getAttribute(URI attrID) throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getAttribute");
-		if (attrID == null)
-			throw new IdASException("Parameter \"attrID\" is null.");
-		String uri = attrID.toString();
-		OntProperty op = context_.getOntProperty(uri);
-		ObjectProperty attrProp = context_.getObjectProperty(HigginsVocabulary.attribute);
-		if (ModelUtils.isPropertyRelative(attrProp, op) == false)
-			throw new InvalidTypeException("Property " + uri + " is not subproperty of " + HigginsVocabulary.attribute);
-		if (ModelUtils.isPropertyOfClass(context_, ontClass_, op) == false)
-			throw new InvalidTypeException("Can not create attribute with type " + uri + " for DigitalSubject with type " + ontClass_.getURI());
-		AttributeModel attrModel = (AttributeModel) model_.getAttributeModel(attrID);
-		if (attrModel == null)
-			throw new IdASException("Can not get model of attribute with type " + uri + " for DigitalSubject with type " + ontClass_.getURI());
-		int maxCardinality = ModelUtils.getMaxCardinality(context_, ontClass_, op);
-		if (maxCardinality == 1)
-			return new SingleValuedAttribute(context_, this, op, attrModel);
-		else
-			return new Attribute(context_, this, op, attrModel);
-	}
-
-/*	public Iterator getAttributes() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getAttributes");
-		ObjectProperty attrProp = context_.getObjectProperty(HigginsVocabulary.attribute);
-		HashSet usedURIs = new HashSet();
-		List attrs = new ArrayList();
-		StmtIterator props = subject_.listProperties();
-		while (props.hasNext()) {
-			Statement st = props.nextStatement();
-			Property prop = st.getPredicate();
-			String uri = prop.getURI();
-			ObjectProperty property = context_.getModel().getObjectProperty(uri);
-			if (property != null) {
-				if ((usedURIs.contains(uri) == false) && ModelUtils.isPropertyRelative(attrProp, property)) {
-					AttributeModel attrModel = (AttributeModel) model_.getAttributeModel(URI.create(uri));
-					if (attrModel == null)
-						throw new IdASException("Can not get model of attribute with type " + uri + " for DigitalSubject with type " + ontClass_.getURI());
-					int maxCardinality = ModelUtils.getMaxCardinality(context_, ontClass_, property);
-					if (maxCardinality == 1)
-						attrs.add(new SingleValuedAttribute(context_, this, property, attrModel));
-					else
-						attrs.add(new Attribute(context_, this, property, attrModel));
-					usedURIs.add(uri);
-				}
-			}
-		}
-		return attrs.iterator();
-	}
-*/
-	public Iterator getAttributes() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getAttributes");
-		List attrs = new ArrayList();
-		Iterator itr = model_.getAttributeModels();
-		while(itr.hasNext()) {
-			AttributeModel attrModel = (AttributeModel)itr.next();
-			URI attrType = attrModel.getType();
-			if (attrType == null)
-				throw new IdASException("Can not get the type of attribute model for DigitalSubject with type " + ontClass_.getURI());
-			ObjectProperty property = context_.getModel().getObjectProperty(attrType.toString());
-			if (property == null)
-				throw new IdASException("Can not get object property with type " + attrType);
-			int maxCardinality = ModelUtils.getMaxCardinality(context_, ontClass_, property);
-			if (maxCardinality == 1)
-				attrs.add(new SingleValuedAttribute(context_, this, property, attrModel));
-			else
-				attrs.add(new Attribute(context_, this, property, attrModel));
-		}
-		return attrs.iterator();
-	}
-
-	// TODO need we to add this method to interface?
-	public ISingleValuedAttribute getSingleValuedAttribute(URI attrID) throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getSingleValuedAttribute");
-		String idURI = attrID.toString();
-		IAttribute attr = getAttribute(attrID);
-		if (attr == null)
-			return null;
-		if (attr instanceof ISingleValuedAttribute == false)
-			throw new IdASException("Attribute " + idURI + " is not an instance of ISingleValuedAttribute");
-		return (ISingleValuedAttribute) attr;
-	}
-
-	public String getUserToken() {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getUserToken");
-		return userToken_;
-	}
-
-	public boolean equals(Object obj) {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::equals");
-		if (obj == null)
-			return false;
-		if (obj instanceof DigitalSubject == false)
-			return false;
-		DigitalSubject ds = (DigitalSubject)obj;
-		return subject_.equals(ds.getSubjectIndividual());
-	}
-
-	public boolean equals(IHasMetadata metadataSet) throws IdASException {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	public boolean equals(IHasAttributes attributes) throws IdASException {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	public void removeAttribute(URI attrID) throws IdASException {
-		// TODO Auto-generated method stub
-		
-	}
-
-	public void removeAttributeValue(URI attrID, Object value) throws IdASException {
-		// TODO Auto-generated method stub
-		
-	}
-
-	public void removeAttributeValue(IAttribute attr) throws IdASException {
-		// TODO Auto-generated method stub
-		
-	}
-
-}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/Entity.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/Entity.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/Entity.java	(working copy)
@@ -22,7 +22,7 @@
 import org.eclipse.higgins.idas.api.IAttribute;
 import org.eclipse.higgins.idas.api.IAttributeValue;
 import org.eclipse.higgins.idas.api.IContext;
-import org.eclipse.higgins.idas.api.INode;
+import org.eclipse.higgins.idas.api.IEntity;
 import org.eclipse.higgins.idas.api.IHasAttributes;
 import org.eclipse.higgins.idas.api.IHasMetadata;
 import org.eclipse.higgins.idas.api.IMetadata;
@@ -34,7 +34,7 @@
 import org.eclipse.higgins.idas.cp.jena2.util.HigginsVocabulary;
 import org.eclipse.higgins.idas.cp.jena2.util.ModelUtils;
 import org.eclipse.higgins.idas.model.impl.AttributeModel;
-import org.eclipse.higgins.idas.api.model.INodeModel;
+import org.eclipse.higgins.idas.api.model.IEntityModel;
 
 import com.hp.hpl.jena.ontology.DatatypeProperty;
 import com.hp.hpl.jena.ontology.Individual;
@@ -45,12 +45,12 @@
 import com.hp.hpl.jena.rdf.model.Statement;
 import com.hp.hpl.jena.rdf.model.StmtIterator;
 
-public class DigitalSubject implements INode {
-	private Log log = LogFactory.getLog(DigitalSubject.class);
+public class Entity implements IEntity {
+	private Log log = LogFactory.getLog(Entity.class);
 
 	protected Context context_ = null;
 
-	protected INodeModel model_ = null;
+	protected IEntityModel model_ = null;
 
 	protected Individual subject_ = null;
 
@@ -61,7 +61,7 @@
 	protected String userToken_ = null;
 
 	/**
-	 * Constructs DigitalSubject for already stored in ontology Individual
+	 * Constructs Entity for already stored in ontology Individual
 	 * 
 	 * @param context
 	 * @param subject
@@ -67,19 +67,19 @@
 	 * @param subject
 	 * @throws IdASException
 	 */
-	public DigitalSubject(Context context, Individual subject) throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::DigitalSubject");
+	public Entity(Context context, Individual subject) throws IdASException {
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Entity::Entity");
 		if (context == null)
-			throw new IdASException("Couldn't create DigitalSubject with null IContext");
+			throw new IdASException("Couldn't create Entity with null IContext");
 		if (subject == null)
-			throw new IdASException("Couldn't create DigitalSubject for null subject individual");
+			throw new IdASException("Couldn't create Entity for null subject individual");
 		context_ = context;
 		subject_ = subject;
 		ontClass_ = context.getOntClass(subject.getRDFType().getURI());
-		URI type = getNodeType();
-		model_ = context_.getContextModel().getNodeModel(type);
+		URI type = getEntityType();
+		model_ = context_.getContextModel().getEntityModel(type);
 		if (model_ == null)
-			throw new IdASException("Can not get node model for Node URI " + type.toString());
+			throw new IdASException("Can not get entity model for Entity URI " + type.toString());
 		userToken_ = ModelUtils.getUserToken(context_, subject_);
 	}
 
@@ -84,7 +84,7 @@
 	}
 
 	public IContext getContext() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getContext");
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Entity::getContext");
 		return context_;
 	}
 
@@ -89,7 +89,7 @@
 	}
 
 	public IJenaContext getJenaContext() {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getJenaContext");
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Entity::getJenaContext");
 		return context_;
 	}
 
@@ -94,17 +94,17 @@
 	}
 
 	public Individual getSubjectIndividual() {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getSubjectIndividual");
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Entity::getSubjectIndividual");
 		return subject_;
 	}
 
-	public INodeModel getModel() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getModel");
+	public IEntityModel getModel() throws IdASException {
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Entity::getModel");
 		return model_;
 	}
 
-	public String getNodeID() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getNodeID");
+	public String getEntityID() throws IdASException {
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Entity::getEntityID");
 		IAttribute sAttr = getAttribute(HigginsVocabulary.uniqueIdentifierURI);
 		if (sAttr == null)
 			throw new IdASException("Attribute" + HigginsVocabulary.uniqueIdentifier + " was not found");
@@ -125,10 +125,10 @@
 	/*
 	 * (non-Javadoc)
 	 * 
-	 * @see org.eclipse.higgins.idas.IDigitalSubject#getNodeType()
+	 * @see org.eclipse.higgins.idas.IDigitalSubject#getEntityType()
 	 */
-	public URI getNodeType() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getNodeType");
+	public URI getEntityType() throws IdASException {
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Entity::getEntityType");
 		if (type_ == null)
 			type_ = URI.create(ontClass_.getURI());
 		return type_;
@@ -140,7 +140,7 @@
 	 * @see org.eclipse.higgins.idas.IDigitalSubject#remove()
 	 */
 	public void remove() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::remove");
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Entity::remove");
 		context_.unregisterChangedSubject(this);
 		ModelUtils.removeIndividual(context_, subject_);
 	}
@@ -146,7 +146,7 @@
 	}
 
 	public IMetadata addMetadata(URI metadataID) throws IdASException, InvalidTypeException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::addMetadata");
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Entity::addMetadata");
 		if (metadataID == null)
 			throw new IdASException("Parameter \"metadataID\" is null.");
 		IMetadata newMetadata = getMetadata(metadataID);
@@ -154,7 +154,7 @@
 	}
 
 	public IMetadata addMetadata(IMetadata copyFrom) throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::addMetadata");
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Entity::addMetadata");
 		if (copyFrom == null)
 			throw new IdASException("Parameter \"copyFrom\" is null.");
 		IMetadata newMetadata = getMetadata(copyFrom.getMetaID());
@@ -167,7 +167,7 @@
 	}
 
 	public IMetadata getMetadata(URI metadataID) throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getMetadata");
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Entity::getMetadata");
 		if (metadataID == null)
 			throw new IdASException("Parameter \"metadataID\" is null.");
 		String uri = metadataID.toString();
@@ -185,7 +185,7 @@
 	}
 
 	public Iterator getMetadataSet() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getMetadataSet");
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Entity::getMetadataSet");
 		ArrayList list = new ArrayList();
 		DatatypeProperty metadata = context_.getDatatypeProperty(HigginsVocabulary.metadata);
 		if (metadata == null)
@@ -206,7 +206,7 @@
 	}
 
 	public IAttribute addAttribute(URI attrID) throws IdASException, InvalidTypeException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::addAttribute");
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Entity::addAttribute");
 		return getAttribute(attrID);
 	}
 
@@ -211,7 +211,7 @@
 	}
 
 	public IAttribute addAttribute(IAttribute copyFrom) throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::addAttribute");
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Entity::addAttribute");
 		if (copyFrom == null)
 			throw new IdASException("Parameter \"copyFrom\" is null.");
 		IAttribute newAttr = getAttribute(copyFrom.getAttrID());
@@ -230,7 +230,7 @@
 	}
 
 	public IAttribute getAttribute(URI attrID) throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getAttribute");
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Entity::getAttribute");
 		if (attrID == null)
 			throw new IdASException("Parameter \"attrID\" is null.");
 		String uri = attrID.toString();
@@ -239,10 +239,10 @@
 		if (ModelUtils.isPropertyRelative(attrProp, op) == false)
 			throw new InvalidTypeException("Property " + uri + " is not subproperty of " + HigginsVocabulary.attribute);
 		if (ModelUtils.isPropertyOfClass(context_, ontClass_, op) == false)
-			throw new InvalidTypeException("Can not create attribute with type " + uri + " for DigitalSubject with type " + ontClass_.getURI());
+			throw new InvalidTypeException("Can not create attribute with type " + uri + " for Entity with type " + ontClass_.getURI());
 		AttributeModel attrModel = (AttributeModel) model_.getAttributeModel(attrID);
 		if (attrModel == null)
-			throw new IdASException("Can not get model of attribute with type " + uri + " for DigitalSubject with type " + ontClass_.getURI());
+			throw new IdASException("Can not get model of attribute with type " + uri + " for Entity with type " + ontClass_.getURI());
 		int maxCardinality = ModelUtils.getMaxCardinality(context_, ontClass_, op);
 		if (maxCardinality == 1)
 			return new SingleValuedAttribute(context_, this, op, attrModel);
@@ -251,7 +251,7 @@
 	}
 
 /*	public Iterator getAttributes() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getAttributes");
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Entity::getAttributes");
 		ObjectProperty attrProp = context_.getObjectProperty(HigginsVocabulary.attribute);
 		HashSet usedURIs = new HashSet();
 		List attrs = new ArrayList();
@@ -265,7 +265,7 @@
 				if ((usedURIs.contains(uri) == false) && ModelUtils.isPropertyRelative(attrProp, property)) {
 					AttributeModel attrModel = (AttributeModel) model_.getAttributeModel(URI.create(uri));
 					if (attrModel == null)
-						throw new IdASException("Can not get model of attribute with type " + uri + " for DigitalSubject with type " + ontClass_.getURI());
+						throw new IdASException("Can not get model of attribute with type " + uri + " for Entity with type " + ontClass_.getURI());
 					int maxCardinality = ModelUtils.getMaxCardinality(context_, ontClass_, property);
 					if (maxCardinality == 1)
 						attrs.add(new SingleValuedAttribute(context_, this, property, attrModel));
@@ -279,7 +279,7 @@
 	}
 */
 	public Iterator getAttributes() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getAttributes");
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Entity::getAttributes");
 		List attrs = new ArrayList();
 		Iterator itr = model_.getAttributeModels();
 		while(itr.hasNext()) {
@@ -286,7 +286,7 @@
 			AttributeModel attrModel = (AttributeModel)itr.next();
 			URI attrType = attrModel.getType();
 			if (attrType == null)
-				throw new IdASException("Can not get the type of attribute model for DigitalSubject with type " + ontClass_.getURI());
+				throw new IdASException("Can not get the type of attribute model for Entity with type " + ontClass_.getURI());
 			ObjectProperty property = context_.getModel().getObjectProperty(attrType.toString());
 			if (property == null)
 				throw new IdASException("Can not get object property with type " + attrType);
@@ -301,7 +301,7 @@
 
 	// TODO need we to add this method to interface?
 	public ISingleValuedAttribute getSingleValuedAttribute(URI attrID) throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getSingleValuedAttribute");
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Entity::getSingleValuedAttribute");
 		String idURI = attrID.toString();
 		IAttribute attr = getAttribute(attrID);
 		if (attr == null)
@@ -312,7 +312,7 @@
 	}
 
 	public String getUserToken() {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::getUserToken");
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Entity::getUserToken");
 		return userToken_;
 	}
 
@@ -317,12 +317,12 @@
 	}
 
 	public boolean equals(Object obj) {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject::equals");
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Entity::equals");
 		if (obj == null)
 			return false;
-		if (obj instanceof DigitalSubject == false)
+		if (obj instanceof Entity == false)
 			return false;
-		DigitalSubject ds = (DigitalSubject)obj;
+		Entity ds = (Entity)obj;
 		return subject_.equals(ds.getSubjectIndividual());
 	}
 
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/filter/Filter.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/filter/Filter.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/filter/Filter.java	(working copy)
@@ -19,9 +19,9 @@
 import org.eclipse.higgins.idas.api.IFilter;
 import org.eclipse.higgins.idas.api.IFilterAssertion;
 import org.eclipse.higgins.idas.api.IFilterAttributeAssertion;
-import org.eclipse.higgins.idas.api.IFilterNodeIDAssertion;
+import org.eclipse.higgins.idas.api.IFilterEntityIDAssertion;
 import org.eclipse.higgins.idas.api.IFilterMetadataAssertion;
-import org.eclipse.higgins.idas.api.IFilterNodeTypeAssertion;
+import org.eclipse.higgins.idas.api.IFilterEntityTypeAssertion;
 import org.eclipse.higgins.idas.api.IdASException;
 import org.eclipse.higgins.idas.cp.jena2.impl.Context;
 
@@ -156,9 +156,9 @@
 	 * 
 	 * @see org.eclipse.higgins.idas.IFilter#createNodeIDAssertion()
 	 */
-	public IFilterNodeIDAssertion createNodeIDAssertion() throws IdASException {
+	public IFilterEntityIDAssertion createNodeIDAssertion() throws IdASException {
 		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.Filter::createNodeIDAssertion");
-		return new FilterNodeIDAssertion(idasContext_);
+		return new FilterEntityIDAssertion(idasContext_);
 	}
 
 	/*
@@ -176,7 +176,7 @@
 	 * 
 	 * @see org.eclipse.higgins.idas.IFilter#createTypeAssertion()
 	 */
-	public IFilterNodeTypeAssertion createTypeAssertion() throws IdASException {
+	public IFilterEntityTypeAssertion createTypeAssertion() throws IdASException {
 		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.Filter::createTypeAssertion");
 
 		// / Uncomment
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/filter/FilterEntityIDAssertion.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/filter/FilterEntityIDAssertion.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/filter/FilterEntityIDAssertion.java	(working copy)
@@ -16,7 +16,7 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.eclipse.higgins.idas.api.IFilterAttributeAssertion;
-import org.eclipse.higgins.idas.api.IFilterNodeIDAssertion;
+import org.eclipse.higgins.idas.api.IFilterEntityIDAssertion;
 import org.eclipse.higgins.idas.api.ISimpleAttrValue;
 import org.eclipse.higgins.idas.api.IdASException;
 import org.eclipse.higgins.idas.cp.jena2.impl.Context;
@@ -22,8 +22,8 @@
 import org.eclipse.higgins.idas.cp.jena2.impl.Context;
 import org.eclipse.higgins.idas.cp.jena2.util.HigginsVocabulary;
 
-public class FilterNodeIDAssertion extends FilterAssertion implements IFilterNodeIDAssertion {
-	private Log log = LogFactory.getLog(FilterNodeIDAssertion.class);
+public class FilterEntityIDAssertion extends FilterAssertion implements IFilterEntityIDAssertion {
+	private Log log = LogFactory.getLog(FilterEntityIDAssertion.class);
 
 	private String subjID_ = null;
 
@@ -34,8 +34,8 @@
 	/**
 	 * @param idasContext
 	 */
-	public FilterNodeIDAssertion(Context idasContext) {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterNodeIDAssertion::FilterNodeIDAssertion");
+	public FilterEntityIDAssertion(Context idasContext) {
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterEntityIDAssertion::FilterEntityIDAssertion");
 		idasContext_ = idasContext;
 	}
 
@@ -42,10 +42,10 @@
 	/*
 	 * (non-Javadoc)
 	 * 
-	 * @see org.eclipse.higgins.idas.api.IFilterNodeIDAssertion#setAssertionValue(java.lang.String)
+	 * @see org.eclipse.higgins.idas.api.IFilterEntityIDAssertion#setAssertionValue(java.lang.String)
 	 */
 	public void setAssertionValue(String subjID) throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterNodeIDAssertion::setAssertionValue");
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterEntityIDAssertion::setAssertionValue");
 		if (subjID == null)
 			throw new IdASException("Unable to set \"null\" assertion value");
 		subjID_ = subjID;
@@ -56,7 +56,7 @@
 	 * @throws IdASException
 	 */
 	public String getAssertionValue() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterNodeIDAssertion::getAssertionValue");
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterEntityIDAssertion::getAssertionValue");
 		return subjID_;
 	}
 
@@ -65,9 +65,9 @@
 	 * @throws IdASException
 	 */
 	public FilterAttributeAssertion getAttributeAssertion() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterNodeIDAssertion::getAttributeAssertion");
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterEntityIDAssertion::getAttributeAssertion");
 		if (subjID_ == null)
-			throw new IdASException("FilterNodeIDAssertion contains \"null\" assertion value");
+			throw new IdASException("FilterEntityIDAssertion contains \"null\" assertion value");
 		if (assertion_ == null) {
 			assertion_ = new FilterAttributeAssertion(idasContext_);
 			assertion_.setComparator(IFilterAttributeAssertion.COMP_ATTR_EQ);
@@ -85,8 +85,8 @@
 	 * @see org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterAssertion#setID(java.net.URI)
 	 */
 	public void setID(URI id) throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterNodeIDAssertion::setID");
-		throw new IdASException("The type of FilterNodeIDAssertion is predefined and couldn't be changed.");
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterEntityIDAssertion::setID");
+		throw new IdASException("The type of FilterEntityIDAssertion is predefined and couldn't be changed.");
 	}
 
 	/*
@@ -95,7 +95,7 @@
 	 * @see org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterAssertion#getCondition()
 	 */
 	public ICondition getCondition() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterNodeIDAssertion::getCondition");
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterEntityIDAssertion::getCondition");
 		return assertion_.getCondition();
 	}
 
@@ -105,7 +105,7 @@
 	 * @see org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterAssertion#init(org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterContext)
 	 */
 	public void init(FilterContext filterContext) throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterNodeIDAssertion::init");
+		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterEntityIDAssertion::init");
 		assertion_.init(filterContext);
 	}
 
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/filter/FilterNodeIDAssertion.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/filter/FilterNodeIDAssertion.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/filter/FilterNodeIDAssertion.java	(working copy)
@@ -1,112 +0,0 @@
-/**
- * Copyright (c) 2007 Parity Communications, 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:
- *     Sergey Lyakhov - initial API and implementation
- */
-
-package org.eclipse.higgins.idas.cp.jena2.impl.filter;
-
-import java.net.URI;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.eclipse.higgins.idas.api.IFilterAttributeAssertion;
-import org.eclipse.higgins.idas.api.IFilterNodeIDAssertion;
-import org.eclipse.higgins.idas.api.ISimpleAttrValue;
-import org.eclipse.higgins.idas.api.IdASException;
-import org.eclipse.higgins.idas.cp.jena2.impl.Context;
-import org.eclipse.higgins.idas.cp.jena2.util.HigginsVocabulary;
-
-public class FilterNodeIDAssertion extends FilterAssertion implements IFilterNodeIDAssertion {
-	private Log log = LogFactory.getLog(FilterNodeIDAssertion.class);
-
-	private String subjID_ = null;
-
-	private FilterAttributeAssertion assertion_ = null;
-
-	private Context idasContext_ = null;
-
-	/**
-	 * @param idasContext
-	 */
-	public FilterNodeIDAssertion(Context idasContext) {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterNodeIDAssertion::FilterNodeIDAssertion");
-		idasContext_ = idasContext;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.higgins.idas.api.IFilterNodeIDAssertion#setAssertionValue(java.lang.String)
-	 */
-	public void setAssertionValue(String subjID) throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterNodeIDAssertion::setAssertionValue");
-		if (subjID == null)
-			throw new IdASException("Unable to set \"null\" assertion value");
-		subjID_ = subjID;
-	}
-
-	/**
-	 * @return
-	 * @throws IdASException
-	 */
-	public String getAssertionValue() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterNodeIDAssertion::getAssertionValue");
-		return subjID_;
-	}
-
-	/**
-	 * @return
-	 * @throws IdASException
-	 */
-	public FilterAttributeAssertion getAttributeAssertion() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterNodeIDAssertion::getAttributeAssertion");
-		if (subjID_ == null)
-			throw new IdASException("FilterNodeIDAssertion contains \"null\" assertion value");
-		if (assertion_ == null) {
-			assertion_ = new FilterAttributeAssertion(idasContext_);
-			assertion_.setComparator(IFilterAttributeAssertion.COMP_ATTR_EQ);
-			assertion_.setID(URI.create(HigginsVocabulary.uniqueIdentifier));
-		}
-		assertion_.setAssertionValue(idasContext_.buildSimpleAttrValue(ISimpleAttrValue.NORMALIZEDSTRING_TYPE_URI, subjID_));
-		assertion_.includeSubtypes(includeSubtypes_);
-		assertion_.setComparator(comparator_);
-		return assertion_;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterAssertion#setID(java.net.URI)
-	 */
-	public void setID(URI id) throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterNodeIDAssertion::setID");
-		throw new IdASException("The type of FilterNodeIDAssertion is predefined and couldn't be changed.");
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterAssertion#getCondition()
-	 */
-	public ICondition getCondition() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterNodeIDAssertion::getCondition");
-		return assertion_.getCondition();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterAssertion#init(org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterContext)
-	 */
-	public void init(FilterContext filterContext) throws IdASException {
-		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterNodeIDAssertion::init");
-		assertion_.init(filterContext);
-	}
-
-}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/filter/FilterTypeAssertion.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/filter/FilterTypeAssertion.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/filter/FilterTypeAssertion.java	(working copy)
@@ -18,7 +18,7 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.eclipse.higgins.idas.api.IFilterNodeTypeAssertion;
+import org.eclipse.higgins.idas.api.IFilterEntityTypeAssertion;
 import org.eclipse.higgins.idas.api.IdASException;
 import org.eclipse.higgins.idas.cp.jena2.impl.Context;
 import org.eclipse.higgins.idas.cp.jena2.util.ModelUtils;
@@ -27,7 +27,7 @@
 import com.hp.hpl.jena.ontology.OntProperty;
 import com.hp.hpl.jena.util.iterator.ExtendedIterator;
 
-public class FilterTypeAssertion extends FilterAssertion implements IFilterNodeTypeAssertion {
+public class FilterTypeAssertion extends FilterAssertion implements IFilterEntityTypeAssertion {
 	private Log log = LogFactory.getLog(FilterTypeAssertion.class);
 
 	private static final PropertyNode typeProperty_ = new PropertyNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type";);
@@ -44,7 +44,7 @@
 	}
 
 	/* (non-Javadoc)
-	 * @see org.eclipse.higgins.idas.api.IFilterNodeTypeAssertion#setAssertionValue(java.net.URI)
+	 * @see org.eclipse.higgins.idas.api.IFilterEntityTypeAssertion#setAssertionValue(java.net.URI)
 	 */
 	public void setAssertionValue(URI assertion) throws IdASException {
 		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.filter.FilterTypeAssertion::setAssertionValue");
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/Metadata.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/Metadata.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/Metadata.java	(working copy)
@@ -31,7 +31,7 @@
 	private Log log = LogFactory.getLog(Metadata.class);
 
 	// the subject which owns this metadata (directly or through any level of attribute/value)
-	protected DigitalSubject subject_ = null;
+	protected Entity subject_ = null;
 
 	protected XMLValue value_ = null;
 
@@ -37,7 +37,7 @@
 
 	protected Context context_ = null;
 
-	public Metadata(Context context, Individual valueContainer, DatatypeProperty property, DigitalSubject subjOwner) throws IdASException {
+	public Metadata(Context context, Individual valueContainer, DatatypeProperty property, Entity subjOwner) throws IdASException {
 		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.Metadata::Metadata");
 		if (subjOwner == null)
 			throw new IdASException("Parameter \"subjOwner\" is null.");
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/SimpleValue.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/SimpleValue.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/SimpleValue.java	(working copy)
@@ -65,7 +65,7 @@
 
 	// the subject which owns this complex value (through any level of
 	// attribute/complex value)
-	protected DigitalSubject subject_ = null;
+	protected Entity subject_ = null;
 
 	public SimpleValue(Context context, Attribute attribute, Individual container, OntProperty attributeProperty) throws IdASException {
 		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.SimpleValue::SimpleValue");
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/SingleValuedAttribute.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/SingleValuedAttribute.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/impl/SingleValuedAttribute.java	(working copy)
@@ -30,7 +30,7 @@
 public class SingleValuedAttribute extends Attribute implements ISingleValuedAttribute {
 	private Log log = LogFactory.getLog(SingleValuedAttribute.class);
 
-	protected SingleValuedAttribute(Context context, DigitalSubject subj, OntProperty property, IAttributeModel model) throws IdASException {
+	protected SingleValuedAttribute(Context context, Entity subj, OntProperty property, IAttributeModel model) throws IdASException {
 		super(context, subj, property, model);
 		log.trace("org.eclipse.higgins.idas.cp.jena2.impl.SingleValuedAttribute::SingleValuedAttribute");
 	}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/util/HigginsVocabulary.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/util/HigginsVocabulary.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/util/HigginsVocabulary.java	(working copy)
@@ -24,7 +24,7 @@
 	
 	public static final String ContextObject = NAME_SPACE + "ContextObject";
 	public static final URI ContextObjectURI = URI.create(ContextObject);
-	public static final String DigitalSubject = NAME_SPACE + "DigitalSubject";
+	public static final String DigitalSubject = NAME_SPACE + "Entity";
 	public static final URI DigitalSubjectURI = URI.create(DigitalSubject);
 	public static final String SubjectRelation = NAME_SPACE + "SubjectRelation";
 	public static final URI SubjectRelationshipURI = URI.create(SubjectRelation);
@@ -81,7 +81,7 @@
 	public static final String Attribute = NAME_SPACE + "Attribute";
 	public static final String StringSimpleAttribute = NAME_SPACE + "String";
 	public static final String IntegerSimpleAttribute = NAME_SPACE + "Integer";
-	public static final String DigitalSubject = NAME_SPACE + "DigitalSubject";
+	public static final String Entity = NAME_SPACE + "Entity";
 	public static final String ComplexAttribute = NAME_SPACE + "ComplexAttribute";
 	public static final String SimpleAttribute = NAME_SPACE + "SimpleAttribute";
 
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/util/ModelUtils.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/util/ModelUtils.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/cp/jena2/util/ModelUtils.java	(working copy)
@@ -20,7 +20,7 @@
 import org.apache.commons.logging.LogFactory;
 import org.eclipse.higgins.idas.api.IdASException;
 import org.eclipse.higgins.idas.api.model.IAttributeComplexValueModel;
-import org.eclipse.higgins.idas.api.model.INodeModel;
+import org.eclipse.higgins.idas.api.model.IEntityModel;
 import org.eclipse.higgins.idas.cp.jena2.IJenaContext;
 import org.eclipse.higgins.idas.cp.jena2.impl.Attribute;
 import org.eclipse.higgins.idas.cp.jena2.impl.ComplexValue;
@@ -25,7 +25,7 @@
 import org.eclipse.higgins.idas.cp.jena2.impl.Attribute;
 import org.eclipse.higgins.idas.cp.jena2.impl.ComplexValue;
 import org.eclipse.higgins.idas.cp.jena2.impl.Context;
-import org.eclipse.higgins.idas.cp.jena2.impl.DigitalSubject;
+import org.eclipse.higgins.idas.cp.jena2.impl.Entity;
 import org.eclipse.higgins.idas.cp.jena2.impl.Metadata;
 import org.eclipse.higgins.idas.cp.jena2.impl.SimpleValue;
 import org.eclipse.higgins.idas.cp.jena2.impl.authentication.AuthConstants;
@@ -244,7 +244,7 @@
 	 * 
 	 * @param model
 	 * @param cuid
-	 * @return Individual of DigitalSubject by uniqueIdentifier
+	 * @return Individual of Entity by uniqueIdentifier
 	 * @throws IdASException
 	 */
 	public static Individual getSubjectByID(Context context, String cuid) throws IdASException {
@@ -479,13 +479,13 @@
 	 * @param subj
 	 * @throws IdASException
 	 */
-	public static void validateSubject(Context context, DigitalSubject subj) throws IdASException {
+	public static void validateSubject(Context context, Entity subj) throws IdASException {
 		log.trace("org.eclipse.higgins.idas.cp.jena2.util.ModelUtils::validateSubject");
-		log.debug("ContextURI = " + context.getNS() + ", subject type = " + subj.getNodeType());
+		log.debug("ContextURI = " + context.getNS() + ", subject type = " + subj.getEntityType());
 		if (subj == null)
 			throw new IdASException("Parameter \"subj\" is null.");
 		Iterator attributeModels = null;
-		INodeModel subjModel = subj.getModel();
+		IEntityModel subjModel = subj.getModel();
 		if (subjModel != null)
 			attributeModels = subjModel.getAttributeModels();
 		Iterator itrAttr = subj.getAttributes();
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/model/impl/ContextModel.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/model/impl/ContextModel.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/model/impl/ContextModel.java	(working copy)
@@ -20,7 +20,7 @@
 import org.eclipse.higgins.idas.api.model.IAttributeModel;
 import org.eclipse.higgins.idas.api.model.IAttributeValueModel;
 import org.eclipse.higgins.idas.api.model.IContextModel;
-import org.eclipse.higgins.idas.api.model.INodeModel;
+import org.eclipse.higgins.idas.api.model.IEntityModel;
 import org.eclipse.higgins.idas.api.model.IDisplayData;
 import org.eclipse.higgins.idas.api.model.IModel;
 import org.eclipse.higgins.idas.api.model.IdASModelException;
@@ -49,7 +49,7 @@
 
 	public static final String IDAS_BASE_URI = "http://www.eclipse.org/higgins/ontologies/2006/higgins#";;
 
-	public static final String C_DS_URI = IDAS_BASE_URI + "DigitalSubject";
+	public static final String C_DS_URI = IDAS_BASE_URI + "Entity";
 
 	public static final String C_ATT_URI = IDAS_BASE_URI + "Value";
 
@@ -110,10 +110,10 @@
 			try {
 				IContextModel model = create(args[0]);
 				System.out.println(model.getType());
-				Iterator subjects = model.getNodeModels();
+				Iterator subjects = model.getEntityModels();
 				if (subjects != null) {
 					while(subjects.hasNext()) {
-						showSubject((INodeModel)subjects.next(), "");
+						showSubject((IEntityModel)subjects.next(), "");
 					}
 				}
 			} catch (IdASException e) {
@@ -122,7 +122,7 @@
 		}
 	}
 
-	private static void showSubject(INodeModel sm, String prefix) {
+	private static void showSubject(IEntityModel sm, String prefix) {
 		System.out.println(prefix + "DS: " + sm.getType());
 		showDisplayData(sm.getDisplayData(), prefix + "\t");
 		Iterator attributes = sm.getAttributeModels();
@@ -377,7 +377,7 @@
 				String ns = c.getNameSpace();
 				if (ns.startsWith(getType().toString())) {
 					if (ModelUtils.isClassRelative(c_ds, c)) {
-						INodeModel dsm = new DigitalSubjectModel(this, c);
+						IEntityModel dsm = new EntityModel(this, c);
 						log.debug("Created SubjectModel for class " + c.getURI());
 						subjects.add(dsm);
 						subjectMap.put(dsm.getType(), dsm);
@@ -429,7 +429,7 @@
 			return null;
 	}
 
-	public Iterator getNodeModels() {
+	public Iterator getEntityModels() {
 		log.trace("org.eclipse.higgins.idas.model.impl.ContextModel::getSubjectModels");
 		if (subjects != null)
 			return subjects.iterator();
@@ -437,10 +437,10 @@
 			return null;
 	}
 
-	public INodeModel getNodeModel(URI type) {
+	public IEntityModel getEntityModel(URI type) {
 		log.trace("org.eclipse.higgins.idas.model.impl.ContextModel::getSubjectModel");
 		if (type != null)
-			return (INodeModel)subjectMap.get(type);
+			return (IEntityModel)subjectMap.get(type);
 		else
 			return null;
 	}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/model/impl/DigitalSubjectModel.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/model/impl/DigitalSubjectModel.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/model/impl/DigitalSubjectModel.java	(working copy)
@@ -1,132 +0,0 @@
-package org.eclipse.higgins.idas.model.impl;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.eclipse.higgins.idas.api.IdASException;
-import org.eclipse.higgins.idas.cp.jena2.util.ModelUtils;
-import org.eclipse.higgins.idas.api.model.IAttributeModel;
-import org.eclipse.higgins.idas.api.model.INodeModel;
-import org.eclipse.higgins.idas.api.model.IDisplayData;
-import org.eclipse.higgins.idas.api.model.IMetadataModel;
-import org.eclipse.higgins.idas.api.model.IdASModelException;
-
-import com.hp.hpl.jena.ontology.Individual;
-import com.hp.hpl.jena.ontology.OntClass;
-import com.hp.hpl.jena.ontology.OntProperty;
-import com.hp.hpl.jena.rdf.model.RDFNode;
-import com.hp.hpl.jena.rdf.model.Resource;
-
-public class DigitalSubjectModel implements INodeModel {
-	private Log log = LogFactory.getLog(DigitalSubjectModel.class);
-
-	protected ContextModel ctx = null;
-
-	protected OntClass ds = null;
-
-	protected URI type = null;
-
-	protected List attributes = null;
-
-	protected Hashtable attMap = null;
-
-	protected IDisplayData displayData = null;
-
-	protected DigitalSubjectModel(ContextModel ctx, OntClass ds) throws IdASException {
-		log.trace("org.eclipse.higgins.idas.model.impl.DigitalSubjectModel::DigitalSubjectModel");
-		this.ctx = ctx;
-		this.ds = ds;
-		initialize();
-	}
-
-	protected void initialize() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.model.impl.DigitalSubjectModel::initialize");
-		initType();
-		initAttributes();
-		initDisplayData();
-	}
-
-	protected void initType() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.model.impl.DigitalSubjectModel::initType");
-		if (type == null) {
-			try {
-				type = new URI(ds.getURI());
-			} catch (URISyntaxException e) {
-				throw new IdASModelException(e);
-			}
-		}
-	}
-
-	protected void initAttributes() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.model.impl.DigitalSubjectModel::initAttributes");
-		log.debug("====== Init attributes of subject " + ds.getURI() + " ============================");
-		if (attributes == null) {
-			attributes = new ArrayList();
-			attMap = new Hashtable();
-			ArrayList list = ModelUtils.getAttributePropertiesByDomain(ctx.getContext(), ds);
-			for (int i = 0; i < list.size(); i++) {
-				OntProperty op = (OntProperty) list.get(i);
-				IAttributeModel m = new AttributeModel(ctx, op, ds);
-				attributes.add(m);
-				attMap.put(m.getType(), m);
-				log.debug("Created attribute model for property " + op.getURI());
-			}
-		}
-	}
-
-	protected void initDisplayData() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.model.impl.DigitalSubjectModel::initDisplayData");
-		if (displayData == null) {
-			if (ctx.getP_DD() != null && ds.hasProperty(ctx.getP_DD())) {
-				RDFNode n = ds.getPropertyValue(ctx.getP_DD());
-				if (n.canAs(Individual.class)) {
-					Individual in = (Individual) n.as(Individual.class);
-					Resource r = in.getRDFType();
-					if (r.canAs(OntClass.class)) {
-						OntClass t = (OntClass) r.as(OntClass.class);
-						if (t.equals(ctx.getC_DD())) {
-							displayData = new DisplayData(ctx, in);
-						}
-					}
-				}
-			}
-		}
-	}
-
-	public Iterator getAttributeModels() {
-		log.trace("org.eclipse.higgins.idas.model.impl.DigitalSubjectModel::getAttributeModels");
-		return attributes.iterator();
-	}
-
-	public URI getType() {
-		log.trace("org.eclipse.higgins.idas.model.impl.DigitalSubjectModel::getType");
-		return type;
-	}
-
-	public IDisplayData getDisplayData() {
-		log.trace("org.eclipse.higgins.idas.model.impl.DigitalSubjectModel::getDisplayData");
-		return displayData;
-	}
-
-	public IAttributeModel getAttributeModel(URI type) {
-		log.trace("org.eclipse.higgins.idas.model.impl.DigitalSubjectModel::getAttributeModel");
-		return (IAttributeModel) attMap.get(type);
-	}
-
-	public IMetadataModel getMetadataModel(URI metadataID) {
-		log.trace("org.eclipse.higgins.idas.model.impl.DigitalSubjectModel::getMetadataModel");
-		return null;
-	}
-
-	public Iterator getMetadataModels() {
-		log.trace("org.eclipse.higgins.idas.model.impl.DigitalSubjectModel::getMetadataModels");
-		return null;
-	}
-
-}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/model/impl/EntityModel.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/model/impl/EntityModel.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2/src/org/eclipse/higgins/idas/model/impl/EntityModel.java	(working copy)
@@ -12,7 +12,7 @@
 import org.eclipse.higgins.idas.api.IdASException;
 import org.eclipse.higgins.idas.cp.jena2.util.ModelUtils;
 import org.eclipse.higgins.idas.api.model.IAttributeModel;
-import org.eclipse.higgins.idas.api.model.INodeModel;
+import org.eclipse.higgins.idas.api.model.IEntityModel;
 import org.eclipse.higgins.idas.api.model.IDisplayData;
 import org.eclipse.higgins.idas.api.model.IMetadataModel;
 import org.eclipse.higgins.idas.api.model.IdASModelException;
@@ -23,8 +23,8 @@
 import com.hp.hpl.jena.rdf.model.RDFNode;
 import com.hp.hpl.jena.rdf.model.Resource;
 
-public class DigitalSubjectModel implements INodeModel {
-	private Log log = LogFactory.getLog(DigitalSubjectModel.class);
+public class EntityModel implements IEntityModel {
+	private Log log = LogFactory.getLog(EntityModel.class);
 
 	protected ContextModel ctx = null;
 
@@ -38,8 +38,8 @@
 
 	protected IDisplayData displayData = null;
 
-	protected DigitalSubjectModel(ContextModel ctx, OntClass ds) throws IdASException {
-		log.trace("org.eclipse.higgins.idas.model.impl.DigitalSubjectModel::DigitalSubjectModel");
+	protected EntityModel(ContextModel ctx, OntClass ds) throws IdASException {
+		log.trace("org.eclipse.higgins.idas.model.impl.EntityModel::EntityModel");
 		this.ctx = ctx;
 		this.ds = ds;
 		initialize();
@@ -46,7 +46,7 @@
 	}
 
 	protected void initialize() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.model.impl.DigitalSubjectModel::initialize");
+		log.trace("org.eclipse.higgins.idas.model.impl.EntityModel::initialize");
 		initType();
 		initAttributes();
 		initDisplayData();
@@ -53,7 +53,7 @@
 	}
 
 	protected void initType() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.model.impl.DigitalSubjectModel::initType");
+		log.trace("org.eclipse.higgins.idas.model.impl.EntityModel::initType");
 		if (type == null) {
 			try {
 				type = new URI(ds.getURI());
@@ -64,7 +64,7 @@
 	}
 
 	protected void initAttributes() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.model.impl.DigitalSubjectModel::initAttributes");
+		log.trace("org.eclipse.higgins.idas.model.impl.EntityModel::initAttributes");
 		log.debug("====== Init attributes of subject " + ds.getURI() + " ============================");
 		if (attributes == null) {
 			attributes = new ArrayList();
@@ -81,7 +81,7 @@
 	}
 
 	protected void initDisplayData() throws IdASException {
-		log.trace("org.eclipse.higgins.idas.model.impl.DigitalSubjectModel::initDisplayData");
+		log.trace("org.eclipse.higgins.idas.model.impl.EntityModel::initDisplayData");
 		if (displayData == null) {
 			if (ctx.getP_DD() != null && ds.hasProperty(ctx.getP_DD())) {
 				RDFNode n = ds.getPropertyValue(ctx.getP_DD());
@@ -100,7 +100,7 @@
 	}
 
 	public Iterator getAttributeModels() {
-		log.trace("org.eclipse.higgins.idas.model.impl.DigitalSubjectModel::getAttributeModels");
+		log.trace("org.eclipse.higgins.idas.model.impl.EntityModel::getAttributeModels");
 		return attributes.iterator();
 	}
 
@@ -105,7 +105,7 @@
 	}
 
 	public URI getType() {
-		log.trace("org.eclipse.higgins.idas.model.impl.DigitalSubjectModel::getType");
+		log.trace("org.eclipse.higgins.idas.model.impl.EntityModel::getType");
 		return type;
 	}
 
@@ -110,7 +110,7 @@
 	}
 
 	public IDisplayData getDisplayData() {
-		log.trace("org.eclipse.higgins.idas.model.impl.DigitalSubjectModel::getDisplayData");
+		log.trace("org.eclipse.higgins.idas.model.impl.EntityModel::getDisplayData");
 		return displayData;
 	}
 
@@ -115,7 +115,7 @@
 	}
 
 	public IAttributeModel getAttributeModel(URI type) {
-		log.trace("org.eclipse.higgins.idas.model.impl.DigitalSubjectModel::getAttributeModel");
+		log.trace("org.eclipse.higgins.idas.model.impl.EntityModel::getAttributeModel");
 		return (IAttributeModel) attMap.get(type);
 	}
 
@@ -120,7 +120,7 @@
 	}
 
 	public IMetadataModel getMetadataModel(URI metadataID) {
-		log.trace("org.eclipse.higgins.idas.model.impl.DigitalSubjectModel::getMetadataModel");
+		log.trace("org.eclipse.higgins.idas.model.impl.EntityModel::getMetadataModel");
 		return null;
 	}
 
@@ -125,7 +125,7 @@
 	}
 
 	public Iterator getMetadataModels() {
-		log.trace("org.eclipse.higgins.idas.model.impl.DigitalSubjectModel::getMetadataModels");
+		log.trace("org.eclipse.higgins.idas.model.impl.EntityModel::getMetadataModels");
 		return null;
 	}
 
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2.test/src/org/eclipse/higgins/idas/cp/jena2/test/TestJenaContext.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2.test/src/org/eclipse/higgins/idas/cp/jena2/test/TestJenaContext.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2.test/src/org/eclipse/higgins/idas/cp/jena2/test/TestJenaContext.java	(working copy)
@@ -12,12 +12,12 @@
 import org.eclipse.higgins.idas.api.IAttribute;
 import org.eclipse.higgins.idas.api.IAttributeValue;
 import org.eclipse.higgins.idas.api.IComplexAttrValue;
-import org.eclipse.higgins.idas.api.INode;
+import org.eclipse.higgins.idas.api.IEntity;
 import org.eclipse.higgins.idas.api.ISimpleAttrValue;
 import org.eclipse.higgins.idas.api.ISingleValuedAttribute;
 import org.eclipse.higgins.idas.api.IdASException;
-import org.eclipse.higgins.idas.api.NoSuchNodeException;
-import org.eclipse.higgins.idas.api.NodeExistsException;
+import org.eclipse.higgins.idas.api.NoSuchEntityException;
+import org.eclipse.higgins.idas.api.EntityExistsException;
 import org.eclipse.higgins.idas.common.AuthNNamePasswordMaterials;
 import org.eclipse.higgins.idas.common.AuthNSelfIssuedMaterials;
 import org.eclipse.higgins.idas.cp.jena2.impl.Context;
@@ -56,31 +56,31 @@
 	}
 
 	public void testSubject() throws Exception {
-		INode subj;
+		IEntity subj;
 		openContextByUsername();
 		String id1 = String.valueOf(System.currentTimeMillis());
-		subj = context_.addNode(TestSchemaVocabulary.SimplePersonNOSV, id1);
+		subj = context_.addEntity(TestSchemaVocabulary.SimplePersonNOSV, id1);
 		context_.applyUpdates();
 		try {
-			context_.addNode(TestSchemaVocabulary.SimplePersonNOSV, id1);
+			context_.addEntity(TestSchemaVocabulary.SimplePersonNOSV, id1);
 		}
-		catch(NodeExistsException e) {
+		catch(EntityExistsException e) {
 		}
-		subj = context_.getNode(id1);
+		subj = context_.getEntity(id1);
 		assertNotNull(subj);
 		subj.remove();
 		try {
-			context_.getNode(id1);
+			context_.getEntity(id1);
 		}
-		catch(NoSuchNodeException e) {
+		catch(NoSuchEntityException e) {
 		}
 		context_.applyUpdates();
 		try {
-			context_.getNode(id1);
+			context_.getEntity(id1);
 		}
-		catch(NoSuchNodeException e) {
+		catch(NoSuchEntityException e) {
 		}
-		subj = context_.addNode(TestSchemaVocabulary.SimplePersonNOSV, null);
+		subj = context_.addEntity(TestSchemaVocabulary.SimplePersonNOSV, null);
 		assertNotNull(subj);
 		assertNotNull(getSimpleValueData(subj.getSingleValuedAttribute(HigginsVocabulary.uniqueIdentifierURI)));
 	}
@@ -88,7 +88,7 @@
 	public void testSimpleSingleValuedAttribute() throws Exception {
 		Object value;
 		openContextByUsername();
-		INode subj = context_.addNode(TestSchemaVocabulary.SimplePersonNOSV, null);
+		IEntity subj = context_.addEntity(TestSchemaVocabulary.SimplePersonNOSV, null);
 		String name1 = "name1";
 		String name2 = "name2";
 		subj.getAttribute(TestSchemaVocabulary.firstname).addSimpleValue(null, name1);
@@ -110,7 +110,7 @@
 	public void testSimpleMultiValuedAttribute() throws Exception {
 		ArrayList values;
 		openContextByUsername();
-		INode subj = context_.addNode(TestSchemaVocabulary.SimplePersonNOMV, null);
+		IEntity subj = context_.addEntity(TestSchemaVocabulary.SimplePersonNOMV, null);
 		subj.getAttribute(TestSchemaVocabulary.email).addSimpleValue(null, EMAIL_1);
 		values = getSimpleValuesData(subj.getAttribute(TestSchemaVocabulary.email));
 		assertTrue(values.contains(EMAIL_1));
@@ -136,7 +136,7 @@
 
 	public void testComplexAttribute() throws Exception {
 		openContextByUsername();
-		INode subj = context_.addNode(TestSchemaVocabulary.ComplexPersonNOMV, null);
+		IEntity subj = context_.addEntity(TestSchemaVocabulary.ComplexPersonNOMV, null);
 		IComplexAttrValue cv = subj.getAttribute(TestSchemaVocabulary.postalAddress).addComplexValue(null);
 		checkCardinalityValidation(false);
 		cv.getSingleValuedAttribute(TestSchemaVocabulary.city).addSimpleValue(null, CITY);
@@ -158,7 +158,7 @@
 
 	public void testSimpleSingleValuedAttributeCardinality() throws Exception {
 		openContextByUsername();
-		INode subj = context_.addNode(TestSchemaVocabulary.SimplePersonOSV, null);
+		IEntity subj = context_.addEntity(TestSchemaVocabulary.SimplePersonOSV, null);
 		checkCardinalityValidation(false);
 		subj.getAttribute(TestSchemaVocabulary.firstname).addSimpleValue(null, FIRST_NAME);
 		checkCardinalityValidation(false);
@@ -170,7 +170,7 @@
 
 	public void testSimpleMultiValuedAttributeCardinality() throws Exception {
 		openContextByUsername();
-		INode subj = context_.addNode(TestSchemaVocabulary.SimplePersonOMV, null);
+		IEntity subj = context_.addEntity(TestSchemaVocabulary.SimplePersonOMV, null);
 		checkCardinalityValidation(false);
 		subj.getAttribute(TestSchemaVocabulary.email).addSimpleValue(null, EMAIL_1);
 		checkCardinalityValidation(false);
@@ -195,7 +195,7 @@
 		String strCardKeyHash = Base64.encode(ppidHash).trim();
 		openContextByUsername();
 		
-		INode subj = context_.addNode(TestSchemaVocabulary.SimplePersonNOSV, null);
+		IEntity subj = context_.addEntity(TestSchemaVocabulary.SimplePersonNOSV, null);
 		String id = (String)getSimpleValueData(subj.getSingleValuedAttribute(HigginsVocabulary.uniqueIdentifierURI));
 		subj.getAttribute(URI.create("http://www.eclipse.org/higgins/authentication#PPID";)).addSimpleValue(null, strCardKeyHash);
 		context_.applyUpdates();
@@ -202,7 +202,7 @@
 		context_.close();
 		AuthNSelfIssuedMaterials credential = new AuthNSelfIssuedMaterials(context_, ppid, modulus, exponent);
 		context_.open(credential);
-		assertNotNull(context_.getNode(id));
+		assertNotNull(context_.getEntity(id));
 	}
 
 	protected void tearDown() throws Exception {
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2.test/src/org/eclipse/higgins/idas/cp/jena2/test/TestSchemaVocabulary.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2.test/src/org/eclipse/higgins/idas/cp/jena2/test/TestSchemaVocabulary.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jena2.test/src/org/eclipse/higgins/idas/cp/jena2/test/TestSchemaVocabulary.java	(working copy)
@@ -5,33 +5,33 @@
 public class TestSchemaVocabulary {
 	public static final String ns = "http://www.eclipse.org/higgins/ontologies/2006/jenaTest#";;
 
-	// DigitalSubject with obligatory single-valued simple attributes (firstname
+	// Entity with obligatory single-valued simple attributes (firstname
 	// and lastname)
 	public static final URI SimplePersonOSV = URI.create(ns + "SimplePersonOSV");
 
-	// DigitalSubject with non-obligatory single-valued simple attributes
+	// Entity with non-obligatory single-valued simple attributes
 	// (firstname and lastname)
 	public static final URI SimplePersonNOSV = URI.create(ns + "SimplePersonNOSV");
 
-	// DigitalSubject with obligatory multy-valued simple attribute (email)
+	// Entity with obligatory multy-valued simple attribute (email)
 	public static final URI SimplePersonOMV = URI.create(ns + "SimplePersonOMV");
 
-	// DigitalSubject with non-obligatory multy-valued simple attribute (email)
+	// Entity with non-obligatory multy-valued simple attribute (email)
 	public static final URI SimplePersonNOMV = URI.create(ns + "SimplePersonNOMV");
 
-	// DigitalSubject with obligatory single-valued complex attribute
+	// Entity with obligatory single-valued complex attribute
 	// (postalAddress)
 	public static final URI ComplexPersonOSV = URI.create(ns + "ComplexPersonOSV");
 
-	// DigitalSubject with non-obligatory single-valued complex attribute
+	// Entity with non-obligatory single-valued complex attribute
 	// (postalAddress)
 	public static final URI ComplexPersonNOSV = URI.create(ns + "ComplexPersonNOSV");
 
-	// DigitalSubject with obligatory multy-valued complex attribute (exactly
+	// Entity with obligatory multy-valued complex attribute (exactly
 	// two postalAddress)
 	public static final URI ComplexPersonOMV = URI.create(ns + "ComplexPersonOMV");
 
-	// DigitalSubject with non-obligatory multy-valued complex attribute (0..2
+	// Entity with non-obligatory multy-valued complex attribute (0..2
 	// postalAddress)
 	public static final URI ComplexPersonNOMV = URI.create(ns + "ComplexPersonNOMV");
 
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIContext.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIContext.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIContext.java	(working copy)
@@ -68,7 +68,7 @@
 import org.eclipse.higgins.idas.api.ContextOpenException;
 import org.eclipse.higgins.idas.api.IAttribute;
 import org.eclipse.higgins.idas.api.IContextId;
-import org.eclipse.higgins.idas.api.INode;
+import org.eclipse.higgins.idas.api.IEntity;
 import org.eclipse.higgins.idas.api.IFilter;
 import org.eclipse.higgins.idas.api.IFilterAttributeAssertion;
 import org.eclipse.higgins.idas.api.IAttributeValue;
@@ -74,9 +74,9 @@
 import org.eclipse.higgins.idas.api.IAttributeValue;
 import org.eclipse.higgins.idas.api.ISimpleAttrValue;
 import org.eclipse.higgins.idas.api.IdASException;
-import org.eclipse.higgins.idas.api.NoSuchNodeException;
+import org.eclipse.higgins.idas.api.NoSuchEntityException;
 import org.eclipse.higgins.idas.api.NotImplementedException;
-import org.eclipse.higgins.idas.api.NodeExistsException;
+import org.eclipse.higgins.idas.api.EntityExistsException;
 import org.eclipse.higgins.idas.api.model.IContextModel;
 import org.eclipse.higgins.idas.spi.BasicContext;
 import org.eclipse.higgins.idas.common.AuthNAnonymousMaterials;
@@ -88,7 +88,7 @@
 import org.eclipse.higgins.idas.spi.BasicFilter;
 import org.eclipse.higgins.idas.spi.BasicFilterAssertion;
 import org.eclipse.higgins.idas.spi.BasicFilterAttributeAssertion;
-import org.eclipse.higgins.idas.spi.BasicFilterNodeTypeAssertion;
+import org.eclipse.higgins.idas.spi.BasicFilterEntityTypeAssertion;
 import org.eclipse.higgins.idas.spi.BasicValueBase64Binary;
 import org.eclipse.higgins.idas.spi.BasicValueHexBinary;
 import org.eclipse.higgins.idas.spi.BasicValueLanguage;
@@ -98,7 +98,7 @@
 import org.eclipse.higgins.idas.spi.BasicValueNormalizedString;
 import org.eclipse.higgins.idas.spi.BasicValueString;
 import org.eclipse.higgins.idas.spi.BasicValueToken;
-import org.eclipse.higgins.idas.spi.NodeNotification;
+import org.eclipse.higgins.idas.spi.EntityNotification;
 import org.eclipse.higgins.util.idas.cp.jscript.JScriptCPAttributePDPs;
 import org.eclipse.higgins.util.jscript.JScriptException;
 import org.eclipse.higgins.util.jscript.JScriptExec;
@@ -131,7 +131,7 @@
 	private HashMap _syntaxHashMap;
 	private IContextId _contextID;
 	private boolean _bIsOpen = false;
-	private String _currAddr, _nodeID, _contextURIs = "", _contextTypes = "";
+	private String _currAddr, _entityID, _contextURIs = "", _contextTypes = "";
 	private XDasSession _xdasSession;
 	private Object _identity;
 	private boolean _bStartTLS = false;
@@ -138,10 +138,10 @@
 	private StartTlsResponse _tls;
 //	private ProxiedAuthorizationControl proxyAuthZ;
 
-	public static final String consumerNodeIDToProvider = "consumerNodeIDToProvider";
-	public static final String providerNodeIDToConsumer = "providerNodeIDToConsumer";
-	public static final String consumerNodeTypeToProvider = "consumerNodeTypeToProvider";
-	public static final String providerNodeTypeToConsumer = "providerNodeTypeToConsumer";
+	public static final String consumerEntityIDToProvider = "consumerEntityIDToProvider";
+	public static final String providerEntityIDToConsumer = "providerEntityIDToConsumer";
+	public static final String consumerEntityTypeToProvider = "consumerEntityTypeToProvider";
+	public static final String providerEntityTypeToConsumer = "providerEntityTypeToConsumer";
 	public static final String consumerAIDToProvider = "consumerAIDToProvider";
 	public static final String providerAIDToConsumer = "providerAIDToConsumer";
 	public static final String consumerATypeToProvider = "consumerATypeToProvider";
@@ -149,10 +149,10 @@
 	public static final String consumerAValueToProvider = "consumerAValueToProvider";
 	public static final String providerAValueToConsumer = "providerAValueToConsumer";
 
-	private JScriptExec _consumerNodeIDToProviderExec;
-	private JScriptExec _providerNodeIDToConsumerExec;
-	private JScriptExec _consumerNodeTypeToProviderExec;
-	private JScriptExec _providerNodeTypeToConsumerExec;
+	private JScriptExec _consumerEntityIDToProviderExec;
+	private JScriptExec _providerEntityIDToConsumerExec;
+	private JScriptExec _consumerEntityTypeToProviderExec;
+	private JScriptExec _providerEntityTypeToConsumerExec;
 	private JScriptCPAttributePDPs _attrPDPs;
 	private boolean _bSetupPDPs = true;
 
@@ -355,16 +355,16 @@
 	private String _lookupNode(
 		IFilter lookupFilter) throws IdASException
 	{
-		String nodeID = null;
+		String entityID = null;
 
 		if (lookupFilter != null)
 		{
-			Iterator nodes = this.getNodes(lookupFilter);
-			while (nodes.hasNext())
+			Iterator entities = this.getEntities(lookupFilter);
+			while (entities.hasNext())
 			{
-				INode node = (INode) nodes.next();
-				if (nodeID == null)
-					nodeID = node.getNodeID();
+				IEntity entity = (IEntity) entities.next();
+				if (entityID == null)
+					entityID = entity.getEntityID();
 				else
 					throw new IdASException("Non-unique identity from AuthN materials.");
 			}
@@ -370,7 +370,7 @@
 			}
 		}
 
-		return nodeID;
+		return entityID;
 	}
 
 	/**
@@ -389,11 +389,11 @@
 				Map jsPolicySettings = (Map)_contextSettings.get("JSPolicyAction");
 				if (jsPolicySettings != null)
 				{
-					_consumerNodeIDToProviderExec = (JScriptExec)jsPolicySettings.get(consumerNodeIDToProvider);
-					_providerNodeIDToConsumerExec = (JScriptExec)jsPolicySettings.get(providerNodeIDToConsumer);
+					_consumerEntityIDToProviderExec = (JScriptExec)jsPolicySettings.get(consumerEntityIDToProvider);
+					_providerEntityIDToConsumerExec = (JScriptExec)jsPolicySettings.get(providerEntityIDToConsumer);
 
-					_consumerNodeTypeToProviderExec = (JScriptExec)jsPolicySettings.get(consumerNodeTypeToProvider);
-					_providerNodeTypeToConsumerExec = (JScriptExec)jsPolicySettings.get(providerNodeTypeToConsumer);
+					_consumerEntityTypeToProviderExec = (JScriptExec)jsPolicySettings.get(consumerEntityTypeToProvider);
+					_providerEntityTypeToConsumerExec = (JScriptExec)jsPolicySettings.get(providerEntityTypeToConsumer);
 
 					_attrPDPs = new JScriptCPAttributePDPs(
 							(JScriptExec)jsPolicySettings.get(consumerAIDToProvider),
@@ -427,8 +427,8 @@
 			if (identity instanceof AuthNNamePasswordMaterials)
 			{
 				_env.put(Context.SECURITY_AUTHENTICATION, "simple");
-				_nodeID = ((AuthNNamePasswordMaterials) identity).getUsername();
-				_env.put(Context.SECURITY_PRINCIPAL, consumerNodeIDToProvider(_nodeID));
+				_entityID = ((AuthNNamePasswordMaterials) identity).getUsername();
+				_env.put(Context.SECURITY_PRINCIPAL, consumerEntityIDToProvider(_entityID));
 				_env.put(Context.SECURITY_CREDENTIALS,
 					((AuthNNamePasswordMaterials) identity).getPassword());
 			}
@@ -446,7 +446,7 @@
 			}
 			else if (identity instanceof AuthNLeastPrivilegedUserMaterials)
 			{
-				_nodeID = (String) _env.get(Context.SECURITY_PRINCIPAL);
+				_entityID = (String) _env.get(Context.SECURITY_PRINCIPAL);
 			}
 			else if (identity instanceof AuthNAnonymousMaterials)
 			{
@@ -515,8 +515,8 @@
 
 			if (lookupFilter != null)
 			{
-				_nodeID = _lookupNode(lookupFilter);
-				if (_nodeID == null)
+				_entityID = _lookupNode(lookupFilter);
+				if (_entityID == null)
 					throw new IdASException("AuthN materials produced no Node ID: "
 						+ identity.toString());
 			}
@@ -526,7 +526,7 @@
 			/* Context already open for this identity. */
 			_bIsOpen = true;
 		}
-		return _nodeID;
+		return _entityID;
 	}
 
 	/**
@@ -537,11 +537,11 @@
 		if (e instanceof javax.naming.CommunicationException)
 			_destroyContext();
 		else if (e instanceof javax.naming.NameAlreadyBoundException)
-			throw new NodeExistsException(e);
+			throw new EntityExistsException(e);
 		else if (e instanceof javax.naming.AuthenticationException)
 			throw new AuthenticationException(e);
 		else if (e instanceof javax.naming.NameNotFoundException)
-			throw new NoSuchNodeException(e);
+			throw new NoSuchEntityException(e);
 		throw new IdASException(e);
 	}
 
@@ -667,7 +667,7 @@
 	 */
 	public String getAuthNodeID()
 	{
-		return _nodeID;
+		return _entityID;
 	}
 
 	/**
@@ -1080,7 +1080,7 @@
 				try {
 					schemaCtx = _ctx.getSchema("");
 				} catch (NamingException e2)	{
-					schemaCtx = _ctx.getSchema(consumerNodeIDToProvider(_nodeID));
+					schemaCtx = _ctx.getSchema(consumerEntityIDToProvider(_entityID));
 				}
 			}
 			// The OWL generator depends on these containers being visited in this
@@ -1132,10 +1132,10 @@
 
 	/**
 	 */
-	public INode getNode(
-		String nodeID) throws IdASException
+	public IEntity getNode(
+		String entityID) throws IdASException
 	{
-		return getNode(nodeID, null);
+		return getNode(entityID, null);
 	}
 
 	/**
@@ -1140,8 +1140,8 @@
 
 	/**
 	 */
-	public INode getNode(
-		String nodeID,
+	public IEntity getNode(
+		String entityID,
 		Iterator consumerSelectionList) throws IdASException
 	{
 		if (!_bIsOpen)
@@ -1148,10 +1148,10 @@
 			throw new ContextNotOpenException();
 
 		_emitXDASRecord(XDasEvents.XDAS_AE_QUERY_ACCOUNT, XDasOutcomes.XDAS_OUT_SUCCESS,
-			_getIdentity(), nodeID, null);
-		_log.debug("Searching for Node: " + nodeID + " as: "
+			_getIdentity(), entityID, null);
+		_log.debug("Searching for Node: " + entityID + " as: "
 			+ _getIdentity() + " in context: " + _contextURIs);
-		JNDINode node = null;
+		JNDIEntity node = null;
 		NamingEnumeration results;
 		SearchControls controls = new SearchControls();
 		HashSet providerSelectionList = new HashSet();
@@ -1173,7 +1173,7 @@
 
 		try
 		{
-			String realNodeID = consumerNodeIDToProvider(nodeID);
+			String realNodeID = consumerEntityIDToProvider(entityID);
 			results = _ctx.search(realNodeID, "(objectclass=*)",
 				controls);
 
@@ -1180,7 +1180,7 @@
 			if (results.hasMore())
 			{
 				SearchResult result = (SearchResult) results.next();
-				node = new JNDINode(this, result, realNodeID, _attrPDPs);
+				node = new JNDIEntity(this, result, realNodeID, _attrPDPs);
 				if (results.hasMore())
 					throw new IdASException("Non-unique Node ID");
 			}
@@ -1268,7 +1268,7 @@
 			if (assertion != null)
 			{
 				URI attrURI = assertion.getID();
-				if (assertion instanceof BasicFilterNodeTypeAssertion)
+				if (assertion instanceof BasicFilterEntityTypeAssertion)
 					attrURI = new URI("objectclass");
 				String comparator = assertion.getComparator();
 				int rfcType = _mapComparator(comparator);
@@ -1345,11 +1345,11 @@
 								"Complex assertion values in filters not supported.");
 						}
 					}
-					else if (assertion instanceof BasicFilterNodeTypeAssertion)
+					else if (assertion instanceof BasicFilterEntityTypeAssertion)
 					{
-						BasicFilterNodeTypeAssertion nodeTypeAssertion = (BasicFilterNodeTypeAssertion) assertion;
+						BasicFilterEntityTypeAssertion nodeTypeAssertion = (BasicFilterEntityTypeAssertion) assertion;
 						ldapFilter.addAttributeValueAssertion(RfcFilter.EQUALITY_MATCH, attrName.toString(),
-							consumerNodeTypeToProvider(nodeTypeAssertion.getAssertionValue()).toString().getBytes());
+							consumerEntityTypeToProvider(nodeTypeAssertion.getAssertionValue()).toString().getBytes());
 					}
 				}
 
@@ -1423,10 +1423,10 @@
 
 	/**
 	 */
-	public Iterator getNodes(
+	public Iterator getEntities(
 		IFilter filter) throws IdASException
 	{
-		return getNodes(filter, null);
+		return getEntities(filter, null);
 	}
 
 	/**
@@ -1431,7 +1431,7 @@
 
 	/**
 	 */
-	public Iterator getNodes(
+	public Iterator getEntities(
 		IFilter filter,
 		Iterator consumerSelectionList) throws IdASException
 	{
@@ -1440,7 +1440,7 @@
 
 		_emitXDASRecord(XDasEvents.XDAS_AE_QUERY_ACCOUNT, XDasOutcomes.XDAS_OUT_SUCCESS,
 			_getIdentity(), filter == null ? null : filter.toString(), null);
-		_log.debug("Searching for Nodes matching filter: " + filter == null ? null : filter.toString()
+		_log.debug("Searching for Entities matching filter: " + filter == null ? null : filter.toString()
 			+ " as: " + _getIdentity() + " in context: " + _contextURIs);
 		HashSet subs = new HashSet();
 		String strFilter = "(objectclass=*)";
@@ -1456,7 +1456,7 @@
 		}
 		try
 		{
-			JNDINode node;
+			JNDIEntity node;
 			SearchControls controls = new SearchControls();
 			NamingEnumeration results;
 			HashSet providerSelectionList = new HashSet();
@@ -1481,7 +1481,7 @@
 			while (results.hasMore())
 			{
 				SearchResult result = (SearchResult) results.next();
-				node = new JNDINode(this, result, searchBase, _attrPDPs);
+				node = new JNDIEntity(this, result, searchBase, _attrPDPs);
 				subs.add(node);
 			}
 		}
@@ -1496,7 +1496,7 @@
 	/**
 	 */
 	public void removeNode(
-		String nodeID) throws IdASException
+		String entityID) throws IdASException
 	{
 		if (!_bIsOpen)
 			throw new ContextNotOpenException();
@@ -1502,7 +1502,7 @@
 			throw new ContextNotOpenException();
 		try
 		{
-			_ctx.destroySubcontext(nodeID);
+			_ctx.destroySubcontext(entityID);
 		}
 		catch (NamingException e)
 		{
@@ -1573,7 +1573,7 @@
 			throw new IdASException(e);
 		}
 
-		return providerNodeTypeToConsumer(uriType);
+		return providerEntityTypeToConsumer(uriType);
 	}
 
 	/**
@@ -1711,13 +1711,13 @@
 
 	/**
 	 */
-	protected String consumerNodeIDToProvider(
-		String nodeID) throws IdASException
+	protected String consumerEntityIDToProvider(
+		String entityID) throws IdASException
 	{
 		try
 		{
-			return JScriptExecHelper.transformString(_consumerNodeIDToProviderExec,
-					JScriptCPAttributePDPs.consumerIDParamName, nodeID);
+			return JScriptExecHelper.transformString(_consumerEntityIDToProviderExec,
+					JScriptCPAttributePDPs.consumerIDParamName, entityID);
 		}
 		catch (JScriptException e)
 		{
@@ -1727,13 +1727,13 @@
 
 	/**
 	 */
-	protected String providerNodeIDToConsumer(
-		String nodeID) throws IdASException
+	protected String providerEntityIDToConsumer(
+		String entityID) throws IdASException
 	{
 		try
 		{
-			return JScriptExecHelper.transformString(_providerNodeIDToConsumerExec,
-					JScriptCPAttributePDPs.providerIDParamName, nodeID);
+			return JScriptExecHelper.transformString(_providerEntityIDToConsumerExec,
+					JScriptCPAttributePDPs.providerIDParamName, entityID);
 		}
 		catch (JScriptException e)
 		{
@@ -1743,7 +1743,7 @@
 
 	/**
 	 */
-	protected URI consumerNodeTypeToProvider(
+	protected URI consumerEntityTypeToProvider(
 		URI type) throws IdASException
 	{
 		try
@@ -1748,7 +1748,7 @@
 	{
 		try
 		{
-			return JScriptExecHelper.transformURI(_consumerNodeTypeToProviderExec,
+			return JScriptExecHelper.transformURI(_consumerEntityTypeToProviderExec,
 					JScriptCPAttributePDPs.consumerTypeParamName, type);
 		}
 		catch (JScriptException e)
@@ -1759,7 +1759,7 @@
 
 	/**
 	 */
-	protected URI providerNodeTypeToConsumer(
+	protected URI providerEntityTypeToConsumer(
 		URI type) throws IdASException
 	{
 		try
@@ -1764,7 +1764,7 @@
 	{
 		try
 		{
-			return JScriptExecHelper.transformURI(_providerNodeTypeToConsumerExec,
+			return JScriptExecHelper.transformURI(_providerEntityTypeToConsumerExec,
 					JScriptCPAttributePDPs.providerTypeParamName, type);
 		}
 		catch (JScriptException e)
@@ -1776,14 +1776,14 @@
 	/**
 	 * 
 	 */
-	public INode addNode(
+	public IEntity addNode(
 		URI type,
-		String nodeID) throws IdASException
+		String entityID) throws IdASException
 	{
-		JNDINode node = new JNDINode(this, consumerNodeTypeToProvider(type),
-			nodeID, _attrPDPs);
-		this.updateNotification(new NodeNotification(node,
-			NodeNotification.UPDATE_ADD, null, null));
+		JNDIEntity node = new JNDIEntity(this, consumerEntityTypeToProvider(type),
+			entityID, _attrPDPs);
+		this.updateNotification(new EntityNotification(node,
+			EntityNotification.UPDATE_ADD, null, null));
 		return node;
 	}
 
@@ -1808,12 +1808,12 @@
 
 	/**
 	 */
-	public INode addNode(
-		INode copyFrom) throws IdASException, NodeExistsException
+	public IEntity addNode(
+		IEntity copyFrom) throws IdASException, EntityExistsException
 	{
-		JNDINode node = new JNDINode(this, copyFrom, _attrPDPs);
-		this.updateNotification(new NodeNotification(node,
-			NodeNotification.UPDATE_ADD, null, null));
+		JNDIEntity node = new JNDIEntity(this, copyFrom, _attrPDPs);
+		this.updateNotification(new EntityNotification(node,
+			EntityNotification.UPDATE_ADD, null, null));
 		return node;
 	}
 
@@ -1827,8 +1827,8 @@
 			Iterator keyIter = updateList.keySet().iterator();
 			while (keyIter.hasNext())
 			{
-				String nodeID = (String)keyIter.next();
-				_updateEntry(nodeID, (Vector)updateList.get(nodeID));
+				String entityID = (String)keyIter.next();
+				_updateEntry(entityID, (Vector)updateList.get(entityID));
 				iCount++;
 			}
 			_log.debug(iCount + ((iCount == 1) ? " change " : " changes ") + "applied");
@@ -1844,7 +1844,7 @@
 	}
 
 	private void _updateEntry(
-		String nodeID,
+		String entityID,
 		Vector nodeNotifs) throws IdASException
 	{
 		try
@@ -1849,21 +1849,21 @@
 	{
 		try
 		{
-			NodeNotification [] aNodeNotifs = (NodeNotification []) nodeNotifs.toArray(new NodeNotification[nodeNotifs.size()]);
-			_log.debug("Updating entry [" + nodeID + "], " + aNodeNotifs[0].getAction());
-			if (aNodeNotifs[0].getAction().compareTo(NodeNotification.UPDATE_ADD) == 0)
+			EntityNotification [] aNodeNotifs = (EntityNotification []) nodeNotifs.toArray(new EntityNotification[nodeNotifs.size()]);
+			_log.debug("Updating entry [" + entityID + "], " + aNodeNotifs[0].getAction());
+			if (aNodeNotifs[0].getAction().compareTo(EntityNotification.UPDATE_ADD) == 0)
 			{
 				BasicAttributes jndiAttrs = _nodeNotificationToBasicAttributes(aNodeNotifs);
-				_ctx.createSubcontext(consumerNodeIDToProvider(nodeID), jndiAttrs);
+				_ctx.createSubcontext(consumerEntityIDToProvider(entityID), jndiAttrs);
 			}
-			else if (aNodeNotifs[0].getAction().compareTo(NodeNotification.UPDATE_REMOVE) == 0)
+			else if (aNodeNotifs[0].getAction().compareTo(EntityNotification.UPDATE_REMOVE) == 0)
 			{
-				_ctx.destroySubcontext(consumerNodeIDToProvider(aNodeNotifs[0].getNode().getNodeID()));
+				_ctx.destroySubcontext(consumerEntityIDToProvider(aNodeNotifs[0].getEntity().getEntityID()));
 			}
-			else if (aNodeNotifs[0].getAction().compareTo(NodeNotification.UPDATE_ATTR_NOTIFY) == 0)
+			else if (aNodeNotifs[0].getAction().compareTo(EntityNotification.UPDATE_ATTR_NOTIFY) == 0)
 			{
 				Vector jndiMods = _nodeNotificationToModificationItems(aNodeNotifs);
-				_ctx.modifyAttributes(consumerNodeIDToProvider(nodeID),
+				_ctx.modifyAttributes(consumerEntityIDToProvider(entityID),
 					(ModificationItem [])jndiMods.toArray(new ModificationItem[jndiMods.size()]));
 			}
 			else
@@ -1878,14 +1878,14 @@
 	}
 
 	private BasicAttributes _nodeNotificationToBasicAttributes(
-		NodeNotification[] nodeNotifs) throws IdASException
+		EntityNotification[] nodeNotifs) throws IdASException
 	{
 		BasicAttributes jndiAttrs = new BasicAttributes();
-		jndiAttrs.put(new BasicAttribute("objectClass", nodeNotifs[0].getNode().getNodeType().toString()));
+		jndiAttrs.put(new BasicAttribute("objectClass", nodeNotifs[0].getEntity().getEntityType().toString()));
 
 		for (int iLoop = 0; iLoop < nodeNotifs.length; ++iLoop)
 		{
-			if (nodeNotifs[iLoop].getAction().compareTo(NodeNotification.UPDATE_ATTR_NOTIFY) == 0)
+			if (nodeNotifs[iLoop].getAction().compareTo(EntityNotification.UPDATE_ATTR_NOTIFY) == 0)
 			{
 				AttributeNotification attrNotif = nodeNotifs[iLoop].getAttributeNotification();
 				if (attrNotif.getAction().compareTo(AttributeNotification.UPDATE_VALUE_NOTIFY) == 0)
@@ -1912,7 +1912,7 @@
 						+ attrNotif.getAction());
 				}
 			}
-			else if (nodeNotifs[iLoop].getAction().compareTo(NodeNotification.UPDATE_ADD) != 0)
+			else if (nodeNotifs[iLoop].getAction().compareTo(EntityNotification.UPDATE_ADD) != 0)
 			{
 				throw new IdASException("Unallowed node notification type during node creation: "
 					+ nodeNotifs[iLoop].getAction());
@@ -1922,7 +1922,7 @@
 	}
 
 	private Vector _nodeNotificationToModificationItems(
-		NodeNotification[] nodeNotifs) throws IdASException
+		EntityNotification[] nodeNotifs) throws IdASException
 	{
 		Vector jndiMods = new Vector();
 		_log.debug("Node notifications: " + nodeNotifs.length);
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIContextModel.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIContextModel.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIContextModel.java	(working copy)
@@ -19,7 +19,7 @@
 
 import org.eclipse.higgins.idas.api.IdASException;
 import org.eclipse.higgins.idas.api.model.IContextModel;
-import org.eclipse.higgins.idas.api.model.INodeModel;
+import org.eclipse.higgins.idas.api.model.IEntityModel;
 import org.eclipse.higgins.idas.api.model.IDisplayData;
 import org.eclipse.higgins.idas.api.model.IModel;
 
@@ -53,7 +53,7 @@
 			{
 				try
 				{
-					schemaCtx = _context.getDirContext().getSchema(_context.consumerNodeIDToProvider(_context.getAuthNodeID()));
+					schemaCtx = _context.getDirContext().getSchema(_context.consumerEntityIDToProvider(_context.getAuthNodeID()));
 				}
 				catch (NamingException e2)
 				{
@@ -69,7 +69,7 @@
 		return model;
 	}
 
-	public INodeModel getNodeModel(
+	public IEntityModel getEntityModel(
 		URI nodeType)
 	{
 		// TODO Auto-generated method stub
@@ -76,7 +76,7 @@
 		return null;
 	}
 
-	public Iterator getNodeModels()
+	public Iterator getEntityModels()
 	{
 		// TODO Auto-generated method stub
 		return null;
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIEntity.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIEntity.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDIEntity.java	(working copy)
@@ -25,7 +25,7 @@
 
 import org.apache.log4j.Logger;
 import org.eclipse.higgins.idas.api.IAttribute;
-import org.eclipse.higgins.idas.api.INode;
+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;
@@ -31,8 +31,8 @@
 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.BasicNode;
-import org.eclipse.higgins.idas.spi.INodeContainer;
+import org.eclipse.higgins.idas.spi.BasicEntity;
+import org.eclipse.higgins.idas.spi.IEntityContainer;
 import org.eclipse.higgins.idas.spi.MetadataNotification;
 import org.eclipse.higgins.idas.spi.BasicAttribute;
 import org.eclipse.higgins.idas.spi.BasicAttributeSet;
@@ -37,8 +37,8 @@
 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.NodeNotification;
-import org.eclipse.higgins.idas.api.model.INodeModel;
+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;
@@ -50,15 +50,15 @@
  * 
  */
 
-public class JNDINode extends BasicNode implements INode
+public class JNDIEntity extends BasicEntity implements IEntity
 {
-	private Logger _log = Logger.getLogger(JNDINode.class.getName());
+	private Logger _log = Logger.getLogger(JNDIEntity.class.getName());
 	private JNDIContext _context;
 	private SearchResult _jndiResult;
 	private IAttributePDPs _attrPDPs;
-	private String _nodeID;
+	private String _entityID;
 	private URI _type;
-	private INodeContainer _container;
+	private IEntityContainer _container;
 	private Vector _readListJNDI = new Vector();
 	private boolean _bReadAllJNDI = false;
 	private String _searchBase;
@@ -70,7 +70,7 @@
 	 * @param attrPDPs
 	 * @throws IdASException
 	 */
-	public JNDINode(
+	public JNDIEntity(
 		JNDIContext jndiContext,
 		SearchResult jndiResult,
 		String searchBase,
@@ -88,20 +88,20 @@
 	 * 
 	 * @param jndiContext
 	 * @param type
-	 * @param nodeID
+	 * @param entityID
 	 * @param attrPDPs
 	 * @throws IdASException
 	 */
-	public JNDINode(
+	public JNDIEntity(
 		JNDIContext jndiContext,
 		URI type,
-		String nodeID,
+		String entityID,
 		IAttributePDPs attrPDPs) throws IdASException
 	{
-		super(jndiContext, type, nodeID);
+		super(jndiContext, type, entityID);
 		_context = jndiContext;
 		_container = jndiContext;
-		_nodeID = _context.consumerNodeIDToProvider(nodeID);
+		_entityID = _context.consumerEntityIDToProvider(entityID);
 		_type = type;
 		_attrPDPs = attrPDPs;
 	}
@@ -113,16 +113,16 @@
 	 * @param attrPDPs
 	 * @throws IdASException
 	 */
-	public JNDINode(
+	public JNDIEntity(
 		JNDIContext jndiContext,
-		INode copyFrom,
+		IEntity copyFrom,
 		IAttributePDPs attrPDPs) throws IdASException
 	{
-		super(jndiContext, copyFrom.getNodeType(), copyFrom.getNodeID());
+		super(jndiContext, copyFrom.getEntityType(), copyFrom.getEntityID());
 		_context = jndiContext;
 		_container = jndiContext;
-		_nodeID = _context.consumerNodeIDToProvider(copyFrom.getNodeID());
-		_type = copyFrom.getNodeType();
+		_entityID = _context.consumerEntityIDToProvider(copyFrom.getEntityID());
+		_type = copyFrom.getEntityType();
 		_attrPDPs = attrPDPs;
 	}
 
@@ -159,16 +159,16 @@
 
 	/**
 	 */
-	public String getNodeID() throws IdASException
+	public String getEntityID() throws IdASException
 	{
-		if (_nodeID == null)
+		if (_entityID == null)
 		{
 			if (_jndiResult != null)
-				_nodeID = _context.providerNodeIDToConsumer(_getNameInNamespace(_jndiResult));
+				_entityID = _context.providerEntityIDToConsumer(_getNameInNamespace(_jndiResult));
 			else
 				throw new IdASException("No node ID is set.");
 		}
-		return _nodeID;
+		return _entityID;
 	}
 
 	/**
@@ -173,7 +173,7 @@
 
 	/**
 	 */
-	public URI getNodeType() throws IdASException
+	public URI getEntityType() throws IdASException
 	{
 		if (_type == null)
 		{
@@ -409,7 +409,7 @@
 
 	/**
 	 */
-	public INodeModel getModel() throws IdASException
+	public IEntityModel getModel() throws IdASException
 	{
 		throw new NotImplementedException();
 	}
@@ -418,7 +418,7 @@
 	{
 		if (_container != null)
 		{
-			_container.updateNotification(new NodeNotification(this, NodeNotification.UPDATE_REMOVE,
+			_container.updateNotification(new EntityNotification(this, EntityNotification.UPDATE_REMOVE,
 				null, null));
 		}
 	}
@@ -430,7 +430,7 @@
 		_log.debug("_containter " + ((_container != null) ? _container.toString() : "null"));		
 		if (_container != null)
 		{
-			_container.updateNotification(new NodeNotification(this, NodeNotification.UPDATE_ATTR_NOTIFY,
+			_container.updateNotification(new EntityNotification(this, EntityNotification.UPDATE_ATTR_NOTIFY,
 				attrNotif, null));
 		}
 	}
@@ -440,7 +440,7 @@
 	{
 		if (_container != null)
 		{
-			_container.updateNotification(new NodeNotification(this, NodeNotification.UPDATE_METADATA_NOTIFY,
+			_container.updateNotification(new EntityNotification(this, EntityNotification.UPDATE_METADATA_NOTIFY,
 				null, metaNotif));
 		}
 	}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDINode.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDINode.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi/src/org/eclipse/higgins/idas/cp/jndi/JNDINode.java	(working copy)
@@ -1,448 +0,0 @@
-/**
- * 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.log4j.Logger;
-import org.eclipse.higgins.idas.api.IAttribute;
-import org.eclipse.higgins.idas.api.INode;
-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.BasicNode;
-import org.eclipse.higgins.idas.spi.INodeContainer;
-import org.eclipse.higgins.idas.spi.MetadataNotification;
-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.NodeNotification;
-import org.eclipse.higgins.idas.api.model.INodeModel;
-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 JNDINode extends BasicNode implements INode
-{
-	private Logger _log = Logger.getLogger(JNDINode.class.getName());
-	private JNDIContext _context;
-	private SearchResult _jndiResult;
-	private IAttributePDPs _attrPDPs;
-	private String _nodeID;
-	private URI _type;
-	private INodeContainer _container;
-	private Vector _readListJNDI = new Vector();
-	private boolean _bReadAllJNDI = false;
-	private String _searchBase;
-
-	/**
-	 * 
-	 * @param jndiContext
-	 * @param jndiResult
-	 * @param attrPDPs
-	 * @throws IdASException
-	 */
-	public JNDINode(
-		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 nodeID
-	 * @param attrPDPs
-	 * @throws IdASException
-	 */
-	public JNDINode(
-		JNDIContext jndiContext,
-		URI type,
-		String nodeID,
-		IAttributePDPs attrPDPs) throws IdASException
-	{
-		super(jndiContext, type, nodeID);
-		_context = jndiContext;
-		_container = jndiContext;
-		_nodeID = _context.consumerNodeIDToProvider(nodeID);
-		_type = type;
-		_attrPDPs = attrPDPs;
-	}
-
-	/**
-	 * 
-	 * @param jndiContext
-	 * @param copyFrom
-	 * @param attrPDPs
-	 * @throws IdASException
-	 */
-	public JNDINode(
-		JNDIContext jndiContext,
-		INode copyFrom,
-		IAttributePDPs attrPDPs) throws IdASException
-	{
-		super(jndiContext, copyFrom.getNodeType(), copyFrom.getNodeID());
-		_context = jndiContext;
-		_container = jndiContext;
-		_nodeID = _context.consumerNodeIDToProvider(copyFrom.getNodeID());
-		_type = copyFrom.getNodeType();
-		_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 getNodeID() throws IdASException
-	{
-		if (_nodeID == null)
-		{
-			if (_jndiResult != null)
-				_nodeID = _context.providerNodeIDToConsumer(_getNameInNamespace(_jndiResult));
-			else
-				throw new IdASException("No node ID is set.");
-		}
-		return _nodeID;
-	}
-
-	/**
-	 */
-	public URI getNodeType() throws IdASException
-	{
-		if (_type == null)
-		{
-			if (_jndiResult != null)
-				_type = _context.getSearchResultType(_jndiResult);
-			else
-				throw new IdASException("No node 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 INodeModel getModel() throws IdASException
-	{
-		throw new NotImplementedException();
-	}
-
-	public void remove() throws IdASException
-	{
-		if (_container != null)
-		{
-			_container.updateNotification(new NodeNotification(this, NodeNotification.UPDATE_REMOVE,
-				null, 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 NodeNotification(this, NodeNotification.UPDATE_ATTR_NOTIFY,
-				attrNotif, null));
-		}
-	}
-
-	public void updateNotification(
-		MetadataNotification metaNotif) throws IdASException
-	{
-		if (_container != null)
-		{
-			_container.updateNotification(new NodeNotification(this, NodeNotification.UPDATE_METADATA_NOTIFY,
-				null, metaNotif));
-		}
-	}
-
-}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi.test/src/org/eclipse/higgins/idas/cp/jndi/test/JNDICPTest.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi.test/src/org/eclipse/higgins/idas/cp/jndi/test/JNDICPTest.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi.test/src/org/eclipse/higgins/idas/cp/jndi/test/JNDICPTest.java	(working copy)
@@ -25,7 +25,7 @@
 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.INode;
+import org.eclipse.higgins.idas.api.IEntity;
 import org.eclipse.higgins.idas.api.IFilter;
 import org.eclipse.higgins.idas.api.IFilterAttributeAssertion;
 import org.eclipse.higgins.idas.api.IAttributeValue;
@@ -82,10 +82,10 @@
 			IContextFactory factory = _registry.getContextFactory(contextId);
 			IContext context = factory.createContext(contextId);
 			assertNotNull(context);
-			String nodeID = context.open(new AuthNNamePasswordMaterials(context,
+			String entityID = context.open(new AuthNNamePasswordMaterials(context,
 				"cn=admin,o=bandit", "admin"));
 
-			_displayNodeInfo(context.getNode(nodeID));
+			_displayEntityInfo(context.getEntity(entityID));
 
 		}
 		catch (Exception e)
@@ -109,9 +109,9 @@
 	 */
 	public void testCreateNode()
 	{
-		String nodeIDIn = "cn=test,o=higgins";
+		String entityIDIn = "cn=test,o=higgins";
 		IContext context = null;
-		INode ds = null;
+		IEntity ds = null;
 		try
 		{
 			context = _registry.createContext("testcontext2.xrds");
@@ -119,8 +119,8 @@
 			context.open(new AuthNNamePasswordMaterials(context, "cn=admin,o=bandit",
 				"admin"));
 
-			ds = _createPerson(context, nodeIDIn);
-			assertEquals(nodeIDIn, ds.getNodeID());
+			ds = _createPerson(context, entityIDIn);
+			assertEquals(entityIDIn, ds.getEntityID());
 		}
 		catch (IdASException e)
 		{
@@ -156,9 +156,9 @@
 	 */
 	public void testUpdateNode()
 	{
-		String nodeIDIn = "cn=test,o=higgins";
+		String entityIDIn = "cn=test,o=higgins";
 		IContext context = null;
-		INode ds = null;
+		IEntity ds = null;
 		try
 		{
 			context = _registry.createContext("testcontext2.xrds");
@@ -166,7 +166,7 @@
 			context.open(new AuthNNamePasswordMaterials(context, "cn=admin,o=bandit",
 				"admin"));
 
-			ds = _createPerson(context, nodeIDIn);
+			ds = _createPerson(context, entityIDIn);
 			// TODO - a "replace" operation sure got ugly when we have to explicity
 			// add and remove attributes by removing all old values then adding the
 			// new value.
@@ -271,7 +271,7 @@
 		String NodeIDIn = "cn=test,o=higgins";
 		URI descURI = URI.create("description");
 		IContext context = null;
-		INode ds = null;
+		IEntity ds = null;
 		try
 		{
 			context = _registry.createContext("testcontext2.xrds");
@@ -327,10 +327,10 @@
 	 */
 	public void testNode_removeAttributeValue_URI_Object()
 	{
-		String nodeIDIn = "cn=test,o=higgins";
+		String entityIDIn = "cn=test,o=higgins";
 		URI descURI = URI.create("description");
 		IContext context = null;
-		INode ds = null;
+		IEntity ds = null;
 		try
 		{
 			context = _registry.createContext("testcontext2.xrds");
@@ -338,7 +338,7 @@
 			context.open(new AuthNNamePasswordMaterials(context, "cn=admin,o=bandit",
 				"admin"));
 
-			ds = _createPerson(context, nodeIDIn);
+			ds = _createPerson(context, entityIDIn);
 
 			ds.removeAttributeValue(descURI, "description 1");
 			context.applyUpdates();
@@ -387,10 +387,10 @@
 	 */
 	public void testNode_removeAttribute_URI()
 	{
-		String nodeIDIn = "cn=test,o=higgins";
+		String entityIDIn = "cn=test,o=higgins";
 		URI descURI = URI.create("description");
 		IContext context = null;
-		INode ds = null;
+		IEntity ds = null;
 		try
 		{
 			context = _registry.createContext("testcontext2.xrds");
@@ -398,7 +398,7 @@
 			context.open(new AuthNNamePasswordMaterials(context, "cn=admin,o=bandit",
 				"admin"));
 
-			ds = _createPerson(context, nodeIDIn);
+			ds = _createPerson(context, entityIDIn);
 
 			ds.removeAttribute(descURI);
 			context.applyUpdates();
@@ -442,7 +442,7 @@
 	{
 		String testNode = "cn=testSetPassword,o=higgins";
 		IContext context = null;
-		INode ds = null;
+		IEntity ds = null;
 		AuthNNamePasswordMaterials namePW;
 
 		try
@@ -496,7 +496,7 @@
 	{
 		String testNode = "cn=test,o=higgins";
 		IContext context = null;
-		INode ds = null;
+		IEntity ds = null;
 		AuthNNamePasswordMaterials namePW;
 		try
 		{
@@ -524,7 +524,7 @@
 			context.open(namePW);
 
 			// print out the attr just for fun
-			ds = context.getNode(testNode);
+			ds = context.getEntity(testNode);
 			pwAttr = ds.getAttribute(namePW.getManagedAttrID());
 			Iterator iter = pwAttr.getValues();
 			while (iter.hasNext())
@@ -586,12 +586,12 @@
 			filter.setAssertion(attrAssertion);
 
 			Iterator nodeIter;
-			nodeIter = context.getNodes(filter);
+			nodeIter = context.getEntities(filter);
 			while (nodeIter.hasNext())
 			{
-				INode node = (INode) nodeIter.next();
+				IEntity entity = (IEntity) nodeIter.next();
 				System.out.println("results from testSearchEMail");
-				_displayNodeInfo(node);
+				_displayEntityInfo(entity);
 			}
 
 		}
@@ -611,7 +611,7 @@
 	 * Helper method to create a person for testing
 	 * 
 	 * @param context
-	 * @param nodeID
+	 * @param entityID
 	 * @return
 	 * @throws IdASException
 	 * @throws URISyntaxException
@@ -616,12 +616,12 @@
 	 * @throws IdASException
 	 * @throws URISyntaxException
 	 */
-	private INode _createPerson(
+	private IEntity _createPerson(
 		IContext context,
-		String nodeID) throws IdASException, URISyntaxException
+		String entityID) throws IdASException, URISyntaxException
 	{
 		IAttribute attr;
-		INode ds = context.addNode(new URI("person"), nodeID);
+		IEntity ds = context.addEntity(new URI("person"), entityID);
 		attr = ds.addAttribute(new URI("sn"));
 		attr.addSimpleValue(ISimpleAttrValue.STRING_TYPE_URI, "surname");
 		attr = ds.addAttribute(new URI("cn"));
@@ -711,11 +711,11 @@
 			filter.addFilter(cnFilter);
 
 			Iterator nodeIter;
-			nodeIter = context.getNodes(filter);
+			nodeIter = context.getEntities(filter);
 			while (nodeIter.hasNext())
 			{
-				INode node = (INode) nodeIter.next();
-				_displayNodeInfo(node);
+				IEntity entity = (IEntity) nodeIter.next();
+				_displayEntityInfo(entity);
 			}
 
 			Vector attrs = new Vector();
@@ -724,9 +724,9 @@
 			attrs
 				.add(new URI(
 					"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier";));
-			INode node = context.getNode("cn=tdoman,ou=people,o=bandit",
+			IEntity entity = context.getEntity("cn=tdoman,ou=people,o=bandit",
 				attrs.iterator());
-			_displayNodeInfo(node);
+			_displayEntityInfo(entity);
 
 			FileWriter owlFile = new FileWriter("test.owl");
 			owlFile.write(context.getSchema());
@@ -751,12 +751,12 @@
 		}
 	}
 
-	private void _displayNodeInfo(
-		INode node) throws IdASException
+	private void _displayEntityInfo(
+		IEntity entity) throws IdASException
 	{
-		Iterator attrIter = node.getAttributes();
-		System.out.println(node.getNodeID());
-		System.out.println(node.getNodeType());
+		Iterator attrIter = entity.getAttributes();
+		System.out.println(entity.getEntityID());
+		System.out.println(entity.getEntityType());
 
 		while (attrIter.hasNext())
 		{
@@ -797,12 +797,12 @@
 		{
 			selfIssuedAuthNMaterials = new AuthNSelfIssuedMaterials(context, ppid, modulus,
 				exponent);
-			String nodeID = context.open(selfIssuedAuthNMaterials);
-			if (nodeID != null)
-				System.out.println("Node ID from context open: " + nodeID);
+			String entityID = context.open(selfIssuedAuthNMaterials);
+			if (entityID != null)
+				System.out.println("Node ID from context open: " + entityID);
 			else
 				System.out.println("Node ID not found.");
-			assertEquals("dsanders", nodeID);
+			assertEquals("dsanders", entityID);
 		}
 		catch (IdASException e)
 		{
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi.test/TestConfiguration1.xml
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi.test/TestConfiguration1.xml	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi.test/TestConfiguration1.xml	(working copy)
@@ -135,7 +135,7 @@
 									RESULT = map;
 								]]>
 							</Setting>
-							<Setting Name="consumerNodeTypeToProvider" Type="htf:jscriptexec">
+							<Setting Name="consumerEntityTypeToProvider" Type="htf:jscriptexec">
 								<![CDATA[
 									var re = new RegExp("^http://www.eclipse.org/higgins/ontologies/2006/higgins/ldap#class_";, "i");
 									RESULT = String(consumerType.toString()).replace(re, "");
@@ -141,7 +141,7 @@
 									RESULT = String(consumerType.toString()).replace(re, "");
 								]]>
 							</Setting>
-							<Setting Name="providerNodeTypeToConsumer" Type="htf:jscriptexec">
+							<Setting Name="providerEntityTypeToConsumer" Type="htf:jscriptexec">
 								<![CDATA[
 									RESULT = "http://www.eclipse.org/higgins/ontologies/2006/higgins/ldap#class_"; + String(providerType.toString());
 								]]>
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi.test/testcontext1.xrds
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi.test/testcontext1.xrds	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi.test/testcontext1.xrds	(working copy)
@@ -104,7 +104,7 @@
 								}
 							]]>
 						</Setting>
-						<Setting Name="consumerNodeIDToProvider" Type="htf:jscriptexec">
+						<Setting Name="consumerEntityIDToProvider" Type="htf:jscriptexec">
 							<![CDATA[
 								RESULT = "cn=" + consumerID + ",ou=people,dc=wag,dc=bandit-project,dc=org"
 							]]>
@@ -109,7 +109,7 @@
 								RESULT = "cn=" + consumerID + ",ou=people,dc=wag,dc=bandit-project,dc=org"
 							]]>
 						</Setting>
-						<Setting Name="providerNodeIDToConsumer" Type="htf:jscriptexec">
+						<Setting Name="providerEntityIDToConsumer" Type="htf:jscriptexec">
 							<![CDATA[
 								var re = new RegExp("^cn=(.*),ou=people,dc=wag,dc=bandit-project,dc=org$", "i");
 								RESULT = String(providerID.toString()).replace(re, "$1");
@@ -134,7 +134,7 @@
 								RESULT = map;
 							]]>
 						</Setting>
-						<Setting Name="consumerNodeTypeToProvider" Type="htf:jscriptexec">
+						<Setting Name="consumerEntityTypeToProvider" Type="htf:jscriptexec">
 							<![CDATA[
 								var re = new RegExp("^http://www.eclipse.org/higgins/ontologies/2006/higgins/ldap#class_";, "i");
 								RESULT = String(consumerType.toString()).replace(re, "");
@@ -140,7 +140,7 @@
 								RESULT = String(consumerType.toString()).replace(re, "");
 							]]>
 						</Setting>
-						<Setting Name="providerNodeTypeToConsumer" Type="htf:jscriptexec">
+						<Setting Name="providerEntityTypeToConsumer" Type="htf:jscriptexec">
 							<![CDATA[
 								RESULT = "http://www.eclipse.org/higgins/ontologies/2006/higgins/ldap#class_"+String(providerType.toString());
 							]]>
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi.test/testcontext2.xrds
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi.test/testcontext2.xrds	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jndi.test/testcontext2.xrds	(working copy)
@@ -120,7 +120,7 @@
 								RESULT = map;
 							]]>
 						</Setting>
-						<Setting Name="consumerNodeTypeToProvider" Type="htf:jscriptexec">
+						<Setting Name="consumerEntityTypeToProvider" Type="htf:jscriptexec">
 							<![CDATA[
 								var re = new RegExp("^http://www.eclipse.org/higgins/ontologies/2006/higgins/ldap#class_";, "i");
 								RESULT = String(consumerType.toString()).replace(re, "");
@@ -126,7 +126,7 @@
 								RESULT = String(consumerType.toString()).replace(re, "");
 							]]>
 						</Setting>
-						<Setting Name="providerNodeTypeToConsumer" Type="htf:jscriptexec">
+						<Setting Name="providerEntityTypeToConsumer" Type="htf:jscriptexec">
 							<![CDATA[
 								RESULT = "http://www.eclipse.org/higgins/ontologies/2006/higgins/ldap#class_"; + String(providerType.toString());
 							]]>
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jspolicy/src/org/eclipse/higgins/idas/cp/jspolicy/JSPolicyContext.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jspolicy/src/org/eclipse/higgins/idas/cp/jspolicy/JSPolicyContext.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jspolicy/src/org/eclipse/higgins/idas/cp/jspolicy/JSPolicyContext.java	(working copy)
@@ -30,14 +30,14 @@
 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.INode;
+import org.eclipse.higgins.idas.api.IEntity;
 import org.eclipse.higgins.idas.api.IFilter;
 import org.eclipse.higgins.idas.api.IMetadata;
 import org.eclipse.higgins.idas.api.IdASException;
-import org.eclipse.higgins.idas.api.InvalidNodeIDException;
+import org.eclipse.higgins.idas.api.InvalidEntityIDException;
 import org.eclipse.higgins.idas.api.InvalidTypeException;
 import org.eclipse.higgins.idas.api.NotImplementedException;
-import org.eclipse.higgins.idas.api.NodeExistsException;
+import org.eclipse.higgins.idas.api.EntityExistsException;
 import org.eclipse.higgins.idas.registry.IdASRegistry;
 import org.eclipse.higgins.idas.spi.BasicContext;
 import org.eclipse.higgins.idas.api.model.IContextModel;
@@ -55,7 +55,7 @@
  * code currently supports JavaScript PDPs at the following points:
  * 
  * <UL>
- * <li>{@link #getNode(String nodeID)}, and
+ * <li>{@link #getNode(String entityID)}, and
  * {@link #getNode(java.lang.String, java.util.Iterator)} calls allow node IDs
  * to be mapped from stored (provider) values to what is presented by consumers of
  * this Context Provider.</li>
@@ -86,7 +86,7 @@
 	 * {@link #genericResultName} is the new Node ID.
 	 * <p>
 	 * To avoid problems it is recomended that the reverse mapping also be
-	 * defined using the id {@link #providerNodeIDToConsumer}
+	 * defined using the id {@link #providerEntityIDToConsumer}
 	 * <p>
 	 * A simple nonsensical sample where the provider Node IDs all start with the
 	 * letters 'vc' and those are replaced by the letters 'js':
@@ -93,11 +93,11 @@
 	 * 
 	 * <pre>
 	 *  
-	 * 		&lt;JSPolicyAction id=&quot;consumerNodeIDToProvider&quot; evalType=&quot;javascript&quot;&gt;
+	 * 		&lt;JSPolicyAction id=&quot;consumerEntityIDToProvider&quot; evalType=&quot;javascript&quot;&gt;
 	 * 			var re = new RegExp(&quot;&circ;js&quot;, &quot;g&quot;);
 	 * 			RESULT = consumerID.replace(re, &quot;vc&quot;);
 	 * 		&lt;/JSPolicyAction&gt;
-	 * 		&lt;JSPolicyAction id=&quot;providerNodeIDToConsumer&quot; evalType=&quot;javascript&quot;&gt;
+	 * 		&lt;JSPolicyAction id=&quot;providerEntityIDToConsumer&quot; evalType=&quot;javascript&quot;&gt;
 	 * 			var re = new RegExp(&quot;&circ;vc&quot;, &quot;g&quot;);
 	 * 			RESULT = consumerID.replace(re, &quot;js&quot;);
 	 * 		&lt;/JSPolicyAction&gt;
@@ -103,7 +103,7 @@
 	 * 		&lt;/JSPolicyAction&gt;
 	 * </pre>
 	 */
-	public static final String consumerNodeIDToProvider = "consumerNodeIDToProvider";
+	public static final String consumerEntityIDToProvider = "consumerEntityIDToProvider";
 
 	/**
 	 * Identifier used in the <code>id</code> attribute of a
@@ -109,13 +109,13 @@
 	 * Identifier used in the <code>id</code> attribute of a
 	 * <code>JSPolicyAction</code> element to specify the mapping performed on
 	 * Node IDs as they are returned from the real context provider to this context
-	 * provider. The inverse of this mapping is {@link #consumerNodeIDToProvider}
+	 * provider. The inverse of this mapping is {@link #consumerEntityIDToProvider}
 	 */
-	public static final String providerNodeIDToConsumer = "providerNodeIDToConsumer";
+	public static final String providerEntityIDToConsumer = "providerEntityIDToConsumer";
 
 	/* cached PDP for the above named functions */
-	private JScriptExec _consumerNodeIDToProviderExec;
-	private JScriptExec _providerNodeIDToConsumerExec;
+	private JScriptExec _consumerEntityIDToProviderExec;
+	private JScriptExec _providerEntityIDToConsumerExec;
 
 	/**
 	 * Identifier used in the <code>id</code> attribute of a
@@ -121,7 +121,7 @@
 	 * Identifier used in the <code>id</code> attribute of a
 	 * <code>JSPolicyAction</code> element to specify the mapping performed on
 	 * Metadata ID passed to this context provider before being passed to the
-	 * real context provider.  Applies to metadata on Nodes, Attributes, and
+	 * real context provider.  Applies to metadata on Entities, Attributes, and
 	 * Attribute Values.  
 	 * <p>
 	 * @see org.eclipse.higgins.util.idas.cp.jscript.JScriptCPMetadataPDPs#consumerIDToProvider
@@ -208,7 +208,7 @@
 	 * {@link #genericResultName} is the new Node Type.
 	 * <p>
 	 * To avoid problems it is recomended that the reverse mapping also be
-	 * defined using the id {@link #providerNodeTypeToConsumer}
+	 * defined using the id {@link #providerEntityTypeToConsumer}
 	 * <p>
 	 * 
 	 * A simple nonsensical sample where the provider Node Type mappings
@@ -217,10 +217,10 @@
 	 * 
 	 * <pre>
 	 *  
-	 * 		&lt;JSPolicyAction id=&quot;consumerNodeTypeToProvider&quot; evalType=&quot;javascript&quot;&gt;
+	 * 		&lt;JSPolicyAction id=&quot;consumerEntityTypeToProvider&quot; evalType=&quot;javascript&quot;&gt;
 	 * 			RESULT = multimap.consumer[String(PARAM.toString())];
 	 * 		&lt;/JSPolicyAction&gt;
-	 * 		&lt;JSPolicyAction id=&quot;providerNodeTypeToConsumer&quot; evalType=&quot;javascript&quot;&gt;
+	 * 		&lt;JSPolicyAction id=&quot;providerEntityTypeToConsumer&quot; evalType=&quot;javascript&quot;&gt;
 	 * 			RESULT = multimap.provider[String(PARAM.toString())];
 	 * 		&lt;/JSPolicyAction&gt;
 	 * </pre>
@@ -231,7 +231,7 @@
 	 * those? The internal code is already fully instrumented for the addtional
 	 * PDPs.
 	 */
-	public static final String consumerNodeTypeToProvider = "consumerNodeTypeToProvider";
+	public static final String consumerEntityTypeToProvider = "consumerEntityTypeToProvider";
 
 	/**
 	 * Identifier used in the <code>id</code> attribute of a
@@ -238,13 +238,13 @@
 	 * <code>JSPolicyAction</code> element to specify the mapping performed on
 	 * Node Types as they are returned from the real context provider
 	 * to this context provider. The inverse of this mapping is
-	 * {@link #consumerNodeTypeToProvider}
+	 * {@link #consumerEntityTypeToProvider}
 	 */
-	public static final String providerNodeTypeToConsumer = "providerNodeTypeToConsumer";
+	public static final String providerEntityTypeToConsumer = "providerEntityTypeToConsumer";
 
 	/* cached PDP for the above named functions */
-	private JScriptExec _consumerNodeTypeToProviderExec;
-	private JScriptExec _providerNodeTypeToConsumerExec;
+	private JScriptExec _consumerEntityTypeToProviderExec;
+	private JScriptExec _providerEntityTypeToConsumerExec;
 
 	/**
 	 * Identifier used in the <code>id</code> attribute of a
@@ -265,11 +265,11 @@
 	 * 
 	 * A simple nonsensical sample where the for anything which is Node ID the same
 	 * mappings is preformed as noted in the sample for
-	 * {@link #consumerNodeTypeToProvider}
+	 * {@link #consumerEntityTypeToProvider}
 	 * 
 	 * <pre>
 	 *  
-	 * 		&lt;JSPolicyAction id=&quot;consumerNodeTypeToProvider&quot; evalType=&quot;javascript&quot;&gt;
+	 * 		&lt;JSPolicyAction id=&quot;consumerEntityTypeToProvider&quot; evalType=&quot;javascript&quot;&gt;
 	 * 			importPackage(Packages.org.eclipse.higgins.idas);
 	 * 			importPackage(Packages.org.eclipse.higgins.idas.impl);
 	 * 
@@ -312,7 +312,7 @@
 	 * 
 	 * A simple nonsensical sample where the for anything which is Node ID the same
 	 * mappings is preformed as noted in the sample for
-	 * {@link #consumerNodeTypeToProvider}
+	 * {@link #consumerEntityTypeToProvider}
 	 * 
 	 * <pre>
 	 *  
@@ -494,11 +494,11 @@
 		Map jsPolicySettings = (Map)_contextSettings.get("JSPolicyAction");
 		if (jsPolicySettings != null)
 		{
-			_consumerNodeIDToProviderExec = (JScriptExec)jsPolicySettings.get(consumerNodeIDToProvider);
-			_providerNodeIDToConsumerExec = (JScriptExec)jsPolicySettings.get(providerNodeIDToConsumer);
+			_consumerEntityIDToProviderExec = (JScriptExec)jsPolicySettings.get(consumerEntityIDToProvider);
+			_providerEntityIDToConsumerExec = (JScriptExec)jsPolicySettings.get(providerEntityIDToConsumer);
 
-			_consumerNodeTypeToProviderExec = (JScriptExec)jsPolicySettings.get(consumerNodeTypeToProvider);
-			_providerNodeTypeToConsumerExec = (JScriptExec)jsPolicySettings.get(providerNodeTypeToConsumer);
+			_consumerEntityTypeToProviderExec = (JScriptExec)jsPolicySettings.get(consumerEntityTypeToProvider);
+			_providerEntityTypeToConsumerExec = (JScriptExec)jsPolicySettings.get(providerEntityTypeToConsumer);
 
 			_consumerOpenContextRefToProviderExec = (JScriptExec)jsPolicySettings.get(consumerOpenContextRefToProvider);
 			_getSchemaExec = (JScriptExec)jsPolicySettings.get(getSchema);
@@ -542,7 +542,7 @@
 	public String open(
 		Object identity) throws IdASException
 	{
-		String nodeID = null;
+		String entityID = null;
 
 		if (_bIsOpen)
 			throw new ContextOpenException();
@@ -596,9 +596,9 @@
 				}
 				// open the real Context Provider
 				if (newIdentity != null)
-					nodeID = providerNodeIDToConsumer(_providerContext.open(newIdentity));
+					entityID = providerEntityIDToConsumer(_providerContext.open(newIdentity));
 				else
-					nodeID = providerNodeIDToConsumer(_providerContext.open(identity));
+					entityID = providerEntityIDToConsumer(_providerContext.open(identity));
 			}
 			catch (Exception e)
 			{
@@ -609,7 +609,7 @@
 
 		_bIsOpen = true;
 
-		return nodeID;
+		return entityID;
 	}
 
 	/**
@@ -646,7 +646,7 @@
 	 * by inserting JavaScript into the configuration file.
 	 * 
 	 * The PDP described by
-	 * {@link org.eclipse.higgins.idas.cp.jspolicy.JSPolicyContext#consumerNodeTypeToProvider}
+	 * {@link org.eclipse.higgins.idas.cp.jspolicy.JSPolicyContext#consumerEntityTypeToProvider}
 	 * contains the type mappings performed on the Node ID, the PDP described by
 	 * {@link org.eclipse.higgins.idas.cp.jspolicy.JSPolicyContext#consumerMTypeToProvider}
 	 * describes the mappings performed on the attribute types. <p> TODO: Attrs
@@ -654,11 +654,11 @@
 	 * possible that both the generated and the real attribute should be returned
 	 * if passed in a selection list.
 	 * 
-	 * @see org.eclipse.higgins.idas.api.IContext#getNode(java.lang.String,
+	 * @see org.eclipse.higgins.idas.api.IContext#getEntity(java.lang.String,
 	 *      java.util.Iterator)
 	 */
-	public INode getNode(
-		String nodeID,
+	public IEntity getNode(
+		String entityID,
 		Iterator consumerSelectionList) throws IdASException
 	{
 		if (!_bIsOpen || _providerContext == null)
@@ -706,17 +706,17 @@
 		}
 
 		return new JSPolicyNode(_dsMetadataPDPs,  _attributePDP, _attributeMetadataPDP,
-				_attributeMetadataPDP, this, _providerContext.getNode(consumerNodeIDToProvider(nodeID),
-				(providerSelectionList != null) ? providerSelectionList.iterator() : null), nodeID, null);
+				_attributeMetadataPDP, this, _providerContext.getEntity(consumerEntityIDToProvider(entityID),
+				(providerSelectionList != null) ? providerSelectionList.iterator() : null), entityID, null);
 	}
 
 	/**
-	 * @see org.eclipse.higgins.idas.api.IContext#getNode(java.lang.String)
+	 * @see org.eclipse.higgins.idas.api.IContext#getEntity(java.lang.String)
 	 */
-	public INode getNode(
-		String nodeID) throws IdASException
+	public IEntity getNode(
+		String entityID) throws IdASException
 	{
-		return getNode(nodeID, null);
+		return getNode(entityID, null);
 	}
 	
 	/**
@@ -725,14 +725,14 @@
 	 * Context Provider to types and values for storage.
 	 * 
 	 * The PDP described by
-	 * {@link org.eclipse.higgins.idas.cp.jspolicy.JSPolicyContext#consumerNodeTypeToProvider}
+	 * {@link org.eclipse.higgins.idas.cp.jspolicy.JSPolicyContext#consumerEntityTypeToProvider}
 	 * contains the type mappings performed on the Subjec type, the PDP described by
-	 * {@link org.eclipse.higgins.idas.cp.jspolicy.JSPolicyContext#consumerNodeIDToProvider}
+	 * {@link org.eclipse.higgins.idas.cp.jspolicy.JSPolicyContext#consumerEntityIDToProvider}
 	 * describes the mappings performed on the Node ID.
 	 * 
 	 */
-	public INode addNode(URI nodeType, String nodeID) 
-		throws IdASException, InvalidTypeException, InvalidNodeIDException, NodeExistsException 
+	public IEntity addNode(URI nodeType, String entityID) 
+		throws IdASException, InvalidTypeException, InvalidEntityIDException, EntityExistsException 
 	{
 		if (!_bIsOpen || _providerContext == null)
 			throw new ContextNotOpenException();
@@ -737,12 +737,12 @@
 		if (!_bIsOpen || _providerContext == null)
 			throw new ContextNotOpenException();
 
-		INode providerDS = _providerContext.addNode(
-				consumerNodeTypeToProvider(nodeType), consumerNodeIDToProvider(nodeID));
+		IEntity providerDS = _providerContext.addEntity(
+				consumerEntityTypeToProvider(nodeType), consumerEntityIDToProvider(entityID));
 		
 		return new JSPolicyNode(	_dsMetadataPDPs,  
 				_attributePDP, _attributeMetadataPDP, _attributeMetadataPDP,
-				this, providerDS, nodeID, nodeType);
+				this, providerDS, entityID, nodeType);
 	}
 
 	/**
@@ -753,9 +753,9 @@
 	 * Context Provider to types and values for storage.
 	 * 
 	 * The PDP described by
-	 * {@link org.eclipse.higgins.idas.cp.jspolicy.JSPolicyContext#consumerNodeTypeToProvider}
+	 * {@link org.eclipse.higgins.idas.cp.jspolicy.JSPolicyContext#consumerEntityTypeToProvider}
 	 * contains the type mappings performed on the Node type, the PDP described by
-	 * {@link org.eclipse.higgins.idas.cp.jspolicy.JSPolicyContext#consumerNodeIDToProvider}
+	 * {@link org.eclipse.higgins.idas.cp.jspolicy.JSPolicyContext#consumerEntityIDToProvider}
 	 * describes the mappings performed on the Node ID.  the PDP described by
 	 * {@link org.eclipse.higgins.idas.cp.jspolicy.JSPolicyContext#consumerATypeToProvider}
 	 * describes the mappings performed on the attribute types. The PDP described
@@ -764,10 +764,10 @@
 	 * describes the value mappings which will occur. <p>
 	 * 
 	 */
-	public INode addNode(INode copyFrom) throws IdASException, NodeExistsException 
+	public IEntity addNode(IEntity copyFrom) throws IdASException, EntityExistsException 
 	{
 		JSPolicyNode consumerDS = (JSPolicyNode)this.addNode(
-						copyFrom.getNodeType(), copyFrom.getNodeID());
+						copyFrom.getEntityType(), copyFrom.getEntityID());
 
 		/* deep copy of attributes */
 		Iterator itr = copyFrom.getAttributes();
@@ -910,12 +910,12 @@
 	/**
 	 * TODO implement this function
 	 * 
-	 * @see org.eclipse.higgins.idas.api.IContext#getNodes(org.eclipse.higgins.idas.api.IFilter)
+	 * @see org.eclipse.higgins.idas.api.IContext#getEntities(org.eclipse.higgins.idas.api.IFilter)
 	 */
-	public Iterator getNodes(
+	public Iterator getEntities(
 		IFilter filter) throws IdASException
 	{
-		return getNodes(filter, null);
+		return getEntities(filter, null);
 	}
 
 	/**
@@ -921,10 +921,10 @@
 	/**
 	 * TODO implement this function
 	 * 
-	 * @see org.eclipse.higgins.idas.api.IContext#getNodes(org.eclipse.higgins.idas.api.IFilter,
+	 * @see org.eclipse.higgins.idas.api.IContext#getEntities(org.eclipse.higgins.idas.api.IFilter,
 	 *      java.util.Iterator)
 	 */
-	public Iterator getNodes(
+	public Iterator getEntities(
 		IFilter filter,
 		Iterator consumerSelectionList) throws IdASException		
 	{
@@ -935,11 +935,11 @@
 	}
 
 	/**
-	 * @see org.eclipse.higgins.idas.api.IContext#verifyNodeAttributes(java.lang.String,
+	 * @see org.eclipse.higgins.idas.api.IContext#verifyEntityAttributes(java.lang.String,
 	 *      java.util.Iterator)
 	 */
-	public boolean verifyNodeAttributes(
-		String nodeID,
+	public boolean verifyEntityAttributes(
+		String entityID,
 		Iterator attributes) throws IdASException
 	{
 		if (!_bIsOpen)
@@ -945,7 +945,7 @@
 		if (!_bIsOpen)
 			throw new ContextNotOpenException();
 	
-		return _providerContext.verifyNodeAttributes(consumerNodeIDToProvider(nodeID),
+		return _providerContext.verifyEntityAttributes(consumerEntityIDToProvider(entityID),
 			new BasicAttributePDPIter(_attributePDP, _attributeMetadataPDP,
 					_attributeValueMetadataPDP, attributes, false));
 	}
@@ -966,13 +966,13 @@
 
 	/**
 	 */
-	protected String consumerNodeIDToProvider(
-		String nodeID) throws IdASException
+	protected String consumerEntityIDToProvider(
+		String entityID) throws IdASException
 	{
 		try
 		{
-			return JScriptExecHelper.transformString(_consumerNodeIDToProviderExec,
-					consumerIDParamName, nodeID);
+			return JScriptExecHelper.transformString(_consumerEntityIDToProviderExec,
+					consumerIDParamName, entityID);
 		}
 		catch (JScriptException e)
 		{
@@ -982,13 +982,13 @@
 
 	/**
 	 */
-	protected String providerNodeIDToConsumer(
-		String nodeID) throws IdASException
+	protected String providerEntityIDToConsumer(
+		String entityID) throws IdASException
 	{
 		try
 		{
-			return JScriptExecHelper.transformString(_providerNodeIDToConsumerExec,
-					providerIDParamName, nodeID);
+			return JScriptExecHelper.transformString(_providerEntityIDToConsumerExec,
+					providerIDParamName, entityID);
 		}
 		catch (JScriptException e)
 		{
@@ -998,7 +998,7 @@
 
 	/**
 	 */
-	protected URI consumerNodeTypeToProvider(
+	protected URI consumerEntityTypeToProvider(
 		URI type) throws IdASException
 	{
 		try
@@ -1003,7 +1003,7 @@
 	{
 		try
 		{
-			return JScriptExecHelper.transformURI(_consumerNodeTypeToProviderExec,
+			return JScriptExecHelper.transformURI(_consumerEntityTypeToProviderExec,
 					consumerTypeParamName, type);
 		}
 		catch (JScriptException e)
@@ -1014,7 +1014,7 @@
 
 	/**
 	 */
-	protected URI providerNodeTypeToConsumer(
+	protected URI providerEntityTypeToConsumer(
 		URI type) throws IdASException
 	{
 		try
@@ -1019,7 +1019,7 @@
 	{
 		try
 		{
-			return JScriptExecHelper.transformURI(_providerNodeTypeToConsumerExec,
+			return JScriptExecHelper.transformURI(_providerEntityTypeToConsumerExec,
 					providerTypeParamName, type);
 		}
 		catch (JScriptException e)
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jspolicy/src/org/eclipse/higgins/idas/cp/jspolicy/JSPolicyNode.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jspolicy/src/org/eclipse/higgins/idas/cp/jspolicy/JSPolicyNode.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jspolicy/src/org/eclipse/higgins/idas/cp/jspolicy/JSPolicyNode.java	(working copy)
@@ -19,7 +19,7 @@
 
 import org.eclipse.higgins.idas.api.IAttribute;
 import org.eclipse.higgins.idas.api.IContext;
-import org.eclipse.higgins.idas.api.INode;
+import org.eclipse.higgins.idas.api.IEntity;
 import org.eclipse.higgins.idas.api.IHasAttributes;
 import org.eclipse.higgins.idas.api.IHasMetadata;
 import org.eclipse.higgins.idas.api.IMetadata;
@@ -28,7 +28,7 @@
 import org.eclipse.higgins.idas.api.InvalidTypeException;
 import org.eclipse.higgins.idas.api.NotImplementedException;
 import org.eclipse.higgins.idas.api.NotSingleValuedAttributeException;
-import org.eclipse.higgins.idas.api.model.INodeModel;
+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.MetadataPDPIter;
@@ -42,9 +42,9 @@
  * code currently supports JavaScript PDPs at the following points:
  * 
  * <UL>
- * <li>{@link #getNodeID()} Node IDs may be mapped from stored (real) values to
+ * <li>{@link #getEntityID()} Node IDs may be mapped from stored (real) values to
  * what is presented by consumers of this Context Provider.</li>
- * <li>{@link #getNodeType()} Node types may be mapped from stored
+ * <li>{@link #getEntityType()} Node types may be mapped from stored
  * (real) values to what is presented by consumers of this Context Provider.</li>
   * </UL>
  * 
@@ -57,10 +57,10 @@
  * @author tdoman@xxxxxxxxxx
  */
 
-public class JSPolicyNode implements INode, IHasMetadata
+public class JSPolicyNode implements IEntity, IHasMetadata
 {
 	private JSPolicyContext _policyContext;
-	private INode _providerNode;
+	private IEntity _providerEntity;
 	private String _uniqueID;
 	private URI _type;
 	private JScriptCPMetadataPDPs _dsMetadataPDPs;
@@ -76,7 +76,7 @@
 			JScriptCPMetadataPDPs attributeValueMetadataPDP,
 			JScriptCPMetadataPDPs attributeMetadataPDP,
 			JSPolicyContext policyContext,
-			INode providerNode,
+			IEntity providerEntity,
 			String consumerNodeID,
 			URI consumerURI) throws IdASException
 	{
@@ -81,7 +81,7 @@
 			URI consumerURI) throws IdASException
 	{
 		_policyContext = policyContext;
-		_providerNode = providerNode;
+		_providerEntity = providerEntity;
 		_uniqueID = consumerNodeID;
 		_type = consumerURI;
 
@@ -92,7 +92,7 @@
 	}
 
 	/*
-	 * @see org.eclipse.higgins.idas.api.INode#getContext
+	 * @see org.eclipse.higgins.idas.api.IEntity#getContext
 	 */
 	public IContext getContext() throws IdASException
 	{
@@ -108,15 +108,15 @@
 	 * <p>
 	 * 
 	 * Please see
-	 * {@link org.eclipse.higgins.idas.cp.jspolicy.JSPolicyContext#consumerNodeIDToProvider}
+	 * {@link org.eclipse.higgins.idas.cp.jspolicy.JSPolicyContext#consumerEntityIDToProvider}
 	 * for usage and examples.
 	 * 
-	 * @see org.eclipse.higgins.idas.api.INode#getNodeID
+	 * @see org.eclipse.higgins.idas.api.IEntity#getNodeID
 	 */
-	public String getNodeID() throws IdASException
+	public String getEntityID() throws IdASException
 	{
 		if (_uniqueID == null)
-			_uniqueID = _policyContext.providerNodeIDToConsumer(_providerNode.getNodeID());
+			_uniqueID = _policyContext.providerEntityIDToConsumer(_providerEntity.getEntityID());
 
 		return _uniqueID;
 	}
@@ -130,14 +130,14 @@
 	 * <p>
 	 * 
 	 * Please see
-	 * {@link org.eclipse.higgins.idas.cp.jspolicy.JSPolicyContext#consumerNodeIDToProvider}
+	 * {@link org.eclipse.higgins.idas.cp.jspolicy.JSPolicyContext#consumerEntityIDToProvider}
 	 * 
 	 * 
 	 */
-	public URI getNodeType() throws IdASException
+	public URI getEntityType() throws IdASException
 	{
 		if (_type == null)
-			_type = _policyContext.providerNodeTypeToConsumer(_providerNode.getNodeType());
+			_type = _policyContext.providerEntityTypeToConsumer(_providerEntity.getEntityType());
 		return _type;
 	}
 
@@ -150,7 +150,7 @@
 	{
 		return new BasicAttributePDPIter( _attributePDP, _attributeMetadataPDP, 
 				_attributeValueMetadataPDP,
-			_providerNode.getAttributes(), true);
+			_providerEntity.getAttributes(), true);
 	}
 
 	/**
@@ -186,7 +186,7 @@
 				Object obj = itr.next();
 				if (obj instanceof URI)
 				{
-					providerAttr = _providerNode.getAttribute((URI) obj);
+					providerAttr = _providerEntity.getAttribute((URI) obj);
 				}
 				else if (obj instanceof String)
 				{
@@ -192,7 +192,7 @@
 				{
 					try
 					{
-						providerAttr = _providerNode.getAttribute(new URI(((String) (obj))));
+						providerAttr = _providerEntity.getAttribute(new URI(((String) (obj))));
 					}
 					catch (URISyntaxException e)
 					{
@@ -216,7 +216,7 @@
 		else
 		{
 			/* no policy */
-			return _providerNode.getAttribute(attributeID);
+			return _providerEntity.getAttribute(attributeID);
 		}
 	}
 	
@@ -241,9 +241,9 @@
 	{
 		if ( _dsMetadataPDPs != null)
 			return  new MetadataPDPIter( _dsMetadataPDPs, 
-					_providerNode.getMetadataSet(), true);
+					_providerEntity.getMetadataSet(), true);
 		else
-			return _providerNode.getMetadataSet();
+			return _providerEntity.getMetadataSet();
 	}
 
 	/**
@@ -283,7 +283,7 @@
 	/**
 	 * TODO: implement this
 	 */
-	public INodeModel getModel() throws IdASException
+	public IEntityModel getModel() throws IdASException
 	{
 		throw new NotImplementedException();
 	}
@@ -290,10 +290,10 @@
 
 	/*
 	 * (non-Javadoc)
-	 * @see org.eclipse.higgins.idas.api.INode#remove()
+	 * @see org.eclipse.higgins.idas.api.IEntity#remove()
 	 */
 	public void remove() throws IdASException {
-		_providerNode.remove();
+		_providerEntity.remove();
 	}
 
 	/*
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jspolicy.test/Configuration.xml
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jspolicy.test/Configuration.xml	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jspolicy.test/Configuration.xml	(working copy)
@@ -142,7 +142,7 @@
 							RESULT = map;
 						]]>
 					</Setting>
-					<Setting Name="consumerNodeTypeToProvider" Type="htf:jscriptexec">
+					<Setting Name="consumerEntityTypeToProvider" Type="htf:jscriptexec">
 						<![CDATA[
 							var re = new RegExp("^http://www.eclipse.org/higgins/ontologies/2006/higgins/ldap#class_";, "i");
 							RESULT = String(consumerType.toString()).replace(re, "");
@@ -148,7 +148,7 @@
 							RESULT = String(consumerType.toString()).replace(re, "");
 						]]>
 					</Setting>
-					<Setting Name="providerNodeTypeToConsumer" Type="htf:jscriptexec">
+					<Setting Name="providerEntityTypeToConsumer" Type="htf:jscriptexec">
 						<![CDATA[
 							RESULT = "http://www.eclipse.org/higgins/ontologies/2006/higgins/ldap#class_"; + String(providerType.toString());
 						]]>
@@ -153,7 +153,7 @@
 							RESULT = "http://www.eclipse.org/higgins/ontologies/2006/higgins/ldap#class_"; + String(providerType.toString());
 						]]>
 					</Setting>
-					<Setting Name="consumerNodeIDToProvider" Type="htf:jscriptexec">
+					<Setting Name="consumerEntityIDToProvider" Type="htf:jscriptexec">
 						<![CDATA[
 							RESULT = "cn=" + consumerID + ",ou=people,dc=wag,dc=bandit-project,dc=org"
 						]]>
@@ -158,7 +158,7 @@
 							RESULT = "cn=" + consumerID + ",ou=people,dc=wag,dc=bandit-project,dc=org"
 						]]>
 					</Setting>
-					<Setting Name="providerNodeIDToConsumer" Type="htf:jscriptexec">
+					<Setting Name="providerEntityIDToConsumer" Type="htf:jscriptexec">
 						<![CDATA[
 							var re = new RegExp("^cn=(.*),ou=people,dc=wag,dc=bandit-project,dc=org$", "i");
 							RESULT = String(providerID.toString()).replace(re, "$1");
@@ -267,7 +267,7 @@
 							RESULT = String(providerID.toString()).replace(re, "js");
 						]]>
 					</Setting>
-					<Setting Name="consumerNodeTypeToProvider" Type="htf:jscriptexec">
+					<Setting Name="consumerEntityTypeToProvider" Type="htf:jscriptexec">
 						<![CDATA[
 							var re = new RegExp("^js", "g");
 							RESULT = String(consumerType.toString()).replace(re, "inmem");
@@ -273,7 +273,7 @@
 							RESULT = String(consumerType.toString()).replace(re, "inmem");
 						]]>
 					</Setting>
-					<Setting Name="providerNodeTypeToConsumer" Type="htf:jscriptexec">
+					<Setting Name="providerEntityTypeToConsumer" Type="htf:jscriptexec">
 						<![CDATA[
 							var re = new RegExp("^inmem", "g");
 							RESULT = String(providerType.toString()).replace(re, "js");
@@ -279,7 +279,7 @@
 							RESULT = String(providerType.toString()).replace(re, "js");
 						]]>
 					</Setting>
-					<Setting Name="consumerNodeIDToProvider" Type="htf:jscriptexec">
+					<Setting Name="consumerEntityIDToProvider" Type="htf:jscriptexec">
 						<![CDATA[
 							var re = new RegExp("^js", "g");
 							RESULT = consumerID.replace(re, "inmem");
@@ -285,7 +285,7 @@
 							RESULT = consumerID.replace(re, "inmem");
 						]]>
 					</Setting>
-					<Setting Name="providerNodeIDToConsumer" Type="htf:jscriptexec">
+					<Setting Name="providerEntityIDToConsumer" Type="htf:jscriptexec">
 						<![CDATA[
 							var re = new RegExp("^inmem", "g");
 							RESULT = providerID.replace(re, "js");
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jspolicy.test/src/org/eclipse/higgins/idas/cp/jspolicy/test/JSPolicyCPTest.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jspolicy.test/src/org/eclipse/higgins/idas/cp/jspolicy/test/JSPolicyCPTest.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.jspolicy.test/src/org/eclipse/higgins/idas/cp/jspolicy/test/JSPolicyCPTest.java	(working copy)
@@ -24,7 +24,7 @@
 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.INode;
+import org.eclipse.higgins.idas.api.IEntity;
 import org.eclipse.higgins.idas.api.ITypedValue;
 import org.eclipse.higgins.idas.api.IdASException;
 import org.eclipse.higgins.idas.common.AuthNSelfIssuedMaterials;
@@ -70,7 +70,7 @@
 		}
 	}
 
-	private INode _setupnewDS(
+	private IEntity _setupnewDS(
 		IContext context,
 		String testName,
 		String testType,
@@ -80,7 +80,7 @@
 		if (attributeTypes.length != attributeValues.length)
 			throw new IdASException();
 
-		INode ds = context.addNode(new URI(testType), testName);
+		IEntity ds = context.addEntity(new URI(testType), testName);
 		for (int iLoop = 0; iLoop < attributeTypes.length; iLoop++)
 		{
 			IAttribute attr = ds.addAttribute(new URI(attributeTypes[iLoop]));
@@ -124,12 +124,12 @@
 				inmemContext.open(null);
 
 				// verify that the inmem is setup correctly
-				INode inmemDS = _setupnewDS(inmemContext, inmemNodeID, inmemNodeType,
+				IEntity inmemDS = _setupnewDS(inmemContext, inmemNodeID, inmemNodeType,
 					new String[]
 					{inmemAttr, inmemAttr}, new String[]
 					{"roleValue1", "roleValue2"});
-				assertTrue(inmemDS.getNodeID().equals(inmemNodeID));
-				assertTrue(inmemDS.getNodeType().equals(new URI(inmemNodeType)));
+				assertTrue(inmemDS.getEntityID().equals(inmemNodeID));
+				assertTrue(inmemDS.getEntityType().equals(new URI(inmemNodeType)));
 				assertTrue(inmemDS.getAttribute(inmemAttrURI) != null);
 
 				Iterator attrItr = inmemDS.getAttributes();
@@ -141,8 +141,8 @@
 
 				// access same object via the policy context use mapped names
 				jsContext.open(inmemContext); // testing hack
-				INode jsDS = jsContext.getNode(jsNodeID);
-				assertTrue(jsDS != null && jsDS.getNodeID().equals(jsNodeID));
+				IEntity jsDS = jsContext.getEntity(jsNodeID);
+				assertTrue(jsDS != null && jsDS.getEntityID().equals(jsNodeID));
 
 				assertTrue(jsDS.getAttribute(jsAttrURI) != null);
 
@@ -181,9 +181,9 @@
 			AuthNSelfIssuedMaterials selfIssuedAuthNMaterials = new AuthNSelfIssuedMaterials(
 					jsContext, ppid, modulus, exponent);
 
-			String nodeID = jsContext.open(selfIssuedAuthNMaterials);
-			if (nodeID != null)
-				System.out.println("Node ID from context open: " + nodeID);
+			String entityID = jsContext.open(selfIssuedAuthNMaterials);
+			if (entityID != null)
+				System.out.println("Node ID from context open: " + entityID);
 			else
 				System.out.println("Node ID not found.");
 
@@ -194,11 +194,11 @@
 				"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname";));
 			attrSelection.add(new URI(
 				"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress";));
-			INode node = jsContext.getNode(nodeID, attrSelection.iterator());
+			IEntity entity = jsContext.getEntity(entityID, attrSelection.iterator());
 
-			Iterator attrs = node.getAttributes();
-			System.out.println(node.getNodeID());
-			System.out.println(node.getNodeType());
+			Iterator attrs = entity.getAttributes();
+			System.out.println(entity.getEntityID());
+			System.out.println(entity.getEntityType());
 
 			while (attrs.hasNext())
 			{
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/EntityIterator.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/EntityIterator.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/EntityIterator.java	(working copy)
@@ -39,14 +39,14 @@
  * @author dsanders@xxxxxxxxxx
  */
 
-public class NodeIterator implements java.util.Iterator
+public class EntityIterator implements java.util.Iterator
 {
 	private NonsharedContext		_nonsharedContext;
 	private IFilter					_basicFilter;
-	private SharedNode				_currNode;
+	private SharedEntity				_currNode;
 	private int					_iCurrNodeNum;
 	
-	NodeIterator(
+	EntityIterator(
 		NonsharedContext	context,
 		IFilter				basicFilter)
 	{
@@ -59,16 +59,16 @@
 	private boolean _syncNode(
 		boolean	bMustFindExact) throws IdASException
 	{
-		java.util.ArrayList	nodeList = _nonsharedContext.getSharedContext().getNodeList();
-		java.util.Map			nodeMap = _nonsharedContext.getSharedContext().getNodeMap();
-		String					szNodeID = _currNode.getNodeID();
-		SharedNode	sharedNode;
+		java.util.ArrayList	nodeList = _nonsharedContext.getSharedContext().getEntityList();
+		java.util.Map			nodeMap = _nonsharedContext.getSharedContext().getEntityMap();
+		String					szNodeID = _currNode.getEntityID();
+		SharedEntity	sharedEntity;
 		
 		// See if we can find the node ID.
 		
-		if ((sharedNode = (SharedNode)nodeMap.get( szNodeID)) != null)
+		if ((sharedEntity = (SharedEntity)nodeMap.get( szNodeID)) != null)
 		{
-			_currNode = sharedNode;
+			_currNode = sharedEntity;
 			
 			// See if it happens to be the same one in the array list.
 			
@@ -73,7 +73,7 @@
 			// See if it happens to be the same one in the array list.
 			
 			if (_iCurrNodeNum >= nodeList.size() ||
-				 _currNode != (SharedNode)nodeList.get( _iCurrNodeNum))
+				 _currNode != (SharedEntity)nodeList.get( _iCurrNodeNum))
 			{
 				
 				// Was not in the same place we left it, find it.
@@ -80,7 +80,7 @@
 				
 				for (_iCurrNodeNum = 0; _iCurrNodeNum < nodeList.size(); _iCurrNodeNum++)
 				{
-					if (_currNode == (SharedNode)nodeList.get( _iCurrNodeNum))
+					if (_currNode == (SharedEntity)nodeList.get( _iCurrNodeNum))
 					{
 						break;
 					}
@@ -100,7 +100,7 @@
 			_iCurrNodeNum--;
 			if (_iCurrNodeNum >= 0 && _iCurrNodeNum < nodeList.size())
 			{
-				_currNode = (SharedNode)nodeList.get( _iCurrNodeNum);
+				_currNode = (SharedEntity)nodeList.get( _iCurrNodeNum);
 			}
 			else
 			{
@@ -153,10 +153,10 @@
 			
 			// Need to continue until we find one that matches
 			
-			nodeList = _nonsharedContext.getSharedContext().getNodeList();
+			nodeList = _nonsharedContext.getSharedContext().getEntityList();
 			while (iNextNodeNum < nodeList.size())
 			{
-				if (_nonsharedContext.getSharedContext().testNode( (SharedNode)nodeList.get( iNextNodeNum), _basicFilter))
+				if (_nonsharedContext.getSharedContext().testEntity( (SharedEntity)nodeList.get( iNextNodeNum), _basicFilter))
 				{
 					return( iNextNodeNum);
 				}
@@ -216,8 +216,8 @@
 				_currNode = null;
 				throw new java.util.NoSuchElementException();
 			}
-			nodeList = _nonsharedContext.getSharedContext().getNodeList();
-			_currNode = (SharedNode)nodeList.get( iNextNodeNum);
+			nodeList = _nonsharedContext.getSharedContext().getEntityList();
+			_currNode = (SharedEntity)nodeList.get( iNextNodeNum);
 			_iCurrNodeNum = iNextNodeNum;
 		}
 		catch (IdASException e)
@@ -228,7 +228,7 @@
 		{
 			_nonsharedContext.unlockSharedContext();
 		}
-		return( new NonsharedNode( _nonsharedContext, _currNode));
+		return( new NonsharedEntity( _nonsharedContext, _currNode));
 	}
 	
 	public void remove()
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/NodeIterator.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/NodeIterator.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/NodeIterator.java	(working copy)
@@ -1,272 +0,0 @@
-/**
- * Copyright (c) 2007 Novell, Inc.
- * All Rights Reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; version 2.1 of the license.
- *
- * This library 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 Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; if not, contact Novell, Inc.
- *
- * To contact Novell about this file by physical or electronic mail,
- * you may find current contact information at www.novell.com
- */
-
-/*
- * Copyright (c) 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:
- *		Daniel Sanders
- */
-
-package org.eclipse.higgins.idas.cp.xmlfile;
-
-import org.eclipse.higgins.idas.api.IdASException;
-import org.eclipse.higgins.idas.api.IFilter;
-
-/**
- * 
- * @author dsanders@xxxxxxxxxx
- */
-
-public class NodeIterator implements java.util.Iterator
-{
-	private NonsharedContext		_nonsharedContext;
-	private IFilter					_basicFilter;
-	private SharedNode				_currNode;
-	private int					_iCurrNodeNum;
-	
-	NodeIterator(
-		NonsharedContext	context,
-		IFilter				basicFilter)
-	{
-		_nonsharedContext = context;
-		_basicFilter = basicFilter;
-		_currNode = null;
-		_iCurrNodeNum = -1;
-	}
-	
-	private boolean _syncNode(
-		boolean	bMustFindExact) throws IdASException
-	{
-		java.util.ArrayList	nodeList = _nonsharedContext.getSharedContext().getNodeList();
-		java.util.Map			nodeMap = _nonsharedContext.getSharedContext().getNodeMap();
-		String					szNodeID = _currNode.getNodeID();
-		SharedNode	sharedNode;
-		
-		// See if we can find the node ID.
-		
-		if ((sharedNode = (SharedNode)nodeMap.get( szNodeID)) != null)
-		{
-			_currNode = sharedNode;
-			
-			// See if it happens to be the same one in the array list.
-			
-			if (_iCurrNodeNum >= nodeList.size() ||
-				 _currNode != (SharedNode)nodeList.get( _iCurrNodeNum))
-			{
-				
-				// Was not in the same place we left it, find it.
-				
-				for (_iCurrNodeNum = 0; _iCurrNodeNum < nodeList.size(); _iCurrNodeNum++)
-				{
-					if (_currNode == (SharedNode)nodeList.get( _iCurrNodeNum))
-					{
-						break;
-					}
-				}
-			}
-		}
-		else if (bMustFindExact)
-		{
-			return( false);
-		}
-		else
-		{
-			
-			// Could not find the Node by node ID, assume it has been deleted and sync to the Node
-			// prior to that one in the list.
-
-			_iCurrNodeNum--;
-			if (_iCurrNodeNum >= 0 && _iCurrNodeNum < nodeList.size())
-			{
-				_currNode = (SharedNode)nodeList.get( _iCurrNodeNum);
-			}
-			else
-			{
-				return( false);
-			}
-		}
-		return( true);
-	}
-	
-	private int _getNextNodeNum()
-	{
-		int						iNextNodeNum;
-		java.util.ArrayList	nodeList;
-		
-		try
-		{
-			
-			// See if we switched contexts
-			
-			if (_nonsharedContext.sync( false))
-			{
-				if (_currNode != null)
-				{
-					if (!_syncNode( false))
-					{
-						return( -1);
-					}
-				}
-			}
-			
-			// If current attribute element is null, it means we have not yet positioned to an element
-			// for this iterator.  We will position to the first attribute element under the node
-			// element in that case.
-			
-			if (_currNode == null)
-			{
-				iNextNodeNum = 0;
-			}
-			else
-			{
-				if (_currNode.isDeleted())
-				{
-					if (!_syncNode( false))
-					{
-						return( -1);
-					}
-				}
-				iNextNodeNum = _iCurrNodeNum + 1;
-			}
-			
-			// Need to continue until we find one that matches
-			
-			nodeList = _nonsharedContext.getSharedContext().getNodeList();
-			while (iNextNodeNum < nodeList.size())
-			{
-				if (_nonsharedContext.getSharedContext().testNode( (SharedNode)nodeList.get( iNextNodeNum), _basicFilter))
-				{
-					return( iNextNodeNum);
-				}
-				iNextNodeNum++;
-			}
-		}
-		catch (IdASException e)
-		{
-		}
-		return( -1);
-	}
-	
-	public boolean hasNext()
-	{
-		int	iNextNodeNum = -1;
-		
-		if (!_nonsharedContext.isOpen())
-		{
-			return( false);
-		}
-	
-		try
-		{
-			_nonsharedContext.lockSharedContext();
-			iNextNodeNum = _getNextNodeNum();
-		}
-		catch (IdASException e)
-		{
-			iNextNodeNum = -1;
-		}
-		finally
-		{
-			_nonsharedContext.unlockSharedContext();
-		}
-		if (iNextNodeNum == -1)
-		{
-			return( false);
-		}
-		return( true);
-	}
-	
-	public Object next()
-	{
-		int						iNextNodeNum;
-		java.util.ArrayList	nodeList;
-		
-		if (!_nonsharedContext.isOpen())
-		{
-			throw new java.util.NoSuchElementException();
-		}
-	
-		try
-		{
-			_nonsharedContext.lockSharedContext();
-			if ((iNextNodeNum = _getNextNodeNum()) == -1)
-			{
-				_currNode = null;
-				throw new java.util.NoSuchElementException();
-			}
-			nodeList = _nonsharedContext.getSharedContext().getNodeList();
-			_currNode = (SharedNode)nodeList.get( iNextNodeNum);
-			_iCurrNodeNum = iNextNodeNum;
-		}
-		catch (IdASException e)
-		{
-			throw new java.util.NoSuchElementException( "IdAS exception occurred: " + e.getMessage());
-		}
-		finally
-		{
-			_nonsharedContext.unlockSharedContext();
-		}
-		return( new NonsharedNode( _nonsharedContext, _currNode));
-	}
-	
-	public void remove()
-	{
-		boolean	bStartedTrans = false;
-		
-		if (!_nonsharedContext.isOpen())
-		{
-			throw new java.lang.IllegalStateException( "IdAS context is no longer open");
-		}
-		else if (_currNode == null || _currNode.isDeleted())
-		{
-			throw new java.lang.IllegalStateException();
-		}
-		
-		try
-		{
-			bStartedTrans = _nonsharedContext.beginTrans();
-			if (_nonsharedContext.sync( bStartedTrans))
-			{
-				if (!_syncNode( true))
-				{
-					throw new java.util.NoSuchElementException();
-				}
-			}
-			_currNode.remove();
-		}
-		catch (IdASException e)
-		{
-			throw new java.lang.IllegalStateException( "IdAS exception occurred: " + e.getMessage());
-		}
-		finally
-		{
-			if (!bStartedTrans)
-			{
-				_nonsharedContext.unlockSharedContext();
-			}
-		}
-	}
-}
-
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/NonsharedContext.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/NonsharedContext.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/NonsharedContext.java	(working copy)
@@ -48,9 +48,9 @@
 import org.eclipse.higgins.idas.api.ContextNotOpenException;
 import org.eclipse.higgins.idas.api.ContextOpenException;
 import org.eclipse.higgins.idas.api.NotImplementedException;
-import org.eclipse.higgins.idas.api.NodeExistsException;
+import org.eclipse.higgins.idas.api.EntityExistsException;
 
-import org.eclipse.higgins.idas.api.INode;
+import org.eclipse.higgins.idas.api.IEntity;
 import org.eclipse.higgins.idas.api.IFilter;
 import org.eclipse.higgins.idas.spi.BasicContext;
 
@@ -339,7 +339,7 @@
 	
 	/**
 	 */
-	public INode getNode(
+	public IEntity getNode(
 		String	szNodeID) throws IdASException
 	{
 		return( getNode( szNodeID, null));
@@ -347,11 +347,11 @@
 
 	/**
 	 */
-	public INode getNode(
+	public IEntity getNode(
 		String					szNodeID,
 		java.util.Iterator	consumerSelectionList) throws IdASException
 	{
-		SharedNode	sharedNode = null;
+		SharedEntity	sharedEntity = null;
 		
 		if (!_bIsOpen)
 		{
@@ -361,7 +361,7 @@
 		try
 		{
 			lockSharedContext();
-			sharedNode = getSharedContext().getNode( szNodeID);
+			sharedEntity = getSharedContext().getEntity( szNodeID);
 		}
 		finally
 		{
@@ -368,7 +368,7 @@
 			unlockSharedContext();
 		}
 		
-		return( sharedNode == null ? null : new NonsharedNode( this, sharedNode));
+		return( sharedEntity == null ? null : new NonsharedEntity( this, sharedEntity));
 	}
 	
 	/**
@@ -373,10 +373,10 @@
 	
 	/**
 	 */
-	public java.util.Iterator getNodes(
+	public java.util.Iterator getEntities(
 		IFilter	filter) throws IdASException
 	{
-		return( getNodes( filter, null));
+		return( getEntities( filter, null));
 	}
 
 	/**
@@ -381,7 +381,7 @@
 
 	/**
 	 */
-	public java.util.Iterator getNodes(
+	public java.util.Iterator getEntities(
 		IFilter					filter,
 		java.util.Iterator	consumerSelectionList) throws IdASException
 	{
@@ -387,7 +387,7 @@
 	{
 		if (!_bIsOpen)
 		{
-			throw new ContextNotOpenException( "nonsharedContext:getNodes(filter,attrlist): Context not open");
+			throw new ContextNotOpenException( "nonsharedContext:getEntities(filter,attrlist): Context not open");
 		}
 
 		_emitXDASRecord(XDasEvents.XDAS_AE_QUERY_ACCOUNT, XDasOutcomes.XDAS_OUT_SUCCESS,
@@ -392,10 +392,10 @@
 
 		_emitXDASRecord(XDasEvents.XDAS_AE_QUERY_ACCOUNT, XDasOutcomes.XDAS_OUT_SUCCESS,
 			_identity.toString(), filter.toString(), null);
-		_log.debug("Searching for Nodes matching filter: " + filter.toString()
+		_log.debug("Searching for Entities matching filter: " + filter.toString()
 			+ " as: " + _identity.toString() + " in context: " + _szContextURIs);
 
-		return( new NodeIterator( this, filter));			
+		return( new EntityIterator( this, filter));			
 	}
 
 	/**
@@ -407,7 +407,7 @@
 		
 		if (!_bIsOpen)
 		{
-			throw new ContextNotOpenException( "nonsharedContext:removeNode(nodeID): Context not open");
+			throw new ContextNotOpenException( "nonsharedContext:removeNode(entityID): Context not open");
 		}
 		
 		try
@@ -413,7 +413,7 @@
 		try
 		{
 			bStartedTrans = beginTrans();
-			_updateContext.removeNode( szNodeID);
+			_updateContext.removeEntity( szNodeID);
 		}
 		finally
 		{
@@ -427,7 +427,7 @@
 	/**
 	 * 
 	 */
-	public INode addNode(
+	public IEntity addNode(
 		java.net.URI	type,
 		String			szNodeID) throws IdASException
 	{
@@ -432,11 +432,11 @@
 		String			szNodeID) throws IdASException
 	{
 		boolean					bStartedTrans = false;
-		SharedNode	sharedNode = null;
+		SharedEntity	sharedEntity = null;
 		
 		if (!_bIsOpen)
 		{
-			throw new ContextNotOpenException( "nonsharedContext:addNode(type,nodeID): Context not open");
+			throw new ContextNotOpenException( "nonsharedContext:addNode(type,entityID): Context not open");
 		}
 		
 		try
@@ -442,7 +442,7 @@
 		try
 		{
 			bStartedTrans = beginTrans();
-			sharedNode = _updateContext.addNode( type, szNodeID);
+			sharedEntity = _updateContext.addEntity( type, szNodeID);
 		}
 		finally
 		{
@@ -451,7 +451,7 @@
 				unlockSharedContext();
 			}
 		}
-		return( sharedNode == null ? null : new NonsharedNode( this, sharedNode));
+		return( sharedEntity == null ? null : new NonsharedEntity( this, sharedEntity));
 	}
 	
 	/**
@@ -456,11 +456,11 @@
 	
 	/**
 	 */
-	public INode addNode(
-		INode	copyFrom) throws IdASException, NodeExistsException
+	public IEntity addNode(
+		IEntity	copyFrom) throws IdASException, EntityExistsException
 	{
 		boolean					bStartedTrans = false;
-		SharedNode	sharedNode = null;
+		SharedEntity	sharedEntity = null;
 		
 		if (!_bIsOpen)
 		{
@@ -470,7 +470,7 @@
 		try
 		{
 			bStartedTrans = beginTrans();
-			sharedNode = _updateContext.addNode( copyFrom);
+			sharedEntity = _updateContext.addEntity( copyFrom);
 		}
 		finally
 		{
@@ -479,7 +479,7 @@
 				unlockSharedContext();
 			}
 		}
-		return( sharedNode == null ? null : new NonsharedNode( this, sharedNode));
+		return( sharedEntity == null ? null : new NonsharedEntity( this, sharedEntity));
 	}
 
 	public void applyUpdates() throws IdASException
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/NonsharedEntity.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/NonsharedEntity.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/NonsharedEntity.java	(working copy)
@@ -39,7 +39,7 @@
 import org.eclipse.higgins.idas.api.IMetadata;
 import org.eclipse.higgins.idas.api.IHasMetadata;
 import org.eclipse.higgins.idas.api.IHasAttributes;
-import org.eclipse.higgins.idas.api.INode;
+import org.eclipse.higgins.idas.api.IEntity;
 
 import org.eclipse.higgins.idas.api.IdASException;
 import org.eclipse.higgins.idas.api.ContextNotOpenException;
@@ -46,9 +46,9 @@
 import org.eclipse.higgins.idas.api.InvalidTypeException;
 import org.eclipse.higgins.idas.api.NotImplementedException;
 import org.eclipse.higgins.idas.api.NotSingleValuedAttributeException;
-import org.eclipse.higgins.idas.api.NoSuchNodeException;
+import org.eclipse.higgins.idas.api.NoSuchEntityException;
 
-import org.eclipse.higgins.idas.api.model.INodeModel;
+import org.eclipse.higgins.idas.api.model.IEntityModel;
 
 /**
  * 
@@ -56,23 +56,23 @@
  * 
  */
 
-public class NonsharedNode implements INode, NonsharedAttrContainer
+public class NonsharedEntity implements IEntity, NonsharedAttrContainer
 {
-	private Logger						_log = Logger.getLogger( NonsharedNode.class.getName());
+	private Logger						_log = Logger.getLogger( NonsharedEntity.class.getName());
 	private NonsharedContext		_nonsharedContext;
 	private long						_lContextSyncCount;
-	private SharedNode	_sharedNode;
-	private String						_szNodeID;
+	private SharedEntity	_sharedEntity;
+	private String						_szEntityID;
 	private long						_lSyncCount = 0;
 
-	NonsharedNode(
+	NonsharedEntity(
 		NonsharedContext		nonsharedCtx,
-		SharedNode	sharedNode)
+		SharedEntity	sharedEntity)
 	{
 		_nonsharedContext = nonsharedCtx;
 		_lContextSyncCount = _nonsharedContext.getSyncCount();
-		_sharedNode = sharedNode;
-		_szNodeID = _sharedNode.getNodeID();
+		_sharedEntity = sharedEntity;
+		_szEntityID = _sharedEntity.getEntityID();
 	}
 	
 	// nonsharedAttrContainer methods
@@ -84,7 +84,7 @@
 	
 	public SharedAttrContainer getSharedContainer()
 	{
-		return( _sharedNode);
+		return( _sharedEntity);
 	}
 	
 	public java.util.ArrayList getAttrList()
@@ -89,7 +89,7 @@
 	
 	public java.util.ArrayList getAttrList()
 	{
-		return( _sharedNode.getAttrList());
+		return( _sharedEntity.getAttrList());
 	}
 	
 	public java.util.Map getAttrMap()
@@ -94,7 +94,7 @@
 	
 	public java.util.Map getAttrMap()
 	{
-		return( _sharedNode.getAttrMap());
+		return( _sharedEntity.getAttrMap());
 	}
 	
 	public String getContainerType()
@@ -99,7 +99,7 @@
 	
 	public String getContainerType()
 	{
-		return( "Node");
+		return( "Entity");
 	}
 	
 	public String getContainerID()
@@ -104,7 +104,7 @@
 	
 	public String getContainerID()
 	{
-		return( _szNodeID);
+		return( _szEntityID);
 	}
 	
 	public long getSyncCount()
@@ -123,10 +123,10 @@
 		}
 
 		if (bForceSync ||
-			_sharedNode == null ||
-			_sharedNode.isDeleted())
+			_sharedEntity == null ||
+			_sharedEntity.isDeleted())
 		{
-			_sharedNode = _nonsharedContext.getSharedContext().getNode( _szNodeID);
+			_sharedEntity = _nonsharedContext.getSharedContext().getEntity( _szEntityID);
 			bSynced = true;
 			_lSyncCount++;
 			_lContextSyncCount = _nonsharedContext.getSyncCount();
@@ -131,12 +131,12 @@
 			_lSyncCount++;
 			_lContextSyncCount = _nonsharedContext.getSyncCount();
 		}
-		if (_sharedNode == null)
+		if (_sharedEntity == null)
 		{
-			String	szErrMsg = "Node '" + _szNodeID + "' no longer exists";
+			String	szErrMsg = "Entity '" + _szEntityID + "' no longer exists";
 			
 			_log.debug( szErrMsg);
-			throw new NoSuchNodeException( szErrMsg);
+			throw new NoSuchEntityException( szErrMsg);
 		}
 		return( bSynced);
 	}
@@ -141,7 +141,7 @@
 		return( bSynced);
 	}
 	
-	// Methods of the INode interface
+	// Methods of the IEntity interface
 	
 	public IContext getContext() throws IdASException
 	{
@@ -150,9 +150,9 @@
 	
 	/**
 	 */
-	public String getNodeID() throws IdASException
+	public String getEntityID() throws IdASException
 	{
-		return( _szNodeID);
+		return( _szEntityID);
 	}
 	
 	/**
@@ -157,7 +157,7 @@
 	
 	/**
 	 */
-	public java.net.URI getNodeType() throws IdASException
+	public java.net.URI getEntityType() throws IdASException
 	{
 		java.net.URI	nodeType = null;
 		
@@ -163,7 +163,7 @@
 		
 		if (!_nonsharedContext.isOpen())
 		{
-			throw new ContextNotOpenException( "nonsharedNode:getNodeType(): Context not open");
+			throw new ContextNotOpenException( "nonsharedEntity:getEntityType(): Context not open");
 		}
 		
 		try
@@ -170,7 +170,7 @@
 		{
 			_nonsharedContext.lockSharedContext();
 			sync( false);
-			nodeType = java.net.URI.create( _sharedNode.getNodeType());
+			nodeType = java.net.URI.create( _sharedEntity.getEntityType());
 		}
 		finally
 		{
@@ -188,7 +188,7 @@
 		
 		if (!_nonsharedContext.isOpen())
 		{
-			throw new ContextNotOpenException( "nonsharedNode:getAttributes(): Context not open");
+			throw new ContextNotOpenException( "nonsharedEntity:getAttributes(): Context not open");
 		}
 		
 		try
@@ -214,7 +214,7 @@
 		
 		if (!_nonsharedContext.isOpen())
 		{
-			throw new ContextNotOpenException( "nonsharedNode:getAttribute(attrID): Context not open");
+			throw new ContextNotOpenException( "nonsharedEntity:getAttribute(attrID): Context not open");
 		}
 		
 		try
@@ -221,7 +221,7 @@
 		{
 			_nonsharedContext.lockSharedContext();
 			sync( false);
-			sharedAttr = _sharedNode.getAttribute( attrID.toString());
+			sharedAttr = _sharedEntity.getAttribute( attrID.toString());
 		}
 		finally
 		{
@@ -232,9 +232,9 @@
 
 	/**
 	 */
-	public INodeModel getModel() throws IdASException
+	public IEntityModel getModel() throws IdASException
 	{
-		throw new NotImplementedException( "Not Implemented: nonsharedNode:getModel()");
+		throw new NotImplementedException( "Not Implemented: nonsharedEntity:getModel()");
 	}
 
 	/**
@@ -245,7 +245,7 @@
 		
 		if (!_nonsharedContext.isOpen())
 		{
-			throw new ContextNotOpenException( "nonsharedNode:remove(): Context not open");
+			throw new ContextNotOpenException( "nonsharedEntity:remove(): Context not open");
 		}
 		
 		try
@@ -252,8 +252,8 @@
 		{
 			bStartedTrans = _nonsharedContext.beginTrans();
 			sync( bStartedTrans);
-			_sharedNode.remove();
-			_sharedNode = null;
+			_sharedEntity.remove();
+			_sharedEntity = null;
 		}
 		finally
 		{
@@ -273,7 +273,7 @@
 		
 		if (!_nonsharedContext.isOpen())
 		{
-			throw new ContextNotOpenException( "nonsharedNode:getSingleValuedAttribute(): Context not open");
+			throw new ContextNotOpenException( "nonsharedEntity:getSingleValuedAttribute(): Context not open");
 		}
 		
 		try
@@ -280,7 +280,7 @@
 		{
 			_nonsharedContext.lockSharedContext();
 			sync( false);
-			sharedAttr = _sharedNode.getSingleValuedAttribute( attrID.toString());
+			sharedAttr = _sharedEntity.getSingleValuedAttribute( attrID.toString());
 		}
 		finally
 		{
@@ -299,7 +299,7 @@
 		
 		if (!_nonsharedContext.isOpen())
 		{
-			throw new ContextNotOpenException( "nonsharedNode:addAttribute(attrID): Context not open");
+			throw new ContextNotOpenException( "nonsharedEntity:addAttribute(attrID): Context not open");
 		}
 		
 		try
@@ -306,7 +306,7 @@
 		{
 			bStartedTrans = _nonsharedContext.beginTrans();
 			sync( bStartedTrans);
-			sharedAttr = _sharedNode.addAttribute( attrID.toString());
+			sharedAttr = _sharedEntity.addAttribute( attrID.toString());
 		}
 		finally
 		{
@@ -328,7 +328,7 @@
 		
 		if (!_nonsharedContext.isOpen())
 		{
-			throw new ContextNotOpenException( "nonsharedNode:addAttribute(copyFrom): Context not open");
+			throw new ContextNotOpenException( "nonsharedEntity:addAttribute(copyFrom): Context not open");
 		}
 		
 		try
@@ -334,7 +334,7 @@
 		try
 		{
 			bStartedTrans = _nonsharedContext.beginTrans();
-			sharedAttr = _sharedNode.addAttribute( copyFrom);
+			sharedAttr = _sharedEntity.addAttribute( copyFrom);
 		}
 		finally
 		{
@@ -355,7 +355,7 @@
 		
 		if (!_nonsharedContext.isOpen())
 		{
-			throw new ContextNotOpenException( "nonsharedNode:removeAttribute(attrID): Context not open");
+			throw new ContextNotOpenException( "nonsharedEntity:removeAttribute(attrID): Context not open");
 		}
 		
 		try
@@ -362,7 +362,7 @@
 		{
 			bStartedTrans = _nonsharedContext.beginTrans();
 			sync( bStartedTrans);
-			_sharedNode.removeAttribute( attrID.toString());
+			_sharedEntity.removeAttribute( attrID.toString());
 		}
 		finally
 		{
@@ -383,7 +383,7 @@
 		
 		if (!_nonsharedContext.isOpen())
 		{
-			throw new ContextNotOpenException( "nonsharedNode:removeAttributeValue(attrID,value): Context not open");
+			throw new ContextNotOpenException( "nonsharedEntity:removeAttributeValue(attrID,value): Context not open");
 		}
 		
 		try
@@ -390,7 +390,7 @@
 		{
 			bStartedTrans = _nonsharedContext.beginTrans();
 			sync( bStartedTrans);
-			_sharedNode.removeAttributeValue( attrID.toString(), value);
+			_sharedEntity.removeAttributeValue( attrID.toString(), value);
 		}
 		finally
 		{
@@ -410,7 +410,7 @@
 		
 		if (!_nonsharedContext.isOpen())
 		{
-			throw new ContextNotOpenException( "nonsharedNode:removeAttributeValue(IAttribute): Context not open");
+			throw new ContextNotOpenException( "nonsharedEntity:removeAttributeValue(IAttribute): Context not open");
 		}
 		
 		try
@@ -417,7 +417,7 @@
 		{
 			bStartedTrans = _nonsharedContext.beginTrans();
 			sync( bStartedTrans);
-			_sharedNode.removeAttributeValue( attr);
+			_sharedEntity.removeAttributeValue( attr);
 		}
 		finally
 		{
@@ -437,7 +437,7 @@
 		
 		if (!_nonsharedContext.isOpen())
 		{
-			throw new ContextNotOpenException( "nonsharedNode:equals(IHasAttributes): Context not open");
+			throw new ContextNotOpenException( "nonsharedEntity:equals(IHasAttributes): Context not open");
 		}
 		
 		try
@@ -444,7 +444,7 @@
 		{
 			_nonsharedContext.lockSharedContext();
 			sync( false);
-			bEqual = _sharedNode.equals( attributes);
+			bEqual = _sharedEntity.equals( attributes);
 		}
 		finally
 		{
@@ -457,7 +457,7 @@
 	 */
 	public java.util.Iterator getMetadataSet() throws IdASException
 	{
-		throw new NotImplementedException( "Not Implemented: nonsharedNode:getMetadataSet()");
+		throw new NotImplementedException( "Not Implemented: nonsharedEntity:getMetadataSet()");
 	}
 
 	/**
@@ -465,7 +465,7 @@
 	public IMetadata getMetadata(
 		java.net.URI	metadataID) throws IdASException
 	{
-		throw new NotImplementedException( "Not Implemented: nonsharedNode:getMetadata(metadataID)");
+		throw new NotImplementedException( "Not Implemented: nonsharedEntity:getMetadata(metadataID)");
 	}
 	
 	/**
@@ -473,7 +473,7 @@
 	public IMetadata addMetadata(
 		java.net.URI	metadataID) throws IdASException, InvalidTypeException
 	{
-		throw new NotImplementedException( "Not Implemented: nonsharedNode:addMetadata(metadataID)");
+		throw new NotImplementedException( "Not Implemented: nonsharedEntity:addMetadata(metadataID)");
 	}
 
 	/**
@@ -481,7 +481,7 @@
 	public IMetadata addMetadata(
 		IMetadata	copyFrom) throws IdASException
 	{
-		throw new NotImplementedException( "Not Implemented: nonsharedNode:addMetadata(copyFrom)");
+		throw new NotImplementedException( "Not Implemented: nonsharedEntity:addMetadata(copyFrom)");
 	}
 	
 	/**
@@ -489,7 +489,7 @@
 	public boolean equals(
 		IHasMetadata	metadataSet) throws IdASException
 	{
-		throw new NotImplementedException( "Not Implemented: nonsharedNode:equals(metadataSet)");
+		throw new NotImplementedException( "Not Implemented: nonsharedEntity:equals(metadataSet)");
 	}
 }
 
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/NonsharedNode.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/NonsharedNode.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/NonsharedNode.java	(working copy)
@@ -1,495 +0,0 @@
-/**
- * Copyright (c) 2007 Novell, Inc.
- * All Rights Reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; version 2.1 of the license.
- *
- * This library 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 Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; if not, contact Novell, Inc.
- *
- * To contact Novell about this file by physical or electronic mail,
- * you may find current contact information at www.novell.com
- */
-
-/*
- * Copyright (c) 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:
- *		Daniel Sanders
- */
-
-package org.eclipse.higgins.idas.cp.xmlfile;
-
-import org.apache.log4j.Logger;
-
-import org.eclipse.higgins.idas.api.IContext;
-import org.eclipse.higgins.idas.api.IAttribute;
-import org.eclipse.higgins.idas.api.ISingleValuedAttribute;
-import org.eclipse.higgins.idas.api.IMetadata;
-import org.eclipse.higgins.idas.api.IHasMetadata;
-import org.eclipse.higgins.idas.api.IHasAttributes;
-import org.eclipse.higgins.idas.api.INode;
-
-import org.eclipse.higgins.idas.api.IdASException;
-import org.eclipse.higgins.idas.api.ContextNotOpenException;
-import org.eclipse.higgins.idas.api.InvalidTypeException;
-import org.eclipse.higgins.idas.api.NotImplementedException;
-import org.eclipse.higgins.idas.api.NotSingleValuedAttributeException;
-import org.eclipse.higgins.idas.api.NoSuchNodeException;
-
-import org.eclipse.higgins.idas.api.model.INodeModel;
-
-/**
- * 
- * @author dsanders@xxxxxxxxxx
- * 
- */
-
-public class NonsharedNode implements INode, NonsharedAttrContainer
-{
-	private Logger						_log = Logger.getLogger( NonsharedNode.class.getName());
-	private NonsharedContext		_nonsharedContext;
-	private long						_lContextSyncCount;
-	private SharedNode	_sharedNode;
-	private String						_szNodeID;
-	private long						_lSyncCount = 0;
-
-	NonsharedNode(
-		NonsharedContext		nonsharedCtx,
-		SharedNode	sharedNode)
-	{
-		_nonsharedContext = nonsharedCtx;
-		_lContextSyncCount = _nonsharedContext.getSyncCount();
-		_sharedNode = sharedNode;
-		_szNodeID = _sharedNode.getNodeID();
-	}
-	
-	// nonsharedAttrContainer methods
-	
-	public NonsharedContext getNonSharedContext()
-	{
-		return( _nonsharedContext);
-	}
-	
-	public SharedAttrContainer getSharedContainer()
-	{
-		return( _sharedNode);
-	}
-	
-	public java.util.ArrayList getAttrList()
-	{
-		return( _sharedNode.getAttrList());
-	}
-	
-	public java.util.Map getAttrMap()
-	{
-		return( _sharedNode.getAttrMap());
-	}
-	
-	public String getContainerType()
-	{
-		return( "Node");
-	}
-	
-	public String getContainerID()
-	{
-		return( _szNodeID);
-	}
-	
-	public long getSyncCount()
-	{
-		return( _lSyncCount);
-	}
-	
-	public boolean sync(
-		boolean	bForceSync) throws IdASException
-	{
-		boolean	bSynced = false;
-	
-		if (_nonsharedContext.sync( bForceSync) || _lContextSyncCount != _nonsharedContext.getSyncCount())
-		{
-			bForceSync = true;
-		}
-
-		if (bForceSync ||
-			_sharedNode == null ||
-			_sharedNode.isDeleted())
-		{
-			_sharedNode = _nonsharedContext.getSharedContext().getNode( _szNodeID);
-			bSynced = true;
-			_lSyncCount++;
-			_lContextSyncCount = _nonsharedContext.getSyncCount();
-		}
-		if (_sharedNode == null)
-		{
-			String	szErrMsg = "Node '" + _szNodeID + "' no longer exists";
-			
-			_log.debug( szErrMsg);
-			throw new NoSuchNodeException( szErrMsg);
-		}
-		return( bSynced);
-	}
-	
-	// Methods of the INode interface
-	
-	public IContext getContext() throws IdASException
-	{
-		return( _nonsharedContext);
-	}
-	
-	/**
-	 */
-	public String getNodeID() throws IdASException
-	{
-		return( _szNodeID);
-	}
-	
-	/**
-	 */
-	public java.net.URI getNodeType() throws IdASException
-	{
-		java.net.URI	nodeType = null;
-		
-		if (!_nonsharedContext.isOpen())
-		{
-			throw new ContextNotOpenException( "nonsharedNode:getNodeType(): Context not open");
-		}
-		
-		try
-		{
-			_nonsharedContext.lockSharedContext();
-			sync( false);
-			nodeType = java.net.URI.create( _sharedNode.getNodeType());
-		}
-		finally
-		{
-			_nonsharedContext.unlockSharedContext();
-		}
-		
-		return( nodeType);
-	}
-	
-	/**
-	 */
-	public java.util.Iterator getAttributes() throws IdASException
-	{
-		java.util.Iterator	iter = null;
-		
-		if (!_nonsharedContext.isOpen())
-		{
-			throw new ContextNotOpenException( "nonsharedNode:getAttributes(): Context not open");
-		}
-		
-		try
-		{
-			_nonsharedContext.lockSharedContext();
-			sync( false);
-			iter = new AttrIterator( this);
-		}
-		finally
-		{
-			_nonsharedContext.unlockSharedContext();
-		}
-		
-		return( iter);
-	}
-
-	/**
-	 */
-	public IAttribute getAttribute(
-		java.net.URI attrID) throws IdASException
-	{
-		SharedAttribute	sharedAttr = null;
-		
-		if (!_nonsharedContext.isOpen())
-		{
-			throw new ContextNotOpenException( "nonsharedNode:getAttribute(attrID): Context not open");
-		}
-		
-		try
-		{
-			_nonsharedContext.lockSharedContext();
-			sync( false);
-			sharedAttr = _sharedNode.getAttribute( attrID.toString());
-		}
-		finally
-		{
-			_nonsharedContext.unlockSharedContext();
-		}
-		return( sharedAttr == null ? null : new NonsharedAttribute( this, sharedAttr));
-	}
-
-	/**
-	 */
-	public INodeModel getModel() throws IdASException
-	{
-		throw new NotImplementedException( "Not Implemented: nonsharedNode:getModel()");
-	}
-
-	/**
-	 */
-	public void remove() throws IdASException
-	{
-		boolean	bStartedTrans = false;
-		
-		if (!_nonsharedContext.isOpen())
-		{
-			throw new ContextNotOpenException( "nonsharedNode:remove(): Context not open");
-		}
-		
-		try
-		{
-			bStartedTrans = _nonsharedContext.beginTrans();
-			sync( bStartedTrans);
-			_sharedNode.remove();
-			_sharedNode = null;
-		}
-		finally
-		{
-			if (!bStartedTrans)
-			{
-				_nonsharedContext.unlockSharedContext();
-			}
-		}
-	}
-
-	/**
-	 */
-	public ISingleValuedAttribute getSingleValuedAttribute(
-		java.net.URI	attrID) throws IdASException, NotSingleValuedAttributeException
-	{
-		SharedAttribute	sharedAttr = null;
-		
-		if (!_nonsharedContext.isOpen())
-		{
-			throw new ContextNotOpenException( "nonsharedNode:getSingleValuedAttribute(): Context not open");
-		}
-		
-		try
-		{
-			_nonsharedContext.lockSharedContext();
-			sync( false);
-			sharedAttr = _sharedNode.getSingleValuedAttribute( attrID.toString());
-		}
-		finally
-		{
-			_nonsharedContext.unlockSharedContext();
-		}
-		return( sharedAttr == null ? null : new NonsharedAttribute( this, sharedAttr));
-	}
-
-	/**
-	 */
-	public IAttribute addAttribute(
-		java.net.URI	attrID) throws IdASException, InvalidTypeException
-	{
-		boolean				bStartedTrans = false;
-		SharedAttribute	sharedAttr = null;
-		
-		if (!_nonsharedContext.isOpen())
-		{
-			throw new ContextNotOpenException( "nonsharedNode:addAttribute(attrID): Context not open");
-		}
-		
-		try
-		{
-			bStartedTrans = _nonsharedContext.beginTrans();
-			sync( bStartedTrans);
-			sharedAttr = _sharedNode.addAttribute( attrID.toString());
-		}
-		finally
-		{
-			if (!bStartedTrans)
-			{
-				_nonsharedContext.unlockSharedContext();
-			}
-		}
-		return( sharedAttr == null ? null : new NonsharedAttribute( this, sharedAttr));
-	}
-	
-	/**
-	 */
-	public IAttribute addAttribute(
-		IAttribute copyFrom) throws IdASException
-	{
-		boolean				bStartedTrans = false;
-		SharedAttribute	sharedAttr = null;
-		
-		if (!_nonsharedContext.isOpen())
-		{
-			throw new ContextNotOpenException( "nonsharedNode:addAttribute(copyFrom): Context not open");
-		}
-		
-		try
-		{
-			bStartedTrans = _nonsharedContext.beginTrans();
-			sharedAttr = _sharedNode.addAttribute( copyFrom);
-		}
-		finally
-		{
-			if (!bStartedTrans)
-			{
-				_nonsharedContext.unlockSharedContext();
-			}
-		}
-		return( sharedAttr == null ? null : new NonsharedAttribute( this, sharedAttr));
-	}
-
-	/**
-	 */
-	public void removeAttribute(
-		java.net.URI	attrID) throws IdASException
-	{
-		boolean	bStartedTrans = false;
-		
-		if (!_nonsharedContext.isOpen())
-		{
-			throw new ContextNotOpenException( "nonsharedNode:removeAttribute(attrID): Context not open");
-		}
-		
-		try
-		{
-			bStartedTrans = _nonsharedContext.beginTrans();
-			sync( bStartedTrans);
-			_sharedNode.removeAttribute( attrID.toString());
-		}
-		finally
-		{
-			if (!bStartedTrans)
-			{
-				_nonsharedContext.unlockSharedContext();
-			}
-		}
-	}
-
-	/**
-	 */
-	public void removeAttributeValue(
-		java.net.URI	attrID,
-		Object			value) throws IdASException
-	{
-		boolean	bStartedTrans = false;
-		
-		if (!_nonsharedContext.isOpen())
-		{
-			throw new ContextNotOpenException( "nonsharedNode:removeAttributeValue(attrID,value): Context not open");
-		}
-		
-		try
-		{
-			bStartedTrans = _nonsharedContext.beginTrans();
-			sync( bStartedTrans);
-			_sharedNode.removeAttributeValue( attrID.toString(), value);
-		}
-		finally
-		{
-			if (!bStartedTrans)
-			{
-				_nonsharedContext.unlockSharedContext();
-			}
-		}
-	}
-
-	/**
-	 */
-	public void removeAttributeValue(
-		IAttribute	attr) throws IdASException
-	{
-		boolean	bStartedTrans = false;
-		
-		if (!_nonsharedContext.isOpen())
-		{
-			throw new ContextNotOpenException( "nonsharedNode:removeAttributeValue(IAttribute): Context not open");
-		}
-		
-		try
-		{
-			bStartedTrans = _nonsharedContext.beginTrans();
-			sync( bStartedTrans);
-			_sharedNode.removeAttributeValue( attr);
-		}
-		finally
-		{
-			if (!bStartedTrans)
-			{
-				_nonsharedContext.unlockSharedContext();
-			}
-		}
-	}
-
-	/**
-	 */
-	public boolean equals(
-		IHasAttributes	attributes) throws IdASException
-	{
-		boolean	bEqual = true;
-		
-		if (!_nonsharedContext.isOpen())
-		{
-			throw new ContextNotOpenException( "nonsharedNode:equals(IHasAttributes): Context not open");
-		}
-		
-		try
-		{
-			_nonsharedContext.lockSharedContext();
-			sync( false);
-			bEqual = _sharedNode.equals( attributes);
-		}
-		finally
-		{
-			_nonsharedContext.unlockSharedContext();
-		}
-		return( bEqual);
-	}
-	
-	/**
-	 */
-	public java.util.Iterator getMetadataSet() throws IdASException
-	{
-		throw new NotImplementedException( "Not Implemented: nonsharedNode:getMetadataSet()");
-	}
-
-	/**
-	 */
-	public IMetadata getMetadata(
-		java.net.URI	metadataID) throws IdASException
-	{
-		throw new NotImplementedException( "Not Implemented: nonsharedNode:getMetadata(metadataID)");
-	}
-	
-	/**
-	 */
-	public IMetadata addMetadata(
-		java.net.URI	metadataID) throws IdASException, InvalidTypeException
-	{
-		throw new NotImplementedException( "Not Implemented: nonsharedNode:addMetadata(metadataID)");
-	}
-
-	/**
-	 */
-	public IMetadata addMetadata(
-		IMetadata	copyFrom) throws IdASException
-	{
-		throw new NotImplementedException( "Not Implemented: nonsharedNode:addMetadata(copyFrom)");
-	}
-	
-	/**
-	 */
-	public boolean equals(
-		IHasMetadata	metadataSet) throws IdASException
-	{
-		throw new NotImplementedException( "Not Implemented: nonsharedNode:equals(metadataSet)");
-	}
-}
-
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/SharedContext.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/SharedContext.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/SharedContext.java	(working copy)
@@ -40,7 +40,7 @@
 import org.eclipse.higgins.idas.spi.BasicFilterAttributeAssertion;
 import org.eclipse.higgins.idas.spi.BasicValueBase64Binary;
 
-import org.eclipse.higgins.idas.api.INode;
+import org.eclipse.higgins.idas.api.IEntity;
 import org.eclipse.higgins.idas.api.IAttribute;
 import org.eclipse.higgins.idas.api.IAttributeValue;
 import org.eclipse.higgins.idas.api.ISimpleAttrValue;
@@ -49,9 +49,9 @@
 import org.eclipse.higgins.idas.api.IFilterAttributeAssertion;
 
 import org.eclipse.higgins.idas.api.IdASException;
-import org.eclipse.higgins.idas.api.NoSuchNodeException;
+import org.eclipse.higgins.idas.api.NoSuchEntityException;
 import org.eclipse.higgins.idas.api.NotImplementedException;
-import org.eclipse.higgins.idas.api.NodeExistsException;
+import org.eclipse.higgins.idas.api.EntityExistsException;
 import org.eclipse.higgins.idas.api.AuthenticationException;
 
 import org.eclipse.higgins.idas.common.AuthNNamePasswordMaterials;
@@ -67,7 +67,7 @@
 class SharedContext extends Thread
 {
 	public static final String		XML_CONTEXT_ELEMENT = "Context";
-	public static final String		XML_NODE_ELEMENT = "Node";
+	public static final String		XML_ENTITY_ELEMENT = "Entity";
 	public static final String		XML_ATTRIBUTE_ELEMENT = "Attribute";
 	public static final String		XML_ATTRIBUTE_VALUE_ELEMENT = "AttributeValue";
 	
@@ -72,7 +72,7 @@
 	public static final String		XML_ATTRIBUTE_VALUE_ELEMENT = "AttributeValue";
 	
 	public static final String		XML_ATTR_ID_ATTR = "AttrID";
-	public static final String		XML_NODE_TYPE_ATTR = "NodeType";
+	public static final String		XML_ENTITY_TYPE_ATTR = "EntityType";
 	public static final String		XML_DATA_TYPE_ATTR = "DataType";
 	
 	private Logger						_log = Logger.getLogger( SharedContext.class.getName());
@@ -78,8 +78,8 @@
 	private Logger						_log = Logger.getLogger( SharedContext.class.getName());
 	private int							_iOpenCount;
 	private long						_lLastCloseTime;
-	private java.util.Map			_nodeMap;
-	private java.util.ArrayList	_nodeList;
+	private java.util.Map			_entityMap;
+	private java.util.ArrayList	_entityList;
 	private String						_szFileName;
 	private java.io.File				_file;
 	private long						_lLastModifiedTime;
@@ -112,8 +112,8 @@
 			throw new IdASException( szErrMsg);
 		}
 		_initPresetAttrs();
-		_nodeMap = new java.util.HashMap();
-		_nodeList = new java.util.ArrayList();
+		_entityMap = new java.util.HashMap();
+		_entityList = new java.util.ArrayList();
 		
 		if (!_file.exists())
 		{
@@ -142,7 +142,7 @@
 	SharedContext(
 		SharedContext	copyContext) throws IdASException
 	{
-		java.util.ArrayList	copyNodeList = copyContext.getNodeList();
+		java.util.ArrayList	copyEntityList = copyContext.getEntityList();
 		
 		_bLocked = false;
 		_szFileName = copyContext.getFileName();
@@ -149,12 +149,12 @@
 		_file = new java.io.File( _szFileName);
 		_initPresetAttrs();		
 		_lLastModifiedTime = copyContext.getLastModifiedTime();
-		_nodeMap = new java.util.HashMap();
-		_nodeList = new java.util.ArrayList();
+		_entityMap = new java.util.HashMap();
+		_entityList = new java.util.ArrayList();
 		
-		for (int iLoop = 0; iLoop < copyNodeList.size(); iLoop++)
+		for (int iLoop = 0; iLoop < copyEntityList.size(); iLoop++)
 		{
-			copyNode( (SharedNode)copyNodeList.get( iLoop));
+			copyEntity( (SharedEntity)copyEntityList.get( iLoop));
 		}
 	}
 	
@@ -165,24 +165,24 @@
 	void setDataFromContext(
 		SharedContext	srcContext) throws IdASException
 	{
-		_nodeList = srcContext.getNodeList();
-		_nodeMap = srcContext.getNodeMap();
+		_entityList = srcContext.getEntityList();
+		_entityMap = srcContext.getEntityMap();
 		_lLastModifiedTime = srcContext.getLastModifiedTime();
 	}
 	
-	void copyNode(
-		SharedNode	copyNode) throws IdASException
+	void copyEntity(
+		SharedEntity	copyEntity) throws IdASException
 	{
-		SharedNode		sharedNode;
-		java.util.ArrayList		attrList = copyNode.getAttrList();
-		String						szNodeID = copyNode.getNodeID();
+		SharedEntity		sharedEntity;
+		java.util.ArrayList		attrList = copyEntity.getAttrList();
+		String						szEntityID = copyEntity.getEntityID();
 		
-		sharedNode = new SharedNode( this, copyNode.getNodeType(), szNodeID);
-		_nodeMap.put( szNodeID, sharedNode);
-		_nodeList.add( sharedNode);
+		sharedEntity = new SharedEntity( this, copyEntity.getEntityType(), szEntityID);
+		_entityMap.put( szEntityID, sharedEntity);
+		_entityList.add( sharedEntity);
 		for (int iLoop = 0; iLoop < attrList.size(); iLoop++)
 		{
-			sharedNode.copyAttr( (SharedAttribute)attrList.get( iLoop));
+			sharedEntity.copyAttr( (SharedAttribute)attrList.get( iLoop));
 		}
 	}
 	
@@ -193,14 +193,14 @@
 		return( _szFileName);
 	}
 	
-	java.util.ArrayList getNodeList()
+	java.util.ArrayList getEntityList()
 	{
-		return( _nodeList);
+		return( _entityList);
 	}
 	
-	java.util.Map getNodeMap()
+	java.util.Map getEntityMap()
 	{
-		return( _nodeMap);
+		return( _entityMap);
 	}
 	
 	int getOpenCount()
@@ -551,7 +551,7 @@
 	
 	/**
 	 */
-	private SharedNode _parseNode(
+	private SharedEntity _parseNode(
 		org.w3c.dom.Node		nodeDOMNode,
 		String					szUserNameAttr) throws IdASException
 	{
@@ -557,7 +557,7 @@
 	{
 		String						szErrMsg;
 		org.w3c.dom.Node			attrNode;
-		SharedNode		sharedNode;
+		SharedEntity		sharedEntity;
 		SharedAttribute			sharedAttr;
 		String						szNodeID = null;
 		String						szNodeType;
@@ -565,9 +565,9 @@
 		
 		// Must have a type attribute on the node
 		
-		if ((szNodeType = _getElementAttr( (org.w3c.dom.Element)nodeDOMNode, XML_NODE_TYPE_ATTR)) == null)
+		if ((szNodeType = _getElementAttr( (org.w3c.dom.Element)nodeDOMNode, XML_ENTITY_TYPE_ATTR)) == null)
 		{
-			szErrMsg = "Node type XML attribute '" + XML_NODE_TYPE_ATTR + "' missing on XML element file " + _szFileName + "'";
+			szErrMsg = "Node type XML attribute '" + XML_ENTITY_TYPE_ATTR + "' missing on XML element file " + _szFileName + "'";
 			_log.debug( szErrMsg);
 			throw new IdASException( szErrMsg);
 		}
@@ -572,7 +572,7 @@
 			throw new IdASException( szErrMsg);
 		}
 		
-		sharedNode = new SharedNode( this, szNodeType, null);		
+		sharedEntity = new SharedEntity( this, szNodeType, null);		
 		
 		attrNode = nodeDOMNode.getFirstChild();
 		while (attrNode != null)
@@ -579,8 +579,8 @@
 		{
 			if (_isElementNode( attrNode, XML_ATTRIBUTE_ELEMENT))
 			{
-				sharedAttr = _parseAttribute( sharedNode, attrNode);
-				sharedNode.addAttr( sharedAttr);
+				sharedAttr = _parseAttribute( sharedEntity, attrNode);
+				sharedEntity.addAttr( sharedAttr);
 				szAttrID = sharedAttr.getAttrID();
 				
 				// If the attribute is the user name attribute, get its value as the node ID
@@ -621,8 +621,8 @@
 			_log.debug( szErrMsg);
 			throw new IdASException( szErrMsg);
 		}
-		sharedNode.setNodeID( szNodeID);
-		return( sharedNode);
+		sharedEntity.setEntityID( szNodeID);
+		return( sharedEntity);
 	}
 	
 	/**
@@ -638,7 +638,7 @@
 		org.w3c.dom.Node									node;
 		java.util.HashMap									nodeMap = new java.util.HashMap();
 		java.util.ArrayList								nodeList = new java.util.ArrayList();
-		SharedNode											sharedNode;
+		SharedEntity											sharedEntity;
 		String												szNodeID;
 		
 		// First, get the document into DOM format
@@ -659,7 +659,7 @@
 			throw new IdASException( szErrMsg);
 		}
 		
-		// Now make a second pass to get the Nodes
+		// Now make a second pass to get the Entities
 		
 		node = root.getFirstChild();
 		while (node != null)
@@ -664,13 +664,13 @@
 		node = root.getFirstChild();
 		while (node != null)
 		{
-			if (_isElementNode( node, XML_NODE_ELEMENT))
+			if (_isElementNode( node, XML_ENTITY_ELEMENT))
 			{
-				sharedNode = _parseNode( node, _szUserNameAttr);
+				sharedEntity = _parseNode( node, _szUserNameAttr);
 				
 				// See if the Node is already defined.
 				
-				szNodeID = sharedNode.getNodeID();
+				szNodeID = sharedEntity.getEntityID();
 				if (nodeMap.get( szNodeID) != null)
 				{
 					szErrMsg = "Node '" + szNodeID + "' defined multiple times in file '" + _szFileName + "'";
@@ -677,8 +677,8 @@
 					_log.debug( szErrMsg);
 					throw new IdASException( szErrMsg);
 				}
-				nodeMap.put( szNodeID, sharedNode);
-				nodeList.add( sharedNode);
+				nodeMap.put( szNodeID, sharedEntity);
+				nodeList.add( sharedEntity);
 			}
 			node = node.getNextSibling();
 		}
@@ -685,8 +685,8 @@
 		
 		// If we were successful, save things into the member variables.
 		
-		_nodeMap = nodeMap;
-		_nodeList = nodeList;
+		_entityMap = nodeMap;
+		_entityList = nodeList;
 		_lLastModifiedTime = _file.lastModified();
 	}
 	
@@ -692,8 +692,8 @@
 	
 	public void close()
 	{
-		_nodeMap = null;
-		_nodeList = null;
+		_entityMap = null;
+		_entityList = null;
 		_szFileName = null;
 		_file = null;
 		_szUserNameAttr = null;
@@ -1524,8 +1524,8 @@
 	
 	/**
 	 */
-	boolean testNode(
-		SharedNode	sharedNode,
+	boolean testEntity(
+		SharedEntity	sharedEntity,
 		IFilter					filter) throws IdASException
 	{
 		SharedAttribute					sharedAttr;
@@ -1546,7 +1546,7 @@
 		boolean								bAndOp;
 		boolean								bPassed;
 		
-		// A null filter means that all of the Nodes should pass.
+		// A null filter means that all of the Entities should pass.
 		
 		if (filter == null)
 		{
@@ -1563,7 +1563,7 @@
 			filterIter = ((BasicFilter)filter).getFilters();
 			while (filterIter.hasNext())
 			{
-				bPassed = testNode( sharedNode, (IFilter)filterIter.next());
+				bPassed = testEntity( sharedEntity, (IFilter)filterIter.next());
 				if (!bPassed && bAndOp)
 				{
 					// No need to evaluate anymore if we are AND the filters and one fails.
@@ -1579,7 +1579,7 @@
 		}
 		bNotted = (szOperator != null && szOperator.equals( IFilter.OP_NOT)) ? true : false;
 		szAttrID = assertion.getID().toString();
-		sharedAttr = sharedNode.getAttribute( szAttrID);
+		sharedAttr = sharedEntity.getAttribute( szAttrID);
 		szComparator = assertion.getComparator();
 		
 		if (!(assertion instanceof BasicFilterAttributeAssertion))
@@ -1690,11 +1690,11 @@
 		return( bNotted ? true : false);
 	}
 	
-	private SharedNode _findNode(
+	private SharedEntity _findNode(
 		String	szSimpleValue,
 		String	szAttrID) throws IdASException
 	{
-		SharedNode		sharedNode;
+		SharedEntity		sharedEntity;
 		SharedAttribute			sharedAttr;
 		java.util.ArrayList		valueList;
 		SharedSimpleAttrValue	simpleValue;
@@ -1699,13 +1699,13 @@
 		java.util.ArrayList		valueList;
 		SharedSimpleAttrValue	simpleValue;
 		
-		for (int iLoop = 0; iLoop < _nodeList.size(); iLoop++)
+		for (int iLoop = 0; iLoop < _entityList.size(); iLoop++)
 		{
-			sharedNode = (SharedNode)_nodeList.get( iLoop);
+			sharedEntity = (SharedEntity)_entityList.get( iLoop);
 			
 			// See if the node has the specified attribute
 			
-			if ((sharedAttr = (SharedAttribute)sharedNode.getAttrMap().get( szAttrID)) != null)
+			if ((sharedAttr = (SharedAttribute)sharedEntity.getAttrMap().get( szAttrID)) != null)
 			{
 				if (sharedAttr.getAttrDataType() != null && sharedAttr.isSimpleDataType())
 				{
@@ -1716,7 +1716,7 @@
 						simpleValue = (SharedSimpleAttrValue)valueList.get( iLoop2);
 						if (simpleValue.getCanonical() != null && szSimpleValue.equals( simpleValue.getCanonical()))
 						{
-							return( sharedNode);
+							return( sharedEntity);
 						}
 					}
 				}
@@ -1731,7 +1731,7 @@
 		Object	identity) throws IdASException
 	{
 		String						szNodeID;
-		SharedNode		sharedNode;
+		SharedEntity		sharedEntity;
 		String						szErrMsg;
 		SharedAttribute			userNameAttr;
 		SharedAttribute			passwordAttr;
@@ -1745,13 +1745,13 @@
 		else if (identity instanceof AuthNNamePasswordMaterials)
 		{
 			szNodeID = ((AuthNNamePasswordMaterials) identity).getUsername();
-			if ((sharedNode = (SharedNode)_nodeMap.get( szNodeID)) == null)
+			if ((sharedEntity = (SharedEntity)_entityMap.get( szNodeID)) == null)
 			{
 				szErrMsg = "Could not authenticate node '" + szNodeID + "', node not found";
 				_log.debug( szErrMsg);
-				throw new NoSuchNodeException( "Could not authenticate node '" + szNodeID + "'");
+				throw new NoSuchEntityException( "Could not authenticate node '" + szNodeID + "'");
 			}
-			if ((passwordAttr = sharedNode.getAttribute( _szPasswordAttr)) == null)
+			if ((passwordAttr = sharedEntity.getAttribute( _szPasswordAttr)) == null)
 			{
 				szErrMsg = "No password attribute '" + _szPasswordAttr + "' found on Node '" + szNodeID + "'";
 				_log.debug( szErrMsg);
@@ -1789,15 +1789,15 @@
 		{
 			BasicValueBase64Binary	base64Value = new BasicValueBase64Binary( ((AuthNDigestMaterials)identity).getSHA1Digest(), null);
 
-			if ((sharedNode = _findNode( base64Value.getCanonical(), _szCardKeyHashAttr)) == null)
+			if ((sharedEntity = _findNode( base64Value.getCanonical(), _szCardKeyHashAttr)) == null)
 			{
 				szErrMsg = "AuthN materials produced no Node ID, hash='" + base64Value.getCanonical() + "'";
 				_log.debug( szErrMsg);
-				throw new NoSuchNodeException( szErrMsg);
+				throw new NoSuchEntityException( szErrMsg);
 			}
 			else
 			{
-				if ((userNameAttr = sharedNode.getAttribute( _szUserNameAttr)) == null)
+				if ((userNameAttr = sharedEntity.getAttribute( _szUserNameAttr)) == null)
 				{
 					szErrMsg = "No user name attribute specified on Node that was found, hash='" + base64Value.getCanonical() + "'";
 					_log.debug( szErrMsg);
@@ -1828,32 +1828,32 @@
 		return( szNodeID);
 	}
 	
-	SharedNode getNode(
-		String	szNodeID) throws IdASException
+	SharedEntity getEntity(
+		String	szEntityID) throws IdASException
 	{
-		SharedNode	sharedNode = (SharedNode)_nodeMap.get( szNodeID);
-		if (sharedNode == null)
+		SharedEntity	sharedEntity = (SharedEntity)_entityMap.get( szEntityID);
+		if (sharedEntity == null)
 		{
-			String	szErrMsg = "sharedContext:getNode(nodeID): No such node '" + szNodeID + "'";
+			String	szErrMsg = "sharedContext:getNode(entityID): No such node '" + szEntityID + "'";
 			_log.debug( szErrMsg);
-			throw new NoSuchNodeException( szErrMsg);
+			throw new NoSuchEntityException( szErrMsg);
 		}
-		return( sharedNode);
+		return( sharedEntity);
 	}
 	
-	void removeNode(
+	void removeEntity(
 		String	szNodeID) throws IdASException
 	{
 		String					szErrMsg;
-		SharedNode	sharedNode;
+		SharedEntity	sharedEntity;
 		
 		try
 		{
-			if ((sharedNode = (SharedNode)_nodeMap.remove( szNodeID)) == null)
+			if ((sharedEntity = (SharedEntity)_entityMap.remove( szNodeID)) == null)
 			{
-				szErrMsg = "sharedContext:removeNode(nodeID): No such node '" + szNodeID + "'";
+				szErrMsg = "sharedContext:removeNode(entityID): No such node '" + szNodeID + "'";
 				_log.debug( szErrMsg);
-				throw new NoSuchNodeException( szErrMsg);
+				throw new NoSuchEntityException( szErrMsg);
 			}
 			else
 			{
@@ -1860,12 +1860,12 @@
 				
 				// Find and remove the node in the list
 				
-				sharedNode.setDeleted();
-				for (int iLoop = 0; iLoop < _nodeList.size(); iLoop++)
+				sharedEntity.setDeleted();
+				for (int iLoop = 0; iLoop < _entityList.size(); iLoop++)
 				{
-					if (sharedNode == (SharedNode)_nodeList.get( iLoop))
+					if (sharedEntity == (SharedEntity)_entityList.get( iLoop))
 					{
-						_nodeList.remove( iLoop);
+						_entityList.remove( iLoop);
 						break;
 					}
 				}
@@ -1873,7 +1873,7 @@
 		}
 		catch (Exception e)
 		{
-			szErrMsg = "sharedContext:removeNode(nodeID): Exception " + e.getClass().getName() + " removing Node '" + szNodeID + "': " + e.getMessage();
+			szErrMsg = "sharedContext:removeNode(entityID): Exception " + e.getClass().getName() + " removing Node '" + szNodeID + "': " + e.getMessage();
 			_log.debug( szErrMsg);
 			throw new IdASException( szErrMsg);
 		}
@@ -1879,42 +1879,42 @@
 		}
 	}
 	
-	SharedNode addNode(
+	SharedEntity addEntity(
 		java.net.URI	type,
-		String			szNodeID) throws IdASException
+		String			szEntityID) throws IdASException
 	{
-		SharedNode		sharedNode;
+		SharedEntity		sharedEntity;
 		SharedAttribute			sharedAttr;
 		String						szErrMsg;
 		
-		if ((sharedNode = (SharedNode)_nodeMap.get( szNodeID)) != null)
+		if ((sharedEntity = (SharedEntity)_entityMap.get( szEntityID)) != null)
 		{
-			szErrMsg = "sharedContext:addNode(type,nodeID): Attempting to add a Node '" + szNodeID + "' that already exists";
+			szErrMsg = "sharedContext:addNode(type,entityID): Attempting to add a Node '" + szEntityID + "' that already exists";
 			_log.debug( szErrMsg);
-			throw new NodeExistsException( szErrMsg);
+			throw new EntityExistsException( szErrMsg);
 		}
 		
-		sharedNode = new SharedNode( this, type.toString(), szNodeID);
+		sharedEntity = new SharedEntity( this, type.toString(), szEntityID);
 		
-		sharedAttr = new SharedAttribute( sharedNode, _szUserNameAttr, ITypedValue.STRING_ATTR_VALUE_TYPE_URI_STR, true);
+		sharedAttr = new SharedAttribute( sharedEntity, _szUserNameAttr, ITypedValue.STRING_ATTR_VALUE_TYPE_URI_STR, true);
 		
-		sharedAttr.addValueToList( new SharedSimpleAttrValue( sharedAttr, szNodeID));
+		sharedAttr.addValueToList( new SharedSimpleAttrValue( sharedAttr, szEntityID));
 		
-		sharedNode.addAttr( sharedAttr);
+		sharedEntity.addAttr( sharedAttr);
 		
-		_nodeMap.put( szNodeID, sharedNode);
-		_nodeList.add( sharedNode);
-		return( sharedNode);
+		_entityMap.put( szEntityID, sharedEntity);
+		_entityList.add( sharedEntity);
+		return( sharedEntity);
 	}
 
-	SharedNode addNode(
-		INode	copyFrom) throws IdASException, NodeExistsException
+	SharedEntity addEntity(
+		IEntity	copyFrom) throws IdASException, EntityExistsException
 	{
-		SharedNode	sharedNode = null;
+		SharedEntity	sharedEntity = null;
 		IAttribute				attr;
 		java.util.Iterator	attrIterator;
 		
-		sharedNode = addNode( copyFrom.getNodeType(), copyFrom.getNodeID());
+		sharedEntity = addEntity( copyFrom.getEntityType(), copyFrom.getEntityID());
 		
 		// Copy all of the attributes
 		
@@ -1922,9 +1922,9 @@
 		while (attrIterator.hasNext())
 		{
 			attr = (IAttribute)attrIterator.next();
-			sharedNode.addAttribute( attr);
+			sharedEntity.addAttribute( attr);
 		}
-		return( sharedNode);
+		return( sharedEntity);
 	}
 	
 	private org.w3c.dom.Element _createChildElement(
@@ -2015,17 +2015,17 @@
 		org.w3c.dom.Document	doc,
 		org.w3c.dom.Element	contextElement) throws IdASException
 	{
-		SharedNode	sharedNode;
+		SharedEntity	sharedEntity;
 		org.w3c.dom.Element	NodeElement;
 		
-		for (int iLoop = 0; iLoop < _nodeList.size(); iLoop++)
+		for (int iLoop = 0; iLoop < _entityList.size(); iLoop++)
 		{
-			sharedNode = (SharedNode)_nodeList.get( iLoop);
+			sharedEntity = (SharedEntity)_entityList.get( iLoop);
 			
-			NodeElement = _createChildElement( doc, contextElement, XML_NODE_ELEMENT,
-				XML_NODE_TYPE_ATTR, sharedNode.getNodeType(), null, null, null);
+			NodeElement = _createChildElement( doc, contextElement, XML_ENTITY_ELEMENT,
+				XML_ENTITY_TYPE_ATTR, sharedEntity.getEntityType(), null, null, null);
 				
-			_createAttributeElements( doc, NodeElement, sharedNode);
+			_createAttributeElements( doc, NodeElement, sharedEntity);
 		}
 	}
 
@@ -2050,7 +2050,7 @@
 			rootElement = doc.createElement( XML_CONTEXT_ELEMENT);
 			doc.appendChild( rootElement);
 			
-			// Add the Nodes
+			// Add the Entities
 			
 			_createNodeElements( doc, rootElement);
 			
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/SharedEntity.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/SharedEntity.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/SharedEntity.java	(working copy)
@@ -41,18 +41,18 @@
  * 
  */
 
-public class SharedNode extends SharedAttrContainer
+public class SharedEntity extends SharedAttrContainer
 {
-	private Logger				_log = Logger.getLogger( SharedNode.class.getName());
+	private Logger				_log = Logger.getLogger( SharedEntity.class.getName());
 	private SharedContext	_sharedContext;
-	private String				_szNodeType;
-	private String				_szNodeID;
+	private String				_szEntityType;
+	private String				_szEntityID;
 	private boolean			_bDeleted;
 
-	SharedNode(
+	SharedEntity(
 		SharedContext			sharedCtx,
-		String					szNodeType,
-		String					szNodeID) throws IdASException
+		String					szEntityType,
+		String					szEntityID) throws IdASException
 	{
 		super();
 		_bDeleted = false;
@@ -57,8 +57,8 @@
 		super();
 		_bDeleted = false;
 		_sharedContext = sharedCtx;
-		_szNodeType = szNodeType;
-		_szNodeID = szNodeID;
+		_szEntityType = szEntityType;
+		_szEntityID = szEntityID;
 	}
 	
 	void setDeleted()
@@ -71,20 +71,20 @@
 		return( _bDeleted);
 	}
 	
-	String getNodeType()
+	String getEntityType()
 	{
-		return( _szNodeType);
+		return( _szEntityType);
 	}
 	
-	void setNodeID(
-		String	szNodeID)
+	void setEntityID(
+		String	szEntityID)
 	{
-		_szNodeID = szNodeID;
+		_szEntityID = szEntityID;
 	}
 
-	String getNodeID()
+	String getEntityID()
 	{
-		return( _szNodeID);
+		return( _szEntityID);
 	}
 
 	String getContainerID()
@@ -89,7 +89,7 @@
 
 	String getContainerID()
 	{
-		return( _szNodeID);
+		return( _szEntityID);
 	}
 	
 	String getContainerType()
@@ -94,7 +94,7 @@
 	
 	String getContainerType()
 	{
-		return( "node");
+		return( "entity");
 	}
 	
 	Logger getLogger()
@@ -104,7 +104,7 @@
 
 	void remove() throws IdASException
 	{
-		_sharedContext.removeNode( _szNodeID);
+		_sharedContext.removeEntity( _szEntityID);
 	}
 }
 
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/SharedNode.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/SharedNode.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.cp.xmlfile/src/org/eclipse/higgins/idas/cp/xmlfile/SharedNode.java	(working copy)
@@ -1,110 +0,0 @@
-/**
- * Copyright (c) 2007 Novell, Inc.
- * All Rights Reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; version 2.1 of the license.
- *
- * This library 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 Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; if not, contact Novell, Inc.
- *
- * To contact Novell about this file by physical or electronic mail,
- * you may find current contact information at www.novell.com
- */
-
-/*
- * Copyright (c) 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:
- *		Daniel Sanders
- */
-
-package org.eclipse.higgins.idas.cp.xmlfile;
-
-import org.apache.log4j.Logger;
-
-import org.eclipse.higgins.idas.api.IdASException;
-
-/**
- * 
- * @author dsanders@xxxxxxxxxx
- * 
- */
-
-public class SharedNode extends SharedAttrContainer
-{
-	private Logger				_log = Logger.getLogger( SharedNode.class.getName());
-	private SharedContext	_sharedContext;
-	private String				_szNodeType;
-	private String				_szNodeID;
-	private boolean			_bDeleted;
-
-	SharedNode(
-		SharedContext			sharedCtx,
-		String					szNodeType,
-		String					szNodeID) throws IdASException
-	{
-		super();
-		_bDeleted = false;
-		_sharedContext = sharedCtx;
-		_szNodeType = szNodeType;
-		_szNodeID = szNodeID;
-	}
-	
-	void setDeleted()
-	{
-		_bDeleted = true;
-	}
-	
-	boolean isDeleted()
-	{
-		return( _bDeleted);
-	}
-	
-	String getNodeType()
-	{
-		return( _szNodeType);
-	}
-	
-	void setNodeID(
-		String	szNodeID)
-	{
-		_szNodeID = szNodeID;
-	}
-
-	String getNodeID()
-	{
-		return( _szNodeID);
-	}
-
-	String getContainerID()
-	{
-		return( _szNodeID);
-	}
-	
-	String getContainerType()
-	{
-		return( "node");
-	}
-	
-	Logger getLogger()
-	{
-		return( _log);
-	}
-
-	void remove() throws IdASException
-	{
-		_sharedContext.removeNode( _szNodeID);
-	}
-}
-
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.registry.test/src/org/eclipse/higgins/idas/registry/test/TestContext.java.test
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.registry.test/src/org/eclipse/higgins/idas/registry/test/TestContext.java.test	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.registry.test/src/org/eclipse/higgins/idas/registry/test/TestContext.java.test	(working copy)
@@ -11,10 +11,10 @@
 import org.eclipse.higgins.idas.api.IContext;
 import org.eclipse.higgins.idas.api.IContextId;
 import org.eclipse.higgins.idas.api.IContextRelationship;
-import org.eclipse.higgins.idas.api.INode;
+import org.eclipse.higgins.idas.api.IEntity;
 import org.eclipse.higgins.idas.api.IFilter;
 import org.eclipse.higgins.idas.api.IFilterAttributeAssertion;
-import org.eclipse.higgins.idas.api.IFilterNodeIDAssertion;
+import org.eclipse.higgins.idas.api.IFilterEntityIDAssertion;
 import org.eclipse.higgins.idas.api.IFilterMetadataAssertion;
 import org.eclipse.higgins.idas.api.IFilterTypeAssertion;
 import org.eclipse.higgins.idas.api.ISimpleAttrValue;
@@ -19,9 +19,9 @@
 import org.eclipse.higgins.idas.api.IFilterTypeAssertion;
 import org.eclipse.higgins.idas.api.ISimpleAttrValue;
 import org.eclipse.higgins.idas.api.IdASException;
-import org.eclipse.higgins.idas.api.InvalidNodeIDException;
+import org.eclipse.higgins.idas.api.InvalidEntityIDException;
 import org.eclipse.higgins.idas.api.InvalidTypeException;
-import org.eclipse.higgins.idas.api.NodeExistsException;
+import org.eclipse.higgins.idas.api.EntityExistsException;
 import org.eclipse.higgins.idas.api.model.IContextModel;
 import org.eclipse.higgins.idas.api.model.IModel;
 
@@ -56,9 +56,9 @@
 		return null;
 	}
 
-	public INode addNode(URI type, String nodeID)
+	public IEntity addEntity(URI type, String entityID)
 			throws IdASException, InvalidTypeException,
-			InvalidNodeIDException, NodeExistsException {
+			InvalidEntityIDException, EntityExistsException {
 
 		return null;
 	}
@@ -63,8 +63,8 @@
 		return null;
 	}
 
-	public INode addNode(INode copyFrom)
-			throws IdASException, NodeExistsException {
+	public IEntity addEntity(IEntity copyFrom)
+			throws IdASException, EntityExistsException {
 
 		return null;
 	}
@@ -90,7 +90,7 @@
 		return null;
 	}
 
-	public IFilterNodeIDAssertion buildNodeIDAssertion() throws IdASException {
+	public IFilterEntityIDAssertion buildEntityIDAssertion() throws IdASException {
 
 		return null;
 	}
@@ -163,7 +163,7 @@
 		return null;
 	}
 
-	public INode getNode(String nodeID) throws IdASException {
+	public IEntity getEntity(String entityID) throws IdASException {
 
 		return null;
 	}
@@ -168,7 +168,7 @@
 		return null;
 	}
 
-	public INode getNode(String nodeID, Iterator attrSelectionList)
+	public IEntity getEntity(String entityID, Iterator attrSelectionList)
 			throws IdASException {
 
 		return null;
@@ -174,7 +174,7 @@
 		return null;
 	}
 
-	public Iterator getNodes(IFilter filter) throws IdASException {
+	public Iterator getEntities(IFilter filter) throws IdASException {
 
 		return null;
 	}
@@ -179,7 +179,7 @@
 		return null;
 	}
 
-	public Iterator getNodes(IFilter filter, Iterator attrSelectionList)
+	public Iterator getEntities(IFilter filter, Iterator attrSelectionList)
 			throws IdASException {
 
 		return null;
@@ -205,7 +205,7 @@
 
 	}
 
-	public boolean verifyNodeAttributes(String nodeID, Iterator attributes)
+	public boolean verifyEntityAttributes(String entityID, Iterator attributes)
 			throws IdASException {
 
 		return false;
Index: /home/jimse/dev/higgins/org.eclipse.higgins.saml2idp.server/src/org/eclipse/higgins/saml2idp/server/LDAPLogin.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.saml2idp.server/src/org/eclipse/higgins/saml2idp/server/LDAPLogin.java	(revision 14580)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.saml2idp.server/src/org/eclipse/higgins/saml2idp/server/LDAPLogin.java	(working copy)
@@ -23,7 +23,7 @@
 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.INode;
+import org.eclipse.higgins.idas.api.IEntity;
 import org.eclipse.higgins.idas.api.IdASException;
 import org.eclipse.higgins.idas.common.AuthNNamePasswordMaterials;
 import org.eclipse.higgins.saml2idp.server.util.SAMLUtil;
@@ -95,10 +95,10 @@
 
 			higginsContext = higginsContextFactory.createContext(higginsContextId);
 			Object authnMaterials = new AuthNNamePasswordMaterials(higginsContext, username, password);
-			String nodeId = higginsContext.open(authnMaterials);
-			if (nodeId == null) throw new NullPointerException("nodeId is null");
-			INode node = higginsContext.getNode(nodeId);
-			if (node == null) throw new NullPointerException("digitalSubject is null");
+			String entityId = higginsContext.open(authnMaterials);
+			if (entityId == null) throw new NullPointerException("entityId is null");
+			IEntity entity = higginsContext.getEntity(entityId);
+			if (entity == null) throw new NullPointerException("digitalSubject is null");
 		} catch (Exception ex) {
 
 			if (ex instanceof IdASException && ex.getCause() instanceof AuthenticationException) {
Index: /home/jimse/dev/higgins/org.eclipse.higgins.saml2idp.server/WebContent/conf/HigginsConfiguration.xml
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.saml2idp.server/WebContent/conf/HigginsConfiguration.xml	(revision 14580)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.saml2idp.server/WebContent/conf/HigginsConfiguration.xml	(working copy)
@@ -50,7 +50,7 @@
 						</Setting>
 						<!-- Minimal mapping policy to convert LDAP-style attribute and class names to URIs -->
 						<Setting Name="JSPolicyAction" Type="htf:map">
-							<Setting Name="consumerNodeIDToProvider" Type="htf:jscriptexec">
+							<Setting Name="consumerEntityIDToProvider" Type="htf:jscriptexec">
 								<![CDATA[
 									RESULT = "cn=" + consumerID + ",o=bandit";
 								]]>
@@ -66,7 +66,7 @@
 									RESULT = "http://www.eclipse.org/higgins/ontologies/deployment/idas/basic/ldap#attr_"; + providerID.toString();
 								]]>
 							</Setting>
-							<Setting Name="consumerNodeTypeToProvider" Type="htf:jscriptexec">
+							<Setting Name="consumerEntityTypeToProvider" Type="htf:jscriptexec">
 								<![CDATA[
 									var re = new RegExp("^http://www.eclipse.org/higgins/ontologies/deployment/idas/basic/ldap#class_";, "i");
 									RESULT = String(consumerType.toString()).replace(re, "");
@@ -72,7 +72,7 @@
 									RESULT = String(consumerType.toString()).replace(re, "");
 								]]>
 							</Setting>
-							<Setting Name="providerNodeTypeToConsumer" Type="htf:jscriptexec">
+							<Setting Name="providerEntityTypeToConsumer" Type="htf:jscriptexec">
 								<![CDATA[
 									RESULT = "http://www.eclipse.org/higgins/ontologies/deployment/idas/basic/ldap#class_"; + String(providerType.toString());
 								]]>
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/BasicContext.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/BasicContext.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/BasicContext.java	(working copy)
@@ -23,12 +23,12 @@
 import org.eclipse.higgins.idas.api.IAuthNAttributesMaterials;
 import org.eclipse.higgins.idas.api.IComplexAttrValue;
 import org.eclipse.higgins.idas.api.IContext;
-import org.eclipse.higgins.idas.api.INode;
+import org.eclipse.higgins.idas.api.IEntity;
 import org.eclipse.higgins.idas.api.IFilter;
 import org.eclipse.higgins.idas.api.IFilterAttributeAssertion;
-import org.eclipse.higgins.idas.api.IFilterNodeIDAssertion;
+import org.eclipse.higgins.idas.api.IFilterEntityIDAssertion;
 import org.eclipse.higgins.idas.api.IFilterMetadataAssertion;
-import org.eclipse.higgins.idas.api.IFilterNodeTypeAssertion;
+import org.eclipse.higgins.idas.api.IFilterEntityTypeAssertion;
 import org.eclipse.higgins.idas.api.IMetadata;
 import org.eclipse.higgins.idas.api.IContextRelation;
 import org.eclipse.higgins.idas.api.ISimpleAttrValue;
@@ -34,10 +34,10 @@
 import org.eclipse.higgins.idas.api.ISimpleAttrValue;
 import org.eclipse.higgins.idas.api.ITypedValue;
 import org.eclipse.higgins.idas.api.IdASException;
-import org.eclipse.higgins.idas.api.InvalidNodeIDException;
+import org.eclipse.higgins.idas.api.InvalidEntityIDException;
 import org.eclipse.higgins.idas.api.InvalidTypeException;
 import org.eclipse.higgins.idas.api.NotImplementedException;
-import org.eclipse.higgins.idas.api.NodeExistsException;
+import org.eclipse.higgins.idas.api.EntityExistsException;
 import org.eclipse.higgins.idas.api.model.IContextModel;
 
 /**
@@ -50,7 +50,7 @@
  * will still compile.  
  *
  */
-public class BasicContext extends BasicMetadataSet implements IContext, INodeContainer
+public class BasicContext extends BasicMetadataSet implements IContext, IEntityContainer
 {
 	private Logger _log = Logger.getLogger(BasicContext.class.getName());
 	private static Hashtable _typeToBasicMap = new Hashtable();
@@ -55,7 +55,7 @@
 	private Logger _log = Logger.getLogger(BasicContext.class.getName());
 	private static Hashtable _typeToBasicMap = new Hashtable();
 	/**
-	 * This is a hashtable where the keys are nodeIDs and the values are vectors of NodeNotifications
+	 * This is a hashtable where the keys are entityIDs and the values are vectors of NodeNotifications
 	 */
 	private Hashtable _updateTable = new Hashtable();
 
@@ -106,7 +106,7 @@
 	/* (non-Javadoc)
 	 * @see org.eclipse.higgins.idas.api.IContext#getNode(java.lang.String)
 	 */
-	public INode getNode(String nodeID) throws IdASException {
+	public IEntity getEntity(String entityID) throws IdASException {
 		throw new NotImplementedException();
 	}
 
@@ -113,7 +113,7 @@
 	/* (non-Javadoc)
 	 * @see org.eclipse.higgins.idas.api.IContext#getNode(java.lang.String, java.lang.Iterable)
 	 */
-	public INode getNode(String nodeID,
+	public IEntity getEntity(String entityID,
 			Iterator attrSelectionList) throws IdASException {
 		throw new NotImplementedException();
 	}
@@ -119,9 +119,9 @@
 	}
 
 	/* (non-Javadoc)
-	 * @see org.eclipse.higgins.idas.api.IContext#getNodes(org.eclipse.higgins.idas.api.IFilter)
+	 * @see org.eclipse.higgins.idas.api.IContext#getEntities(org.eclipse.higgins.idas.api.IFilter)
 	 */
-	public Iterator getNodes(IFilter filter)
+	public Iterator getEntities(IFilter filter)
 			throws IdASException {
 		throw new NotImplementedException();
 	}
@@ -127,9 +127,9 @@
 	}
 
 	/* (non-Javadoc)
-	 * @see org.eclipse.higgins.idas.api.IContext#getNodes(org.eclipse.higgins.idas.api.IFilter, java.lang.Iterable)
+	 * @see org.eclipse.higgins.idas.api.IContext#getEntities(org.eclipse.higgins.idas.api.IFilter, java.lang.Iterable)
 	 */
-	public Iterator getNodes(IFilter filter,
+	public Iterator getEntities(IFilter filter,
 			Iterator attrs) throws IdASException {
 		throw new NotImplementedException();
 	}
@@ -167,7 +167,7 @@
 	/* (non-Javadoc)
 	 * @see org.eclipse.higgins.idas.api.IContext#verifyNodeAttributes(java.lang.String, java.lang.Iterable)
 	 */
-	public boolean verifyNodeAttributes(String nodeID,
+	public boolean verifyEntityAttributes(String entityID,
 			Iterator attributes) throws IdASException {
 		throw new NotImplementedException();
 	}
@@ -198,8 +198,8 @@
 		return new BasicFilterAttributeAssertion();
 	}
 
-	public IFilterNodeIDAssertion buildNodeIDAssertion() throws IdASException {
-		return new BasicFilterNodeIDAssertion();
+	public IFilterEntityIDAssertion buildEntityIDAssertion() throws IdASException {
+		return new BasicFilterEntityIDAssertion();
 	}
 
 	public IFilter buildFilter() throws IdASException {
@@ -214,8 +214,8 @@
 		throw new NotImplementedException();
 	}
 
-	public IFilterNodeTypeAssertion buildNodeTypeAssertion() throws IdASException {
-		return new BasicFilterNodeTypeAssertion();
+	public IFilterEntityTypeAssertion buildEntityTypeAssertion() throws IdASException {
+		return new BasicFilterEntityTypeAssertion();
 	}
 
 	public ISimpleAttrValue buildSimpleAttrValue(URI type, Object data) throws IdASException {
@@ -304,7 +304,7 @@
 		_typeToBasicMap.put(ITypedValue.NCNAME_TYPE_URI, BasicValueNCName.class);
 	}
 
-	public INode addNode(URI type, String nodeID) throws IdASException, InvalidTypeException, InvalidNodeIDException, NodeExistsException {
+	public IEntity addEntity(URI type, String entityID) throws IdASException, InvalidTypeException, InvalidEntityIDException, EntityExistsException {
 		throw new NotImplementedException();
 	}
 
@@ -316,7 +316,7 @@
 		throw new NotImplementedException();
 	}
 
-	public INode addNode(INode copyFrom) throws IdASException, NodeExistsException {
+	public IEntity addEntity(IEntity copyFrom) throws IdASException, EntityExistsException {
 		throw new NotImplementedException();
 	}
 
@@ -340,10 +340,10 @@
 		return new BasicAttribute(attrID, (Iterator)null, null, this);
 	}
 
-	public void updateNotification(NodeNotification nodeNotif) throws IdASException {
-		String nodeID = nodeNotif.getNode().getNodeID();
-		_log.debug("Received node update notifcation - " + nodeID);
-		Vector updateNotifs = (Vector)_updateTable.get(nodeID);
+	public void updateNotification(EntityNotification nodeNotif) throws IdASException {
+		String entityID = nodeNotif.getEntity().getEntityID();
+		_log.debug("Received node update notifcation - " + entityID);
+		Vector updateNotifs = (Vector)_updateTable.get(entityID);
 		if (updateNotifs == null)
 			updateNotifs = new Vector();
 		updateNotifs.add(nodeNotif);
@@ -348,7 +348,7 @@
 			updateNotifs = new Vector();
 		updateNotifs.add(nodeNotif);
 
-		_updateTable.put(nodeID, updateNotifs);
+		_updateTable.put(entityID, updateNotifs);
 	}
 
 	protected Hashtable getUpdateList()
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/BasicEntity.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/BasicEntity.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/BasicEntity.java	(working copy)
@@ -15,7 +15,7 @@
 
 import org.eclipse.higgins.idas.api.IAttribute;
 import org.eclipse.higgins.idas.api.IContext;
-import org.eclipse.higgins.idas.api.INode;
+import org.eclipse.higgins.idas.api.IEntity;
 import org.eclipse.higgins.idas.api.IHasAttributes;
 import org.eclipse.higgins.idas.api.IHasMetadata;
 import org.eclipse.higgins.idas.api.IMetadata;
@@ -24,18 +24,18 @@
 import org.eclipse.higgins.idas.api.InvalidTypeException;
 import org.eclipse.higgins.idas.api.NotImplementedException;
 import org.eclipse.higgins.idas.api.NotSingleValuedAttributeException;
-import org.eclipse.higgins.idas.api.model.INodeModel;
+import org.eclipse.higgins.idas.api.model.IEntityModel;
 
 /**
- * Basic implementation of INode. The intent of this abstract class is
- * to be used by Context Provider writers as a superclass for INode
+ * Basic implementation of IEntity. The intent of this abstract class is
+ * to be used by Context Provider writers as a superclass for IEntity
  * instances. The benefits of using this class are that you will pick up any
  * convenience methods as well as have the latest methods stubbed out such that
- * when new methods are added to INode and implemented here, the
+ * when new methods are added to IEntity and implemented here, the
  * subclass will still compile. <br>
  * The following methods are deliberatly not implemented in this abstract class
  * because they must be provided by the subclass :<br>
- * {@link  org.eclipse.higgins.idas.api.INode#remove() }<br>
+ * {@link  org.eclipse.higgins.idas.api.IEntity#remove() }<br>
  * {@link  IAttributeContainer#updateNotification(AttributeNotification)}<br>
  * {@link  IMetadataContainer#updateNotification(MetadataNotification)}<br>
  * 
@@ -40,7 +40,7 @@
  * {@link  IMetadataContainer#updateNotification(MetadataNotification)}<br>
  * 
  */
-public abstract class BasicNode implements INode,
+public abstract class BasicEntity implements IEntity,
 	IAttributeContainer, IMetadataContainer
 {
 
@@ -45,7 +45,7 @@
 {
 
 	private IContext _context;
-	private String _nodeId;
+	private String _entityId;
 	private URI _type;
 	private BasicAttributeSet _attrs;
 	private BasicMetadataSet _metadata;
@@ -55,7 +55,7 @@
 	 * @param context
 	 * @throws IdASException
 	 */
-	public BasicNode(
+	public BasicEntity(
 		IContext context) throws IdASException
 	{
 		this(context, null, null, null, null);
@@ -66,15 +66,15 @@
 	 * 
 	 * @param context
 	 * @param type
-	 * @param nodeId
+	 * @param entityId
 	 * @throws IdASException
 	 */
-	public BasicNode(
+	public BasicEntity(
 		IContext context,
 		URI type,
-		String nodeId) throws IdASException
+		String entityId) throws IdASException
 	{
-		this(context, type, nodeId, null, null);
+		this(context, type, entityId, null, null);
 	}
 
 	/**
@@ -82,7 +82,7 @@
 	 * 
 	 * @param context
 	 * @param type
-	 * @param nodeId
+	 * @param entityId
 	 * @param attributes
 	 * @param metadata
 	 * @throws IdASException
@@ -87,10 +87,10 @@
 	 * @param metadata
 	 * @throws IdASException
 	 */
-	public BasicNode(
+	public BasicEntity(
 		IContext context,
 		URI type,
-		String nodeId,
+		String entityId,
 		Iterator attributes,
 		Iterator metadata) throws IdASException
 	{
@@ -96,7 +96,7 @@
 	{
 		_context = context;
 		_type = type;
-		_nodeId = nodeId;
+		_entityId = entityId;
 
 		_attrs = new BasicAttributeSet(attributes, this, _context);
 		_metadata = new BasicMetadataSet(metadata, this);
@@ -105,7 +105,7 @@
 	/*
 	 * (non-Javadoc)
 	 * 
-	 * @see org.eclipse.higgins.idas.api.INode#getContext()
+	 * @see org.eclipse.higgins.idas.api.IEntity#getContext()
 	 */
 	public IContext getContext() throws IdASException
 	{
@@ -113,9 +113,9 @@
 	}
 
 	/*
-	 * @see org.eclipse.higgins.idas.api.INode#getModel()
+	 * @see org.eclipse.higgins.idas.api.IEntity#getModel()
 	 */
-	public INodeModel getModel() throws IdASException
+	public IEntityModel getModel() throws IdASException
 	{
 		throw new NotImplementedException();
 	}
@@ -121,9 +121,9 @@
 	}
 
 	/*
-	 * @see org.eclipse.higgins.idas.api.INode#getType()
+	 * @see org.eclipse.higgins.idas.api.IEntity#getType()
 	 */
-	public URI getNodeType() throws IdASException
+	public URI getEntityType() throws IdASException
 	{
 		return _type;
 	}
@@ -129,11 +129,11 @@
 	}
 
 	/*
-	 * @see org.eclipse.higgins.idas.api.INode#getNodeID()
+	 * @see org.eclipse.higgins.idas.api.IEntity#getNodeID()
 	 */
-	public String getNodeID() throws IdASException
+	public String getEntityID() throws IdASException
 	{
-		return _nodeId;
+		return _entityId;
 	}
 
 	/*
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/BasicFilterEntityIDAssertion.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/BasicFilterEntityIDAssertion.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/BasicFilterEntityIDAssertion.java	(working copy)
@@ -13,25 +13,25 @@
 
 import java.net.URI;
 
-import org.eclipse.higgins.idas.api.IFilterNodeIDAssertion;
+import org.eclipse.higgins.idas.api.IFilterEntityIDAssertion;
 import org.eclipse.higgins.idas.api.IdASException;
 
-public class BasicFilterNodeIDAssertion extends BasicFilterAssertion implements IFilterNodeIDAssertion {
+public class BasicFilterEntityIDAssertion extends BasicFilterAssertion implements IFilterEntityIDAssertion {
 	private String _assertion;
 	
-	public BasicFilterNodeIDAssertion() {
+	public BasicFilterEntityIDAssertion() {
 		super();
 	}
 	
-	public BasicFilterNodeIDAssertion(URI id, String comparator) throws IdASException {
+	public BasicFilterEntityIDAssertion(URI id, String comparator) throws IdASException {
 		super(id, false, comparator);
 	}
 
-	public BasicFilterNodeIDAssertion(URI id, boolean bIncludeSubtypes, String comparator) throws IdASException {
+	public BasicFilterEntityIDAssertion(URI id, boolean bIncludeSubtypes, String comparator) throws IdASException {
 		super(id, bIncludeSubtypes, comparator);
 	}
 
-	public BasicFilterNodeIDAssertion(URI id, String comparator, String assertionValue) throws IdASException {
+	public BasicFilterEntityIDAssertion(URI id, String comparator, String assertionValue) throws IdASException {
 		super(id, comparator);
 		setAssertionValue(assertionValue);
 	}
@@ -36,7 +36,7 @@
 		setAssertionValue(assertionValue);
 	}
 
-	public BasicFilterNodeIDAssertion(URI id, boolean bIncludeSubtypes, String comparator, String assertionValue) throws IdASException {
+	public BasicFilterEntityIDAssertion(URI id, boolean bIncludeSubtypes, String comparator, String assertionValue) throws IdASException {
 		super(id, bIncludeSubtypes, comparator);
 		setAssertionValue(assertionValue);
 	}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/BasicFilterEntityTypeAssertion.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/BasicFilterEntityTypeAssertion.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/BasicFilterEntityTypeAssertion.java	(working copy)
@@ -13,25 +13,25 @@
 
 import java.net.URI;
 
-import org.eclipse.higgins.idas.api.IFilterNodeTypeAssertion;
+import org.eclipse.higgins.idas.api.IFilterEntityTypeAssertion;
 import org.eclipse.higgins.idas.api.IdASException;
 
-public class BasicFilterNodeTypeAssertion extends BasicFilterAssertion implements IFilterNodeTypeAssertion {
+public class BasicFilterEntityTypeAssertion extends BasicFilterAssertion implements IFilterEntityTypeAssertion {
 	private URI _assertion;
 	
-	public BasicFilterNodeTypeAssertion() {
+	public BasicFilterEntityTypeAssertion() {
 		super();
 	}
 
-	public BasicFilterNodeTypeAssertion(URI id, String comparator) throws IdASException {
+	public BasicFilterEntityTypeAssertion(URI id, String comparator) throws IdASException {
 		super(id, false, comparator);
 	}
 
-	public BasicFilterNodeTypeAssertion(URI id, boolean bIncludeSubtypes, String comparator) throws IdASException {
+	public BasicFilterEntityTypeAssertion(URI id, boolean bIncludeSubtypes, String comparator) throws IdASException {
 		super(id, bIncludeSubtypes, comparator);
 	}
 
-	public BasicFilterNodeTypeAssertion(URI id, String comparator, URI assertionValue) throws IdASException {
+	public BasicFilterEntityTypeAssertion(URI id, String comparator, URI assertionValue) throws IdASException {
 		super(id, comparator);
 		setAssertionValue(assertionValue);
 	}
@@ -36,7 +36,7 @@
 		setAssertionValue(assertionValue);
 	}
 
-	public BasicFilterNodeTypeAssertion(URI id, boolean bIncludeSubtypes, String comparator, URI assertionValue) throws IdASException {
+	public BasicFilterEntityTypeAssertion(URI id, boolean bIncludeSubtypes, String comparator, URI assertionValue) throws IdASException {
 		super(id, bIncludeSubtypes, comparator);
 		setAssertionValue(assertionValue);
 	}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/BasicFilterNodeIDAssertion.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/BasicFilterNodeIDAssertion.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/BasicFilterNodeIDAssertion.java	(working copy)
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * 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:
- *    Jim Sermersheim - Initial cut
- *******************************************************************************/
-
-package org.eclipse.higgins.idas.spi;
-
-import java.net.URI;
-
-import org.eclipse.higgins.idas.api.IFilterNodeIDAssertion;
-import org.eclipse.higgins.idas.api.IdASException;
-
-public class BasicFilterNodeIDAssertion extends BasicFilterAssertion implements IFilterNodeIDAssertion {
-	private String _assertion;
-	
-	public BasicFilterNodeIDAssertion() {
-		super();
-	}
-	
-	public BasicFilterNodeIDAssertion(URI id, String comparator) throws IdASException {
-		super(id, false, comparator);
-	}
-
-	public BasicFilterNodeIDAssertion(URI id, boolean bIncludeSubtypes, String comparator) throws IdASException {
-		super(id, bIncludeSubtypes, comparator);
-	}
-
-	public BasicFilterNodeIDAssertion(URI id, String comparator, String assertionValue) throws IdASException {
-		super(id, comparator);
-		setAssertionValue(assertionValue);
-	}
-
-	public BasicFilterNodeIDAssertion(URI id, boolean bIncludeSubtypes, String comparator, String assertionValue) throws IdASException {
-		super(id, bIncludeSubtypes, comparator);
-		setAssertionValue(assertionValue);
-	}
-
-	public void setAssertionValue(String assertion) throws IdASException {
-		_assertion = assertion;
-	}
-
-	public String getAssertionValue() throws IdASException {
-		return _assertion;
-	}
-
-}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/BasicFilterNodeTypeAssertion.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/BasicFilterNodeTypeAssertion.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/BasicFilterNodeTypeAssertion.java	(working copy)
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * 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:
- *    Jim Sermersheim - Initial cut
- *******************************************************************************/
-
-package org.eclipse.higgins.idas.spi;
-
-import java.net.URI;
-
-import org.eclipse.higgins.idas.api.IFilterNodeTypeAssertion;
-import org.eclipse.higgins.idas.api.IdASException;
-
-public class BasicFilterNodeTypeAssertion extends BasicFilterAssertion implements IFilterNodeTypeAssertion {
-	private URI _assertion;
-	
-	public BasicFilterNodeTypeAssertion() {
-		super();
-	}
-
-	public BasicFilterNodeTypeAssertion(URI id, String comparator) throws IdASException {
-		super(id, false, comparator);
-	}
-
-	public BasicFilterNodeTypeAssertion(URI id, boolean bIncludeSubtypes, String comparator) throws IdASException {
-		super(id, bIncludeSubtypes, comparator);
-	}
-
-	public BasicFilterNodeTypeAssertion(URI id, String comparator, URI assertionValue) throws IdASException {
-		super(id, comparator);
-		setAssertionValue(assertionValue);
-	}
-
-	public BasicFilterNodeTypeAssertion(URI id, boolean bIncludeSubtypes, String comparator, URI assertionValue) throws IdASException {
-		super(id, bIncludeSubtypes, comparator);
-		setAssertionValue(assertionValue);
-	}
-
-	public void setAssertionValue(URI assertion) throws IdASException {
-		_assertion = assertion;
-	}
-
-	public URI getAssertionValue() throws IdASException {
-		return _assertion;
-	}
-
-}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/BasicNode.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/BasicNode.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/BasicNode.java	(working copy)
@@ -1,248 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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:
- *   Duane Buss - Initial impl
- *******************************************************************************/
-package org.eclipse.higgins.idas.spi;
-
-import java.net.URI;
-import java.util.Iterator;
-
-import org.eclipse.higgins.idas.api.IAttribute;
-import org.eclipse.higgins.idas.api.IContext;
-import org.eclipse.higgins.idas.api.INode;
-import org.eclipse.higgins.idas.api.IHasAttributes;
-import org.eclipse.higgins.idas.api.IHasMetadata;
-import org.eclipse.higgins.idas.api.IMetadata;
-import org.eclipse.higgins.idas.api.ISingleValuedAttribute;
-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.api.NotSingleValuedAttributeException;
-import org.eclipse.higgins.idas.api.model.INodeModel;
-
-/**
- * Basic implementation of INode. The intent of this abstract class is
- * to be used by Context Provider writers as a superclass for INode
- * instances. The benefits of using this class are that you will pick up any
- * convenience methods as well as have the latest methods stubbed out such that
- * when new methods are added to INode and implemented here, the
- * subclass will still compile. <br>
- * The following methods are deliberatly not implemented in this abstract class
- * because they must be provided by the subclass :<br>
- * {@link  org.eclipse.higgins.idas.api.INode#remove() }<br>
- * {@link  IAttributeContainer#updateNotification(AttributeNotification)}<br>
- * {@link  IMetadataContainer#updateNotification(MetadataNotification)}<br>
- * 
- */
-public abstract class BasicNode implements INode,
-	IAttributeContainer, IMetadataContainer
-{
-
-	private IContext _context;
-	private String _nodeId;
-	private URI _type;
-	private BasicAttributeSet _attrs;
-	private BasicMetadataSet _metadata;
-
-	/**
-	 * 
-	 * @param context
-	 * @throws IdASException
-	 */
-	public BasicNode(
-		IContext context) throws IdASException
-	{
-		this(context, null, null, null, null);
-	}
-
-	/**
-	 * The preferred constructor
-	 * 
-	 * @param context
-	 * @param type
-	 * @param nodeId
-	 * @throws IdASException
-	 */
-	public BasicNode(
-		IContext context,
-		URI type,
-		String nodeId) throws IdASException
-	{
-		this(context, type, nodeId, null, null);
-	}
-
-	/**
-	 * The preferred constructor
-	 * 
-	 * @param context
-	 * @param type
-	 * @param nodeId
-	 * @param attributes
-	 * @param metadata
-	 * @throws IdASException
-	 */
-	public BasicNode(
-		IContext context,
-		URI type,
-		String nodeId,
-		Iterator attributes,
-		Iterator metadata) throws IdASException
-	{
-		_context = context;
-		_type = type;
-		_nodeId = nodeId;
-
-		_attrs = new BasicAttributeSet(attributes, this, _context);
-		_metadata = new BasicMetadataSet(metadata, this);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.higgins.idas.api.INode#getContext()
-	 */
-	public IContext getContext() throws IdASException
-	{
-		return _context;
-	}
-
-	/*
-	 * @see org.eclipse.higgins.idas.api.INode#getModel()
-	 */
-	public INodeModel getModel() throws IdASException
-	{
-		throw new NotImplementedException();
-	}
-
-	/*
-	 * @see org.eclipse.higgins.idas.api.INode#getType()
-	 */
-	public URI getNodeType() throws IdASException
-	{
-		return _type;
-	}
-
-	/*
-	 * @see org.eclipse.higgins.idas.api.INode#getNodeID()
-	 */
-	public String getNodeID() throws IdASException
-	{
-		return _nodeId;
-	}
-
-	/*
-	 * @see org.eclipse.higgins.idas.api.IHasMetadata#addMetadata(org.eclipse.higgins.idas.api.IMetadata)
-	 */
-	public IMetadata addMetadata(
-		IMetadata copyFrom) throws IdASException
-	{
-		return _metadata.addMetadata(copyFrom);
-	}
-
-	/*
-	 * @see org.eclipse.higgins.idas.api.IHasMetadata#addMetadata(java.net.URI)
-	 */
-	public IMetadata addMetadata(
-		URI type) throws IdASException, InvalidTypeException
-	{
-		return _metadata.addMetadata(type);
-	}
-
-	/*
-	 * @see org.eclipse.higgins.idas.api.IHasMetadata#getMetadata(java.net.URI)
-	 */
-	public IMetadata getMetadata(
-		URI metadataID) throws IdASException
-	{
-		return _metadata.getMetadata(metadataID);
-	}
-
-	/*
-	 * @see org.eclipse.higgins.idas.api.IHasMetadata#getMetadataSet()
-	 */
-	public Iterator getMetadataSet() throws IdASException
-	{
-		return _metadata.getMetadataSet();
-	}
-
-	/*
-	 * @see org.eclipse.higgins.idas.api.IHasAttributes#addAttribute(org.eclipse.higgins.idas.api.IAttribute)
-	 */
-	public IAttribute addAttribute(
-		IAttribute copyFrom) throws IdASException
-	{
-		return _attrs.addAttribute(copyFrom);
-	}
-
-	/*
-	 * @see org.eclipse.higgins.idas.api.IHasAttributes#addAttribute(java.net.URI)
-	 */
-	public IAttribute addAttribute(
-		URI type) throws IdASException, InvalidTypeException
-	{
-		return _attrs.addAttribute(type);
-	}
-
-	/*
-	 * @see org.eclipse.higgins.idas.api.IHasAttributes#getAttribute(java.net.URI)
-	 */
-	public IAttribute getAttribute(
-		URI attrID) throws IdASException
-	{
-		return _attrs.getAttribute(attrID);
-	}
-	
-	/*
-	 * @see org.eclipse.higgins.idas.api.IHasAttributes#getSingleValuedAttribute(java.net.URI)
-	 */
-	public ISingleValuedAttribute getSingleValuedAttribute(URI attrID) throws IdASException, NotSingleValuedAttributeException {
-		return _attrs.getSingleValuedAttribute(attrID);
-	}	
-	
-
-	/*
-	 * @see org.eclipse.higgins.idas.api.IHasAttributes#getAttributes()
-	 */
-	public Iterator getAttributes() throws IdASException
-	{
-		return _attrs.getAttributes();
-	}
-
-	protected BasicAttributeSet getBasicAttributeSet()
-	{
-		return _attrs;
-	}
-
-	public void removeAttribute(URI attrID) throws IdASException {
-		_attrs.removeAttribute(attrID);
-	}
-
-	public void removeAttributeValue(URI attrID, Object value)
-	throws IdASException {
-		_attrs.removeAttributeValue(attrID, value);
-	}
-	
-	public void removeAttributeValue(IAttribute attr) throws IdASException {
-		_attrs.removeAttributeValue(attr);
-	}
-	
-	public boolean equals(IHasAttributes attributes) throws IdASException {
-		return _attrs.equals(attributes);
-	}
-
-	protected BasicMetadataSet getBasicMetadataSet()
-	{
-		return _metadata;
-	}
-
-	public boolean equals(IHasMetadata metadataSet) throws IdASException {
-		return _metadata.equals(metadataSet);
-	}
-	
-}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/EntityNotification.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/EntityNotification.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/EntityNotification.java	(working copy)
@@ -12,18 +12,18 @@
 
 package org.eclipse.higgins.idas.spi;
 
-import org.eclipse.higgins.idas.api.INode;
+import org.eclipse.higgins.idas.api.IEntity;
 
-public class NodeNotification
+public class EntityNotification
 {
 	/**
-	 * This action is set when the {@link INode} returned by {@link #getNode()} was added
+	 * This action is set when the {@link IEntity} returned by {@link #getEntity()} was added
 	 */
-	public static final String UPDATE_ADD = "urn:eclipse.higgins.idas.spi.NodeNotification.UPDATE_ADD";
+	public static final String UPDATE_ADD = "urn:eclipse.higgins.idas.spi.EntityNotification.UPDATE_ADD";
 	/**
-	 * This action is set when the {@link INode} returned by {@link #getNode()} was removed
+	 * This action is set when the {@link IEntity} returned by {@link #getEntity()} was removed
 	 */
-	public static final String UPDATE_REMOVE = "urn:eclipse.higgins.idas.spi.NodeNotification.UPDATE_REMOVE";
+	public static final String UPDATE_REMOVE = "urn:eclipse.higgins.idas.spi.EntityNotification.UPDATE_REMOVE";
 	/**
 	 * This action is set when there is a {@link AttributeNotification} to be returned by {@link #getAttributeNotification()}
 	 * This signifies that an attribute on the node was updated.
@@ -28,7 +28,7 @@
 	 * This action is set when there is a {@link AttributeNotification} to be returned by {@link #getAttributeNotification()}
 	 * This signifies that an attribute on the node was updated.
 	 */
-	public static final String UPDATE_ATTR_NOTIFY = "urn:eclipse.higgins.idas.spi.NodeNotification.UPDATE_ATTR_NOTIFY";
+	public static final String UPDATE_ATTR_NOTIFY = "urn:eclipse.higgins.idas.spi.EntityNotification.UPDATE_ATTR_NOTIFY";
 	/**
 	 * This action is set when there is a {@link MetadataNotification} to be returned by {@link #getMetadataNotification()}
 	 * This signifies that a metadata element on the node was updated.
@@ -33,9 +33,9 @@
 	 * This action is set when there is a {@link MetadataNotification} to be returned by {@link #getMetadataNotification()}
 	 * This signifies that a metadata element on the node was updated.
 	 */
-	public static final String UPDATE_METADATA_NOTIFY = "urn:eclipse.higgins.idas.spi.NodeNotification.UPDATE_METADATA_NOTIFY";
+	public static final String UPDATE_METADATA_NOTIFY = "urn:eclipse.higgins.idas.spi.EntityNotification.UPDATE_METADATA_NOTIFY";
 
-	private INode _node;
+	private IEntity _entity;
 	private String _action;
 	private AttributeNotification _attrNotif;
 	private MetadataNotification _metadataNotif;
@@ -42,12 +42,12 @@
 
 	/**
 	 * 
-	 * @param node
+	 * @param entity
 	 * @param action
 	 * @param attrNotif
 	 */
-	public NodeNotification(
-		INode node,
+	public EntityNotification(
+		IEntity entity,
 		String action,
 		AttributeNotification attrNotif,
 		MetadataNotification metadataNotif)
@@ -52,7 +52,7 @@
 		AttributeNotification attrNotif,
 		MetadataNotification metadataNotif)
 	{
-		_node = node;
+		_entity = entity;
 		_action = action;
 		_attrNotif = attrNotif;
 		_metadataNotif = metadataNotif;
@@ -60,11 +60,11 @@
 
 	/**
 	 * 
-	 * @return the INode being added or removed when the action is set to {@link #UPDATE_ADD} or {@link #UPDATE_REMOVE}
+	 * @return the IEntity being added or removed when the action is set to {@link #UPDATE_ADD} or {@link #UPDATE_REMOVE}
 	 */
-	public INode getNode()
+	public IEntity getEntity()
 	{
-		return _node;
+		return _entity;
 	}
 
 	/**
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/IEntityContainer.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/IEntityContainer.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/IEntityContainer.java	(working copy)
@@ -14,7 +14,7 @@
 
 import org.eclipse.higgins.idas.api.IdASException;
 
-public interface INodeContainer
+public interface IEntityContainer
 {
 	/**
 	 * 
@@ -21,5 +21,5 @@
 	 * @param nodeNotif
 	 */
 	void updateNotification (
-		NodeNotification nodeNotif) throws IdASException;
+		EntityNotification nodeNotif) throws IdASException;
 }
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/INodeContainer.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/INodeContainer.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/INodeContainer.java	(working copy)
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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:
- *    Jim Sermersheim
- *    Tom Doman
- *******************************************************************************/
-
-package org.eclipse.higgins.idas.spi;
-
-import org.eclipse.higgins.idas.api.IdASException;
-
-public interface INodeContainer
-{
-	/**
-	 * 
-	 * @param nodeNotif
-	 */
-	void updateNotification (
-		NodeNotification nodeNotif) throws IdASException;
-}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/NodeNotification.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/NodeNotification.java	(revision 15431)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.idas.spi/src/org/eclipse/higgins/idas/spi/NodeNotification.java	(working copy)
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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:
- *    Jim Sermersheim
- *    Tom Doman
- *******************************************************************************/
-
-package org.eclipse.higgins.idas.spi;
-
-import org.eclipse.higgins.idas.api.INode;
-
-public class NodeNotification
-{
-	/**
-	 * This action is set when the {@link INode} returned by {@link #getNode()} was added
-	 */
-	public static final String UPDATE_ADD = "urn:eclipse.higgins.idas.spi.NodeNotification.UPDATE_ADD";
-	/**
-	 * This action is set when the {@link INode} returned by {@link #getNode()} was removed
-	 */
-	public static final String UPDATE_REMOVE = "urn:eclipse.higgins.idas.spi.NodeNotification.UPDATE_REMOVE";
-	/**
-	 * This action is set when there is a {@link AttributeNotification} to be returned by {@link #getAttributeNotification()}
-	 * This signifies that an attribute on the node was updated.
-	 */
-	public static final String UPDATE_ATTR_NOTIFY = "urn:eclipse.higgins.idas.spi.NodeNotification.UPDATE_ATTR_NOTIFY";
-	/**
-	 * This action is set when there is a {@link MetadataNotification} to be returned by {@link #getMetadataNotification()}
-	 * This signifies that a metadata element on the node was updated.
-	 */
-	public static final String UPDATE_METADATA_NOTIFY = "urn:eclipse.higgins.idas.spi.NodeNotification.UPDATE_METADATA_NOTIFY";
-
-	private INode _node;
-	private String _action;
-	private AttributeNotification _attrNotif;
-	private MetadataNotification _metadataNotif;
-
-	/**
-	 * 
-	 * @param node
-	 * @param action
-	 * @param attrNotif
-	 */
-	public NodeNotification(
-		INode node,
-		String action,
-		AttributeNotification attrNotif,
-		MetadataNotification metadataNotif)
-	{
-		_node = node;
-		_action = action;
-		_attrNotif = attrNotif;
-		_metadataNotif = metadataNotif;
-	}
-
-	/**
-	 * 
-	 * @return the INode being added or removed when the action is set to {@link #UPDATE_ADD} or {@link #UPDATE_REMOVE}
-	 */
-	public INode getNode()
-	{
-		return _node;
-	}
-
-	/**
-	 * 
-	 * @return one of: {@link #UPDATE_ADD}, {@link #UPDATE_REMOVE}, {@link #UPDATE_METADATA_NOTIFY}, {@link #UPDATE_ATTR_NOTIFY} 
-	 */
-	public String getAction()
-	{
-		return _action;
-	}	
-
-	/**
-	 * 
-	 * @return an AttributeNotification when the action is set to {@link #UPDATE_ATTR_NOTIFY}.
-	 */
-	public AttributeNotification getAttributeNotification()
-	{
-		return _attrNotif;
-	}
-
-	/**
-	 * 
-	 * @return an MetadataNotification when the action is set to {@link #UPDATE_METADATA_NOTIFY}.
-	 */
-	public MetadataNotification getMetadataNotification()
-	{
-		return _metadataNotif; 
-	}
-}
Index: /home/jimse/dev/higgins/org.eclipse.higgins.sts.server.token.identity/src/org/eclipse/higgins/sts/server/token/identity/DigitalIdentityHandler.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.sts.server.token.identity/src/org/eclipse/higgins/sts/server/token/identity/DigitalIdentityHandler.java	(revision 15384)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.sts.server.token.identity/src/org/eclipse/higgins/sts/server/token/identity/DigitalIdentityHandler.java	(working copy)
@@ -18,7 +18,7 @@
 
 import org.eclipse.higgins.idas.api.IAttribute;
 import org.eclipse.higgins.idas.api.IAttributeValue;
-import org.eclipse.higgins.idas.api.INode;
+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.sts.api.IConstants;
@@ -235,7 +235,7 @@
 
   		//java.util.Iterator iterClaims = digitalIdentity.getClaims();
 
-		INode node = null;
+		IEntity entity = null;
 		java.net.URI uriContextRef = null;
 	   	final org.eclipse.higgins.sts.api.IInformationCardReference informationCardReference = RST.getInformationCardReference();
 	   	if (null != informationCardReference)
@@ -459,12 +459,12 @@
 	   					(strCUID,
 	   					alIdentityClaims.iterator());	   
 	   				*/
-	   				node = context.getNode
+	   				entity = context.getEntity
 	   					(strCUID);		   				
 	   				this.log.trace("after IContext::getSubject");
-	   				_displaySubjectInfo(node);
+	   				_displaySubjectInfo(entity);
 	   				
-	   				if (null != node)
+	   				if (null != entity)
 	   				{
 	   					for (int i = 0; i < alIdentityClaims.size(); ++i)
 	   					{
@@ -476,7 +476,7 @@
 	   				  		claimType.setName(uriAttribute);
 	   				  		final org.eclipse.higgins.sts.api.IClaim claim = new org.eclipse.higgins.sts.common.Claim();
 	   				  		claim.setType(claimType);
-	   						final org.eclipse.higgins.idas.api.IAttribute attribute = node.getAttribute(uriAttribute);
+	   						final org.eclipse.higgins.idas.api.IAttribute attribute = entity.getAttribute(uriAttribute);
 	   						if (null != attribute)
 	   						{
 		   						final java.util.Iterator iterAttributeValues = attribute.getValues();
@@ -556,11 +556,11 @@
 	}
 	
 	private void _displaySubjectInfo
-		(INode subject) throws IdASException
+		(IEntity subject) throws IdASException
 	{
 		Iterator attrIter = subject.getAttributes();
-		System.out.println(subject.getNodeID());
-		System.out.println(subject.getNodeType());
+		System.out.println(subject.getEntityID());
+		System.out.println(subject.getEntityType());
 
 		while (attrIter.hasNext())
 		{
Index: /home/jimse/dev/higgins/org.eclipse.higgins.util.idas.cp/src/org/eclipse/higgins/util/idas/cp/IMetadataPDPs.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.util.idas.cp/src/org/eclipse/higgins/util/idas/cp/IMetadataPDPs.java	(revision 15767)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.util.idas.cp/src/org/eclipse/higgins/util/idas/cp/IMetadataPDPs.java	(working copy)
@@ -21,7 +21,7 @@
 /**
  * Part of a <a href="http://www.eclipse.org/higgins/";>Higgins</a> Context
  * provider. This module defines the PDP interfaces that are common to
- * metadata elements found on Nodes, Attributes, and AttributeValues.
+ * metadata elements found on Entities, Attributes, and AttributeValues.
  * Assists in mapping between consumer and provider elements
  * 
  * @author dbuss@xxxxxxxxxx
Index: /home/jimse/dev/higgins/org.eclipse.higgins.util.idas.cp/src/org/eclipse/higgins/util/idas/cp/jscript/JScriptCPAttributePDPs.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.util.idas.cp/src/org/eclipse/higgins/util/idas/cp/jscript/JScriptCPAttributePDPs.java	(revision 15767)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.util.idas.cp/src/org/eclipse/higgins/util/idas/cp/jscript/JScriptCPAttributePDPs.java	(working copy)
@@ -243,7 +243,7 @@
 	 * defined using the id {@link #providerTypeToConsumer}
 	 * <p>
 	 * 
-	 * A simple nonsensical sample where the provider Node Type mappings
+	 * A simple nonsensical sample where the provider Entity Type mappings
 	 * are stored in a globally scoped attribute multimap, and are referenced
 	 * using JavaScript Associative Arrays.
 	 * 
@@ -249,10 +249,10 @@
 	 * 
 	 * <pre>
 	 *  
-	 * 		&lt;JSPolicyAction id=&quot;consumerNodeTypeToProvider&quot; evalType=&quot;javascript&quot;&gt;
+	 * 		&lt;JSPolicyAction id=&quot;consumerEntityTypeToProvider&quot; evalType=&quot;javascript&quot;&gt;
 	 * 			RESULT = multimap.consumer[(PARAM.toString())];
 	 * 		&lt;/JSPolicyAction&gt;
-	 * 		&lt;JSPolicyAction id=&quot;providerNodeTypeToConsumer&quot; evalType=&quot;javascript&quot;&gt;
+	 * 		&lt;JSPolicyAction id=&quot;providerEntityTypeToConsumer&quot; evalType=&quot;javascript&quot;&gt;
 	 * 			RESULT = multimap.provider[String(PARAM.toString())];
 	 * 		&lt;/JSPolicyAction&gt;
 	 * </pre>
Index: /home/jimse/dev/higgins/org.eclipse.higgins.util.idas.cp/src/org/eclipse/higgins/util/idas/cp/jscript/JScriptCPMetadataPDPs.java
===================================================================
--- /home/jimse/dev/higgins/org.eclipse.higgins.util.idas.cp/src/org/eclipse/higgins/util/idas/cp/jscript/JScriptCPMetadataPDPs.java	(revision 15767)
+++ /home/jimse/dev/higgins/org.eclipse.higgins.util.idas.cp/src/org/eclipse/higgins/util/idas/cp/jscript/JScriptCPMetadataPDPs.java	(working copy)
@@ -243,7 +243,7 @@
 	 * defined using the id {@link #providerTypeToConsumer}
 	 * <p>
 	 * 
-	 * A simple nonsensical sample where the provider Node Type mappings
+	 * A simple nonsensical sample where the provider Entity Type mappings
 	 * are stored in a globally scoped metadata multimap, and are referenced
 	 * using JavaScript Associative Arrays.
 	 * 
@@ -249,10 +249,10 @@
 	 * 
 	 * <pre>
 	 *  
-	 * 		&lt;JSPolicyAction id=&quot;consumerNodeTypeToProvider&quot; evalType=&quot;javascript&quot;&gt;
+	 * 		&lt;JSPolicyAction id=&quot;consumerEntityTypeToProvider&quot; evalType=&quot;javascript&quot;&gt;
 	 * 			RESULT = multimap.consumer[(PARAM.toString())];
 	 * 		&lt;/JSPolicyAction&gt;
-	 * 		&lt;JSPolicyAction id=&quot;providerNodeTypeToConsumer&quot; evalType=&quot;javascript&quot;&gt;
+	 * 		&lt;JSPolicyAction id=&quot;providerEntityTypeToConsumer&quot; evalType=&quot;javascript&quot;&gt;
 	 * 			RESULT = multimap.provider[String(PARAM.toString())];
 	 * 		&lt;/JSPolicyAction&gt;
 	 * </pre>

Back to the top