r2017 - in trunk: . nuiton-utils/src/main/java/org/nuiton/util/beans nuiton-utils/src/main/java/org/nuiton/util/rmi nuiton-utils/src/test/java/org/nuiton/util/beans
Author: tchemit Date: 2011-01-17 19:50:24 +0100 (Mon, 17 Jan 2011) New Revision: 2017 Url: http://nuiton.org/repositories/revision/nuiton-utils/2017 Log: remove deprecated binder api + fix docs Removed: trunk/nuiton-utils/src/main/java/org/nuiton/util/beans/BinderBuilder.java trunk/nuiton-utils/src/main/java/org/nuiton/util/beans/BinderProvider.java trunk/nuiton-utils/src/test/java/org/nuiton/util/beans/BinderBuilderTest.java trunk/nuiton-utils/src/test/java/org/nuiton/util/beans/BinderProviderTest.java Modified: trunk/nuiton-utils/src/main/java/org/nuiton/util/beans/package-info.java trunk/nuiton-utils/src/main/java/org/nuiton/util/rmi/RemoteMethodExecutor.java trunk/nuiton-utils/src/main/java/org/nuiton/util/rmi/RemoteMethodExecutorImpl.java trunk/nuiton-utils/src/main/java/org/nuiton/util/rmi/RemoteProxyFactory.java trunk/nuiton-utils/src/main/java/org/nuiton/util/rmi/ServiceExporter.java trunk/pom.xml Deleted: trunk/nuiton-utils/src/main/java/org/nuiton/util/beans/BinderBuilder.java =================================================================== --- trunk/nuiton-utils/src/main/java/org/nuiton/util/beans/BinderBuilder.java 2011-01-17 18:49:58 UTC (rev 2016) +++ trunk/nuiton-utils/src/main/java/org/nuiton/util/beans/BinderBuilder.java 2011-01-17 18:50:24 UTC (rev 2017) @@ -1,459 +0,0 @@ -/* - * #%L - * Nuiton Utils - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2004 - 2010 CodeLutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Lesser Public License for more details. - * - * You should have received a copy of the GNU General Lesser Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. - * #L% - */ - -package org.nuiton.util.beans; - -import java.beans.BeanInfo; -import java.beans.IntrospectionException; -import java.beans.Introspector; -import java.beans.PropertyDescriptor; -import java.lang.reflect.Method; -import java.util.Arrays; -import java.util.Collection; -import java.util.Map; -import java.util.TreeMap; - -/** - * A builder of {@link Binder.BinderModel} and {@link Binder}. - * <p/> - * A {@code binder} permits to copy some properties from a bean to another one. - * - * @author tchemit <chemit@codelutin.com> - * @see Binder.BinderModel - * @see Binder - * @since 1.1.5 - * @deprecated since 1.5.3, prefer use the {@link BinderModelBuilder} instead, will be removed in version 2.0 - */ -@Deprecated -public class BinderBuilder { - - /** current model used to build the binder */ - protected Binder.BinderModel<?, ?> model; - - /** source properties descriptors */ - protected Map<String, PropertyDescriptor> sourceDescriptors; - - /** target properties descriptors */ - protected Map<String, PropertyDescriptor> targetDescriptors; - - public BinderBuilder() { - } - - /** - * Creates a mirrored binder for the given {@code type} and add the given - * simple properties. - * - * @param type the type of mirrored binder - * @param properties simple properties to add - */ - public BinderBuilder(Class<?> type, String... properties) { - createBinderModel(type); - addSimpleProperties(properties); - } - - /** - * Creates a binder for the given types and add the given simple properties. - * - * @param sourceType type of the source of the binder - * @param targetType type of the target of the binder - * @param properties simple properties to add - */ - public BinderBuilder(Class<?> sourceType, - Class<?> targetType, - String... properties) { - createBinderModel(sourceType, targetType); - addSimpleProperties(properties); - } - - /** - * Creates a new binder model for a mirrored binder (source type = target - * type). - * <p/> - * <b>Note:</b> If a previous model was created, but not released via the - * method {@link #createBinder(Class)}, the method will failed. - * - * @param type the type of source and target - * @return the instance of the builder - * @throws IllegalStateException if a previous builder model was created - * without been released - * @throws NullPointerException if a parameter is null - */ - public BinderBuilder createBinderModel(Class<?> type) - throws IllegalStateException, NullPointerException { - createBinderModel(type, type); - return this; - } - - /** - * Creates a new binder model. - * <p/> - * <b>Note:</b> If a previous model was created, but not released via the - * method {@link #createBinder(Class)}, the method will failed. - * - * @param sourceType the type of the source - * @param targetType the type of the target - * @return the instance of the builder - * @throws IllegalStateException if a previous builder model was created - * without been released - * @throws NullPointerException if a parameter is null - */ - public BinderBuilder createBinderModel(Class<?> sourceType, - Class<?> targetType) - throws IllegalStateException, NullPointerException { - if (sourceType == null) { - throw new NullPointerException("sourceType can not be null"); - } - if (targetType == null) { - throw new NullPointerException("targetType can not be null"); - } - - if (model != null) { - throw new IllegalStateException( - "there is already a binderModel in construction, release " + - "it with the method createBinder before using this method." - ); - } - - // init model - model = new Binder.BinderModel(sourceType, targetType); - - // obtain source descriptors - sourceDescriptors = new TreeMap<String, PropertyDescriptor>(); - loadDescriptors(model.getSourceType(), sourceDescriptors); - - // obtain target descriptors - targetDescriptors = new TreeMap<String, PropertyDescriptor>(); - loadDescriptors(model.getTargetType(), targetDescriptors); - - return this; - } - - /** - * Creates a new binder given using the {@link Binder} type of binder - * from the internal binder model - * previously created via the method {@code createBinderModel<XXX>} and - * then filled with methods {@code addXXX(XXX)}. - * <p/> - * <b>Note:</b> If no model is present, the method will fail. - * - * @return the instance of the new buinder. - * @throws IllegalStateException if no model was previously created. - * @throws NullPointerException if the parameter is {@code null} - */ - public Binder<?, ?> createBinder() - throws NullPointerException, IllegalStateException { - - Binder<?, ?> binder = createBinder(Binder.class); - return binder; - } - - /** - * Creates a new binder given his type from the internal binder model - * previously created via the method {@code createBinderModel<XXX>} and - * then filled with methods {@code addXXX(XXX)}. - * <p/> - * <b>Note:</b> If no model is present, the method will fail. - * - * @param binderType the type of binder to instanciate - * @param <B> the type of binder to instanciate - * @return the instance of the new buinder. - * @throws IllegalStateException if no model was previously created. - * @throws NullPointerException if the parameter is {@code null} - */ - public <B extends Binder<?, ?>> B createBinder(Class<B> binderType) - throws NullPointerException, IllegalStateException { - checkModelExists(); - if (binderType == null) { - throw new NullPointerException("binderType can not be null"); - } - try { - Binder binder = binderType.newInstance(); - binder.setModel(model); - return (B)binder; - } catch (Exception e) { - throw new IllegalStateException( - "could not instanciate binder " + binderType, e); - } finally { - // release resources of the model - model = null; - sourceDescriptors.clear(); - sourceDescriptors = null; - targetDescriptors.clear(); - targetDescriptors = null; - } - } - - /** - * Add to the binder model some simple properties (says source property name - * = target property name). - * <p/> - * <b>Note:</b> If no model is present, the method will fail. - * - * @param properties the name of mirrored property - * @return the instance of the builder - * @throws IllegalStateException if no model was previously created - * @throws NullPointerException if a property is {@code null} - */ - public BinderBuilder addSimpleProperties(String... properties) - throws IllegalStateException, NullPointerException { - checkModelExists(); - for (String property : properties) { - if (property == null) { - throw new NullPointerException( - "parameter 'properties' can not contains a null value"); - } - addProperty0(property, property); - } - return this; - } - - /** - * Add to the binder model some simple properties (says source property name - * = target property name). - * <p/> - * <b>Note:</b> If no model is present, the method will fail. - * - * @param sourceProperty the name of the source property to bind - * @param targetProperty the name of the target property to bind - * @return the instance of the builder - * @throws IllegalStateException if no model was previously created - * @throws NullPointerException if a parameter is {@code null} - */ - - public BinderBuilder addProperty(String sourceProperty, - String targetProperty) - throws IllegalStateException, NullPointerException { - if (sourceProperty == null) { - throw new NullPointerException( - "parameter 'sourceProperty' can not be null"); - } - if (targetProperty == null) { - throw new NullPointerException( - "parameter 'targetProperty' can not be null"); - } - checkModelExists(); - addProperty0(sourceProperty, targetProperty); - return this; - } - - /** - * Add to the binder model some properties. - * <p/> - * Parameter {@code sourceAndTargetProperties} must be a array of couple - * of {@code sourceProperty}, {@code targetProperty}. - * <p/> - * Example : - * <pre> - * builder.addProperties("name","name2","text","text"); - * </pre> - * <p/> - * <b>Note:</b> If no model is present, the method will fail. - * - * @param sourceAndTargetProperties the couple of (sourceProperty - - * targetProperty) to bind - * @return the instance of the builder - * @throws IllegalStateException if no model was previously created - * @throws IllegalArgumentException if there is not the same number of - * source and target properties - * @throws NullPointerException if a parameter is {@code null} - */ - public BinderBuilder addProperties(String... sourceAndTargetProperties) - throws IllegalStateException, IllegalArgumentException, - NullPointerException { - checkModelExists(); - if (sourceAndTargetProperties.length % 2 != 0) { - throw new IllegalArgumentException( - "must have couple(s) of sourceProperty,targetProperty) " + - "but had " + Arrays.toString(sourceAndTargetProperties)); - } - for (int i = 0, max = sourceAndTargetProperties.length / 2; - i < max; i++) { - String sourceProperty = sourceAndTargetProperties[2 * i]; - String targetProperty = sourceAndTargetProperties[2 * i + 1]; - if (sourceProperty == null) { - throw new NullPointerException( - "parameter 'sourceAndTargetProperties' can not " + - "contains a null value"); - } - if (targetProperty == null) { - throw new NullPointerException( - "parameter 'sourceAndTargetProperties' can not " + - "contains a null value"); - } - addProperty0(sourceProperty, targetProperty); - } - return this; - } - - public BinderBuilder addCollectionStrategy(Binder.CollectionStrategy strategy, - String... propertyNames) { - - for (String propertyName : propertyNames) { - - // check property is registred - if (!model.containsSourceProperty(propertyName)) { - throw new IllegalArgumentException( - "source property '" + propertyName + "' " + - " is NOT registred."); - } - - // check property is collection type - PropertyDescriptor descriptor = sourceDescriptors.get(propertyName); - Class<?> type = descriptor.getPropertyType(); - if (!Collection.class.isAssignableFrom(type)) { - throw new IllegalStateException( - "source property '" + propertyName + - "' is not a collection type [" + type + "]"); - } - - // can safely add the strategy - model.addCollectionStrategy(propertyName, strategy); - } - return this; - } - - public BinderBuilder addBinder(String propertyName, Binder<?, ?> binder) { - - // check property is registred - if (!model.containsSourceProperty(propertyName)) { - throw new IllegalArgumentException( - "source property '" + propertyName + "' " + - " is NOT registred."); - } - - // check property is the same type of given binder - PropertyDescriptor descriptor = sourceDescriptors.get(propertyName); - Class<?> type = descriptor.getPropertyType(); - - if (!Collection.class.isAssignableFrom(type) && - !binder.model.getSourceType().isAssignableFrom(type)) { - throw new IllegalStateException( - "source property '" + propertyName + - "' has not the same type [" + type + - "] of the binder [" + binder.model.getSourceType() + "]."); - } - - // can safely add the strategy - model.addBinder(propertyName, binder); - - return this; - } - - protected void addProperty0(String sourceProperty, - String targetProperty) { - // check srcProperty does not exist - if (model.containsSourceProperty(sourceProperty)) { - throw new IllegalArgumentException("source property '" + - sourceProperty + "' " + " was already registred."); - } - // check dstProperty does not exist - if (model.containsTargetProperty(targetProperty)) { - throw new IllegalArgumentException("destination property '" + - targetProperty + "' " + " was already registred."); - } - - // obtain source descriptor - PropertyDescriptor sourceDescriptor = - sourceDescriptors.get(sourceProperty); - if (sourceDescriptor == null) { - throw new IllegalArgumentException("no property '" + - sourceProperty + "' " + "found on type " + - model.getSourceType()); - } - // check srcProperty is readable - Method readMethod = sourceDescriptor.getReadMethod(); - if (readMethod == null) { - throw new IllegalArgumentException("property '" + sourceProperty + - "' " + "is not readable on type " + model.getSourceType()); - } - - // obtain dst descriptor - PropertyDescriptor targetDescriptor = - targetDescriptors.get(targetProperty); - if (targetDescriptor == null) { - throw new IllegalArgumentException("no property '" + - targetProperty + "' " + "found on type " + - model.getTargetType()); - } - // check dstProperty is writable - Method writeMethod = sourceDescriptor.getWriteMethod(); - if (writeMethod == null) { - throw new IllegalArgumentException("property '" + targetProperty + - "' " + "is not writable on type " + model.getTargetType()); - } - - // check types are ok - Class<?> sourceType = sourceDescriptor.getPropertyType(); - Class<?> targetType = targetDescriptor.getPropertyType(); - //TODO-TC20100221 : should check if primitive and boxed it in such case - if (!sourceType.equals(targetType)) { - throw new IllegalArgumentException("source property '" + - sourceProperty + "' and target property '" + - targetProperty + "' are not compatible ( sourceType : " + - sourceType + " vs targetType :" + targetType + ')'); - } - - // safe to add the binding - model.addBinding(sourceDescriptor, targetDescriptor); - } - - - protected void checkModelExists() throws IllegalStateException { - if (model == null) { - throw new IllegalStateException("there is not model, must " + - "create one with createBinderModel method"); - } - } - - protected Binder.BinderModel<?, ?> getModel() { - return model; - } - - protected static void loadDescriptors( - Class<?> type, - Map<String, PropertyDescriptor> descriptors) { - try { - - BeanInfo beanInfo = Introspector.getBeanInfo(type); - for (PropertyDescriptor descriptor : - beanInfo.getPropertyDescriptors()) { - if (!descriptors.containsKey(descriptor.getName())) { - descriptors.put(descriptor.getName(), descriptor); - } - } - } catch (IntrospectionException e) { - throw new RuntimeException("Could not obtain bean properties " + - "descriptors for source type " + type, e); - } - Class<?>[] interfaces = type.getInterfaces(); - for (Class<?> i : interfaces) { - loadDescriptors(i, descriptors); - } - Class<?> superClass = type.getSuperclass(); - if (superClass != null && !Object.class.equals(superClass)) { - loadDescriptors(superClass, descriptors); - } - } -} Deleted: trunk/nuiton-utils/src/main/java/org/nuiton/util/beans/BinderProvider.java =================================================================== --- trunk/nuiton-utils/src/main/java/org/nuiton/util/beans/BinderProvider.java 2011-01-17 18:49:58 UTC (rev 2016) +++ trunk/nuiton-utils/src/main/java/org/nuiton/util/beans/BinderProvider.java 2011-01-17 18:50:24 UTC (rev 2017) @@ -1,337 +0,0 @@ -/* - * #%L - * Nuiton Utils - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2004 - 2010 CodeLutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Lesser Public License for more details. - * - * You should have received a copy of the GNU General Lesser Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. - * #L% - */ - -package org.nuiton.util.beans; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import java.util.HashMap; -import java.util.Map; - -/** - * Manage a cache of {@link Binder} objects. - * <p/> - * You must first register some binders via the {@code registerBinder} api. - * <pre> - * Binder<User,UserDTO> mybinder = ...; - * registerBinder(myNewBinder); - * </pre> - * To use several binders of the the same types, you can moreover specify - * a context name of your binder : - * <pre> - * Binder<User,UserDTO> mybinder = ...; - * registerBinder(myBinder, "One"); - * </pre> - * <p/> - * Then you can obtained them back via the api - * <pre> - * Binder<User,UserDTO> mybinder = getBinder(User.class,UserDTO); - * </pre> - * <p/> - * or with a context name : - * <pre> - * Binder<User,UserDTO> mybinder = getBinder(User.class,UserDTO.class, "One"); - * </pre> - * - * @author tchemit <chemit@codelutin.com> - * @see Binder - * @see BinderBuilder - * @since 1.1.5 - * @deprecated since 1.5.3, use now the {@link BinderFactory} instead, will be remove in version {@code 1.6}. - */ -@Deprecated -public class BinderProvider { - - /** Logger */ - private static final Log log = LogFactory.getLog(BinderProvider.class); - - /** Cache of registred binders indexed by their unique entry */ - protected static Map<BinderEntry, Binder<?, ?>> binders; - - /** - * Gets the registred mirror binder (source type = target type) with no - * context name specified. - * - * @param sourceType the type of source and target - * @param <S> the type of source and target - * @return the registred binder or {@code null} if not found. - */ - public static <S> Binder<S, S> getBinder(Class<S> sourceType) { - return getBinder(sourceType, sourceType, null); - } - - /** - * Gets the registred mirror binder (source type = target type) with the - * given context name. - * - * @param sourceType the type of source and target - * @param name the context's name of the searched binder - * @param <S> the type of source and target - * @return the registred binder or {@code null} if not found. - */ - public static <S> Binder<S, S> getBinder(Class<S> sourceType, - String name) { - return getBinder(sourceType, sourceType, name); - } - - - /** - * Gets the registred binder given his types with no context name. - * - * @param sourceType the type of source - * @param targetType the type of target - * @param <S> the type of source - * @param <T> the type of target - * @return the registred binder or {@code null} if not found. - */ - public static <S, T> Binder<S, T> getBinder(Class<S> sourceType, - Class<T> targetType) { - return getBinder(sourceType, targetType, null); - } - - /** - * Gets the registred binder given his types and his context's name. - * - * @param sourceType the type of source - * @param targetType the type of target - * @param name the context's name of the searched binder - * @param <S> the type of source - * @param <T> the type of target - * @return the registred binder or {@code null} if not found. - */ - public static <S, T> Binder<S, T> getBinder(Class<S> sourceType, - Class<T> targetType, - String name) { - BinderEntry entry = new BinderEntry(sourceType, targetType, name); - if (log.isDebugEnabled()) { - log.debug("for entry " + entry); - } - Binder<?, ?> result = getBinders().get(entry); - if (result == null) { - // binder not found - if (log.isWarnEnabled()) { - log.warn("Could not find binder " + entry); - } - } - return (Binder<S, T>) result; - } - - /** - * Register a binder with no context name. - * <p/> - * <b>Note: </b> If a previous binder with same definition exists, it will - * be overriden by the new binder. - * - * @param binder the binder to register. - */ - public static void registerBinder(Binder<?, ?> binder) { - registerBinder(binder, null); - } - - /** - * Register a binder with no context's name from a {@link BinderBuilder}. - * <p/> - * <b>Note: </b> If a previous binder with same definition exists, it will - * be overriden by the new binder. - * - * @param builder the builder which contains builder model to use - * @see BinderBuilder#createBinder(Class) - */ - public static void registerBinder(BinderBuilder builder) { - registerBinder(builder, Binder.class); - } - - /** - * Register a binder with no context's name from a {@link BinderBuilder}. - * <p/> - * <b>Note: </b> If a previous binder with same definition exists, it will - * be overriden by the new binder. - * - * @param builder the builder which contains builder model to use - * @param binderType the type of binder to instanciate and register. - * @see BinderBuilder#createBinder(Class) - */ - public static <B extends Binder<?, ?>> void registerBinder(BinderBuilder builder, - Class<B> binderType) { - - registerBinder(builder, binderType, null); - } - - /** - * Register a binder with a context's name from a {@link BinderBuilder}. - * <p/> - * <b>Note: </b> If a previous binder with same definition exists, it will - * be overriden by the new binder. - * - * @param builder the builder which contains builder model to use - * @param name the context's name - * @see BinderBuilder#createBinder(Class) - */ - public static void registerBinder(BinderBuilder builder, String name) { - - registerBinder(builder, Binder.class, name); - } - - /** - * Register a binder with a context's name from a {@link BinderBuilder}. - * <p/> - * <b>Note: </b> If a previous binder with same definition exists, it will - * be overriden by the new binder. - * - * @param builder the builder which contains builder model to use - * @param binderType the type of binder to instanciate and register. - * @param name the context's name - * @see BinderBuilder#createBinder(Class) - */ - public static <B extends Binder<?, ?>> void registerBinder(BinderBuilder builder, - Class<B> binderType, - String name) { - // instanciate the binder - B binder = builder.createBinder(binderType); - // register it - registerBinder(binder, name); - } - - /** - * Register a binder with a context name. - * <p/> - * <b>Note: </b> If a previous binder with same definition exists, it will - * be overriden by the new binder. - * - * @param binder the binder to register. - * @param name the context's name - */ - public static void registerBinder(Binder<?, ?> binder, String name) { - Binder.BinderModel<?, ?> model = binder.getModel(); - BinderEntry entry = new BinderEntry( - model.getSourceType(), - model.getTargetType(), - name - ); - if (log.isDebugEnabled()) { - log.debug("binder to seek : " + entry); - } - Binder<?, ?> oldBinder = getBinders().get(entry); - if (oldBinder != null) { - // already a binder for this entry - if (log.isWarnEnabled()) { - log.warn("Binder already registred for " + entry + " : " + - oldBinder); - log.warn("Will be replace by the new binder " + binder); - } - } - // register the binder - if (log.isDebugEnabled()) { - log.debug("entry : " + entry + " : " + binder); - } - getBinders().put(entry, binder); - } - - protected static Map<BinderEntry, Binder<?, ?>> getBinders() { - if (binders == null) { - binders = new HashMap<BinderEntry, Binder<?, ?>>(); - } - return binders; - } - - public static void clear() { - if (binders != null) { - binders.clear(); - binders = null; - } - } - - /** - * Definition of an binder entry (source and target types + context name). - * <p/> - * <b>Note :</b>When no context is specified, we always use a - * {@code null} context name. - */ - public static class BinderEntry { - - protected final Class<?> sourceType; - - protected final Class<?> targetType; - - protected final String name; - - - public BinderEntry(Class<?> sourceType, - Class<?> targetType, - String name) { - this.sourceType = sourceType; - this.targetType = targetType; - this.name = name; - } - - public Class<?> getSourceType() { - return sourceType; - } - - public Class<?> getTargetType() { - return targetType; - } - - public String getName() { - return name; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - - BinderEntry that = (BinderEntry) o; - - return (name == null ? that.name == null : name.equals(that.name)) && - sourceType.equals(that.sourceType) && - targetType.equals(that.targetType); - } - - @Override - public int hashCode() { - int result = sourceType.hashCode(); - result = 31 * result + targetType.hashCode(); - result = 31 * result + (name != null ? name.hashCode() : 0); - return result; - } - - @Override - public String toString() { - StringBuilder buffer = new StringBuilder("<"); - buffer.append(super.toString()); - buffer.append(", sourceType: ").append(getSourceType()).append(','); - buffer.append(" targetType: ").append(getTargetType()).append(','); - buffer.append(" name: ").append(getName()).append('>'); - - return buffer.toString(); - } - } -} Modified: trunk/nuiton-utils/src/main/java/org/nuiton/util/beans/package-info.java =================================================================== --- trunk/nuiton-utils/src/main/java/org/nuiton/util/beans/package-info.java 2011-01-17 18:49:58 UTC (rev 2016) +++ trunk/nuiton-utils/src/main/java/org/nuiton/util/beans/package-info.java 2011-01-17 18:50:24 UTC (rev 2017) @@ -84,17 +84,17 @@ * org.nuiton.util.beans.BinderModelBuilderTest * </pre> * - * <h1> JavaBeans api</h1> + * <h1>JavaBeans api</h1> * * <h2>{@link BeanMonitor} class</h2> * This object permits to listen javaBeans and keep modifications made on a bean. * - * More exalanations will come soon, meanwhile you can see the test class : + * More explanations will come soon, meanwhile you can see the test class : * <pre> * org.nuiton.util.beans.BeanMonitorTest * </pre> * - * + * * @since 1.1.5 */ package org.nuiton.util.beans; Modified: trunk/nuiton-utils/src/main/java/org/nuiton/util/rmi/RemoteMethodExecutor.java =================================================================== --- trunk/nuiton-utils/src/main/java/org/nuiton/util/rmi/RemoteMethodExecutor.java 2011-01-17 18:49:58 UTC (rev 2016) +++ trunk/nuiton-utils/src/main/java/org/nuiton/util/rmi/RemoteMethodExecutor.java 2011-01-17 18:50:24 UTC (rev 2017) @@ -1,23 +1,23 @@ /* * #%L * Nuiton Utils - * + * * * $Id$ * $HeadURL$ * %% * Copyright (C) 2004 - 2010 CodeLutin * %% * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation, either version 3 of the + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Lesser Public License for more details. - * - * You should have received a copy of the GNU General Lesser Public + * + * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% Modified: trunk/nuiton-utils/src/main/java/org/nuiton/util/rmi/RemoteMethodExecutorImpl.java =================================================================== --- trunk/nuiton-utils/src/main/java/org/nuiton/util/rmi/RemoteMethodExecutorImpl.java 2011-01-17 18:49:58 UTC (rev 2016) +++ trunk/nuiton-utils/src/main/java/org/nuiton/util/rmi/RemoteMethodExecutorImpl.java 2011-01-17 18:50:24 UTC (rev 2017) @@ -1,23 +1,23 @@ /* * #%L * Nuiton Utils - * + * * * $Id$ * $HeadURL$ * %% * Copyright (C) 2004 - 2010 CodeLutin * %% * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation, either version 3 of the + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Lesser Public License for more details. - * - * You should have received a copy of the GNU General Lesser Public + * + * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% Modified: trunk/nuiton-utils/src/main/java/org/nuiton/util/rmi/RemoteProxyFactory.java =================================================================== --- trunk/nuiton-utils/src/main/java/org/nuiton/util/rmi/RemoteProxyFactory.java 2011-01-17 18:49:58 UTC (rev 2016) +++ trunk/nuiton-utils/src/main/java/org/nuiton/util/rmi/RemoteProxyFactory.java 2011-01-17 18:50:24 UTC (rev 2017) @@ -1,23 +1,23 @@ /* * #%L * Nuiton Utils - * + * * * $Id$ * $HeadURL$ * %% * Copyright (C) 2004 - 2010 CodeLutin * %% * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation, either version 3 of the + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Lesser Public License for more details. - * - * You should have received a copy of the GNU General Lesser Public + * + * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% Modified: trunk/nuiton-utils/src/main/java/org/nuiton/util/rmi/ServiceExporter.java =================================================================== --- trunk/nuiton-utils/src/main/java/org/nuiton/util/rmi/ServiceExporter.java 2011-01-17 18:49:58 UTC (rev 2016) +++ trunk/nuiton-utils/src/main/java/org/nuiton/util/rmi/ServiceExporter.java 2011-01-17 18:50:24 UTC (rev 2017) @@ -1,23 +1,23 @@ /* * #%L * Nuiton Utils - * + * * * $Id$ * $HeadURL$ * %% * Copyright (C) 2004 - 2010 CodeLutin * %% * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation, either version 3 of the + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Lesser Public License for more details. - * - * You should have received a copy of the GNU General Lesser Public + * + * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% Deleted: trunk/nuiton-utils/src/test/java/org/nuiton/util/beans/BinderBuilderTest.java =================================================================== --- trunk/nuiton-utils/src/test/java/org/nuiton/util/beans/BinderBuilderTest.java 2011-01-17 18:49:58 UTC (rev 2016) +++ trunk/nuiton-utils/src/test/java/org/nuiton/util/beans/BinderBuilderTest.java 2011-01-17 18:50:24 UTC (rev 2017) @@ -1,344 +0,0 @@ -/* - * #%L - * Nuiton Utils - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2004 - 2010 CodeLutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Lesser Public License for more details. - * - * You should have received a copy of the GNU General Lesser Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. - * #L% - */ - -package org.nuiton.util.beans; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -import javax.xml.ws.BindingProvider; -import java.beans.PropertyDescriptor; -import java.util.Map; - -/** - * @author tchemit <chemit@codelutin.com> - * @deprecated since 1.5.3, will be removed when {@link BindingProvider} will be removed. - */ -@Deprecated -public class BinderBuilderTest { - - private BinderBuilder builder; - - protected static final String PROPERTY_CLASS = "class"; - - @Before - public void setUp() { - - builder = new BinderBuilder(); - } - - @Test(expected = NullPointerException.class) - public void testCreateMirroredBinderModel_NPE() throws Exception { - builder.createBinderModel(null); - } - - @Test - public void testCreateMirroredBinderModel() throws Exception { - builder.createBinderModel(BeanA.class); - Assert.assertNotNull(builder.getModel()); - Map<String, PropertyDescriptor> sourceDescriptors; - Map<String, PropertyDescriptor> targetDescriptors; - - sourceDescriptors = builder.sourceDescriptors; - Assert.assertNotNull(sourceDescriptors); - Assert.assertEquals(8, sourceDescriptors.size()); - Assert.assertTrue(sourceDescriptors.containsKey(PROPERTY_CLASS)); - Assert.assertTrue(sourceDescriptors.containsKey(BeanA.PROPERTY_AA)); - Assert.assertTrue(sourceDescriptors.containsKey(BeanA.PROPERTY_A)); - Assert.assertTrue(sourceDescriptors.containsKey(BeanA.PROPERTY_B)); - Assert.assertTrue(sourceDescriptors.containsKey(BeanA.PROPERTY_C)); - Assert.assertTrue(sourceDescriptors.containsKey(BeanA.PROPERTY_D)); - Assert.assertTrue(sourceDescriptors.containsKey(BeanA.PROPERTY_E)); - Assert.assertTrue(sourceDescriptors.containsKey(BeanA.PROPERTY_F)); - - - targetDescriptors = builder.targetDescriptors; - Assert.assertNotNull(targetDescriptors); - Assert.assertEquals(8, targetDescriptors.size()); - Assert.assertTrue(targetDescriptors.containsKey(PROPERTY_CLASS)); - Assert.assertTrue(targetDescriptors.containsKey(BeanA.PROPERTY_AA)); - Assert.assertTrue(targetDescriptors.containsKey(BeanA.PROPERTY_A)); - Assert.assertTrue(targetDescriptors.containsKey(BeanA.PROPERTY_B)); - Assert.assertTrue(targetDescriptors.containsKey(BeanA.PROPERTY_C)); - Assert.assertTrue(targetDescriptors.containsKey(BeanA.PROPERTY_D)); - Assert.assertTrue(targetDescriptors.containsKey(BeanA.PROPERTY_F)); - Assert.assertTrue(targetDescriptors.containsKey(BeanA.PROPERTY_F)); - - Assert.assertEquals(BeanA.class, builder.getModel().getSourceType()); - Assert.assertEquals(BeanA.class, builder.getModel().getTargetType()); - } - - @Test(expected = IllegalStateException.class) - public void testCreateMirroredBinderModel_Twice() throws Exception { - builder.createBinderModel(BeanA.class); - Assert.assertNotNull(builder.getModel()); - Assert.assertEquals(BeanA.class, builder.getModel().getSourceType()); - Assert.assertEquals(BeanA.class, builder.getModel().getTargetType()); - builder.createBinderModel(BeanA.class); - } - - @Test(expected = NullPointerException.class) - public void testCreateBinderModel_NPE() throws Exception { - builder.createBinderModel(null, null); - } - - @Test(expected = NullPointerException.class) - public void testCreateBinderModel_NPE2() throws Exception { - builder.createBinderModel(BeanA.class, null); - } - - @Test(expected = NullPointerException.class) - public void testCreateBinderModel_NPE3() throws Exception { - builder.createBinderModel(null, BeanA.class); - } - - @Test - public void testCreateBinderModel() throws Exception { - builder.createBinderModel(BeanA.class, BeanB.class); - Assert.assertNotNull(builder.getModel()); - Map<String, PropertyDescriptor> sourceDescriptors; - Map<String, PropertyDescriptor> targetDescriptors; - - sourceDescriptors = builder.sourceDescriptors; - Assert.assertNotNull(sourceDescriptors); - Assert.assertEquals(8, sourceDescriptors.size()); - Assert.assertTrue(sourceDescriptors.containsKey(PROPERTY_CLASS)); - Assert.assertTrue(sourceDescriptors.containsKey(BeanA.PROPERTY_AA)); - Assert.assertTrue(sourceDescriptors.containsKey(BeanA.PROPERTY_A)); - Assert.assertTrue(sourceDescriptors.containsKey(BeanA.PROPERTY_B)); - Assert.assertTrue(sourceDescriptors.containsKey(BeanA.PROPERTY_C)); - Assert.assertTrue(sourceDescriptors.containsKey(BeanA.PROPERTY_D)); - Assert.assertTrue(sourceDescriptors.containsKey(BeanA.PROPERTY_E)); - Assert.assertTrue(sourceDescriptors.containsKey(BeanA.PROPERTY_F)); - - - targetDescriptors = builder.targetDescriptors; - Assert.assertNotNull(targetDescriptors); - Assert.assertEquals(15, targetDescriptors.size()); - Assert.assertTrue(targetDescriptors.containsKey(PROPERTY_CLASS)); - Assert.assertTrue(targetDescriptors.containsKey(BeanA.PROPERTY_AA)); - Assert.assertTrue(targetDescriptors.containsKey(BeanA.PROPERTY_A)); - Assert.assertTrue(targetDescriptors.containsKey(BeanA.PROPERTY_B)); - Assert.assertTrue(targetDescriptors.containsKey(BeanA.PROPERTY_C)); - Assert.assertTrue(targetDescriptors.containsKey(BeanA.PROPERTY_D)); - Assert.assertTrue(targetDescriptors.containsKey(BeanA.PROPERTY_E)); - Assert.assertTrue(targetDescriptors.containsKey(BeanA.PROPERTY_F)); - Assert.assertTrue(targetDescriptors.containsKey(BeanB.PROPERTY_BB)); - Assert.assertTrue(targetDescriptors.containsKey(BeanB.PROPERTY_A2)); - Assert.assertTrue(targetDescriptors.containsKey(BeanB.PROPERTY_B2)); - Assert.assertTrue(targetDescriptors.containsKey(BeanB.PROPERTY_C2)); - Assert.assertTrue(targetDescriptors.containsKey(BeanB.PROPERTY_D2)); - Assert.assertTrue(targetDescriptors.containsKey(BeanB.PROPERTY_E2)); - Assert.assertTrue(targetDescriptors.containsKey(BeanB.PROPERTY_F2)); - - Assert.assertEquals(BeanA.class, builder.getModel().getSourceType()); - Assert.assertEquals(BeanB.class, builder.getModel().getTargetType()); - } - - @Test(expected = IllegalStateException.class) - public void testCreateBinderModel_Twice() throws Exception { - builder.createBinderModel(BeanA.class, BeanB.class); - Assert.assertNotNull(builder.getModel()); - Assert.assertEquals(BeanA.class, builder.getModel().getSourceType()); - Assert.assertEquals(BeanB.class, builder.getModel().getTargetType()); - builder.createBinderModel(BeanA.class, BeanB.class); - } - - @Test(expected = IllegalStateException.class) - public void testCreateBinder_NO_Model() throws Exception { - builder.createBinder(Binder.class); - } - - @Test(expected = NullPointerException.class) - public void testCreateBinder_NPE() throws Exception { - builder.createBinderModel(BeanA.class, BeanB.class); - builder.createBinder(null); - } - - @Test - public void testAddSimpleProperties() throws Exception { - - builder.createBinderModel(BeanA.class); - Binder.BinderModel<?, ?> model = builder.getModel(); - - try { - builder.addSimpleProperties((String) null); - Assert.fail(); - } catch (NullPointerException e) { - Assert.assertTrue(true); - } - builder.addSimpleProperties(BeanA.PROPERTY_A); - Assert.assertEquals(1, model.getSourceDescriptors().length); - Assert.assertEquals(1, model.getTargetDescriptors().length); - Map<String, String> map = model.getPropertiesMapping(); - Assert.assertEquals(1, map.size()); - Assert.assertTrue(map.containsKey(BeanA.PROPERTY_A)); - Assert.assertTrue(map.containsValue(BeanA.PROPERTY_A)); - Assert.assertEquals(BeanA.PROPERTY_A, map.get(BeanA.PROPERTY_A)); - - try { - builder.addSimpleProperties(BeanA.PROPERTY_A); - Assert.fail(); - } catch (IllegalArgumentException e) { - Assert.assertTrue(true); - } - - try { - builder.addSimpleProperties(BeanB.PROPERTY_A2); - Assert.fail(); - } catch (IllegalArgumentException e) { - Assert.assertTrue(true); - } - - builder.addSimpleProperties(BeanA.PROPERTY_B); - Assert.assertEquals(2, model.getSourceDescriptors().length); - Assert.assertEquals(2, model.getTargetDescriptors().length); - Assert.assertEquals(2, map.size()); - Assert.assertTrue(map.containsKey(BeanA.PROPERTY_B)); - Assert.assertTrue(map.containsValue(BeanA.PROPERTY_B)); - Assert.assertEquals(BeanA.PROPERTY_B, map.get(BeanA.PROPERTY_B)); - - } - - @Test - public void testAddProperty() throws Exception { - builder.createBinderModel(BeanA.class, BeanB.class); - Binder.BinderModel<?, ?> model = builder.getModel(); - - try { - builder.addProperty(null, null); - Assert.fail(); - } catch (NullPointerException e) { - Assert.assertTrue(true); - } - try { - builder.addProperty(BeanA.PROPERTY_A, null); - Assert.fail(); - } catch (NullPointerException e) { - Assert.assertTrue(true); - } - try { - builder.addProperty(null, BeanA.PROPERTY_A); - Assert.fail(); - } catch (NullPointerException e) { - Assert.assertTrue(true); - } - builder.addProperty(BeanA.PROPERTY_A, BeanA.PROPERTY_A); - Assert.assertEquals(1, model.getSourceDescriptors().length); - Assert.assertEquals(1, model.getTargetDescriptors().length); - Map<String, String> map = model.getPropertiesMapping(); - Assert.assertEquals(1, map.size()); - Assert.assertTrue(map.containsKey(BeanA.PROPERTY_A)); - Assert.assertTrue(map.containsValue(BeanA.PROPERTY_A)); - Assert.assertEquals(BeanA.PROPERTY_A, map.get(BeanA.PROPERTY_A)); - - try { - builder.addProperty(BeanB.PROPERTY_A, BeanB.PROPERTY_A2); - Assert.fail(); - } catch (IllegalArgumentException e) { - Assert.assertTrue(true); - } - - try { - builder.addProperty(BeanB.PROPERTY_A2, BeanB.PROPERTY_A); - Assert.fail(); - } catch (IllegalArgumentException e) { - Assert.assertTrue(true); - } - - builder.addProperty(BeanA.PROPERTY_B, BeanB.PROPERTY_B2); - Assert.assertEquals(2, model.getSourceDescriptors().length); - Assert.assertEquals(2, model.getTargetDescriptors().length); - Assert.assertEquals(2, map.size()); - Assert.assertTrue(map.containsKey(BeanA.PROPERTY_B)); - Assert.assertTrue(map.containsValue(BeanB.PROPERTY_B2)); - Assert.assertEquals(BeanB.PROPERTY_B2, map.get(BeanB.PROPERTY_B)); - } - - @Test - public void testAddProperties() throws Exception { - builder.createBinderModel(BeanA.class, BeanB.class); - - try { - builder.addProperties(BeanB.PROPERTY_A, BeanB.PROPERTY_A2, - BeanB.PROPERTY_B); - Assert.fail(); - } catch (IllegalArgumentException e) { - Assert.assertTrue(true); - } - - try { - builder.addProperties(BeanB.PROPERTY_A, null, - BeanB.PROPERTY_B, BeanB.PROPERTY_B); - Assert.fail(); - } catch (NullPointerException e) { - Assert.assertTrue(true); - } - - builder.addProperties(BeanB.PROPERTY_A, BeanB.PROPERTY_A, - BeanB.PROPERTY_B, BeanB.PROPERTY_B2); - - Binder.BinderModel<?, ?> model = builder.getModel(); - Assert.assertEquals(2, model.getSourceDescriptors().length); - Assert.assertEquals(2, model.getTargetDescriptors().length); - Map<String, String> map = model.getPropertiesMapping(); - Assert.assertEquals(2, map.size()); - Assert.assertTrue(map.containsKey(BeanA.PROPERTY_A)); - Assert.assertTrue(map.containsValue(BeanA.PROPERTY_A)); - Assert.assertEquals(BeanA.PROPERTY_A, map.get(BeanA.PROPERTY_A)); - - Assert.assertTrue(map.containsKey(BeanA.PROPERTY_B)); - Assert.assertTrue(map.containsValue(BeanB.PROPERTY_B2)); - Assert.assertEquals(BeanB.PROPERTY_B2, map.get(BeanB.PROPERTY_B)); - } - - @Test - public void testCreateBinder() throws Exception { - builder.createBinderModel(BeanA.class, BeanB.class); - builder.addProperties(BeanB.PROPERTY_A, BeanB.PROPERTY_A, - BeanB.PROPERTY_B, BeanB.PROPERTY_B2); - - Binder<BeanA, BeanB> binder = - (Binder<BeanA, BeanB>) builder.createBinder(); - - Assert.assertNull(builder.getModel()); - Assert.assertNull(builder.sourceDescriptors); - Assert.assertNull(builder.targetDescriptors); - - BeanA a = new BeanA(); - BeanB b = new BeanB(); - - a.setA("a"); - a.setB("b"); - b.setA("a2"); - b.setB2("b2"); - - binder.copy(a, b); - Assert.assertEquals("a", b.getA()); - Assert.assertEquals("b", b.getB2()); - Assert.assertNull(b.getB()); - } -} Deleted: trunk/nuiton-utils/src/test/java/org/nuiton/util/beans/BinderProviderTest.java =================================================================== --- trunk/nuiton-utils/src/test/java/org/nuiton/util/beans/BinderProviderTest.java 2011-01-17 18:49:58 UTC (rev 2016) +++ trunk/nuiton-utils/src/test/java/org/nuiton/util/beans/BinderProviderTest.java 2011-01-17 18:50:24 UTC (rev 2017) @@ -1,199 +0,0 @@ -/* - * #%L - * Nuiton Utils - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2004 - 2010 CodeLutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Lesser Public License for more details. - * - * You should have received a copy of the GNU General Lesser Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. - * #L% - */ - -package org.nuiton.util.beans; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -import javax.xml.ws.BindingProvider; - -/** - * @author tchemit <chemit@codelutin.com> - * @deprecated since 1.5.3, will be removed when {@link BindingProvider} will be removed. - */ -@Deprecated -public class BinderProviderTest { - - Binder<BeanA, BeanA> binderA; - Binder<BeanA, BeanB> binderB; - private static final String MY_BINDER_NAME = "myBinder"; - private static final String MY_BINDER2_NAME = "myBinder2"; - - @Before - public void setUp() { - - BinderProvider.binders = null; - - BinderBuilder builder = new BinderBuilder(); - binderA = (Binder<BeanA, BeanA>) - builder.createBinderModel(BeanA.class). - addSimpleProperties(BeanA.PROPERTY_A). - createBinder(); - binderB = (Binder<BeanA, BeanB>) - builder.createBinderModel(BeanA.class, BeanB.class). - addSimpleProperties(BeanA.PROPERTY_A, BeanA.PROPERTY_B). - addProperty(BeanA.PROPERTY_C, BeanB.PROPERTY_C2). - createBinder(); - - } - - @Test - public void testRegisterBinder() throws Exception { - - Assert.assertNull(BinderProvider.binders); - - try { - BinderProvider.registerBinder((Binder<?,?>) null); - Assert.fail(); - } catch (NullPointerException e) { - - Assert.assertTrue(true); - } - try { - BinderProvider.registerBinder((BinderBuilder) null); - Assert.fail(); - } catch (NullPointerException e) { - - Assert.assertTrue(true); - } - - BinderProvider.registerBinder(binderA); - - Assert.assertNotNull(BinderProvider.binders); - Assert.assertEquals(1, BinderProvider.getBinders().size()); - Assert.assertTrue(BinderProvider.getBinders().containsValue(binderA)); - - } - - @Test - public void testRegisterBinderWithName() throws Exception { - Assert.assertNull(BinderProvider.binders); - - String yo = "yo"; - try { - BinderProvider.registerBinder((Binder<?,?>) null, null); - Assert.fail(); - } catch (NullPointerException e) { - - Assert.assertTrue(true); - } - - try { - BinderProvider.registerBinder((Binder<?,?>) null, MY_BINDER_NAME); - Assert.fail(); - } catch (NullPointerException e) { - - Assert.assertTrue(true); - } - try { - BinderProvider.registerBinder((BinderBuilder) null, (String) null); - Assert.fail(); - } catch (NullPointerException e) { - - Assert.assertTrue(true); - } - try { - BinderProvider.registerBinder((BinderBuilder) null, MY_BINDER_NAME); - Assert.fail(); - } catch (NullPointerException e) { - - Assert.assertTrue(true); - } - - BinderProvider.registerBinder(binderA, MY_BINDER_NAME); - - Assert.assertNotNull(BinderProvider.binders); - Assert.assertEquals(1, BinderProvider.getBinders().size()); - Assert.assertTrue(BinderProvider.getBinders().containsValue(binderA)); - } - - @Test - public void testGetMirroredBinder() throws Exception { - BinderProvider.registerBinder(binderA); - Binder<BeanA, BeanA> aBeanABinder = BinderProvider.getBinder(BeanA.class); - Assert.assertNotNull(aBeanABinder); - Assert.assertEquals(binderA, aBeanABinder); - Binder<BeanB, BeanB> beanBBinder = BinderProvider.getBinder(BeanB.class); - Assert.assertNull(beanBBinder); - - - } - - @Test - public void testGetMirroredBinderWithName() throws Exception { - BinderProvider.registerBinder(binderA, MY_BINDER_NAME); - Binder<BeanA, BeanA> beanABinder; - Binder<BeanB, BeanB> beanBBinder; - - beanABinder = BinderProvider.getBinder(BeanA.class); - Assert.assertNull(beanABinder); - beanABinder = BinderProvider.getBinder(BeanA.class, MY_BINDER_NAME); - Assert.assertNotNull(beanABinder); - Assert.assertEquals(binderA, beanABinder); - beanBBinder = BinderProvider.getBinder(BeanB.class); - - Assert.assertNull(beanBBinder); - beanBBinder = BinderProvider.getBinder(BeanB.class, MY_BINDER_NAME); - - Assert.assertNull(beanBBinder); - } - - @Test - public void testGetBinder() throws Exception { - - BinderProvider.registerBinder(binderB); - Binder<BeanA, BeanA> beanABinder; - Binder<BeanA, BeanB> beanBBinder; - - beanABinder = BinderProvider.getBinder(BeanA.class); - Assert.assertNull(beanABinder); - - beanBBinder = BinderProvider.getBinder(BeanA.class, BeanB.class); - Assert.assertNotNull(beanBBinder); - Assert.assertEquals(binderB, beanBBinder); - - } - - @Test - public void testGetBinderWithName() throws Exception { - BinderProvider.registerBinder(binderB, MY_BINDER2_NAME); - Binder<BeanA, BeanA> beanABinder; - Binder<BeanA, BeanB> beanBBinder; - - beanABinder = BinderProvider.getBinder(BeanA.class); - Assert.assertNull(beanABinder); - - beanBBinder = BinderProvider.getBinder(BeanA.class, BeanB.class); - Assert.assertNull(beanBBinder); - - beanBBinder = BinderProvider.getBinder(BeanA.class, BeanB.class, MY_BINDER2_NAME); - Assert.assertNotNull(beanBBinder); - Assert.assertEquals(binderB, beanBBinder); - - - } -} Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2011-01-17 18:49:58 UTC (rev 2016) +++ trunk/pom.xml 2011-01-17 18:50:24 UTC (rev 2017) @@ -57,14 +57,14 @@ <version>${nuitonI18nVersion}</version> </dependency> - <!-- Dependency for WarLauncher deprecated since 2.0, will be removed in 2.1 --> + <!-- Dependency for WarLauncher deprecated since 2.0, will be removed in 2.1 --> <dependency> <groupId>org.jvnet.hudson.winstone</groupId> <artifactId>winstone</artifactId> <version>0.9.10-hudson-24</version> </dependency> - <!-- Dependency for WarLauncher deprecated since 2.0, will be removed in 2.1 --> + <!-- Dependency for WarLauncher deprecated since 2.0, will be removed in 2.1 --> <dependency> <groupId>org.eclipse.jetty.aggregate</groupId> <artifactId>jetty-webapp</artifactId> @@ -200,6 +200,8 @@ <nuitonI18nVersion>2.0.1</nuitonI18nVersion> + <hibernateValidatorVersion>4.1.0.Final</hibernateValidatorVersion> + <aspectwerkzVersion>2.0</aspectwerkzVersion> <tapestryVersion>5.1.0.5</tapestryVersion>
participants (1)
-
tchemit@users.nuiton.org