Bonjour,
J’ai fait un test simple (dans un job) dans lequel je voulais créer un calendrier, à la création lui affecter une CustomProperty avec une valeur fixe, puis relancer le job et lire cette CustomProperty.
Lors du premier lancement du job, juste après la création du planning la CustomProperty existe et le script renvoie bien la valeur 9999.
Lors du second lancement du job, le planning existant donc, la CustomProperty n’est plus reconnue…
Si quelqu’un peut m’éclairer? Voici le code :
Création du calendrier :
res = new CalendarInfo();
res.setDomainId(dom.getId());
res.setLabel(label);
res.setDefault(false);
res.setLinkedEntity(dom.getEntityId());
res.setOwnerId(res.getId());
res = core.getCalendar().createCalendar(token, res);
isNew.setValue(true);
// Adding CustomProperty : external id
CustomProperty cp = new CustomProperty();
cp.setEntity(“calendarinfo”);
cp.setName(“ext_id”);
cp.setType(CustomPropertyType.STRING);
//PropsHelper.setValue(res, cp, id.toString());
PropsHelper.setValue(res, cp, 9999);
Si le calendrier existe déjà :
if (ci.getLabel().equals(label)) {
res = ci;
}
A la fin de cette partie :
return res;
==> On récupère le calendrier en cours de visionnage. On envoie ce calendrier à cette partie de code ensuite :
String ext_id_prop = PropsHelper.getValue(ci, “ext_id”, String.class);
if (ext_id_prop != null) {
sched.error(rid, “fr”, "ID EXT du planning : " + ci.getLabel() + " → " + ext_id_prop + “]”);
}
else {
sched.error(rid, “fr”, “Impossible de trouver l’ID EXT du planning…”);
}
Implémentation des CustomPropertyRequirements :
// Ext_ID
cp = new CustomProperty();
cp.setRequesterId(getRequesterID());
cp.setEntity(“calendarinfo”);
cp.setName(“ext_id”);
cp.setType(CustomPropertyType.STRING);
props.put(cp.getEntity() + “::” + cp.getName(), cp);
→ Le reste c’est du copié collé des scripts du ldap pour l’implémentation.
Merci !