org.springframework.beans.ConfigurablePropertyAccessor

Here are the examples of the java api org.springframework.beans.ConfigurablePropertyAccessor taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

6 Examples 7

19 Source : DirectFieldBindingResult.java
with MIT License
from Vip-Augus

/**
 * Special implementation of the Errors and BindingResult interfaces,
 * supporting registration and evaluation of binding errors on value objects.
 * Performs direct field access instead of going through JavaBean getters.
 *
 * <p>Since Spring 4.1 this implementation is able to traverse nested fields.
 *
 * @author Juergen Hoeller
 * @since 2.0
 * @see DataBinder#getBindingResult()
 * @see DataBinder#initDirectFieldAccess()
 * @see BeanPropertyBindingResult
 */
@SuppressWarnings("serial")
public clreplaced DirectFieldBindingResult extends AbstractPropertyBindingResult {

    @Nullable
    private final Object target;

    private final boolean autoGrowNestedPaths;

    @Nullable
    private transient ConfigurablePropertyAccessor directFieldAccessor;

    /**
     * Create a new DirectFieldBindingResult instance.
     * @param target the target object to bind onto
     * @param objectName the name of the target object
     */
    public DirectFieldBindingResult(@Nullable Object target, String objectName) {
        this(target, objectName, true);
    }

    /**
     * Create a new DirectFieldBindingResult instance.
     * @param target the target object to bind onto
     * @param objectName the name of the target object
     * @param autoGrowNestedPaths whether to "auto-grow" a nested path that contains a null value
     */
    public DirectFieldBindingResult(@Nullable Object target, String objectName, boolean autoGrowNestedPaths) {
        super(objectName);
        this.target = target;
        this.autoGrowNestedPaths = autoGrowNestedPaths;
    }

    @Override
    @Nullable
    public final Object getTarget() {
        return this.target;
    }

    /**
     * Returns the DirectFieldAccessor that this instance uses.
     * Creates a new one if none existed before.
     * @see #createDirectFieldAccessor()
     */
    @Override
    public final ConfigurablePropertyAccessor getPropertyAccessor() {
        if (this.directFieldAccessor == null) {
            this.directFieldAccessor = createDirectFieldAccessor();
            this.directFieldAccessor.setExtractOldValueForEditor(true);
            this.directFieldAccessor.setAutoGrowNestedPaths(this.autoGrowNestedPaths);
        }
        return this.directFieldAccessor;
    }

    /**
     * Create a new DirectFieldAccessor for the underlying target object.
     * @see #getTarget()
     */
    protected ConfigurablePropertyAccessor createDirectFieldAccessor() {
        if (this.target == null) {
            throw new IllegalStateException("Cannot access fields on null target instance '" + getObjectName() + "'");
        }
        return PropertyAccessorFactory.forDirectFieldAccess(this.target);
    }
}

19 Source : DirectFieldBindingResult.java
with Apache License 2.0
from langtianya

/**
 * Special implementation of the Errors and BindingResult interfaces,
 * supporting registration and evaluation of binding errors on value objects.
 * Performs direct field access instead of going through JavaBean getters.
 *
 * <p>Since Spring 4.1 this implementation is able to traverse nested fields.
 *
 * @author Juergen Hoeller
 * @since 2.0
 * @see DataBinder#getBindingResult()
 * @see DataBinder#initDirectFieldAccess()
 * @see BeanPropertyBindingResult
 */
@SuppressWarnings("serial")
public clreplaced DirectFieldBindingResult extends AbstractPropertyBindingResult {

    private final Object target;

    private final boolean autoGrowNestedPaths;

    private transient ConfigurablePropertyAccessor directFieldAccessor;

    /**
     * Create a new DirectFieldBindingResult instance.
     * @param target the target object to bind onto
     * @param objectName the name of the target object
     */
    public DirectFieldBindingResult(Object target, String objectName) {
        this(target, objectName, true);
    }

    /**
     * Create a new DirectFieldBindingResult instance.
     * @param target the target object to bind onto
     * @param objectName the name of the target object
     * @param autoGrowNestedPaths whether to "auto-grow" a nested path that contains a null value
     */
    public DirectFieldBindingResult(Object target, String objectName, boolean autoGrowNestedPaths) {
        super(objectName);
        this.target = target;
        this.autoGrowNestedPaths = autoGrowNestedPaths;
    }

    @Override
    public final Object getTarget() {
        return this.target;
    }

    /**
     * Returns the DirectFieldAccessor that this instance uses.
     * Creates a new one if none existed before.
     * @see #createDirectFieldAccessor()
     */
    @Override
    public final ConfigurablePropertyAccessor getPropertyAccessor() {
        if (this.directFieldAccessor == null) {
            this.directFieldAccessor = createDirectFieldAccessor();
            this.directFieldAccessor.setExtractOldValueForEditor(true);
            this.directFieldAccessor.setAutoGrowNestedPaths(this.autoGrowNestedPaths);
        }
        return this.directFieldAccessor;
    }

    /**
     * Create a new DirectFieldAccessor for the underlying target object.
     * @see #getTarget()
     */
    protected ConfigurablePropertyAccessor createDirectFieldAccessor() {
        replacedert.state(this.target != null, "Cannot access fields on null target instance '" + getObjectName() + "'!");
        return PropertyAccessorFactory.forDirectFieldAccess(this.target);
    }
}

