WW-4876 WW-4841 Parses validators after all injections done

This commit is contained in:
Yasser Zamani
2017-11-12 15:48:30 +03:30
parent 47a4a57d2d
commit 9418cb5e89
4 changed files with 36 additions and 1 deletions
@@ -55,6 +55,10 @@ public class DefaultValidatorFactory implements ValidatorFactory {
public DefaultValidatorFactory(@Inject ObjectFactory objectFactory, @Inject ValidatorFileParser parser) {
this.objectFactory = objectFactory;
this.validatorFileParser = parser;
}
@Override
public void init() {
parseValidators();
}
@@ -18,6 +18,8 @@
*/
package com.opensymphony.xwork2.validator;
import com.opensymphony.xwork2.inject.Initializable;
/**
* ValidatorFactory
*
@@ -225,7 +227,7 @@ package com.opensymphony.xwork2.validator;
* @author Jason Carreira
* @author James House
*/
public interface ValidatorFactory {
public interface ValidatorFactory extends Initializable {
/**
* Get a Validator that matches the given configuration.
@@ -66,6 +66,10 @@ public class SpringObjectFactoryTest extends XWorkTestCase {
@Override
public void register(ContainerBuilder builder,
LocatableProperties props) throws ConfigurationException {
// No registered beans during initialization; They will be registered in each test, runtime.
props.setProperty("applicationContextPath", "com/opensymphony/xwork2/spring/emptyContext-spring.xml");
builder.factory(ObjectFactory.class, SpringObjectFactory.class);
}
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
-->
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
</beans>