package pt.utl.ist.scripts.runOnce.contacts; import java.util.List; import java.util.Set; import net.sourceforge.fenixedu.domain.Person; import net.sourceforge.fenixedu.domain.contacts.EmailAddress; import net.sourceforge.fenixedu.domain.contacts.PartyContactType; import net.sourceforge.fenixedu.domain.organizationalStructure.Party; import pt.ist.bennu.core.domain.Bennu; import pt.utl.ist.scripts.commons.AtomicScript; public class FixInstitutionalEmailAddressBugDefault extends AtomicScript { @Override protected void run() throws Exception { final Set partySet = Bennu.getInstance().getPartysSet(); for (Party party : partySet) { if (party instanceof Person) { Person person = (Person) party; final List emailAddresses = (List) person.getPendingPartyContacts(EmailAddress.class, PartyContactType.INSTITUTIONAL); if (emailAddresses.size() == 1) { final EmailAddress emailAddress = emailAddresses.get(0); if (emailAddress.waitsValidation()) { emailAddress.setDefaultContactInformation(Boolean.TRUE); emailAddress.setValid(); System.out.printf("set %s as default and valid to %s\n", emailAddress.getValue(), person.getPresentationName()); } } } } } public static void main(String... args) { processWriteTransaction(new FixInstitutionalEmailAddressBugDefault()); } }