Passage de paramètre dans une méthode mis à NULL.
Bonjour,
Je réalise un logiciel en Java et GWT.
Suite au remplissage d'un formulaire par l'utilisateur, celui-ci appuie sur le bouton "enregistrer" pour enregistrer les données mais cet enregistrement échoue.
En effet, je fais appel à plusieurs DTO qui sont non NULL avant l'appel de la méthode de mise à jour: je l'ai vérifié.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| systemService.updateSensor(DataCacheService.getInstance()
.getActiveSystem(), sensor,sensor.getAssociatedSensorFam(), new AsyncCallback<Void>() {
@Override
public void onSuccess(Void result) {
eventBus.closeDialog();
}
@Override
public void onFailure(Throwable caught) {
Toast.makeText(String.valueOf(sensor.getAssociatedSensorFam().getId()), Toast.Length.LONG)
.show();
}
}); |
LE système, le sensorDTO et le sensorFamilyDTO sont non nuls.
J'appelle donc cette méthode updateSensor qui se trouve dans le fichier de service contenu sur le serveur.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| @Override
public void updateSensor(SystemDTO system, SensorDTO sensorDTO, SensorFamilyDTO sensorFamDTO) {
Sensor sensor = null;
SensorFamily sensorFam = null;
if(sensorDTO.getId() <0) {
sensor = new Sensor();
sensor.fillFromDTO(sensorDTO);
sensor.create();
}
else {
sensor = Sensor.queryById(sensorDTO.getId());
sensor.fillFromDTO(sensorDTO);
sensor.update();
}
SystemSensorLink link = SystemSensorLink.queryByIds(sensor.getId(), system.getId());
if(link == null) {
link = new SystemSensorLink();
link.setSensorId(sensor.getId());
link.setSystemId(system.getId());
link.create();
}
else {
link.setSensorId(sensor.getId());
link.setSystemId(system.getId());
link.update();
}
// sensorDTO est non null par contre sensorDTO.getAssociatedSensorFam est null
sensorFam = SensorFamily.queryById(sensorDTO.getAssociatedSensorFam().getId()); |
Et cette fois, que ce soit sensorFam ou sensorDTO.getAssociatedSensorFam() que j'ai rempli précédemment dans le Presenter, est null.
Je n'arrive pas à comprendre comment d'un paramètre non null, je passe à un paramètre null. A quoi cela pourrait-il être dû?
Si vous avez besoin d'informations supplémentaires pour comprendre le problème, je vous les donnerais.
Merci encore pour votre aide.