You are viewing a plain text version of this content. The canonical link for it is here.
Posted to imperius-commits@incubator.apache.org by da...@apache.org on 2009/10/09 18:23:51 UTC

svn commit: r823652 [2/5] - in /incubator/imperius/trunk: ./ cimspl-samples/src/main/java/org/apache/imperius/cimspl/client/ imperius-cimsplclientsideprovider/src/main/java/org/apache/imperius/cimspl/client/ imperius-cimsplclientsideprovider/src/test/j...

Added: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/core/InternalClient.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/core/InternalClient.java?rev=823652&view=auto
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/core/InternalClient.java (added)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/core/InternalClient.java Fri Oct  9 18:23:43 2009
@@ -0,0 +1,236 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.  
+ */
+
+
+/**
+ * @author Prashant Baliga <pr...@in.ibm.com>
+ *
+ */
+
+
+package org.apache.imperius.spl.core;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import org.apache.imperius.spl.manager.PolicyManager;
+import org.apache.imperius.spl.parser.exceptions.SPLException;
+import org.apache.imperius.spl.parser.util.DataCollectorFactory;
+import org.apache.imperius.util.Messages;
+import org.apache.imperius.util.SPLLogger;
+
+
+public class InternalClient
+{
+	private static Logger logger = SPLLogger.getSPLLogger().getLogger();
+	public static final int POLICY_EVALUATED_SUCCESSFULLY = 0;
+	public static final int POLICY_NOT_EVALUATED = 1;
+	public static final int POLICY_EVALUATION_FAILED = -1;
+	private PolicyManager pm = null;
+	private DataCollector dc = null;
+	private static final String sourceClass = "InternalClient";
+	
+    public InternalClient( PolicyManager policyManager) 
+    {
+        logger.entering(sourceClass, Thread.currentThread().getName() + " "
+				+ "InternalClient");
+
+		dc = DataCollectorFactory.getDataCollector();
+		pm = policyManager;
+
+		logger.exiting(sourceClass, Thread.currentThread().getName() + " "
+				+ "InternalClient");
+    }  
+
+    public int invokePolicy(String policyName, Map instanceMap)
+    {
+    	logger.entering(sourceClass, Thread.currentThread().getName() + " "
+				+ "InvokePolicy");
+    	
+    	int returnValue = 0;
+        try
+        {
+            PolicyInfo policyInfo = pm.getPolicyInfo(policyName);
+            if(policyInfo == null)
+            {
+                throw new SPLException(Messages
+						.getString("SPL_POLICY_DOES_NOT_EXIST_EXCEPTION_MSG")
+						+ " " + policyName);
+            }
+            
+            if(instanceMap != null && instanceMap.size() > 0)
+            {
+            	logger.fine(Thread.currentThread().getName()
+						+ " evaluating policy...");
+            	
+            	Integer retVal = (Integer) pm.evaluatePolicy(policyName,instanceMap);
+            	
+            	logger.fine(Thread.currentThread().getName()
+						+ " policy evaluation completed successfully");
+                
+                if (retVal.intValue() == POLICY_EVALUATION_FAILED)
+                {
+                    returnValue++;
+                }
+                logger.exiting(sourceClass, Thread.currentThread().getName()
+						+ " " + "invokePolicy"); 
+            }
+            return 0;
+        }
+        catch(SPLException e)
+        {
+            logger.log(Level.SEVERE, e.getMessage());
+        }
+        logger.exiting(sourceClass, Thread.currentThread().getName()
+				+ " " + "invokePolicy"); 
+        return -1;
+    }
+   
+    public int invokePolicy(String policyName, List paramList, boolean boo)
+    {
+        logger.entering(sourceClass, Thread.currentThread().getName() + " "
+				+ "InvokePolicy");
+        
+        int returnValue = 0;
+		List objectrefList = paramList;
+        try
+        {
+            if (objectrefList == null)
+            {
+                Map objectMap = new HashMap();
+				PolicyInfo policyInfo = pm.getPolicyInfo(policyName);
+				Map classQuaifierMap = policyInfo.getClassQualifierMap();
+				Iterator classit = classQuaifierMap.keySet().iterator();
+
+                if (classQuaifierMap.size() == 0 || classQuaifierMap.size() > 1)
+                {
+                    logger.fine("number of classes in policy should be one");
+                }
+                while(classit.hasNext())
+                {
+                    String className = (String) classit.next();
+					String nameSpace = (String) classQuaifierMap.get(className);
+					List instanceList = dc.enumerateInstanceNames(className,	nameSpace);
+					Object instanceObj = null;
+					Iterator it = instanceList.iterator();
+                    while(it.hasNext())
+                    {   
+                    	instanceObj = (Object) it.next();
+						String objectName = className;
+						InstanceInfo iI = new InstanceInfo(objectName, instanceObj);
+						List instanceInfoList = new ArrayList();
+						instanceInfoList.add(iI);
+						objectMap.put(objectName, instanceInfoList);
+						Integer retVal = (Integer) pm.evaluatePolicy(
+								policyName, objectMap);
+
+                        logger.fine(Thread.currentThread().getName()+" return value is = "+retVal);
+                        
+                        logger.exiting(sourceClass,Thread.currentThread().getName()+" "+"invokePolicy"); 
+                        
+                        if (retVal.intValue() ==POLICY_EVALUATION_FAILED)
+                        {
+                            logger.severe("POLICY_EVALUATION_FAILED "+policyName+" "+instanceObj.toString()+" "+retVal);
+                            returnValue++;
+                        }
+                        else
+                        {
+                            logger.severe("POLICY_EVALUATION_SUCCESSFUL "+policyName+" "+instanceObj.toString()+" "+retVal);
+                        }
+			            if(logger.isLoggable(Level.FINE))
+                        logger.fine(Thread.currentThread().getName()+" Internal client return value="+returnValue);
+                        objectMap.remove(instanceInfoList);
+                    }
+                    logger.fine("internal client finished iterating over all instances ");
+                    break;
+                }
+            }
+            else
+            {
+                Map objectMap=new HashMap();
+                PolicyInfo policyInfo=pm.getPolicyInfo(policyName); 
+                Map classQuaifierMap=policyInfo.getClassQualifierMap();
+                Iterator classit=classQuaifierMap.keySet().iterator();
+
+                logger.fine("number of classes in policy = "+classQuaifierMap.size());
+                
+                if(classQuaifierMap.size()==0 || classQuaifierMap.size()>1)
+                {
+                    logger.fine("number of classes in policy should be one");
+                }
+                while(classit.hasNext()){
+                    String className=(String)classit.next();
+                    List copList=objectrefList;
+                    Iterator it=copList.iterator();
+                    while(it.hasNext())
+                    {   
+                        Object copI=(Object)it.next();
+                
+                        logger.fine("instance objectpath= "+copI.toString());
+                        
+                        String objectName=className;
+                        objectMap.put(objectName, copI);
+                        Integer retVal=(Integer)pm.evaluatePolicy(policyName,objectMap);
+						if (logger.isLoggable(Level.FINE))
+                        logger.fine(Thread.currentThread().getName()+" return value is = "+retVal);
+                        
+                        logger.exiting(sourceClass,Thread.currentThread().getName()+" "+"InvokePolicy"); 
+                        
+                        if (retVal.intValue() ==POLICY_EVALUATION_FAILED )
+                        {
+                            logger.fine("POLICY_EVALUATION_FAILED || POLICY_NOT_EVALUATED "+policyName+" "+copI.toString()+" "+retVal);
+                            returnValue++;
+                        }
+                        else
+                        {
+                            logger.fine("POLICY_EVALUATION_SUCCESSFUL "+policyName+" "+copI.toString()+" "+retVal);
+                            
+                        }
+			            if(logger.isLoggable(Level.FINE))
+                        logger.fine(Thread.currentThread().getName()+" Internal client return value="+returnValue);
+                        objectMap.remove(copI);
+                    }
+                    logger.fine("internal client finished iterating over all instances ");
+                    break;
+                }
+            }
+            return 0;
+        }
+        catch(SPLException e)
+        {
+            logger.severe(e.getMessage());
+        }
+        
+        logger.exiting(sourceClass,Thread.currentThread().getName()+" "+"InvokeMethod");
+        if(logger.isLoggable(Level.FINE))
+        logger.fine(Thread.currentThread().getName()+" Internal client return value is -1");
+
+        return -1;
+    }
+    
+    public Object clone() throws CloneNotSupportedException
+    {
+        throw new CloneNotSupportedException();
+    }
+}

