package pt.utl.ist.scripts.runOnce.phd; import net.sourceforge.fenixedu.domain.File; import pt.ist.bennu.core.domain.User; import pt.utl.ist.scripts.commons.AtomicScript; public class CheckDSpaceFileAccess extends AtomicScript { public static void main(String[] args) { processWriteTransaction(new CheckDSpaceFileAccess()); } @Override protected void run() throws Exception { /* ProcNr FileId FileType User Groups * 207/2011 2295/1317489/1 CAT ist14205 <-- Guider x * 2295/1317492/1 CAT-REP ist14205 <-- Guider x * 3/2011 2295/1314441/1 CAT ist14205 <-- Guider x * 318/2012 2295/1115193/1 CAN-autoriz ist14205 <-- Guider x * 2295/1257396/1 CAN-PARECER ist14205 <-- Guider x * 191/2006 2295/1332161/1 CAT ist23879 <-- Secret Dep x * 2295/1332187/1 CAT-REP ist23879 <-- Secret Dep x * 2295/1340110/1 TES-FINAL ist23879 <-- Secret Dep x * 137/2006 2295/1326343/1 TES-NOMEAC ist23879 <-- Secret Dep x * */ String usernames[] = { "ist14205", "ist23879" }; String fileStorageIds[] = { "1317489", "1317492", "1314441", "1115193", "1257396", "1332161", "1332187", "1340110", "1326343" }; for (String user : usernames) { pt.ist.bennu.core.security.Authenticate.setUser(User.findByUsername(user)); for (String fileId : fileStorageIds) { String fileIdFull = "2295/" + fileId + "/1"; StringBuilder sb = new StringBuilder("User ["); sb.append(user); sb.append("], file ["); sb.append(fileIdFull); sb.append("]"); File file = File.readByExternalStorageIdentification(fileIdFull); if (file != null) { byte bytes[] = file.getContents(); sb.append(" Found file OID ["); sb.append(file.getExternalId()); sb.append("], name ["); sb.append(file.getFilename()); sb.append("]"); if (bytes != null && bytes.length > 0) { sb.append(", byteArray size ["); sb.append(bytes.length); sb.append("]"); } else { sb.append(", [empty bytes]"); } } else { sb.append(" [file null]"); } System.out.println(sb.toString()); } } } }