package com.l7tech.server.entity;

import com.l7tech.common.io.NonCloseableOutputStream;
import com.l7tech.objectmodel.Goid;
import com.l7tech.policy.GenericEntity;
import com.l7tech.util.Charsets;
import com.l7tech.util.PoolByteArrayOutputStream;
import com.l7tech.util.ResourceUtils;
import java.beans.XMLEncoder;

public class GenericEntityUtils {
   public static void regenerateValueXml(GenericEntity var0) {
      PoolByteArrayOutputStream var1 = new PoolByteArrayOutputStream(1024);
      String var2 = var0.getValueXml();
      ClassLoader var3 = Thread.currentThread().getContextClassLoader();
      Thread.currentThread().setContextClassLoader(var0.getClass().getClassLoader());

      try {
         var0.setValueXml("");
         XMLEncoder var4 = new XMLEncoder(new NonCloseableOutputStream(var1));
         var4.setPersistenceDelegate(Goid.class, Goid.getPersistenceDelegate());
         var4.writeObject(var0);
         var4.close();
         var2 = var1.toString(Charsets.UTF8);
      } finally {
         ResourceUtils.closeQuietly(var1);
         var0.setValueXml(var2);
         Thread.currentThread().setContextClassLoader(var3);
      }
   }
}
