package pt.utl.ist.scripts.runOnce; import net.sourceforge.fenixedu.domain.Alert; import net.sourceforge.fenixedu.domain.functionalities.AvailabilityPolicy; import net.sourceforge.fenixedu.domain.functionalities.ExpressionGroupAvailability; import net.sourceforge.fenixedu.domain.functionalities.GroupAvailability; import net.sourceforge.fenixedu.domain.phd.alert.PhdCustomAlert; import pt.ist.bennu.core.domain.Bennu; import pt.ist.bennu.core.domain.User; import pt.ist.bennu.core.security.Authenticate; import pt.utl.ist.scripts.commons.AtomicScript; public class RemoveIdInternalsFromGroups extends AtomicScript { @Override protected void run() throws Exception { long begin = System.currentTimeMillis(); // User user = User.readUserByUserUId("ist24439"); // // UserView.setUser(new MockUserView("ist24439", user.getPerson().getPersonRoles(), user.getPerson())); Authenticate.setUser(User.findByUsername("ist24439")); for (Alert alert : Bennu.getInstance().getAlertsSet()) { if (alert instanceof PhdCustomAlert) { PhdCustomAlert custom = (PhdCustomAlert) alert; custom.setTargetGroup(custom.getTargetGroup()); } } System.out.println("Alert done"); for (AvailabilityPolicy policy : Bennu.getInstance().getAvailabilityPolicySet()) { if (policy instanceof GroupAvailability) { GroupAvailability group = (GroupAvailability) policy; group.setTargetGroup(group.getTargetGroup()); } if (policy instanceof ExpressionGroupAvailability) { ExpressionGroupAvailability group = (ExpressionGroupAvailability) policy; group.setExpression(group.getTargetGroup().getExpression()); } } long total = System.currentTimeMillis() - begin; System.out.println("Migration took " + total + " ms. Committing..."); } public static void main(String[] args) { processWriteTransaction(new RemoveIdInternalsFromGroups()); } }