diff --git a/src/ch/alice/o2/ccdb/servlets/RetryCopyToGrid.java b/src/ch/alice/o2/ccdb/servlets/RetryCopyToGrid.java new file mode 100644 index 0000000000000000000000000000000000000000..3c0fd6ba53a50e09f9d2ab8288b97c65541c3b59 --- /dev/null +++ b/src/ch/alice/o2/ccdb/servlets/RetryCopyToGrid.java @@ -0,0 +1,47 @@ +package ch.alice.o2.ccdb.servlets; + +import java.util.UUID; + +import alien.catalogue.GUIDUtils; +import lazyj.DBFunctions; + +/** + * Iterate through objects missing a Grid copy and upload them + * + * @author costing + * @since 2021-10-28 + */ +public class RetryCopyToGrid { + /** + * Entry point + * + * @param args + */ + public static void main(final String[] args) { + final String q = "SELECT * FROM ccdb where -1 != all(replicas)"; + + for (final String arg : args) { + try (DBFunctions db = SQLObject.getDB()) { + if (GUIDUtils.isValidGUID(arg)) { + db.query(q + " AND id=?", false, UUID.fromString(arg)); + } + else + if ("*".equals(arg)) { + db.query(q); + } + else { + System.err.println("Don't know how to process argument `" + arg + "`"); + continue; + } + + while (db.moveNext()) { + SQLObject obj = SQLObject.fromDb(db); + + System.err.println("Notifying with: " + obj); + + AsyncReplication.getInstance().newObject(obj); + } + } + } + } +}