I can not use any third party library so I have mentioned in subject line.
this line throwing exception. obj.put("CanonicalName", data.getItemname());
I have a list which is of EntityData type
. EntityData
is POJO which has 2 columns with getter setter and toString..
public class EntityData {
private JsonValue itemname; //I can change datatype to String if it helps to reolve issue
private String operation;
}
my list is List<EntityData> dataList= new ArrayList<EntityData>();
if I print sout(dataList) then below is my data. it calls toString.
[EntityData [itemname="Apple Computers", operation=add], EntityData [itemname="Infosys", operation=add], EntityData [itemname="Wipro", operation=add], EntityData [itemname="Google India", operation=update], EntityData [itemname="Amazon India", operation=update], EntityData [itemname="Capgemini", operation=add], EntityData [itemname="Cognizant", operation=add], EntityData [itemname="Cognizant", operation=delete]]
so file contains itemname
and operation(add,delete,update)
. I need to write list data in below format.
{
"delete": [
{
"canonicalName": "TCS"
}
],
"update": [
{
"canonicalName": "Google India"
},
{
"canonicalName": "Amazon India"
}
],
"add": [
{
"canonicalName": "Apple Computers"
},
{
"canonicalName": "Infosys"
},
{
"canonicalName": "Wipro"
},
{
"canonicalName": "Capgemini"
},
{
"canonicalName": "Cognizant"
}
]
}
I was writing below code but i am getting error.
JsonObject obj = JsonObject.EMPTY_JSON_OBJECT;
JsonArray delete= JsonArray.EMPTY_JSON_ARRAY;
JsonArray modify= JsonArray.EMPTY_JSON_ARRAY;
JsonArray add= JsonArray.EMPTY_JSON_ARRAY;
for(EntityData data:dataList)
{
switch(data.getOperation())
{
case "delete":
obj.put("CanonicalName", data.getItemname() );
delete.add(obj);
break;
case "update":
obj.put("CanonicalName", data.getItemname() );
modify.add(obj);
break;
case "add":
obj.put("CanonicalName", data.getItemname() );
add.add(obj);
break;
default:
break;
}
}
System.out.println(obj);
It is throwing below exception
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractMap.put(Unknown Source)
at com.shruti.jdbc.ReadData.main(ReadData.java:86)
. I dont know how to handle it. I can not use any third party library. I have to use java libraries of oracle only. basically I dont know how to create object of JsonObject and insert data into it. If any other java library available pleas help.