From f4959c8a70154761a124483eaf6c5b9bbf882551 Mon Sep 17 00:00:00 2001 From: Prasanth Date: Thu, 7 Mar 2019 19:16:55 +0530 Subject: [PATCH] added new test case and fixed corresponding code --- src/main/java/schema/GenericTranslator.java | 4 ++-- src/main/java/schema/SetterImpl.java | 2 +- src/test/java/schema/Complex/Bus.java | 10 ++++++++++ src/test/java/schema/Complex/Bus2.java | 10 ++++++++++ src/test/java/schema/Complex/Seat.java | 13 +++++++++++++ src/test/java/schema/GenericTest.java | 6 +++++- src/test/resources/bus-bus2-complex-schema.json | 3 ++- 7 files changed, 43 insertions(+), 5 deletions(-) create mode 100644 src/test/java/schema/Complex/Seat.java diff --git a/src/main/java/schema/GenericTranslator.java b/src/main/java/schema/GenericTranslator.java index 179449c..b449aa5 100644 --- a/src/main/java/schema/GenericTranslator.java +++ b/src/main/java/schema/GenericTranslator.java @@ -94,7 +94,7 @@ private SetterImpl getDestMethod(JsonElement destDescriptor, @SuppressWarnings(" // if descriptor is string itself, then value will be field name if (!destDescriptor.isJsonObject()) { String valueString = destDescriptor.getAsString(); - destMethodName = StringUtils.capitalise(valueString); + destMethodName = valueString; } else { // in else case descriptor should contain destination or destinantion method // name @@ -102,7 +102,7 @@ private SetterImpl getDestMethod(JsonElement destDescriptor, @SuppressWarnings(" JsonElement destJsonElement = descriptor.get(DESTINATION); if (destJsonElement != null) { // destination is defined - destMethodName = StringUtils.capitalise(destJsonElement.getAsString()); + destMethodName = destJsonElement.getAsString(); } else { // destiantion is not defined, going with destination method name destMethodName = descriptor.get(DESTINATION_METHOD).getAsString(); diff --git a/src/main/java/schema/SetterImpl.java b/src/main/java/schema/SetterImpl.java index 1b03474..32282f9 100644 --- a/src/main/java/schema/SetterImpl.java +++ b/src/main/java/schema/SetterImpl.java @@ -20,7 +20,7 @@ public void intialize(Class DestClass, String name) Class finalClass = DestClass; methods = new ArrayList(); for (String subName : names) { - String getterName = getGetterName(name); + String getterName = getGetterName(subName); Method getterMethod = finalClass.getMethod(getterName); Method method = finalClass.getMethod(getSetterName(subName), getterMethod.getReturnType()); methods.add(method); diff --git a/src/test/java/schema/Complex/Bus.java b/src/test/java/schema/Complex/Bus.java index 470a3a8..2b2bcbf 100644 --- a/src/test/java/schema/Complex/Bus.java +++ b/src/test/java/schema/Complex/Bus.java @@ -3,6 +3,16 @@ public class Bus{ private Tyre tyre; + public String getSeatname() { + return seatname; + } + + public void setSeatname(String seatname) { + this.seatname = seatname; + } + + private String seatname; + /** * @return the tyre */ diff --git a/src/test/java/schema/Complex/Bus2.java b/src/test/java/schema/Complex/Bus2.java index e4c12a6..16ce620 100644 --- a/src/test/java/schema/Complex/Bus2.java +++ b/src/test/java/schema/Complex/Bus2.java @@ -3,6 +3,16 @@ public class Bus2{ private String name; + public Seat getSeat() { + return seat; + } + + public void setSeat(Seat seat) { + this.seat = seat; + } + + private Seat seat; + /** * @return the name */ diff --git a/src/test/java/schema/Complex/Seat.java b/src/test/java/schema/Complex/Seat.java new file mode 100644 index 0000000..3e68411 --- /dev/null +++ b/src/test/java/schema/Complex/Seat.java @@ -0,0 +1,13 @@ +package schema.Complex; + +public class Seat { + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String name; +} diff --git a/src/test/java/schema/GenericTest.java b/src/test/java/schema/GenericTest.java index 08ac6e1..1d812d2 100644 --- a/src/test/java/schema/GenericTest.java +++ b/src/test/java/schema/GenericTest.java @@ -107,16 +107,20 @@ public void testBus1Bus2() throws IOException, NoSuchMethodException, IllegalAcc Tyre tyre = new Tyre(); String name = "tyrename"; + tyre.setName(name); + String seatname = "finolex"; Bus bus = new Bus(); bus.setTyre(tyre); + bus.setSeatname(seatname); // Bus.class.getClass().getDeclaredMethod(name); Bus2 modifiedBus = new Bus2(); translator.translate(bus, modifiedBus); - System.out.printf("tyre name %s", modifiedBus.getName()); + assertEquals(name, modifiedBus.getName()); + assertEquals(seatname, modifiedBus.getSeat().getName()); } } \ No newline at end of file diff --git a/src/test/resources/bus-bus2-complex-schema.json b/src/test/resources/bus-bus2-complex-schema.json index 6ba68ee..e3194fe 100644 --- a/src/test/resources/bus-bus2-complex-schema.json +++ b/src/test/resources/bus-bus2-complex-schema.json @@ -1,3 +1,4 @@ { - "tyre.name":"name" + "tyre.name":"name", + "seatname": "seat.name" } \ No newline at end of file