Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 7 Nächste Version anzeigen »

Es gibt ab Nuclos 4.28 neue Funktionen für die Regel-API, die den Code einfacher und leslicher machen, als Beispiel:

import org.nuclos.api.exception.BusinessException;
public class UtilsNeu {

	public static void workAuftrag(Long id1, Long id2) throws BusinessException {
		Auftrag auftrag = Auftrag.get(id1);
		auftrag.changeStatus(AuftragSM.State_20);
		auftrag.setName("NeuerName");
		auftrag.save(); // or auftrag.delete();

		Auftrag.delete(id2);
	}
}

 

Exakt der gleiche Code mit "alten" Mittel war um einiges umfangreicher, mit mehr Imports und Klassen, die nicht intuitiv sind, wie z.b. "BusinessObjectProvider", zu dem man auch noch einen Import brauchte:

import org.nuclos.api.exception.BusinessException;
import org.nuclos.api.provider.BusinessObjectProvider;
import org.nuclos.api.provider.QueryProvider;
import org.nuclos.api.provider.StatemodelProvider;
public class UtilsAlt {

	public static void workAuftrag(Long id1, Long id2) throws BusinessException {
		Auftrag auftrag = QueryProvider.getById(Auftrag.class, id1);
		StatemodelProvider.changeState(auftrag, AuftragSM.State_20);
		auftrag.setName("NeuerName");
		BusinessObjectProvider.update(auftrag); // or BusinessObjectProvider.delete(auftrag);

		Auftrag auftrag2 = QueryProvider.getById(Auftrag.class, id2);
		BusinessObjectProvider.delete(auftrag2);
	}
}

Außerdem wurde im zweiten Fall mehr Ressourcen verbraucht, weil man den zweiten Auftrag noch extra von der Datenbank holen musste. Selbstverständlich stehen die alten Methoden noch alle zur Verfügung zur Wahrung der Abwärtskompatibilität.

  • Keine Stichwörter