package pt.utl.ist.scripts.runOnce.photograph; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import java.util.HashSet; import java.util.Set; import net.sourceforge.fenixedu.domain.Photograph; import pt.ist.fenixframework.Atomic; import pt.ist.fenixframework.FenixFramework; import pt.utl.ist.scripts.commons.AtomicScript; public class ClearAllAvatars extends AtomicScript { private final static boolean hardErase = true; private static final Set oids = new HashSet(); public static void main(String[] args) throws InterruptedException { process(new ClearAllAvatars()); for (String oid : oids) { Thread t = new DeleteAvatars(oid); t.start(); t.join(); } System.exit(0); } @Override protected void run() throws Exception { Connection connection = null; Statement stmt = connection.createStatement(); ResultSet rs = stmt.executeQuery("SELECT OID FROM PHOTOGRAPH"); while (rs.next()) { oids.add(rs.getString("OID")); } rs.close(); stmt.close(); } private static class DeleteAvatars extends Thread { private final Photograph photo; public DeleteAvatars(String photoOid) { this.photo = FenixFramework.getDomainObject(photoOid); } @Override @Atomic(flattenNested = false, mode = Atomic.TxMode.WRITE) public void run() { // for (PictureAvatar avatar : photo.getAvatars()) { // avatar.delete(); // } // if (hardErase && photo.getOriginal() != null) { // PictureOriginal hangman = photo.getOriginal(); // photo.setOriginal(null); // hangman.delete(); // } } } }