- public static MutableCompositeModification fromSerializable(Object serializable, SchemaContext schemaContext){
- PersistentMessages.CompositeModification o = (PersistentMessages.CompositeModification) serializable;
- MutableCompositeModification compositeModification = new MutableCompositeModification();
-
- for(PersistentMessages.Modification m : o.getModificationList()){
- if(m.getType().equals(DeleteModification.class.toString())){
- compositeModification.addModification(DeleteModification.fromSerializable(m));
- } else if(m.getType().equals(WriteModification.class.toString())){
- compositeModification.addModification(WriteModification.fromSerializable(m, schemaContext));
- } else if(m.getType().equals(MergeModification.class.toString())){
- compositeModification.addModification(MergeModification.fromSerializable(m, schemaContext));
+ @Override
+ public void writeExternal(ObjectOutput out) throws IOException {
+ super.writeExternal(out);
+
+ out.writeInt(modifications.size());
+
+ if (modifications.size() > 1) {
+ SerializationUtils.REUSABLE_WRITER_TL.set(NormalizedNodeInputOutput.newDataOutput(out));
+ }
+
+ try {
+ for (Modification mod: modifications) {
+ out.writeByte(mod.getType());
+ mod.writeExternal(out);