In einer set-Methode angegebene neue Werte werden im Proxy gespeichert. Die Werte werden erst in die eigentliche Ressource im Repository geschrieben, wenn die Clientanwendung für das Proxy-Objekt eine do-Methode aufruft, z. B. die Methode doWriteProperties.
Zum Aktualisieren der zu Grunde liegenden Ressource im Produktrepository müssen Sie eine do-Methode wie doWriteProperties aufrufen. Die Methode schreibt die im Proxy aktualisierten Eigenschaften mit einer Transaktion in die Produktressource. Beim Festlegen von Eigenschaftswerten im Proxy treten keine Fehler auf. Es kann jedoch zu Fehlern kommen, wenn die do-Methode aufgerufen wird. In einem solchen Fall könnte eine Ausnahme ausgelöst werden.
PropertyRequest requestComment = new PropertyRequest (Resource.COMMENT ); Location location = myProvider.location(...); Resource myResource = myProvider.resource(location); myResource = myResource.doReadProperties(requestComment); String comment = myResource.getComment(); myResource.setComment(comment + "addition to comment"); myResource.doWriteProperties(null);Die Methode doWriteProperties() verwendet einen Parameter PropertyRequest.
Es ist nicht notwendig doReadProperties() vor doWriteProperties() aufzurufen, wenn Sie wissen, welcher Eigenschaftswert geschrieben werden soll, ohne zuvor den aktuellen Wert zu lesen. Im folgenden Beispiel wird das Feld Owner für den Defect SAMPL00000005 in der Musterdatenbank auf user = admin gesetzt.
cq.record:<Satztyp>/<Datensatz-ID>@<Name_der_Datenbankgruppe>/<Datenbankname>Für unser Beispiel sieht die Zeichenfolge für die Satzposition wie folgt aus:
"cq.record:Defect/SAMPL00000005@7.0.0/SAMPL"Für diese Zeichenfolge gilt Folgendes:
CqRecord myRecord = myCqProvider.cqRecord(myProvider.stpLocation("cq.record:Defect/SAMPL00000005@7.0.0/SAMPL")); PropertyName<CqRecord> OWNER = new FieldName<CqRecord>("Owner"); myRecord.setProperty(OWNER, myProvider.buildProxy(CqRecord.class, "cq.record:users/admin@7.0.0/SAMPL")); myRecord.doWriteProperties(null);
Weitere Informationen finden Sie im Abschnitt Positionssyntax.