Я пытаюсь преобразовать Объект с несколькими атрибутами в Json, чтобы поместить его в MongoDB.До сих пор он работал с такими легкими атрибутами, как Strings или Integer.Поскольку я пытаюсь добавить слушатель к объекту, не получается добавить массив слушателя к объекту.Массив имеет значение null.
Я вижу, что объект создан правильно: вы видите здесь https://i.imgur.com/ZhYWhpS.jpg
Но когда я использую метод "toJson" из Gson, преобразование не работает должным образом.
вы видите здесь: https://i.imgur.com/ESNBVow.jpg
Проблема в том, что массив является приватным?Но eFlag (созданный EMF) также работает для преобразования и не является нулевым.
LightBulb newLightBulb = HomeapiFactory.eINSTANCE.createLightBulb();
newLightBulb.setDeviceID(deviceid);
newLightBulb.setDeviceName(devicename);
newLightBulb.setDeviceType(DeviceType.LAMP);
newLightBulb.setBrightness(100);
newLightBulb.setBatteryLevel(100);
newLightBulb.setFirmware("1.0");
listener.addListenerOLD(newLightBulb);
json = gson.toJson(newLightBulb);
Document doc = Document.parse(json.toString());
collection.insertOne(doc);
System.out.println("New Lamp was added to the DB");
Метод добавления слушателя к объекту:
public void addListenerOLD(EObject o) // deprecated
{
Adapter adapter = new AdapterImpl() {
public void notifyChanged(Notification notification) {
System.out.println("DeviceState Changed");
}
};
o.eAdapters().add(adapter);
}