Uses container to inject required dependencies

This commit is contained in:
Lukasz Lenart
2017-03-10 09:40:20 +01:00
parent f56c59c982
commit 55ea82cd4f
4 changed files with 27 additions and 26 deletions
@@ -252,7 +252,7 @@ public class ActionSupportTest extends XWorkTestCase {
public void testGetTextsWithListAndStack() throws Exception {
ActionContext.getContext().setLocale(new Locale("da"));
MyActionSupport mas = new MyActionSupport();
MyActionSupport mas = container.inject(MyActionSupport.class);
ValueStack stack = ActionContext.getContext().getValueStack();
@@ -270,7 +270,7 @@ public class ActionSupportTest extends XWorkTestCase {
public void testGetTextsWithArrayAndStack() throws Exception {
ActionContext.getContext().setLocale(new Locale("da"));
MyActionSupport mas = new MyActionSupport();
MyActionSupport mas = container.inject(MyActionSupport.class);
ValueStack stack = ActionContext.getContext().getValueStack();
@@ -313,7 +313,7 @@ public class ActionSupportTest extends XWorkTestCase {
assertEquals("4567def", formatted);
}
private class MyActionSupport extends ActionSupport {
public static class MyActionSupport extends ActionSupport {
private Double val;
@@ -26,47 +26,47 @@ public class ActionValidatorManagerTest extends XWorkTestCase {
/* MockAction.class */
// reference number
ValueStack stack = container.getInstance(ValueStackFactory.class).createValueStack();
final RequiredStringValidator referenceNumberRequiredStringValidator = new RequiredStringValidator();
final RequiredStringValidator referenceNumberRequiredStringValidator = container.inject(RequiredStringValidator.class);
referenceNumberRequiredStringValidator.setFieldName("referenceNumber");
referenceNumberRequiredStringValidator.setDefaultMessage("Reference number is required");
referenceNumberRequiredStringValidator.setValueStack(stack);
// order
final RequiredFieldValidator orderRequiredValidator = new RequiredFieldValidator();
final RequiredFieldValidator orderRequiredValidator = container.inject(RequiredFieldValidator.class);
orderRequiredValidator.setFieldName("order");
orderRequiredValidator.setDefaultMessage("Order is required");
orderRequiredValidator.setValueStack(stack);
// customer
final RequiredFieldValidator customerRequiredValidator = new RequiredFieldValidator();
final RequiredFieldValidator customerRequiredValidator = container.inject(RequiredFieldValidator.class);
customerRequiredValidator.setFieldName("customer");
customerRequiredValidator.setDefaultMessage("Customer is required");
customerRequiredValidator.setValueStack(stack);
final VisitorFieldValidator customerVisitorValidator = new VisitorFieldValidator();
final VisitorFieldValidator customerVisitorValidator = container.inject(VisitorFieldValidator.class);
customerVisitorValidator.setAppendPrefix(true);
customerVisitorValidator.setFieldName("customer");
customerVisitorValidator.setValueStack(stack);
/* Customer.class */
// customer -> name
final RequiredStringValidator customerNameRequiredStringValidator = new RequiredStringValidator();
final RequiredStringValidator customerNameRequiredStringValidator = container.inject(RequiredStringValidator.class);
customerNameRequiredStringValidator.setFieldName("name");
customerNameRequiredStringValidator.setDefaultMessage("Name is required");
customerNameRequiredStringValidator.setValueStack(stack);
// customer -> age
final RequiredFieldValidator customerAgeRequiredValidator = new RequiredFieldValidator();
final RequiredFieldValidator customerAgeRequiredValidator = container.inject(RequiredFieldValidator.class);
customerAgeRequiredValidator.setFieldName("age");
customerAgeRequiredValidator.setDefaultMessage("Age is required");
customerAgeRequiredValidator.setValueStack(stack);
// customer -> Address
final RequiredFieldValidator customerAddressRequiredFieldValidator = new RequiredFieldValidator();
final RequiredFieldValidator customerAddressRequiredFieldValidator = container.inject(RequiredFieldValidator.class);
customerAddressRequiredFieldValidator.setFieldName("address");
customerAddressRequiredFieldValidator.setDefaultMessage("Address is required");
customerAddressRequiredFieldValidator.setValueStack(stack);
final VisitorFieldValidator customerAddressVisitorFieldValidator = new VisitorFieldValidator();
final VisitorFieldValidator customerAddressVisitorFieldValidator = container.inject(VisitorFieldValidator.class);
customerAddressVisitorFieldValidator.setFieldName("address");
customerAddressVisitorFieldValidator.setAppendPrefix(true);
//customerAddressVisitorFieldValidator.setDefaultMessage("");
@@ -76,26 +76,26 @@ public class ActionValidatorManagerTest extends XWorkTestCase {
/* Address.class */
// customer -> Address -> street
final RequiredStringValidator customerAddressStreetRequiredFieldValidator = new RequiredStringValidator();
final RequiredStringValidator customerAddressStreetRequiredFieldValidator = container.inject(RequiredStringValidator.class);
customerAddressStreetRequiredFieldValidator.setFieldName("street");
customerAddressStreetRequiredFieldValidator.setDefaultMessage("Street is required");
customerAddressStreetRequiredFieldValidator.setShortCircuit(true);
customerAddressStreetRequiredFieldValidator.setValueStack(stack);
final RequiredStringValidator customerAddressStreetRequiredFieldValidator2 = new RequiredStringValidator();
final RequiredStringValidator customerAddressStreetRequiredFieldValidator2 = container.inject(RequiredStringValidator.class);
customerAddressStreetRequiredFieldValidator2.setFieldName("street");
customerAddressStreetRequiredFieldValidator2.setDefaultMessage("Street is required 2");
customerAddressStreetRequiredFieldValidator2.setShortCircuit(true);
customerAddressStreetRequiredFieldValidator2.setValueStack(stack);
// customer -> Address -> pobox
final RequiredStringValidator customerAddressPoboxRequiredFieldValidator = new RequiredStringValidator();
final RequiredStringValidator customerAddressPoboxRequiredFieldValidator = container.inject(RequiredStringValidator.class);
customerAddressPoboxRequiredFieldValidator.setFieldName("pobox");
customerAddressPoboxRequiredFieldValidator.setDefaultMessage("PO Box is required");
customerAddressPoboxRequiredFieldValidator.setShortCircuit(false);
customerAddressPoboxRequiredFieldValidator.setValueStack(stack);
final RequiredStringValidator customerAddressPoboxRequiredFieldValidator2 = new RequiredStringValidator();
final RequiredStringValidator customerAddressPoboxRequiredFieldValidator2 = container.inject(RequiredStringValidator.class);
customerAddressPoboxRequiredFieldValidator2.setFieldName("pobox");
customerAddressPoboxRequiredFieldValidator2.setDefaultMessage("PO Box is required 2");
customerAddressPoboxRequiredFieldValidator2.setShortCircuit(false);
@@ -146,10 +146,12 @@ public class ActionValidatorManagerTest extends XWorkTestCase {
return Collections.emptyList();
}
};
container.inject(validatorManager);
customerVisitorValidator.setActionValidatorManager(validatorManager);
customerAddressVisitorFieldValidator.setActionValidatorManager(validatorManager);
MockAction action = new MockAction();
MockAction action = container.inject(MockAction.class);
stack.push(action);
validatorManager.validate(action, "ctx");
@@ -170,7 +172,7 @@ public class ActionValidatorManagerTest extends XWorkTestCase {
assertEquals((action.getFieldErrors().get("customer.address.pobox")).size(), 2);
}
private class MockAction extends ActionSupport {
public static class MockAction extends ActionSupport {
private String referenceNumber;
private Integer order;
@@ -188,7 +190,7 @@ public class ActionValidatorManagerTest extends XWorkTestCase {
}
private class Customer {
public static class Customer {
private String name;
private Integer age;
private Address address = new Address();
@@ -203,7 +205,7 @@ public class ActionValidatorManagerTest extends XWorkTestCase {
public void setAddress(Address address) { this.address = address; }
}
private class Address {
public static class Address {
private String street;
private String pobox;
@@ -178,7 +178,7 @@ public class TextTagTest extends AbstractTagTest {
ValueStack newStack = container.getInstance(ValueStackFactory.class).createValueStack();
newStack.getContext().put(ActionContext.LOCALE, foreignLocale);
newStack.getContext().put(ActionContext.CONTAINER, container);
newStack.push(new TestAction1());
newStack.push(container.inject(TestAction1.class));
request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY, newStack);
assertNotSame(ActionContext.getContext().getValueStack().peek(), newStack.peek());
@@ -189,7 +189,7 @@ public class TextTagTest extends AbstractTagTest {
public void testTextTagUsesLocaleFromValueStack() throws JspException {
stack.pop();
stack.push(new TestAction1());
stack.push(container.inject(TestAction1.class));
Locale defaultLocale = getDefaultLocale();
Locale foreignLocale = getForeignLocale();
@@ -370,15 +370,14 @@ public class TooltipTest extends AbstractUITagTest {
verify(TooltipTest.class.getResource("tooltip-3.txt"));
}
/**
* @throws Exception
*
*/
public void setUp() throws Exception {
super.setUp();
initDispatcher(new HashMap<String,String>(){{
initDispatcher(new HashMap<String,String>(){{
put("configProviders", TestConfigurationProvider.class.getName());
}});
createMocks();
}
}