HSAdmin Backend Domains, E-Mail, Datenbanken
Peter Hormanns
2011-07-28 87f15fdba6d599fae4abe79272ca5db03e296fec
delete pac databases
1 files modified
24 ■■■■ changed files
hsarback/src/de/hsadmin/mods/pac/PacModuleImpl.java 24 ●●●● patch | view | raw | blame | history
hsarback/src/de/hsadmin/mods/pac/PacModuleImpl.java
@@ -126,15 +126,25 @@
        }
        GenericModuleImpl helperModule = new GenericModuleImpl(getTransaction());
        
        Query qDoms = em.createQuery("SELECT dom FROM Domains dom WHERE dom.user.pac.name = :pac");
        qDoms.setParameter("pac", pacName);
        List<?> domsList = qDoms.getResultList();
        for (Object o : domsList) {
            if (o instanceof Domain) {
                helperModule.delete((AbstractEntity) o);
        String[] dependQueries = new String[] {
                "SELECT dom FROM Domains dom WHERE dom.user.pac.name = :pac",
                "SELECT db FROM MySqlDatabases db WHERE db.pac.name = :pac",
                "SELECT db FROM PgSqlDatabases db WHERE db.pac.name = :pac",
                "SELECT dbusr FROM MySqlUsers dbusr WHERE dbusr.pac.name = :pac",
                "SELECT dbusr FROM PgSqlUsers dbusr WHERE dbusr.pac.name = :pac",
        };
        for (String queryString : dependQueries) {
            Query qDoms = em.createQuery(queryString);
            qDoms.setParameter("pac", pacName);
            List<?> domsList = qDoms.getResultList();
            for (Object o : domsList) {
                if (o instanceof AbstractEntity) {
                    helperModule.delete((AbstractEntity) o);
                }
            }
        }
        for (UnixUser user : pac.getUnixUser()) {
            if (!pacName.equals(user.getName())) {
                helperModule.delete(user);