13 Source : FormattingConversionServiceTests.java
with MIT License
from Vip-Augus

@SuppressWarnings("unchecked")
private void doTestFormatFieldForAnnotation(Clreplaced<?> modelClreplaced, boolean directFieldAccess) throws Exception {
    formattingService.addConverter(new Converter<Date, Long>() {

        @Override
        public Long convert(Date source) {
            return source.getTime();
        }
    });
    formattingService.addConverter(new Converter<DateTime, Date>() {

        @Override
        public Date convert(DateTime source) {
            return source.toDate();
        }
    });
    String formatted = (String) formattingService.convert(new LocalDate(2009, 10, 31).toDateTimeAtCurrentTime().toDate(), new TypeDescriptor(modelClreplaced.getField("date")), TypeDescriptor.valueOf(String.clreplaced));
    replacedertEquals("10/31/09", formatted);
    LocalDate date = new LocalDate(formattingService.convert("10/31/09", TypeDescriptor.valueOf(String.clreplaced), new TypeDescriptor(modelClreplaced.getField("date"))));
    replacedertEquals(new LocalDate(2009, 10, 31), date);
    List<Date> dates = new ArrayList<>();
    dates.add(new LocalDate(2009, 10, 31).toDateTimeAtCurrentTime().toDate());
    dates.add(new LocalDate(2009, 11, 1).toDateTimeAtCurrentTime().toDate());
    dates.add(new LocalDate(2009, 11, 2).toDateTimeAtCurrentTime().toDate());
    formatted = (String) formattingService.convert(dates, new TypeDescriptor(modelClreplaced.getField("dates")), TypeDescriptor.valueOf(String.clreplaced));
    replacedertEquals("10-31-09,11-1-09,11-2-09", formatted);
    dates = (List<Date>) formattingService.convert("10-31-09,11-1-09,11-2-09", TypeDescriptor.valueOf(String.clreplaced), new TypeDescriptor(modelClreplaced.getField("dates")));
    replacedertEquals(new LocalDate(2009, 10, 31), new LocalDate(dates.get(0)));
    replacedertEquals(new LocalDate(2009, 11, 1), new LocalDate(dates.get(1)));
    replacedertEquals(new LocalDate(2009, 11, 2), new LocalDate(dates.get(2)));
    Object model = modelClreplaced.newInstance();
    ConfigurablePropertyAccessor accessor = directFieldAccess ? PropertyAccessorFactory.forDirectFieldAccess(model) : PropertyAccessorFactory.forBeanPropertyAccess(model);
    accessor.setConversionService(formattingService);
    accessor.setPropertyValue("dates", "10-31-09,11-1-09,11-2-09");
    dates = (List<Date>) accessor.getPropertyValue("dates");
    replacedertEquals(new LocalDate(2009, 10, 31), new LocalDate(dates.get(0)));
    replacedertEquals(new LocalDate(2009, 11, 1), new LocalDate(dates.get(1)));
    replacedertEquals(new LocalDate(2009, 11, 2), new LocalDate(dates.get(2)));
    if (!directFieldAccess) {
        accessor.setPropertyValue("dates[0]", "10-30-09");
        accessor.setPropertyValue("dates[1]", "10-1-09");
        accessor.setPropertyValue("dates[2]", "10-2-09");
        dates = (List<Date>) accessor.getPropertyValue("dates");
        replacedertEquals(new LocalDate(2009, 10, 30), new LocalDate(dates.get(0)));
        replacedertEquals(new LocalDate(2009, 10, 1), new LocalDate(dates.get(1)));
        replacedertEquals(new LocalDate(2009, 10, 2), new LocalDate(dates.get(2)));
    }
}

13 Source : FormattingConversionServiceTests.java
with Apache License 2.0
from SourceHot

