Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data')
-rw-r--r--bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/BeanModifier.java22
-rw-r--r--bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/ClassEntry.java77
-rw-r--r--bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/DataFlowManager.java293
-rw-r--r--bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/DataMappingRegistry.java47
-rw-r--r--bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/DataMappingRegistryImpl.java117
-rw-r--r--bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/RuleEntry.java32
-rw-r--r--bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/Transformer.java23
7 files changed, 0 insertions, 611 deletions
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/BeanModifier.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/BeanModifier.java
deleted file mode 100644
index d56fc66c0..000000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/BeanModifier.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.command.internal.env.core.data;
-
-public interface BeanModifier {
-
- /**
- * Performs modification on bean properties using data provided
- * @param bean The bean to be modified
- * @param propertyHolder The data to use to make the modification
- */
- public void modify(Object bean, Object propertyHolder);
-
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/ClassEntry.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/ClassEntry.java
deleted file mode 100644
index 41e5c5664..000000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/ClassEntry.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * 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:
- * IBM Corporation - initial API and implementation
- * yyyymmdd bug Email and other contact information
- * -------- -------- -----------------------------------------------------------
- * 20060313 130958 pmoogk@ca.ibm.com - Peter Moogk
- *******************************************************************************/
-
-package org.eclipse.wst.command.internal.env.core.data;
-
-import java.util.Vector;
-
-public class ClassEntry
-{
- // A list of getter methods for a particular class.
- public Vector getterList_;
-
- // A list of setter methods for a particular class.
- public Vector setterList_;
-
- // A list of instance objects for this class. Only the last entry
- // should be looked at.
- private Vector objectList_ = new Vector();
-
- // A list of Interger objects that represent an ordering of objects.
- // The number of entries in the objectList vector and the orderList vector
- // should be the same. Each entry in the objectList vector is
- // corelated with each entry in the orderList vector.
- private Vector orderList_ = new Vector();
-
- public void addObject( Object object, int order )
- {
- objectList_.add(object);
- orderList_.add( new Integer(order) );
- }
-
- public Object getLastObject()
- {
- Object result = null;
-
- if( objectList_.size() > 0 )
- {
- result = objectList_.lastElement();
- }
-
- return result;
- }
-
- public int getLastOrder()
- {
- int result = -1;
-
- if( orderList_.size() > 0 )
- {
- result = ((Integer)orderList_.lastElement()).intValue();
- }
-
- return result;
- }
-
- public void removeObject( Object object )
- {
- int removalIndex = objectList_.indexOf(object);
-
- if( removalIndex != -1 )
- {
- objectList_.remove(removalIndex);
- orderList_.remove(removalIndex);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/DataFlowManager.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/DataFlowManager.java
deleted file mode 100644
index e7ffe03f8..000000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/DataFlowManager.java
+++ /dev/null
@@ -1,293 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * 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:
- * IBM Corporation - initial API and implementation
- * yyyymmdd bug Email and other contact information
- * -------- -------- -----------------------------------------------------------
- * 20060313 130958 pmoogk@ca.ibm.com - Peter Moogk
- *******************************************************************************/
-package org.eclipse.wst.command.internal.env.core.data;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.util.Hashtable;
-import java.util.Vector;
-import org.eclipse.wst.common.environment.IEnvironment;
-import org.eclipse.wst.common.environment.ILog;
-
-
-public class DataFlowManager
-{
- private DataMappingRegistryImpl registry_;
- private Hashtable classTable_;
- private int order_;
- private IEnvironment environment_;
-
- public DataFlowManager( DataMappingRegistryImpl registry, IEnvironment environment )
- {
- registry_ = registry;
- classTable_ = new Hashtable();
- order_ = 0;
- environment_ = environment;
- }
-
- public DataMappingRegistry getMappingRegistry()
- {
- return registry_;
- }
-
- // Remove this instance object from the mapping table.
- public void unprocess( Object object )
- {
- String objectType = object.getClass().getName();
- ClassEntry classEntry = (ClassEntry)classTable_.get( objectType );
-
- if( classEntry != null )
- {
- classEntry.removeObject(object);
- }
- }
-
- // Add this object to our mapping table and call the setters
- // that have corresponding getter objects.
- public void process( Object object )
- {
- // Add this object to the classTable_ if required.
- String objectType = object.getClass().getName();
- ClassEntry classEntry = (ClassEntry)classTable_.get( objectType );
-
- environment_.getLog().log(ILog.INFO, "data", 5004, this, "process", "Processing: " + objectType );
-
- if( classEntry == null )
- {
- classEntry = new ClassEntry();
- classTable_.put( objectType, classEntry );
- }
-
- classEntry.addObject(object, order_++ );
-
- // Now process the setters for this object
- Vector ruleEntries = registry_.getRuleEntries( objectType );
-
- if( ruleEntries != null )
- {
- if( classEntry.setterList_ == null )
- {
- classEntry.setterList_ = getSetterList( object );
- }
-
- // For each setter in this object try to find a rule.
- for( int setterIndex = 0; setterIndex < classEntry.setterList_.size(); setterIndex++ )
- {
- ObjectMethod currentObjectMethod = new ObjectMethod();
- Method setterMethod = (Method)classEntry.setterList_.elementAt( setterIndex );
- RuleEntry currentRuleEntry = null;
-
- currentObjectMethod.order = -1;
-
- // Find rules that match this setter. Note: there can be more than one rule
- // that matches this setter. In this case we use the most recent, which is
- // defined by the order field.
- for( int index = 0; index < ruleEntries.size(); index++ )
- {
- RuleEntry ruleEntry = (RuleEntry)ruleEntries.elementAt( index );
-
- if( setterMethod.getName().equals( "set" + ruleEntry.targetProperty_ ) )
- {
- // We found a setter for this rule. Now find the getter method.
- // Note: getGetterMethod always returns a value, but if there is no
- // getters available it will set the order to -1.
- ObjectMethod getter = getGetterMethod( ruleEntry.sourceType_, ruleEntry.sourceProperty_ );
-
- if( getter.order == -1 )
- {
- environment_.getLog().log(ILog.INFO , "data", 5005, this, "process", " >>No getter found for property: " + setterMethod.getName());
- }
-
- if( currentObjectMethod.order < getter.order )
- {
- // We found a more recent getter.
- currentObjectMethod = getter;
- currentRuleEntry = ruleEntry;
- }
- }
- }
-
- if( currentObjectMethod.order != -1 )
- {
- invokeMethod( currentObjectMethod.object,
- currentObjectMethod.method,
- object,
- setterMethod,
- currentRuleEntry.transformer_ );
- }
- else
- {
- environment_.getLog().log(ILog.INFO, "data", 5006, this, "process", " >>No rule found for setter: " + setterMethod.getName() );
- }
- }
- }
- }
-
- /**
- * Find all the setters for this object and return a vector of them.
- *
- * @param object
- * @return
- */
- private Vector getSetterList( Object object )
- {
- Vector result = new Vector();
-
- Method[] methods = object.getClass().getMethods();
-
- for( int index = 0; index < methods.length; index++ )
- {
- Method method = methods[index];
- boolean isPublic = Modifier.isPublic( method.getModifiers() );
- Class returnType = method.getReturnType();
-
- if( isPublic &&
- returnType == Void.TYPE &&
- method.getParameterTypes().length == 1 &&
- method.getName().startsWith( "set" ))
- {
- method.setAccessible( true );
- result.add( method );
- }
- }
-
- return result;
- }
-
- private ObjectMethod getGetterMethod( String sourceType, String sourceProperty )
- {
- ClassEntry classEntry = (ClassEntry)classTable_.get( sourceType );
- ObjectMethod getterFound = new ObjectMethod();
-
- // Indicate that there is no getter yet.
- getterFound.order = -1;
-
- if( classEntry != null )
- {
- Object lastObject = classEntry.getLastObject();
-
- if( lastObject != null )
- {
- if( classEntry.getterList_ == null )
- {
- // Build the getter list.
- classEntry.getterList_ = getGetterList( lastObject );
- }
-
- for( int index = 0; index < classEntry.getterList_.size(); index++ )
- {
- Method getter = (Method)classEntry.getterList_.elementAt( index );
-
- if( getter.getName().equals( "get" + sourceProperty ))
- {
- getterFound.order = classEntry.getLastOrder();
- getterFound.method = getter;
- getterFound.object = lastObject;
- break;
- }
- }
- }
- }
-
- return getterFound;
- }
-
- private Vector getGetterList( Object object )
- {
- Vector result = new Vector();
-
- Method[] methods = object.getClass().getMethods();
-
- for( int index = 0; index < methods.length; index++ )
- {
- Method method = methods[index];
- boolean isPublic = Modifier.isPublic( method.getModifiers() );
- Class returnType = method.getReturnType();
-
- if( isPublic &&
- returnType != Void.TYPE &&
- method.getParameterTypes().length == 0 &&
- method.getName().startsWith( "get" ))
- {
- method.setAccessible( true );
- result.add( method );
- }
- }
-
- return result;
- }
-
- private void invokeMethod( Object sourceObject,
- Method sourceMethod ,
- Object clientObject,
- Method clientMethod,
- Transformer transformer)
- {
- Object data = null;
-
- try
- {
- data = sourceMethod.invoke( sourceObject, new Object[0] );
- }
- catch( InvocationTargetException exc )
- {
- exc.printStackTrace();
- // pgm Need to externalize this string.
- throw new IllegalArgumentException( "Provider \"" + sourceObject.getClass().getName() +
- "\" threw an exception." );
- }
- catch( IllegalAccessException exc )
- {
- exc.printStackTrace();
- // pgm Need to externalize this string.
- throw new IllegalArgumentException( "Provider \"" + sourceObject.getClass().getName() +
- "\" threw an exception." );
- }
-
- environment_.getLog().log(ILog.INFO, "data", 5007, this, "invokeMethod "," Setting prop: " + clientMethod.getName() + " data=" + data + " from: " + sourceObject.getClass().getName() );
-
-
- if( transformer != null )
- {
- data = transformer.transform( data );
- }
-
- try
- {
- clientMethod.invoke( clientObject, new Object[]{ data } );
- }
- catch( InvocationTargetException exc )
- {
- exc.printStackTrace();
- // pgm Need to externalize this string.
- throw new IllegalArgumentException( "Client \"" + clientObject.getClass().getName() +
- "\" threw an exception." );
- }
- catch( IllegalAccessException exc )
- {
- exc.printStackTrace();
- // pgm Need to externalize this string.
- throw new IllegalArgumentException( "Client \"" + clientObject.getClass().getName() +
- "\" threw an exception." );
- }
- }
-
- private class ObjectMethod
- {
- public Object object;
- public Method method;
- public int order;
- }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/DataMappingRegistry.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/DataMappingRegistry.java
deleted file mode 100644
index 99da37a6f..000000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/DataMappingRegistry.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.command.internal.env.core.data;
-
-public interface DataMappingRegistry
-{
- /**
- * This method adds a data mapping from a source object to a target
- * object. When the sourceObject is encountered by the framework the
- * sourceProperty will be called and the data will be passed to the
- * targetProperty in the targetObject. If a transformer object is
- * specified the sourceObject is transformed before being passed to
- * the target object.
- *
- * @param sourceType The source object.
- * @param sourceProperty The source property.
- * @param targetType The target object.
- * @param targetProperty The target property.
- * @param transformer The transformer object that transforms the
- * the source object.
- */
- public void addMapping( Class sourceType,
- String sourceProperty,
- Class targetType,
- String targetProperty,
- Transformer transformer );
-
- /**
- * This method is equivalent to the above with targetProperty the same
- * as the sourceProperty and with the transformer set to null.
- *
- * @param sourceType The source object.
- * @param sourceProperty The source property.
- * @param targetType The target object.
- */
- public void addMapping( Class sourceType,
- String sourceProperty,
- Class targetType );
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/DataMappingRegistryImpl.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/DataMappingRegistryImpl.java
deleted file mode 100644
index 7bea57788..000000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/DataMappingRegistryImpl.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.command.internal.env.core.data;
-
-import java.util.Hashtable;
-import java.util.Vector;
-
-
-public class DataMappingRegistryImpl implements DataMappingRegistry
-{
- private Hashtable rulesTable_ = new Hashtable();
-
- public Vector getRuleEntries( String targetType )
- {
- return (Vector)rulesTable_.get( targetType );
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry#addMapping(java.lang.Class, java.lang.String, java.lang.Class, java.lang.String, org.eclipse.wst.command.internal.env.core.data.Transformer)
- */
- public void addMapping( Class sourceType, String sourceProperty,
- Class targetType, String targetProperty,
- Transformer transformer)
- {
- Vector ruleEntries = (Vector)rulesTable_.get( targetType.getName() );
- RuleEntry ruleEntry = null;
-
- if( ruleEntries == null )
- {
- ruleEntries = new Vector();
- rulesTable_.put( targetType.getName(), ruleEntries );
- }
-
- // Find the rule entry
- for( int index = 0; index < ruleEntries.size(); index++ )
- {
- RuleEntry newEntry = (RuleEntry)ruleEntries.elementAt( index );
-
- if( sourceProperty.equals( newEntry.sourceProperty_ ) &&
- sourceType.equals( newEntry.sourceType_ ) &&
- targetProperty.equals( newEntry.targetProperty_ ) )
- {
- // The entry already exists
- ruleEntry = newEntry;
- break;
- }
- }
-
- if( ruleEntry == null )
- {
- // The rule didn't exist already so we will create a new one.
- ruleEntry = new RuleEntry(sourceType.getName(), sourceProperty, targetProperty, transformer );
- ruleEntries.add( ruleEntry );
- }
- else
- {
- // Just update the transformer.
- ruleEntry.transformer_ = transformer;
- }
- }
-
- //ruleEntries_.
-// String sourceClass = sourceType.getName();
-// String targetClass = targetType.getName();
-// Vector entries = (Vector)ruleEntries_.get( sourceClass );
-// RuleEntry ruleEntry = null;
-//
-// if( entries != null )
-// {
-// // Check to see if this mapping already exists.
-// for( int index = 0; index < entries.size(); index++ )
-// {
-// RuleEntry foundEntry = (RuleEntry)entries.elementAt( index );
-//
-// if( sourceProperty.equals( foundEntry.sourceProperty_ ) &&
-// targetType.equals( foundEntry.targetType_ ) &&
-// targetProperty.equals( foundEntry.targetProperty_ ) )
-// {
-// ruleEntry = foundEntry;
-// ruleEntry.transformer_ = transformer;
-// }
-// }
-//
-// // There is an existing vector for this sourceClass, but it didn't
-// // contain this new rule so we will add it in.
-// if( ruleEntry == null )
-// {
-// ruleEntry = new RuleEntry( sourceProperty, targetClass, targetProperty, transformer );
-// entries.add( ruleEntry );
-// }
-// }
-// else
-// {
-// // We need to create a new vector for this sourceClass.
-// entries = new Vector();
-// ruleEntry = new RuleEntry( sourceProperty, targetClass, targetProperty, transformer );
-// entries.add( ruleEntry );
-// ruleEntries_.put( sourceClass, entries );
-// }
-// }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry#addMapping(java.lang.Class, java.lang.String, java.lang.Class)
- */
- public void addMapping(Class sourceType, String sourceProperty, Class targetType)
- {
- addMapping( sourceType, sourceProperty, targetType, sourceProperty, null );
- }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/RuleEntry.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/RuleEntry.java
deleted file mode 100644
index df242c105..000000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/RuleEntry.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.command.internal.env.core.data;
-
-
-public class RuleEntry
-{
- public String sourceType_;
- public String sourceProperty_;
- public String targetProperty_;
- public Transformer transformer_;
-
-
- public RuleEntry( String sourceType,
- String sourceProperty,
- String targetProperty,
- Transformer transformer )
- {
- sourceType_ = sourceType;
- sourceProperty_ = sourceProperty;
- targetProperty_ = targetProperty;
- transformer_ = transformer;
- }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/Transformer.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/Transformer.java
deleted file mode 100644
index 19c3c01e7..000000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/Transformer.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.command.internal.env.core.data;
-
-/**
- * This interface is used to transform an object from one class to another.
- *
- */
-public interface Transformer
-{
- /*
- * @return returns a transformed object based on the input value.
- */
- public Object transform( Object value );
-}

Back to the top