Ich habe einen Knoten, der viel Text enthält, der als seine jcr:data
Eigenschaft gespeichert wird. Ich kann von ihm gelesen und es in der Konsole von diesem groovy
Code anzeigen:Wie kann ich Textinhalt als jcr: data Eigenschaft in aem speichern?
InputStream content = node.getNode("jcr:content").getProperty("jcr:data")
.getStream()
println(content.text) //it shows me its content = text
Jetzt will ich in diesem Text einige Zeichen ändern und sie wieder als jcr:data
Eigenschaft festgelegt. Ich habe versucht zu tun:
ValueFactory factory = session.getValueFactory()
InputStream is = new ByteArrayInputStream(Charset.forName("UTF-8")
.encode(content.text.replaceAll("xx", "yy").array())
Binary binary = factory.createBinary(is)
Value value = factory.createValue(binary)
node.setProperty("jcr:data", value)
Aber das löst einen Fehler:
unexpected token: Binary
ja, ich habe diese importiert ... es sieht immer noch nicht die 'Binary' aber ... Aber vielleicht ist es eine andere Möglichkeit um um meinen eigenen Inhalt in 'jcr: data' zu schreiben, anstatt' Binary' zu verwenden? – user3766930
Hey Mann, fehlende Klammer rechts nach Array() hat den Trick gemacht, danke, dass du es bemerkt hast! – user3766930