Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2830e31

Browse files
author
Ali96kz
committed
fix argument mismatch exception
1 parent 32dc61e commit 2830e31

File tree

5 files changed

+27
-24
lines changed

5 files changed

+27
-24
lines changed

src/main/java/com/epam/az/xml/Main.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,16 @@
11
package com.epam.az.xml;
22

3+
import com.epam.az.xml.entity.AliveFlower;
34
import com.epam.az.xml.entity.GreenHouse;
4-
import com.epam.az.xml.parser.FlowerStaxParser;
55
import com.epam.az.xml.parser.FlowersSaxParser;
6-
import com.epam.az.xml.parser.FlowersXmlParser;
76

87
import java.lang.reflect.InvocationTargetException;
98

109
public class Main {
1110
public static void main(String[] args) throws IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException {
1211
FlowersSaxParser flowerSaxParser = new FlowersSaxParser();
1312
GreenHouse greenHouse = flowerSaxParser.parseXml("./src/main/resources/greenhouse.xml");
14-
Class aclass = GreenHouse.class;
15-
FlowersXmlParser parser = new FlowerStaxParser();
16-
greenHouse = parser.parseXml("./src/main/resources/greenhouse.xml");
13+
AliveFlower aliveFlower = (AliveFlower) greenHouse.get(0);
1714
}
1815
}
1916

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.epam.az.xml.entity;
22
public abstract class PresentFlower extends Flower {
33
private int height;
4-
private FlowerVisualParameters visualParameters;
4+
private VisualParameters visualParameters;
55
public int getHeight() {
66
return height;
77
}
@@ -10,11 +10,11 @@ public void setHeight(int height) {
1010
this.height = height;
1111
}
1212

13-
public FlowerVisualParameters getVisualParameters() {
13+
public VisualParameters getVisualParameters() {
1414
return visualParameters;
1515
}
1616

17-
public void setVisualParameters(FlowerVisualParameters visualParameters) {
17+
public void setVisualParameters(VisualParameters visualParameters) {
1818
this.visualParameters = visualParameters;
1919
}
2020
}

src/main/java/com/epam/az/xml/entity/FlowerVisualParameters.java renamed to src/main/java/com/epam/az/xml/entity/VisualParameters.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,37 +2,33 @@
22

33
import javax.xml.bind.annotation.XmlElement;
44

5-
public class FlowerVisualParameters {
6-
//TODO add Color object
5+
public class VisualParameters {
76
private String colorSteam;
87
private String colorLeaves;
98
private int averageHeight;
109

1110

12-
public FlowerVisualParameters(){
11+
public VisualParameters(){
1312
}
1413

1514
public String getColorSteam() {
1615
return colorSteam;
1716
}
1817

19-
@XmlElement(name = "color-steam")
2018
public void setColorSteam(String colorSteam) {
2119
this.colorSteam = colorSteam;
2220
}
2321

2422
public String getColorLeaves() {
2523
return colorLeaves;
2624
}
27-
@XmlElement(name = "color-leaves")
2825
public void setColorLeaves(String colorLeaves) {
2926
this.colorLeaves = colorLeaves;
3027
}
3128

3229
public int getAverageHeight() {
3330
return averageHeight;
3431
}
35-
@XmlElement(name = "average-height")
3632
public void setAverageHeight(int averageHeight) {
3733
this.averageHeight = averageHeight;
3834
}

src/main/java/com/epam/az/xml/parser/FlowerDomParser.java

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import java.lang.reflect.Method;
1313

1414

15-
public class FlowerDomParser implements XmlParser {
15+
public class FlowerDomParser extends FlowersXmlParser{
1616

1717
@Override
1818
public GreenHouse parseXml(String path) {
@@ -25,18 +25,22 @@ public GreenHouse parseXml(String path) {
2525
doc.getDocumentElement().normalize();
2626

2727
NodeList nList = doc.getElementsByTagName("flowers");
28-
for (int temp = 0; temp < nList.getLength(); temp++) {
29-
Node nNode = nList.item(temp);
30-
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
31-
Element eElement = (Element) nNode;
32-
eElement.getElementsByTagName("").item(0).getTextContent();
33-
}
34-
}
3528

29+
extractFromNodeList(nList);
3630
} catch (Exception e) {
3731
e.printStackTrace();
3832
}
3933
return greenHouse;
4034
}
35+
public void extractFromNodeList(NodeList nodeList){
36+
37+
for (int temp = 0; temp < nodeList.getLength(); temp++) {
38+
Node nNode = nodeList.item(temp);
39+
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
40+
Element eElement = (Element) nNode;
41+
}
42+
}
43+
44+
}
4145

4246
}

src/main/java/com/epam/az/xml/parser/FlowersXmlParser.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.epam.az.xml.parser;
22

33
import com.epam.az.xml.entity.AliveFlower;
4-
import com.epam.az.xml.entity.Flower;
54
import com.epam.az.xml.entity.FlowerStack;
65
import com.epam.az.xml.entity.GreenHouse;
76

@@ -55,13 +54,20 @@ protected void elementEnd(FlowerStack flowerStack, String qName, GreenHouse gree
5554
}
5655

5756
public Object stringToObjectType(String str, Class aclass) {
58-
if (aclass.getName() == "int") {
57+
if (aclass.getSimpleName() == "int") {
5958
try {
6059
int result = Integer.parseInt(str);
6160
return result;
6261
} catch (NumberFormatException e) {
6362
}
6463
}
64+
if(aclass.getSimpleName() == "boolean"){
65+
if(str.charAt(0) == 't'){
66+
return true;
67+
}else {
68+
return false;
69+
}
70+
}
6571
return stringBuilder.toString();
6672
}
6773

0 commit comments

Comments
 (0)