@SuppressWarnings("unchecked")
private void doTestFormatFieldForAnnotation(Clreplaced<?> modelClreplaced, boolean directFieldAccess) throws Exception {
    formattingService.addConverter(new Converter<Date, Long>() {

        @Override
        public Long convert(Date source) {
            return source.getTime();
        }
    });
    formattingService.addConverter(new Converter<DateTime, Date>() {

        @Override
        public Date convert(DateTime source) {
            return source.toDate();
        }
    });
    String formatted = (String) formattingService.convert(new LocalDate(2009, 10, 31).toDateTimeAtCurrentTime().toDate(), new TypeDescriptor(modelClreplaced.getField("date")), TypeDescriptor.valueOf(String.clreplaced));
    replacedertThat(formatted).isEqualTo("10/31/09");
    LocalDate date = new LocalDate(formattingService.convert("10/31/09", TypeDescriptor.valueOf(String.clreplaced), new TypeDescriptor(modelClreplaced.getField("date"))));
    replacedertThat(date).isEqualTo(new LocalDate(2009, 10, 31));
    List<Date> dates = new ArrayList<>();
    dates.add(new LocalDate(2009, 10, 31).toDateTimeAtCurrentTime().toDate());
    dates.add(new LocalDate(2009, 11, 1).toDateTimeAtCurrentTime().toDate());
    dates.add(new LocalDate(2009, 11, 2).toDateTimeAtCurrentTime().toDate());
    formatted = (String) formattingService.convert(dates, new TypeDescriptor(modelClreplaced.getField("dates")), TypeDescriptor.valueOf(String.clreplaced));
    replacedertThat(formatted).isEqualTo("10-31-09,11-1-09,11-2-09");
    dates = (List<Date>) formattingService.convert("10-31-09,11-1-09,11-2-09", TypeDescriptor.valueOf(String.clreplaced), new TypeDescriptor(modelClreplaced.getField("dates")));
    replacedertThat(new LocalDate(dates.get(0))).isEqualTo(new LocalDate(2009, 10, 31));
    replacedertThat(new LocalDate(dates.get(1))).isEqualTo(new LocalDate(2009, 11, 1));
    replacedertThat(new LocalDate(dates.get(2))).isEqualTo(new LocalDate(2009, 11, 2));
    Object model = modelClreplaced.newInstance();
    ConfigurablePropertyAccessor accessor = directFieldAccess ? PropertyAccessorFactory.forDirectFieldAccess(model) : PropertyAccessorFactory.forBeanPropertyAccess(model);
    accessor.setConversionService(formattingService);
    accessor.setPropertyValue("dates", "10-31-09,11-1-09,11-2-09");
    dates = (List<Date>) accessor.getPropertyValue("dates");
    replacedertThat(new LocalDate(dates.get(0))).isEqualTo(new LocalDate(2009, 10, 31));
    replacedertThat(new LocalDate(dates.get(1))).isEqualTo(new LocalDate(2009, 11, 1));
    replacedertThat(new LocalDate(dates.get(2))).isEqualTo(new LocalDate(2009, 11, 2));
    if (!directFieldAccess) {
        accessor.setPropertyValue("dates[0]", "10-30-09");
        accessor.setPropertyValue("dates[1]", "10-1-09");
        accessor.setPropertyValue("dates[2]", "10-2-09");
        dates = (List<Date>) accessor.getPropertyValue("dates");
        replacedertThat(new LocalDate(dates.get(0))).isEqualTo(new LocalDate(2009, 10, 30));
        replacedertThat(new LocalDate(dates.get(1))).isEqualTo(new LocalDate(2009, 10, 1));
        replacedertThat(new LocalDate(dates.get(2))).isEqualTo(new LocalDate(2009, 10, 2));
    }
}

12 Source : FormattingConversionServiceTests.java
with Apache License 2.0
from langtianya

