diff options
Diffstat (limited to 'bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data')
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 ); -} |