Copied: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/core/PolicyInfo.java (from r823583, incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/statements/impl/PolicyInfo.java)
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/core/PolicyInfo.java?p2=incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/core/PolicyInfo.java&p1=incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/statements/impl/PolicyInfo.java&r1=823583&r2=823652&rev=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/statements/impl/PolicyInfo.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/core/PolicyInfo.java Fri Oct  9 18:23:43 2009
@@ -1,90 +1,9 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *     http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.  
- */
-//
+package org.apache.imperius.spl.core;
 
-/**
- * @author Prashant Baliga <pr...@in.ibm.com>
- *
- */
-
-package org.apache.imperius.spl.parser.statements.impl;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
 import java.util.Map;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import org.apache.imperius.spl.parser.compiler.symboltable.AnchorData;
-import org.apache.imperius.spl.parser.compiler.symboltable.SPLSymbolTable;
-import org.apache.imperius.util.SPLLogger;
-
-public class PolicyInfo {
-	
-	private List importStmtList=null;
-	private static Logger logger = SPLLogger.getSPLLogger().getLogger();
-
-	private static String sourceClass = "PolicyInfo"; 
-
-	
-	public PolicyInfo(List importStmtList){
-		this.importStmtList=importStmtList;
-	}
-	
-	public Map getClassQualifierMap(){
-		logger.entering(sourceClass,Thread.currentThread().getName()+" "+"createInstance"); 
-		
-		Map classQualifier=new HashMap();
-		Iterator it=importStmtList.iterator();
-		while(it.hasNext())
-		{
-			
-			if(logger.isLoggable(Level.FINE))
-				logger.fine(Thread.currentThread().getName()+" 1Creating SPL Policy instance :"+importStmtList);
-
-			ImportStatement importStmt=(ImportStatement)it.next();
-			if(logger.isLoggable(Level.FINE))
-				logger.fine(Thread.currentThread().getName()+" 2Creating SPL Policy instance :"+importStmt);
-
-			SPLSymbolTable symtab=importStmt.getSymTab();
-			if(logger.isLoggable(Level.FINE))
-				logger.fine(Thread.currentThread().getName()+" 3Creating SPL Policy instance :"+symtab);
 
-			AnchorData anchor=symtab.getAnchorData();
-			if(logger.isLoggable(Level.FINE))
-				logger.fine(Thread.currentThread().getName()+" 4Creating SPL Policy instance :"+anchor);
+public interface PolicyInfo {
 
-			List classes=anchor.getAnchorClassList();
-			if(logger.isLoggable(Level.FINE))
-				logger.fine(Thread.currentThread().getName()+" 5Creating SPL Policy instance :"+classes);
+	public Map getClassQualifierMap();
 
-			Iterator classIt=classes.iterator();
-			while(classIt.hasNext()){
-				String classname=(String)classIt.next();
-				String qualifier=anchor.getQualifierForClass(classname);
-				classQualifier.put(classname, qualifier);
-			}
-		}
-		logger.exiting(sourceClass,Thread.currentThread().getName()+" "+"createInstance"); 
-		
-		return classQualifier;
-	}
-	
-}
+}
\ No newline at end of file

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/core/TypeConstants.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/core/TypeConstants.java?rev=823652&r1=823583&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/core/TypeConstants.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/core/TypeConstants.java Fri Oct  9 18:23:43 2009
@@ -23,7 +23,7 @@
  *
  * Constants for types supported by SPL
  */
-package org.apache.imperius.spl.external;
+package org.apache.imperius.spl.core;
 
 import org.apache.imperius.spl.parser.exceptions.SPLException;
 

Copied: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/core/TypeInfo.java (from r823583, incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/util/TypeInfo.java)
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/core/TypeInfo.java?p2=incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/core/TypeInfo.java&p1=incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/util/TypeInfo.java&r1=823583&r2=823652&rev=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/util/TypeInfo.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/core/TypeInfo.java Fri Oct  9 18:23:43 2009
@@ -1,109 +1,17 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *     http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.  
- */
-//
-
-/**
- * @author Prashant Baliga <pr...@in.ibm.com>
- *
- */
-
-package org.apache.imperius.spl.parser.util;
-
-import org.apache.imperius.spl.external.TypeConstants;
-import org.apache.imperius.spl.parser.exceptions.SPLException;
-import org.apache.imperius.util.Messages;
-
-
-public class TypeInfo 
-{
-	private int _splType = TypeConstants.INVALID;
-	private String _referenceTypeName = null;
-	private boolean _isArray = false;
-	
-	
-	public TypeInfo()
-	{
-		
-		
-	}
-	public TypeInfo(int type)
-	{
-		_splType = type;
-		_referenceTypeName = null;
-		_isArray = false;
-	}
-	
-	public TypeInfo(TypeInfo type)
-	{
-		_splType = type.getType();
-		_referenceTypeName = type.getReferenceTypeName();
-		_isArray = type.getIsArray();
-	}
-		
-	public TypeInfo(int splType, String referenceTypeName, boolean isArr) throws SPLException
-	{
-		if(TypeResolver.isValidType(splType))
-		{	
-			_splType = splType;
-			_referenceTypeName = referenceTypeName;
-			_isArray = isArr;
-		}
-		else
-		{
-            throw new SPLException(Messages
-					.getString("SPL_WRONG_OPERAND_TYPE_EXCEPTION_MSG"));
-		}
-	}
-
-	public String getReferenceTypeName() {
-		return _referenceTypeName;
-	}
-
-	public void setReferenceTypeName(String typeName) {
-		_referenceTypeName = typeName;
-	}
-
-	public int getType() {
-		return _splType;
-	}
-
-	public void setType(int type) {
-		_splType = type;
-	}
-	
-	public boolean getIsArray() {
-		return _isArray;
-	}
-
-
-	public void setIsArray(boolean array) {
-		_isArray = array;
-	}
-	
-	public void copy(TypeInfo tp) 
-	{
-		_isArray = tp.getIsArray();
-		_splType = tp.getType();
-		_referenceTypeName = tp.getReferenceTypeName();
-	}
+package org.apache.imperius.spl.core;
 
+public interface TypeInfo {
 
-	
+	public String getReferenceTypeName();
 
-}
+	public void setReferenceTypeName(String typeName);
+
+	public int getType();
+
+	public void setType(int type);
+
+	public boolean getIsArray();
+
+	public void setIsArray(boolean array);
+
+}
\ No newline at end of file

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/PolicyDataStore.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/PolicyDataStore.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/PolicyDataStore.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/PolicyDataStore.java Fri Oct  9 18:23:43 2009
@@ -29,8 +29,8 @@
 import java.util.List;
 import java.util.Map;
 
+import org.apache.imperius.spl.core.PolicyInfo;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
-import org.apache.imperius.spl.parser.statements.impl.PolicyInfo;
 import org.apache.imperius.spl.parser.statements.impl.SPLPolicy;
 
 

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyCache.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyCache.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyCache.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyCache.java Fri Oct  9 18:23:43 2009
@@ -24,14 +24,14 @@
 
 package org.apache.imperius.spl.datastore.impl;
 
-import java.util.Map;
 import java.util.Hashtable;
+import java.util.Map;
 
 import org.apache.imperius.spl.parser.exceptions.SPLException;
 import org.apache.imperius.spl.parser.statements.impl.SPLPolicy;
 import org.apache.imperius.util.Messages;
 
