Hallo!
Ich versuche nun doch mal die neue API, allerdings funktionieren bei mir scheinbar die einfachsten Sachen nicht.
Ich habe folgende Arbeitsschritt API:
@Rule(name="MRetoure", description="Muster Retour buchen")
public class MRetoure implements GenerateRule {
public void generate(GenerateContext context) throws BusinessException {
Wareneingang targetObject = context.getTargetObject(Wareneingang.class);
targetObject.setBemerkung("Guten morgen");
}
}
Damit ich sehe, dass es funktioniert, soll erst mal nur ein Bemerkungsfeld beschrieben werden, quasi ein Hello Bemerkung :laugh:
Weise ich die Regel dem Arbeitsschritt zu und führe diesen dann aus, wird das Zielobjekt zwar erstellt und auch die Zielaktion übernommen, aber das Bemerkungsfeld bleibt leer und das Objekt wird auch nicht gespeichert.
Entferne ich die Regel wieder vom Arbeitsschritt, wird das Zeilobjekt mittels arbeitsschritt ganz normal erzeugt und gespeichert. Der Arbeitschritt übernimmt keine Attribute oder Unterformulare, ist so zu leer.
Was mach ich hier wieder falsch?
Aus dem Logeintrag wed ich auch nicht wirklich schlau:2013-02-19 22:07:10,250 INFO [org.springframework.remoting.support.RemoteInvocationTraceInterceptor] - Processing of HttpInvokerServiceExporter remote call resulted in exception: org.nuclos.server.genericobject.ejb3.GeneratorFacadeRemote.generateGenericObject
CommonValidationException [getMessage()=Generation of generic object failed: org.nuclos.common.dal.vo.EntityObjectVO[entity=Wareneingang,UNCHANGED,fields={changedBy=null, nuclosDeleted=false, nuclosProcess=MRetoure, createdBy=null, nuclosOrigin=AU1302#00380, leihmuster=false, createdAt=null, nummer=(Neu), datum=TODAY, changedAt=null, auftrag=null, version=0},fieldIds={nuclosProcess=41267140, auftrag=60496462},depEntities=[],id=null,version=0] action: 5. MRetoure, errors=null, fielderrors=null]
at org.nuclos.server.genericobject.ejb3.GeneratorFacadeBean.generateGenericObject(GeneratorFacadeBean.java:434)
at sun.reflect.GeneratedMethodAccessor639.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
...
Gruß
Hugo