@SuppressWarnings("unchecked")
private void doTestFormatFieldForAnnotation(Clreplaced<?> modelClreplaced, boolean directFieldAccess) throws Exception {
    formattingService.addConverter(new Converter<Date, Long>() {

        @Override
        public Long convert(Date source) {
            return source.getTime();
        }
    });
    formattingService.addConverter(new Converter<DateTime, Date>() {

        @Override
        public Date convert(DateTime source) {
            return source.toDate();
        }
    });
    String formatted = (String) formattingService.convert(new LocalDate(2009, 10, 31).toDateTimeAtCurrentTime().toDate(), new TypeDescriptor(modelClreplaced.getField("date")), TypeDescriptor.valueOf(String.clreplaced));
    replacedertEquals("10/31/09", formatted);
    LocalDate date = new LocalDate(formattingService.convert("10/31/09", TypeDescriptor.valueOf(String.clreplaced), new TypeDescriptor(modelClreplaced.getField("date"))));
    replacedertEquals(new LocalDate(2009, 10, 31), date);
    List<Date> dates = new ArrayList<Date>();
    dates.add(new LocalDate(2009, 10, 31).toDateTimeAtCurrentTime().toDate());
    dates.add(new LocalDate(2009, 11, 1).toDateTimeAtCurrentTime().toDate());
    dates.add(new LocalDate(2009, 11, 2).toDateTimeAtCurrentTime().toDate());
    formatted = (String) formattingService.convert(dates, new TypeDescriptor(modelClreplaced.getField("dates")), TypeDescriptor.valueOf(String.clreplaced));
    replacedertEquals("10-31-09,11-1-09,11-2-09", formatted);
    dates = (List<Date>) formattingService.convert("10-31-09,11-1-09,11-2-09", TypeDescriptor.valueOf(String.clreplaced), new TypeDescriptor(modelClreplaced.getField("dates")));
    replacedertEquals(new LocalDate(2009, 10, 31), new LocalDate(dates.get(0)));
    replacedertEquals(new LocalDate(2009, 11, 1), new LocalDate(dates.get(1)));
    replacedertEquals(new LocalDate(2009, 11, 2), new LocalDate(dates.get(2)));
    Object model = BeanUtils.instantiate(modelClreplaced);
    ConfigurablePropertyAccessor accessor = directFieldAccess ? PropertyAccessorFactory.forDirectFieldAccess(model) : PropertyAccessorFactory.forBeanPropertyAccess(model);
    accessor.setConversionService(formattingService);
    accessor.setPropertyValue("dates", "10-31-09,11-1-09,11-2-09");
    dates = (List<Date>) accessor.getPropertyValue("dates");
    replacedertEquals(new LocalDate(2009, 10, 31), new LocalDate(dates.get(0)));
    replacedertEquals(new LocalDate(2009, 11, 1), new LocalDate(dates.get(1)));
    replacedertEquals(new LocalDate(2009, 11, 2), new LocalDate(dates.get(2)));
    if (!directFieldAccess) {
        accessor.setPropertyValue("dates[0]", "10-30-09");
        accessor.setPropertyValue("dates[1]", "10-1-09");
        accessor.setPropertyValue("dates[2]", "10-2-09");
        dates = (List<Date>) accessor.getPropertyValue("dates");
        replacedertEquals(new LocalDate(2009, 10, 30), new LocalDate(dates.get(0)));
        replacedertEquals(new LocalDate(2009, 10, 1), new LocalDate(dates.get(1)));
        replacedertEquals(new LocalDate(2009, 10, 2), new LocalDate(dates.get(2)));
    }
}

11 Source : DefaultRetryTemplateConverterTest.java
with MIT License
from alturkovic

// is there a better way to test the RetryTemplate construction?
private void replacedertRetryTemplateConstruction(final RetryTemplate retryTemplate, final long timeout, final long backOff) {
    final ConfigurablePropertyAccessor wrapper = PropertyAccessorFactory.forDirectFieldAccess(retryTemplate);
    replacedertThat(wrapper.getPropertyValue("retryPolicy")).isInstanceOf(CompositeRetryPolicy.clreplaced);
    replacedertThat((RetryPolicy[]) wrapper.getPropertyValue("retryPolicy.policies")).hreplacedize(2).anyMatch(policy1 -> {
        if (policy1 instanceof TimeoutRetryPolicy) {
            final TimeoutRetryPolicy timeoutRetryPolicy = (TimeoutRetryPolicy) policy1;
            replacedertThat(timeoutRetryPolicy.getTimeout()).isEqualTo(timeout);
            return true;
        }
        return false;
    }).anyMatch(policy2 -> {
        if (policy2 instanceof SimpleRetryPolicy) {
            final SimpleRetryPolicy simpleRetryPolicy = (SimpleRetryPolicy) policy2;
            replacedertThat(simpleRetryPolicy.getMaxAttempts()).isEqualTo(Integer.MAX_VALUE);
            return true;
        }
        return false;
    });
    replacedertThat(wrapper.getPropertyValue("backOffPolicy")).isInstanceOf(FixedBackOffPolicy.clreplaced);
    replacedertThat(((FixedBackOffPolicy) wrapper.getPropertyValue("backOffPolicy")).getBackOffPeriod()).isEqualTo(backOff);
}