-public class PolicyCache 
+class PolicyCache 
 {
 	private Map _policyCache = new Hashtable();
 	private static PolicyCache singletonObj = null;

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyDataStoreImpl.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyDataStoreImpl.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyDataStoreImpl.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyDataStoreImpl.java Fri Oct  9 18:23:43 2009
@@ -28,14 +28,14 @@
 import java.util.Map;
 import java.util.logging.Logger;
 
+import org.apache.imperius.spl.core.PolicyInfo;
 import org.apache.imperius.spl.datastore.PolicyDataStore;
-import org.apache.imperius.spl.datastore.PolicyParser;
-import org.apache.imperius.spl.datastore.PolicyRepository;
+import org.apache.imperius.spl.datastore.internal.PolicyParser;
 import org.apache.imperius.spl.parser.exceptions.InvalidPolicyParameterException;
 import org.apache.imperius.spl.parser.exceptions.PolicyAlreadyExistsInRepositoryException;
 import org.apache.imperius.spl.parser.exceptions.PolicyDoesNotExistException;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
-import org.apache.imperius.spl.parser.statements.impl.PolicyInfo;
+import org.apache.imperius.spl.parser.statements.impl.PolicyInfoImpl;
 import org.apache.imperius.spl.parser.statements.impl.SPLPolicy;
 import org.apache.imperius.util.Messages;
 import org.apache.imperius.util.SPLLogger;
@@ -351,7 +351,7 @@
 				logger.exiting(sourceClass, Thread.currentThread().getName()
 						+ " " + "getPolicyInfo");
 				
-				PolicyInfo pi = new PolicyInfo(importStmtList);
+				PolicyInfo pi = new PolicyInfoImpl(importStmtList);
 				return pi;
 			}
 			else if (_policyRepository.policyExists(policyRuleName)) 
@@ -362,7 +362,7 @@
 				_policyCache.insertPolicy(policyRuleName, internalPolicyObject);
 				
 				List importStmtList = internalPolicyObject.getImportStmtList();
-				PolicyInfo pi = new PolicyInfo(importStmtList);
+				PolicyInfo pi = new PolicyInfoImpl(importStmtList);
 
 				logger.exiting(sourceClass, Thread.currentThread().getName()
 						+ " " + "getPolicyInfo");

Added: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyParserImpl.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyParserImpl.java?rev=823652&view=auto
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyParserImpl.java (added)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyParserImpl.java Fri Oct  9 18:23:43 2009
@@ -0,0 +1,230 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.  
+ */
+
+/**
+ * @author Prashant Baliga <pr...@in.ibm.com>
+ *
+ */
+
+package org.apache.imperius.spl.datastore.impl;
+
+import java.io.Reader;
+import java.io.StringReader;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import org.apache.imperius.spl.core.DataCollector;
+import org.apache.imperius.spl.datastore.internal.PolicyParser;
+import org.apache.imperius.spl.parser.compiler.SPLLexer;
+import org.apache.imperius.spl.parser.compiler.SPLParser;
+import org.apache.imperius.spl.parser.compiler.SPLTreeParser;
+import org.apache.imperius.spl.parser.compiler.symboltable.SPLSymbolTable;
+import org.apache.imperius.spl.parser.exceptions.SPLException;
+import org.apache.imperius.spl.parser.statements.impl.SPLPolicy;
+import org.apache.imperius.spl.parser.util.DataCollectorFactory;
+import org.apache.imperius.util.Messages;
+import org.apache.imperius.util.SPLLogger;
+
+import antlr.RecognitionException;
+import antlr.collections.AST;
+
+class PolicyParserImpl implements PolicyParser 
+{
+	private static final String sourceClass = "PolicyParserImpl";
+
+	private static Logger logger = SPLLogger.getSPLLogger().getLogger();
+
+	static boolean showTree = false;
+
+	private static PolicyParserImpl singletonObj = null;
+
+	private PolicyParserImpl() 
+	{
+		init();
+	}
+
+	public void init() 
+	{
+		logger.entering(sourceClass, Thread.currentThread().getName() + " "
+				+ "init");
+
+		logger.exiting(sourceClass, Thread.currentThread().getName() + " "
+				+ "init");
+	}
+
+	public static synchronized PolicyParserImpl getInstance() 
+	{
+		if (singletonObj == null) 
+		{
+			singletonObj = new PolicyParserImpl();
+		}
+		return singletonObj;
+	}
+
+	public void shutDown() 
+	{
+		logger.entering(sourceClass, Thread.currentThread().getName() + " "
+				+ "shutDown");
+		
+		logger.exiting(sourceClass, Thread.currentThread().getName() + " "
+				+ "shutDown");
+	}
+
+	public synchronized SPLPolicy createInternalPolicyObject(
+			String policyRuleName, String policyString) throws SPLException 
+	{
+		logger.entering(sourceClass, Thread.currentThread().getName() + " "
+				+ "CreateInternalPolicyObject");
+		StringReader policyStringReader = new StringReader(policyString);
+		SPLPolicy pol = parseFile(policyRuleName, policyStringReader);
+		
+		logger.exiting(sourceClass, Thread.currentThread().getName() + " "
+				+ "CreateInternalPolicyObject");
+		
+		return pol;
+	}
+
+	public boolean validate(String PolicyRuleName, String PolicyString) 
+	{
+		logger.entering(sourceClass, Thread.currentThread().getName() + " "
+				+ "validate");
+		
+		logger.exiting(sourceClass, Thread.currentThread().getName() + " "
+				+ "validate");
+
+		return true;
+	}
+
+	public static SPLPolicy parseFile(String f, Reader r) throws SPLException 
+	{
+		logger.entering(sourceClass, Thread.currentThread().getName() + " "
+				+ "parseFile");
+
+		try 
+		{
+			// Create a scanner that reads from the input stream passed to us
+			SPLLexer lexer = new SPLLexer(r);
+			lexer.setFilename(f);
+
+			// Create a parser that reads from the scanner
+			SPLParser parser = new SPLParser(lexer);
+			parser.setASTNodeClass("org.apache.imperius.spl.parser.compiler.ASTWithLineNumber");
+			parser.setFilename(f);
+			
+			logger.fine(Thread.currentThread().getName() + " parsing file started...");
+
+			// start parsing at the compilationUnit rule
+			parser.splpolicy();
+			
+			if(parser.getErrorList() != null && parser.getErrorList().size() > 0)
+			{
+				throw new SPLException(Messages
+						.getString("SPL_POLICY_PARSING_EXCEPTION_MSG"));
+			}
+			
+			logger.fine(Thread.currentThread().getName() + " parsing file completed here...");
+			
+			AST t = parser.getAST();
+			
+			if (t != null) 
+			{
+				traverseTree(t);
+			} 
+			else 
+			{
+				logger.log(Level.SEVERE, Messages.SPLOF0007E);
+			}
+
+			// do something with the tree
+			SPLPolicy pol = doTreeAction(f, parser.getAST(), parser.getTokenNames());
+			
+			logger.exiting(sourceClass, Thread.currentThread().getName() + " "
+					+ "parseFile");
+			
+			return pol;
+		} 
+		catch (Exception e) 
+		{
+			logger.severe(e.getMessage());
+			throw new SPLException(e.getMessage());
+		}
+	}
+
+	public static void traverseTree(AST t) 
+	{
+
+	}
+
+	public static synchronized SPLPolicy doTreeAction(String f, AST t,
+			String[] tokenNames) throws SPLException 
+	{
+		logger.entering(sourceClass, Thread.currentThread().getName() + " "
+				+ "doTreeAction");
+
+		if (t == null) 
+		{
+			return null;
+		}
+
+		SPLTreeParser tparse = new SPLTreeParser();
+		tparse.setASTNodeClass("org.apache.imperius.spl.parser.compiler.ASTWithLineNumber");
+		try 
+		{
+			DataCollector dc = DataCollectorFactory.getDataCollector();
+			SPLSymbolTable st = new SPLSymbolTable();
+			SPLPolicy cp = tparse.splpolicy(t, dc, st);
+			if(tparse.getErrorList() != null && tparse.getErrorList().size() > 0)
+			{
+				throw new SPLException(Messages.getString("SPL_POLICY_TREE_PARSING_EXCEPTION_MSG"));
+			}
+			logger.exiting(sourceClass, Thread.currentThread().getName() + " "
+					+ "doTreeAction");
+			return cp;
+		}
+		catch (RecognitionException e) 
+		{
+			throw new SPLException(e.getMessage());
+		}
+	}
+
+	public boolean validatePolicyString(String policyString)
+			throws SPLException 
+	{
+		logger.entering(sourceClass, Thread.currentThread().getName() + " "
+				+ "validatePolicyString");
+		
+		try 
+		{
+			StringReader policyStringReader = new StringReader(policyString);
+			parseFile("validate", policyStringReader);
+		
+			logger.exiting(sourceClass, Thread.currentThread().getName() + " "
+					+ "CreateInternalPolicyObject");
+
+			return true;
+		} 
+		catch (Exception e) 
+		{
+			logger.log(Level.SEVERE, Messages.SPLOF0006E, new Object[] { e
+					.getMessage() });
+			return false;
+		}
+
+	}
+}

Copied: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyRepository.java (from r820076, incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/PolicyRepository.java)
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyRepository.java?p2=incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyRepository.java&p1=incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/PolicyRepository.java&r1=820076&r2=823652&rev=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/PolicyRepository.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyRepository.java Fri Oct  9 18:23:43 2009
@@ -23,7 +23,7 @@
  *
  */
 
-package org.apache.imperius.spl.datastore;
+package org.apache.imperius.spl.datastore.impl;
 
 
 
@@ -32,7 +32,7 @@
 
 import org.apache.imperius.spl.parser.exceptions.SPLException;
 
-public interface PolicyRepository
+interface PolicyRepository
 {
 	public static final String REPOSITORY_FILE_NAME = "PolicyStorage.DAT"; //$NON-NLS-1$
 	

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyRepositoryImpl.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyRepositoryImpl.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyRepositoryImpl.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyRepositoryImpl.java Fri Oct  9 18:23:43 2009
@@ -26,21 +26,29 @@
 
 package org.apache.imperius.spl.datastore.impl;
 
-import java.io.FileInputStream;
 import java.io.File;
+import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
-import java.util.*;
-import java.util.logging.*;
-
-import org.apache.imperius.spl.datastore.PolicyRepository;
-import org.apache.imperius.spl.parser.exceptions.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import org.apache.imperius.spl.parser.exceptions.InvalidPolicyParameterException;
+import org.apache.imperius.spl.parser.exceptions.PolicyAlreadyExistsInRepositoryException;
+import org.apache.imperius.spl.parser.exceptions.PolicyDoesNotExistException;
+import org.apache.imperius.spl.parser.exceptions.SPLException;
 import org.apache.imperius.util.Messages;
 import org.apache.imperius.util.SPLLogger;
 
-public class PolicyRepositoryImpl implements PolicyRepository 
+class PolicyRepositoryImpl implements PolicyRepository 
 {
 	private static HashMap _policyMap = new HashMap();
 	private static String _fileName = null;

Copied: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/internal/PolicyParser.java (from r820076, incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/PolicyParser.java)
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/internal/PolicyParser.java?p2=incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/internal/PolicyParser.java&p1=incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/PolicyParser.java&r1=820076&r2=823652&rev=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/PolicyParser.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/internal/PolicyParser.java Fri Oct  9 18:23:43 2009
@@ -23,7 +23,7 @@
  *
  */
 
-package org.apache.imperius.spl.datastore;
+package org.apache.imperius.spl.datastore.internal;
 
 import org.apache.imperius.spl.parser.exceptions.SPLException;
 import org.apache.imperius.spl.parser.statements.impl.SPLPolicy;

Copied: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/evaluator/internal/PolicyEvaluator.java (from r820076, incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/evaluator/PolicyEvaluator.java)
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/evaluator/internal/PolicyEvaluator.java?p2=incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/evaluator/internal/PolicyEvaluator.java&p1=incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/evaluator/PolicyEvaluator.java&r1=820076&r2=823652&rev=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/evaluator/PolicyEvaluator.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/evaluator/internal/PolicyEvaluator.java Fri Oct  9 18:23:43 2009
@@ -23,7 +23,7 @@
  *
  */
 
-package org.apache.imperius.spl.evaluator;
+package org.apache.imperius.spl.evaluator.internal;
 
 
 import java.util.Map;

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/evaluator/internal/impl/PolicyEvaluatorImpl.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/evaluator/internal/impl/PolicyEvaluatorImpl.java?rev=823652&r1=823583&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/evaluator/internal/impl/PolicyEvaluatorImpl.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/evaluator/internal/impl/PolicyEvaluatorImpl.java Fri Oct  9 18:23:43 2009
@@ -22,15 +22,15 @@
  *
  */
 
-package org.apache.imperius.spl.evaluator.impl;
+package org.apache.imperius.spl.evaluator.internal.impl;
 
 import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import org.apache.imperius.spl.evaluator.PolicyEvaluator;
-import org.apache.imperius.spl.external.Actuator;
-import org.apache.imperius.spl.external.DataCollector;
+import org.apache.imperius.spl.core.Actuator;
+import org.apache.imperius.spl.core.DataCollector;
+import org.apache.imperius.spl.evaluator.internal.PolicyEvaluator;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
 import org.apache.imperius.spl.parser.statements.EvaluationResults;
 import org.apache.imperius.spl.parser.statements.impl.SPLPolicy;

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/evaluator/internal/impl/ReturnObjectStore.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/evaluator/internal/impl/ReturnObjectStore.java?rev=823652&r1=823583&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/evaluator/internal/impl/ReturnObjectStore.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/evaluator/internal/impl/ReturnObjectStore.java Fri Oct  9 18:23:43 2009
@@ -24,7 +24,7 @@
  */
 
 
-package org.apache.imperius.spl.evaluator.impl;
+package org.apache.imperius.spl.evaluator.internal.impl;
 
 import java.util.ArrayList;
 import java.util.List;

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/manager/PolicyManager.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/manager/PolicyManager.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/manager/PolicyManager.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/manager/PolicyManager.java Fri Oct  9 18:23:43 2009
@@ -31,10 +31,10 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.imperius.spl.external.Actuator;
-import org.apache.imperius.spl.external.DataCollector;
+import org.apache.imperius.spl.core.Actuator;
+import org.apache.imperius.spl.core.DataCollector;
+import org.apache.imperius.spl.core.PolicyInfo;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
-import org.apache.imperius.spl.parser.statements.impl.PolicyInfo;
 
 
 public interface PolicyManager

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/manager/impl/PolicyManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/manager/impl/PolicyManagerImpl.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/manager/impl/PolicyManagerImpl.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/manager/impl/PolicyManagerImpl.java Fri Oct  9 18:23:43 2009
@@ -29,15 +29,15 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import org.apache.imperius.spl.core.Actuator;
+import org.apache.imperius.spl.core.DataCollector;
+import org.apache.imperius.spl.core.PolicyInfo;
 import org.apache.imperius.spl.datastore.PolicyDataStore;
 import org.apache.imperius.spl.datastore.impl.PolicyDataStoreImpl;
-import org.apache.imperius.spl.evaluator.PolicyEvaluator;
-import org.apache.imperius.spl.evaluator.impl.PolicyEvaluatorImpl;
-import org.apache.imperius.spl.external.Actuator;
-import org.apache.imperius.spl.external.DataCollector;
+import org.apache.imperius.spl.evaluator.internal.PolicyEvaluator;
+import org.apache.imperius.spl.evaluator.internal.impl.PolicyEvaluatorImpl;
 import org.apache.imperius.spl.manager.PolicyManager;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
-import org.apache.imperius.spl.parser.statements.impl.PolicyInfo;
 import org.apache.imperius.spl.parser.statements.impl.SPLPolicy;
 import org.apache.imperius.spl.parser.util.ActuatorFactory;
 import org.apache.imperius.spl.parser.util.DataCollectorFactory;

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/ASTWithLineNumber.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/ASTWithLineNumber.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/ASTWithLineNumber.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/ASTWithLineNumber.java Fri Oct  9 18:23:43 2009
@@ -23,8 +23,9 @@
 import java.awt.event.WindowAdapter;
 import java.awt.event.WindowEvent;
 
-import antlr.*;
-import antlr.collections.*;
+import antlr.CommonAST;
+import antlr.Token;
+import antlr.collections.AST;
 import antlr.debug.misc.ASTFrame;
 
 /**

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/IdentPrimaryTuple.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/IdentPrimaryTuple.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/IdentPrimaryTuple.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/IdentPrimaryTuple.java Fri Oct  9 18:23:43 2009
@@ -35,17 +35,18 @@
 import java.util.Map;
 import java.util.Vector;
 
-import org.apache.imperius.spl.external.Argument;
-import org.apache.imperius.spl.external.DataCollector;
-import org.apache.imperius.spl.external.Expression;
-import org.apache.imperius.spl.external.InstanceInfo;
+import org.apache.imperius.spl.core.Argument;
+import org.apache.imperius.spl.core.DataCollector;
+import org.apache.imperius.spl.core.Expression;
+import org.apache.imperius.spl.core.InstanceInfo;
+import org.apache.imperius.spl.core.TypeInfo;
 import org.apache.imperius.spl.parser.compiler.symboltable.MethodSymbol;
 import org.apache.imperius.spl.parser.compiler.symboltable.SPLSymbolTable;
 import org.apache.imperius.spl.parser.compiler.symboltable.Symbol;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
 import org.apache.imperius.spl.parser.statements.actions.impl.AnchorMethodInvokeAction;
 import org.apache.imperius.spl.parser.util.DataCollectorFactory;
-import org.apache.imperius.spl.parser.util.TypeInfo;
+import org.apache.imperius.spl.parser.util.TypeInfoImpl;
 import org.apache.imperius.spl.parser.util.TypeResolver;
 import org.apache.imperius.util.Messages;
 
@@ -114,8 +115,8 @@
 //        			for (int i = 0; i < aList.size(); i++) {
 //        				Expression exp = (Expression)_paramList.get(i);
 //        				Argument arg = (Argument)aList.get(i);
-//        				TypeInfo expDataType = exp.getType();
-//        				TypeInfo argDataType = arg.getType();
+//        				TypeInfoImpl expDataType = exp.getType();
+//        				TypeInfoImpl argDataType = arg.getType();
 ////        				if (expDataType.getIsArray() != argDataType.getIsArray() ||
 ////        						expDataType.getType() != argDataType.getType()) {
 //        				if (expDataType.getType() != argDataType.getType()) {
@@ -146,8 +147,8 @@
 //    			for (int i = 0; i < aList.size(); i++) {
 //    				Expression exp = (Expression)_paramList.get(i);
 //    				Argument arg = (Argument)aList.get(i);
-//    				TypeInfo expDataType = exp.getType();
-//    				TypeInfo argDataType = arg.getType();
+//    				TypeInfoImpl expDataType = exp.getType();
+//    				TypeInfoImpl argDataType = arg.getType();
 ////    				if (expDataType.getIsArray() != argDataType.getIsArray() ||
 ////    						expDataType.getType() != argDataType.getType()) {
 //    				if (expDataType.getType() != argDataType.getType()) {
@@ -216,8 +217,8 @@
 //    			for (int i = 0; i < aList.size(); i++) {
 //    				Expression exp = (Expression)_paramList.get(i);
 //    				Argument arg = (Argument)aList.get(i);
-//    				TypeInfo expDataType = exp.getType();
-//    				TypeInfo argDataType = arg.getType();
+//    				TypeInfoImpl expDataType = exp.getType();
+//    				TypeInfoImpl argDataType = arg.getType();
 ////    				if (expDataType.getIsArray() != argDataType.getIsArray() ||
 ////    						expDataType.getType() != argDataType.getType()) {
 //    				if (expDataType.getType() != argDataType.getType()) {
@@ -374,7 +375,7 @@
 
 	public TypeInfo validate(String classTypeOrVariableName) throws SPLException
 	{
-		TypeInfo typeInfo = new TypeInfo();
+		TypeInfo typeInfo = new TypeInfoImpl();
 		_classType = classTypeOrVariableName;
 		// ensure symbol table is populated
 		_populateSymbolTable(_classType);
@@ -496,7 +497,7 @@
 	private TypeInfo _validateActualParameters(Symbol sym, 
 			String classType) throws SPLException
 	{
-		TypeInfo returnTypeInfo = new TypeInfo();
+		TypeInfo returnTypeInfo = new TypeInfoImpl();
 		String returnClassName = null;
 		AnchorMethodInvokeAction.validateActualParameters(_symbolTable,
 	    		classType, _identifier, _paramList);

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/AnchorData.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/AnchorData.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/AnchorData.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/AnchorData.java Fri Oct  9 18:23:43 2009
@@ -25,7 +25,7 @@
 import java.util.Map;
 import java.util.logging.Logger;
 
-import org.apache.imperius.spl.external.InstanceInfo;
+import org.apache.imperius.spl.core.InstanceInfo;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
 import org.apache.imperius.util.SPLLogger;
 

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/MacroSymbol.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/MacroSymbol.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/MacroSymbol.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/MacroSymbol.java Fri Oct  9 18:23:43 2009
@@ -27,15 +27,16 @@
 import java.util.List;
 import java.util.logging.Logger;
 
+import org.apache.imperius.spl.core.TypeInfo;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
 import org.apache.imperius.spl.parser.statements.impl.MacroDefinition;
-import org.apache.imperius.spl.parser.util.TypeInfo;
+import org.apache.imperius.spl.parser.util.TypeInfoImpl;
 import org.apache.imperius.util.SPLLogger;
 
 public class MacroSymbol implements Symbol 
 {
 	private String _macroName;
-	private TypeInfo _returnType = new TypeInfo();
+	private TypeInfoImpl _returnType = new TypeInfoImpl();
 	private List _argTypeList;
 	private MacroDefinition _macroDefn;
 	private static Logger logger = SPLLogger.getSPLLogger().getLogger();

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/MethodSymbol.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/MethodSymbol.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/MethodSymbol.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/MethodSymbol.java Fri Oct  9 18:23:43 2009
@@ -29,8 +29,9 @@
 
 import java.util.List;
 
+import org.apache.imperius.spl.core.TypeInfo;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
-import org.apache.imperius.spl.parser.util.TypeInfo;
+import org.apache.imperius.spl.parser.util.TypeInfoImpl;
 
 
 
@@ -38,7 +39,7 @@
 public class MethodSymbol implements Symbol 
 {
 	private String _methodName;
-	private TypeInfo _returnType = new TypeInfo();
+	private TypeInfoImpl _returnType = new TypeInfoImpl();
 	private List _argList;
 	private SPLSymbolTable _methodSymbolTable=null;
 	
@@ -55,7 +56,7 @@
 		_returnType.setIsArray(isReturnArray);
 		_returnType.setReferenceTypeName(returnReferenceType);
 		_returnType.setType(retType);
-		//_returnType = new TypeInfo(retType,returnReferenceType,isReturnArray);
+		//_returnType = new TypeInfoImpl(retType,returnReferenceType,isReturnArray);
 		_argList=argList;
 		_methodSymbolTable = metSym;
 		

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/PropertySymbol.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/PropertySymbol.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/PropertySymbol.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/PropertySymbol.java Fri Oct  9 18:23:43 2009
@@ -27,8 +27,9 @@
 
 package org.apache.imperius.spl.parser.compiler.symboltable;
 
+import org.apache.imperius.spl.core.TypeInfo;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
-import org.apache.imperius.spl.parser.util.TypeInfo;
+import org.apache.imperius.spl.parser.util.TypeInfoImpl;
 
 
 
@@ -37,7 +38,7 @@
 public class PropertySymbol implements Symbol 
 {
 	
-	private TypeInfo _dataType = new TypeInfo();
+	private TypeInfoImpl _dataType = new TypeInfoImpl();
 	private String _name;
 	private Object _value;
 	//private boolean _isArray;
@@ -52,7 +53,7 @@
 			boolean isKey, 
 			boolean isProp) throws SPLException
 	{
-		_dataType = new TypeInfo(type,referenceType,isArray);
+		_dataType = new TypeInfoImpl(type,referenceType,isArray);
 		_name = n;
 		_isKey = isKey;
 		_isPropertyOfClass = isProp;

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/SPLSymbolTable.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/SPLSymbolTable.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/SPLSymbolTable.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/SPLSymbolTable.java Fri Oct  9 18:23:43 2009
@@ -26,23 +26,22 @@
 package org.apache.imperius.spl.parser.compiler.symboltable;
 
 import java.util.ArrayList;
-import java.util.Collection;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Vector;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import org.apache.imperius.spl.external.DataCollector;
-import org.apache.imperius.spl.external.InstanceInfo;
-import org.apache.imperius.spl.external.TypeConstants;
+import org.apache.imperius.spl.core.DataCollector;
+import org.apache.imperius.spl.core.InstanceInfo;
+import org.apache.imperius.spl.core.TypeConstants;
+import org.apache.imperius.spl.core.TypeInfo;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
 import org.apache.imperius.spl.parser.exceptions.SymbolAlreadyDefinedException;
 import org.apache.imperius.spl.parser.statements.impl.MacroDefinition;
 import org.apache.imperius.spl.parser.util.DataCollectorFactory;
-import org.apache.imperius.spl.parser.util.TypeInfo;
+import org.apache.imperius.spl.parser.util.TypeInfoImpl;
 import org.apache.imperius.util.Messages;
 import org.apache.imperius.util.SPLLogger;
 
@@ -187,7 +186,7 @@
 
 		if(!_symbolMap.containsKey(name))
 		{	
-			TypeInfo tp = new TypeInfo(type,referenceTypeName,isArray);
+			TypeInfo tp = new TypeInfoImpl(type,referenceTypeName,isArray);
 			Symbol cimSym = new PropertySymbol(name,tp,isKey,isClassProp);
 			_symbolMap.put(name, cimSym);
 		}
@@ -233,7 +232,7 @@
 		logger.entering(sourceClass,Thread.currentThread().getName()+" "+ "insertMacroSymbol");
 
 		int type = TypeConstants.getActualType(retType);
-		TypeInfo returnType = new TypeInfo(type,null,isArray);
+		TypeInfo returnType = new TypeInfoImpl(type,null,isArray);
 		if(!_symbolMap.containsKey(name))
 		{	
 			Symbol cimSym = new MacroSymbol(name,returnType,argTypeList,macroDef);

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/Symbol.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/Symbol.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/Symbol.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/Symbol.java Fri Oct  9 18:23:43 2009
@@ -27,7 +27,7 @@
 
 package org.apache.imperius.spl.parser.compiler.symboltable;
 
-import org.apache.imperius.spl.parser.util.TypeInfo;
+import org.apache.imperius.spl.core.TypeInfo;
 
 
 

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/BasicCollectionExpression.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/BasicCollectionExpression.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/BasicCollectionExpression.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/BasicCollectionExpression.java Fri Oct  9 18:23:43 2009
@@ -33,11 +33,12 @@
 import java.util.List;
 import java.util.logging.Logger;
 
-import org.apache.imperius.spl.external.Expression;
+import org.apache.imperius.spl.core.Expression;
+import org.apache.imperius.spl.core.TypeInfo;
 import org.apache.imperius.spl.parser.compiler.symboltable.SPLSymbolTable;
 import org.apache.imperius.spl.parser.exceptions.IllegalParameterTypeException;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
-import org.apache.imperius.spl.parser.util.TypeInfo;
+import org.apache.imperius.spl.parser.util.TypeInfoImpl;
 import org.apache.imperius.spl.parser.util.TypeResolver;
 import org.apache.imperius.util.Messages;
 import org.apache.imperius.util.SPLLogger;
@@ -114,7 +115,7 @@
 			Expression expression=(Expression)paramListIterator.next();
 			if(_collectionType == null)
 			{
-				_collectionType = new TypeInfo(expression.getType());
+				_collectionType = new TypeInfoImpl(expression.getType());
 				_collectionType.setIsArray(true);
 				if(TypeResolver.isReference(_collectionType))
 				{

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/CollectOperation.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/CollectOperation.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/CollectOperation.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/CollectOperation.java Fri Oct  9 18:23:43 2009
@@ -29,16 +29,16 @@
 
 import java.security.InvalidParameterException;
 import java.util.ArrayList;
-import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import org.apache.imperius.spl.external.DataCollector;
-import org.apache.imperius.spl.external.Expression;
-import org.apache.imperius.spl.external.TypeConstants;
+import org.apache.imperius.spl.core.DataCollector;
+import org.apache.imperius.spl.core.Expression;
+import org.apache.imperius.spl.core.TypeConstants;
+import org.apache.imperius.spl.core.TypeInfo;
 import org.apache.imperius.spl.parser.compiler.symboltable.SPLSymbolTable;
 import org.apache.imperius.spl.parser.compiler.symboltable.Symbol;
 import org.apache.imperius.spl.parser.exceptions.IllegalExpressionTypeException;
@@ -47,7 +47,7 @@
 import org.apache.imperius.spl.parser.exceptions.SPLException;
 import org.apache.imperius.spl.parser.expressions.ReferenceExpression;
 import org.apache.imperius.spl.parser.util.DataCollectorFactory;
-import org.apache.imperius.spl.parser.util.TypeInfo;
+import org.apache.imperius.spl.parser.util.TypeInfoImpl;
 import org.apache.imperius.util.Messages;
 import org.apache.imperius.util.SPLLogger;
 
@@ -65,7 +65,7 @@
 	private SPLSymbolTable symTab;
 	private String returnClassName;
 	private PostCollectExpression postCollectOperation;
-	private TypeInfo _dataType=new TypeInfo();
+	private TypeInfo _dataType=new TypeInfoImpl();
 //	private boolean isArray;
 	private boolean noPostCollectOperation;
 	private Expression referenceExpression;
@@ -312,7 +312,7 @@
 //			Iterator it = c.iterator();
 //			Symbol propSymbol = (Symbol) it.next();
 			
-			this._dataType=new TypeInfo(propSymbol.getType());
+			this._dataType=new TypeInfoImpl(propSymbol.getType());
 			this._dataType.setIsArray(true);
 			expressionForTarget = (Expression)paramList.get(6); // 6th param is an expression involving properties of the targetclass
 			if(expressionForTarget.validate())
@@ -335,7 +335,7 @@
 					//System.out.println("Post collect expression exists");		
 					postCollectOperation.validate(this.targetClassName); // validate the expression
 					if(postCollectOperation.Array2Exists() || postCollectOperation.isMethodOrParamExists())	{
-						this._dataType=new TypeInfo(postCollectOperation.getType());
+						this._dataType=new TypeInfoImpl(postCollectOperation.getType());
 					}
 					else{
 						this._dataType.setIsArray(false);

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/MacroExpression.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/MacroExpression.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/MacroExpression.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/MacroExpression.java Fri Oct  9 18:23:43 2009
@@ -31,14 +31,14 @@
 import java.util.Map;
 import java.util.logging.Logger;
 
-import org.apache.imperius.spl.external.Expression;
+import org.apache.imperius.spl.core.Expression;
+import org.apache.imperius.spl.core.TypeInfo;
 import org.apache.imperius.spl.parser.compiler.symboltable.MacroSymbol;
 import org.apache.imperius.spl.parser.compiler.symboltable.PropertySymbol;
 import org.apache.imperius.spl.parser.compiler.symboltable.SPLSymbolTable;
 import org.apache.imperius.spl.parser.compiler.symboltable.Symbol;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
 import org.apache.imperius.spl.parser.statements.impl.MacroDefinition;
-import org.apache.imperius.spl.parser.util.TypeInfo;
 import org.apache.imperius.spl.parser.util.TypeResolver;
 import org.apache.imperius.util.SPLLogger;
 

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/PostCollectExpression.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/PostCollectExpression.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/PostCollectExpression.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/PostCollectExpression.java Fri Oct  9 18:23:43 2009
@@ -30,15 +30,16 @@
 import java.util.List;
 import java.util.logging.Logger;
 
-import org.apache.imperius.spl.external.Expression;
-import org.apache.imperius.spl.external.TypeConstants;
+import org.apache.imperius.spl.core.Expression;
+import org.apache.imperius.spl.core.TypeConstants;
+import org.apache.imperius.spl.core.TypeInfo;
 import org.apache.imperius.spl.parser.compiler.symboltable.MethodSymbol;
 import org.apache.imperius.spl.parser.compiler.symboltable.PropertySymbol;
 import org.apache.imperius.spl.parser.compiler.symboltable.SPLSymbolTable;
 import org.apache.imperius.spl.parser.compiler.symboltable.Symbol;
 import org.apache.imperius.spl.parser.exceptions.IllegalExpressionTypeException;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
-import org.apache.imperius.spl.parser.util.TypeInfo;
+import org.apache.imperius.spl.parser.util.TypeInfoImpl;
 import org.apache.imperius.util.Messages;
 import org.apache.imperius.util.SPLLogger;
 
@@ -54,7 +55,7 @@
 	private SPLSymbolTable symTab;
 	private static Logger logger = SPLLogger.getSPLLogger().getLogger();
 	private static final String sourceClass = "PostCollectExpression";
-	private TypeInfo _dataType = new TypeInfo();
+	private TypeInfoImpl _dataType = new TypeInfoImpl();
 	public boolean isIdentifierMethod;
 	public int instanceNumer = -1;
 	private String targetName = "";

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/PrimaryExpression.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/PrimaryExpression.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/PrimaryExpression.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/PrimaryExpression.java Fri Oct  9 18:23:43 2009
@@ -26,18 +26,18 @@
 
 package org.apache.imperius.spl.parser.expression.primary;
 
-import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
 import java.util.logging.Logger;
 
-import org.apache.imperius.spl.external.Expression;
-import org.apache.imperius.spl.external.TypeConstants;
+import org.apache.imperius.spl.core.Expression;
+import org.apache.imperius.spl.core.TypeConstants;
+import org.apache.imperius.spl.core.TypeInfo;
 import org.apache.imperius.spl.parser.compiler.IdentPrimaryTuple;
 import org.apache.imperius.spl.parser.compiler.symboltable.SPLSymbolTable;
 import org.apache.imperius.spl.parser.compiler.symboltable.Symbol;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
-import org.apache.imperius.spl.parser.util.TypeInfo;
+import org.apache.imperius.spl.parser.util.TypeInfoImpl;
 import org.apache.imperius.util.Messages;
 import org.apache.imperius.util.SPLLogger;
 
@@ -85,7 +85,7 @@
 
 	private static final String sourceClass = "PrimaryExpression";
 
-	private TypeInfo _dataType = new TypeInfo();
+	private TypeInfoImpl _dataType = new TypeInfoImpl();
 
 	private String _referenceTypeName;
     
@@ -163,7 +163,7 @@
         // case 4: ident1.ident2[expr]
         if(!_identTupleList.isEmpty())
         {
-        	TypeInfo returnType = new TypeInfo(TypeConstants.referenceType,
+        	TypeInfo returnType = new TypeInfoImpl(TypeConstants.referenceType,
 	        		_classNameOrInstanceVariableName,
 	        		isArray);
 	        int i = 0;

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/SelfExpression.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/SelfExpression.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/SelfExpression.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/SelfExpression.java Fri Oct  9 18:23:43 2009
@@ -29,12 +29,13 @@
 import java.util.List;
 import java.util.logging.Logger;
 
-import org.apache.imperius.spl.external.Expression;
-import org.apache.imperius.spl.external.TypeConstants;
+import org.apache.imperius.spl.core.Expression;
+import org.apache.imperius.spl.core.TypeConstants;
+import org.apache.imperius.spl.core.TypeInfo;
 import org.apache.imperius.spl.parser.compiler.symboltable.SPLSymbolTable;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
 import org.apache.imperius.spl.parser.expressions.ReferenceExpression;
-import org.apache.imperius.spl.parser.util.TypeInfo;
+import org.apache.imperius.spl.parser.util.TypeInfoImpl;
 import org.apache.imperius.util.Messages;
 import org.apache.imperius.util.SPLLogger;
 
@@ -151,7 +152,7 @@
         logger.entering(sourceClass, Thread.currentThread().getName() + " "
 				+ "validate");
 		
-        _dataType = new TypeInfo(TypeConstants.referenceType, null, false);
+        _dataType = new TypeInfoImpl(TypeConstants.referenceType, null, false);
 
 		logger.exiting(sourceClass, Thread.currentThread().getName() + " "
 				+ "validate");

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/BooleanExpression.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/BooleanExpression.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/BooleanExpression.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/BooleanExpression.java Fri Oct  9 18:23:43 2009
@@ -25,7 +25,7 @@
 
 package org.apache.imperius.spl.parser.expressions;
 
-import org.apache.imperius.spl.external.Expression;
+import org.apache.imperius.spl.core.Expression;
 
 public interface BooleanExpression extends Expression
 {

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/CalendarExpression.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/CalendarExpression.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/CalendarExpression.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/CalendarExpression.java Fri Oct  9 18:23:43 2009
@@ -25,7 +25,7 @@
 
 package org.apache.imperius.spl.parser.expressions;
 
-import org.apache.imperius.spl.external.Expression;
+import org.apache.imperius.spl.core.Expression;
 
 public interface CalendarExpression extends Expression
 {

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/ConstantExpression.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/ConstantExpression.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/ConstantExpression.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/ConstantExpression.java Fri Oct  9 18:23:43 2009
@@ -25,7 +25,7 @@
 
 package org.apache.imperius.spl.parser.expressions;
 
-import org.apache.imperius.spl.external.Expression;
+import org.apache.imperius.spl.core.Expression;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
 
 

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/DoubleArgumentExpression.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/DoubleArgumentExpression.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/DoubleArgumentExpression.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/DoubleArgumentExpression.java Fri Oct  9 18:23:43 2009
@@ -30,9 +30,10 @@
 import java.util.Vector;
 import java.util.logging.Logger;
 
-import org.apache.imperius.spl.external.Expression;
+import org.apache.imperius.spl.core.Expression;
+import org.apache.imperius.spl.core.TypeInfo;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
-import org.apache.imperius.spl.parser.util.TypeInfo;
+import org.apache.imperius.spl.parser.util.TypeInfoImpl;
 import org.apache.imperius.util.Messages;
 import org.apache.imperius.util.SPLLogger;
 
@@ -49,7 +50,7 @@
 
 	// protected boolean _isArray = false;
 
-	protected TypeInfo _dataType = new TypeInfo();
+	protected TypeInfoImpl _dataType = new TypeInfoImpl();
     
     public DoubleArgumentExpression(List exprList)
     {

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/MethodExpression.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/MethodExpression.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/MethodExpression.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/MethodExpression.java Fri Oct  9 18:23:43 2009
@@ -28,18 +28,19 @@
 import java.util.ArrayList;
 import java.util.logging.Logger;
 
-import org.apache.imperius.spl.external.Expression;
+import org.apache.imperius.spl.core.Expression;
+import org.apache.imperius.spl.core.TypeInfo;
 import org.apache.imperius.spl.parser.compiler.symboltable.MethodSymbol;
 import org.apache.imperius.spl.parser.compiler.symboltable.SPLSymbolTable;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
-import org.apache.imperius.spl.parser.util.TypeInfo;
+import org.apache.imperius.spl.parser.util.TypeInfoImpl;
 import org.apache.imperius.util.SPLLogger;
 
 
 public class MethodExpression implements Expression
 {
     
-    private TypeInfo returnType = new TypeInfo();
+    private TypeInfo returnType = new TypeInfoImpl();
 
 	private ArrayList passedParams;
 

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/MultipleArgumentExpression.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/MultipleArgumentExpression.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/MultipleArgumentExpression.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/MultipleArgumentExpression.java Fri Oct  9 18:23:43 2009
@@ -30,9 +30,10 @@
 import java.util.List;
 import java.util.logging.Logger;
 
-import org.apache.imperius.spl.external.Expression;
+import org.apache.imperius.spl.core.Expression;
+import org.apache.imperius.spl.core.TypeInfo;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
-import org.apache.imperius.spl.parser.util.TypeInfo;
+import org.apache.imperius.spl.parser.util.TypeInfoImpl;
 import org.apache.imperius.util.Messages;
 import org.apache.imperius.util.SPLLogger;
 
@@ -48,7 +49,7 @@
 
 	private final String sourceClass = "MultipleArgumentExpression";
 
-	protected TypeInfo _dataType = new TypeInfo();
+	protected TypeInfo _dataType = new TypeInfoImpl();
     
     public MultipleArgumentExpression(List exprList)
     {

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/NumericExpression.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/NumericExpression.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/NumericExpression.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/NumericExpression.java Fri Oct  9 18:23:43 2009
@@ -25,7 +25,7 @@
 
 package org.apache.imperius.spl.parser.expressions;
 
-import org.apache.imperius.spl.external.Expression;
+import org.apache.imperius.spl.core.Expression;
 
 public interface NumericExpression extends Expression
 {

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/QuadrupleArgumentExpression.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/QuadrupleArgumentExpression.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/QuadrupleArgumentExpression.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/QuadrupleArgumentExpression.java Fri Oct  9 18:23:43 2009
@@ -29,9 +29,10 @@
 import java.util.Vector;
 import java.util.logging.Logger;
 
-import org.apache.imperius.spl.external.Expression;
+import org.apache.imperius.spl.core.Expression;
+import org.apache.imperius.spl.core.TypeInfo;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
-import org.apache.imperius.spl.parser.util.TypeInfo;
+import org.apache.imperius.spl.parser.util.TypeInfoImpl;
 import org.apache.imperius.util.Messages;
 import org.apache.imperius.util.SPLLogger;
 
@@ -45,7 +46,7 @@
 
 	protected Expression _exp4;
 
-	protected TypeInfo _dataType = new TypeInfo();
+	protected TypeInfo _dataType = new TypeInfoImpl();
 
 	private static Logger logger = SPLLogger.getSPLLogger().getLogger();
 

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/ReferenceExpression.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/ReferenceExpression.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/ReferenceExpression.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/ReferenceExpression.java Fri Oct  9 18:23:43 2009
@@ -25,7 +25,7 @@
 
 package org.apache.imperius.spl.parser.expressions;
 
-import org.apache.imperius.spl.external.Expression;
+import org.apache.imperius.spl.core.Expression;
 
 public interface ReferenceExpression extends Expression
 {

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/SingleArgumentExpression.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/SingleArgumentExpression.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/SingleArgumentExpression.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/SingleArgumentExpression.java Fri Oct  9 18:23:43 2009
@@ -30,9 +30,10 @@
 import java.util.Vector;
 import java.util.logging.Logger;
 
-import org.apache.imperius.spl.external.Expression;
+import org.apache.imperius.spl.core.Expression;
+import org.apache.imperius.spl.core.TypeInfo;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
-import org.apache.imperius.spl.parser.util.TypeInfo;
+import org.apache.imperius.spl.parser.util.TypeInfoImpl;
 import org.apache.imperius.util.Messages;
 import org.apache.imperius.util.SPLLogger;
 
@@ -45,7 +46,7 @@
     
     private final String sourceClass="SingleArgumentExpression";
         
-    protected TypeInfo _dataType =  new TypeInfo();; 
+    protected TypeInfoImpl _dataType =  new TypeInfoImpl();; 
     
     public boolean isArray()
     {

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/StringExpression.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/StringExpression.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/StringExpression.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/StringExpression.java Fri Oct  9 18:23:43 2009
@@ -25,7 +25,7 @@
 
 package org.apache.imperius.spl.parser.expressions;
 
-import org.apache.imperius.spl.external.Expression;
+import org.apache.imperius.spl.core.Expression;
 
 public interface StringExpression extends Expression
 {

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/TimeZoneExpression.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/TimeZoneExpression.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/TimeZoneExpression.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/TimeZoneExpression.java Fri Oct  9 18:23:43 2009
@@ -29,12 +29,13 @@
 import java.util.List;
 import java.util.logging.Logger;
 
-import org.apache.imperius.spl.external.Expression;
-import org.apache.imperius.spl.external.TypeConstants;
+import org.apache.imperius.spl.core.Expression;
+import org.apache.imperius.spl.core.TypeConstants;
+import org.apache.imperius.spl.core.TypeInfo;
 import org.apache.imperius.spl.parser.compiler.symboltable.SPLSymbolTable;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
 import org.apache.imperius.spl.parser.expressions.impl.StringConstant;
-import org.apache.imperius.spl.parser.util.TypeInfo;
+import org.apache.imperius.spl.parser.util.TypeInfoImpl;
 import org.apache.imperius.spl.parser.util.TypeResolver;
 import org.apache.imperius.util.Messages;
 import org.apache.imperius.util.SPLLogger;
@@ -131,7 +132,7 @@
         logger.entering(sourceClass,Thread.currentThread().getName()+" "+ "validate");
 
         TypeInfo eType = _exp.getType();
-        _dataType = new TypeInfo(TypeConstants.stringType,null,false);
+        _dataType = new TypeInfoImpl(TypeConstants.stringType,null,false);
         if (TypeResolver.isString(eType))
         {
             logger.exiting(sourceClass,Thread.currentThread().getName()+" "+ "validate");

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/TripleArgumentExpression.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/TripleArgumentExpression.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/TripleArgumentExpression.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/TripleArgumentExpression.java Fri Oct  9 18:23:43 2009
@@ -30,9 +30,10 @@
 import java.util.Vector;
 import java.util.logging.Logger;
 
-import org.apache.imperius.spl.external.Expression;
+import org.apache.imperius.spl.core.Expression;
+import org.apache.imperius.spl.core.TypeInfo;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
-import org.apache.imperius.spl.parser.util.TypeInfo;
+import org.apache.imperius.spl.parser.util.TypeInfoImpl;
 import org.apache.imperius.util.Messages;
 import org.apache.imperius.util.SPLLogger;
 
@@ -46,7 +47,7 @@
 
 	protected Expression _rhsExp;
 
-	protected TypeInfo _dataType = new TypeInfo();
+	protected TypeInfo _dataType = new TypeInfoImpl();
 
 	private static Logger logger = SPLLogger.getSPLLogger().getLogger();
 

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/ZeroArgumentExpression.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/ZeroArgumentExpression.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/ZeroArgumentExpression.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/ZeroArgumentExpression.java Fri Oct  9 18:23:43 2009
@@ -28,9 +28,10 @@
 import java.util.List;
 import java.util.logging.Logger;
 
-import org.apache.imperius.spl.external.Expression;
+import org.apache.imperius.spl.core.Expression;
+import org.apache.imperius.spl.core.TypeInfo;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
-import org.apache.imperius.spl.parser.util.TypeInfo;
+import org.apache.imperius.spl.parser.util.TypeInfoImpl;
 import org.apache.imperius.util.SPLLogger;
 
 
@@ -40,7 +41,7 @@
 
 	private final String sourceClass = "ZeroArgumentExpression";
 
-	protected TypeInfo _dataType = new TypeInfo();
+	protected TypeInfo _dataType = new TypeInfoImpl();
     
     public boolean isArray()
     {

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Abs.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Abs.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Abs.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Abs.java Fri Oct  9 18:23:43 2009
@@ -29,11 +29,11 @@
 import java.util.List;
 import java.util.logging.Logger;
 
-import org.apache.imperius.spl.external.TypeConstants;
+import org.apache.imperius.spl.core.TypeConstants;
+import org.apache.imperius.spl.core.TypeInfo;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
 import org.apache.imperius.spl.parser.expressions.NumericExpression;
 import org.apache.imperius.spl.parser.expressions.SingleArgumentExpression;
-import org.apache.imperius.spl.parser.util.TypeInfo;
 import org.apache.imperius.spl.parser.util.TypeResolver;
 import org.apache.imperius.util.Messages;
 import org.apache.imperius.util.SPLLogger;

Modified: incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Addition.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Addition.java?rev=823652&r1=823651&r2=823652&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Addition.java (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Addition.java Fri Oct  9 18:23:43 2009
@@ -32,12 +32,12 @@
 import java.util.Vector;
 import java.util.logging.Logger;
 
-import org.apache.imperius.spl.external.TypeConstants;
+import org.apache.imperius.spl.core.TypeConstants;
+import org.apache.imperius.spl.core.TypeInfo;
 import org.apache.imperius.spl.parser.exceptions.IllegalExpressionTypeException;
 import org.apache.imperius.spl.parser.exceptions.SPLException;
 import org.apache.imperius.spl.parser.expressions.DoubleArgumentExpression;
 import org.apache.imperius.spl.parser.expressions.NumericExpression;
-import org.apache.imperius.spl.parser.util.TypeInfo;
 import org.apache.imperius.spl.parser.util.TypeResolver;
 import org.apache.imperius.util.Messages;
 import org.apache.imperius.util.SPLLogger;