HSAdmin Backend Domains, E-Mail, Datenbanken
Peter Hormanns
2011-06-24 a71fd7fe6777b012a9ffda759c9adf7317e860f1
clean code
7 files modified
80 ■■■■ changed files
hsarback/src/de/hsadmin/core/model/AbstractModuleImpl.java 1 ●●●● patch | view | raw | blame | history
hsarback/src/de/hsadmin/core/model/GenericModuleImpl.java 53 ●●●● patch | view | raw | blame | history
hsarback/src/de/hsadmin/core/model/SecureDefaultModuleImpl.java 2 ●●●●● patch | view | raw | blame | history
hsarback/src/de/hsadmin/mods/dom/Domain.java 2 ●●●●● patch | view | raw | blame | history
hsarback/src/de/hsadmin/mods/dom/DomainModuleImpl.java 2 ●●●●● patch | view | raw | blame | history
hsarback/src/de/hsadmin/mods/qstat/QTaskModuleImpl.java 18 ●●●●● patch | view | raw | blame | history
hsarback/src/de/hsadmin/mods/user/UnixUserModuleImpl.java 2 ●●●●● patch | view | raw | blame | history
hsarback/src/de/hsadmin/core/model/AbstractModuleImpl.java
@@ -21,7 +21,6 @@
 */
public abstract class AbstractModuleImpl implements ModuleInterface {
    
    private static final long serialVersionUID = 2693948730004920437L;
    private static Log log = LogFactory.getLog(AbstractModuleImpl.class);
    private UnixUser loginUser;
hsarback/src/de/hsadmin/core/model/GenericModuleImpl.java
@@ -1,7 +1,6 @@
package de.hsadmin.core.model;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.List;
import java.util.regex.Pattern;
@@ -83,8 +82,17 @@
    private void validateFields(AbstractEntity anEntity) throws HSAdminException {
        Class<? extends AbstractEntity> clasz = anEntity.getClass();
        Field[] fields = clasz.getDeclaredFields();
        for (Field f : fields) {
        validateAllFields(clasz, anEntity);
        // Bei Datenbanken und DB-Usern stehen die Attribute in der Oberklasse
        Class<?> superclass = clasz.getSuperclass();
        if (superclass != AbstractEntity.class) {
            validateAllFields(superclass, anEntity);
        }
    }
    private void validateAllFields(Class<?> clasz, AbstractEntity anEntity)
            throws HSAdminException {
        for (Field f : clasz.getDeclaredFields()) {
            FieldValidation fieldValidation = f.getAnnotation(FieldValidation.class);
            if (fieldValidation != null) {
                try {
@@ -95,45 +103,8 @@
                            throw new HSAdminException("validation of field " + f.getName() + " failed");
                        }
                    }
                } catch (SecurityException e) {
                } catch (Exception e) {
                    throw new HSAdminException(e);
                } catch (NoSuchMethodException e) {
                    throw new HSAdminException(e);
                } catch (IllegalArgumentException e) {
                    throw new HSAdminException(e);
                } catch (IllegalAccessException e) {
                    throw new HSAdminException(e);
                } catch (InvocationTargetException e) {
                    throw new HSAdminException(e);
                }
            }
        }
        // Bei Datenbanken und DB-Usern stehen die Attribute in der Oberklasse
        Class<?> superclass = clasz.getSuperclass();
        if (superclass != AbstractEntity.class) {
            fields = superclass.getDeclaredFields();
            for (Field f : fields) {
                FieldValidation fieldValidation = f.getAnnotation(FieldValidation.class);
                if (fieldValidation != null) {
                    try {
                        Method method = superclass.getMethod(getterName(f));
                        Object valueObject = method.invoke(anEntity);
                        if (valueObject instanceof String) {
                            if (!Pattern.matches(fieldValidation.value(), (String) valueObject)) {
                                throw new HSAdminException("validation of field " + f.getName() + " failed");
                            }
                        }
                    } catch (SecurityException e) {
                        throw new HSAdminException(e);
                    } catch (NoSuchMethodException e) {
                        throw new HSAdminException(e);
                    } catch (IllegalArgumentException e) {
                        throw new HSAdminException(e);
                    } catch (IllegalAccessException e) {
                        throw new HSAdminException(e);
                    } catch (InvocationTargetException e) {
                        throw new HSAdminException(e);
                    }
                }
            }
        }
hsarback/src/de/hsadmin/core/model/SecureDefaultModuleImpl.java
@@ -8,8 +8,6 @@
 */
public class SecureDefaultModuleImpl extends AbstractModuleImpl {
    
    private static final long serialVersionUID = 4567381515459292565L;
    @Override
    public AbstractEntity initialize(AbstractEntity newEntity) throws AuthorisationException {
        return super.initialize(newEntity);
hsarback/src/de/hsadmin/mods/dom/Domain.java
@@ -25,8 +25,6 @@
@SequenceGenerator(name = "DomainsSeqGen", sequenceName = "domain_domain_id_seq")
public class Domain extends AbstractEntity {
    private static final long serialVersionUID = -7496110900868795840L;
    @Id
    @Column(name = "domain_id", columnDefinition = "integer")
    @GeneratedValue(strategy = SEQUENCE, generator = "DomainsSeqGen")
hsarback/src/de/hsadmin/mods/dom/DomainModuleImpl.java
@@ -19,8 +19,6 @@
public class DomainModuleImpl extends AbstractModuleImpl {
    
    private static final long serialVersionUID = -3991273357778898175L;
    @Override
    public AbstractEntity initialize(AbstractEntity newEntity) throws AuthorisationException {
        AbstractEntity newDom = super.initialize(newEntity);
hsarback/src/de/hsadmin/mods/qstat/QTaskModuleImpl.java
@@ -2,37 +2,21 @@
import java.util.List;
import de.hsadmin.core.model.AbstractModuleImpl;
import de.hsadmin.core.model.AbstractEntity;
import de.hsadmin.core.model.AbstractModuleImpl;
import de.hsadmin.core.model.HSAdminException;
import de.hsadmin.mods.user.UnixUser;
public class QTaskModuleImpl extends AbstractModuleImpl {
    private static final long serialVersionUID = 3942424688570077274L;
    public QTaskModuleImpl() {
    }
    @Override
    public List<AbstractEntity> search(Class<? extends AbstractEntity> entityClass, String condition, String orderBy) throws HSAdminException {
        // do query and return result
        if (orderBy == null || orderBy.length() == 0) {
            orderBy = "ORDER BY obj.started DESC";
        }
        return super.search(entityClass, condition, orderBy);
    }
    // throws an AuthorisationException if the login user has no write acess
    // on the pac of the given UnixUser
    @SuppressWarnings("unused")
    private boolean hasAccessOnPacOf(UnixUser user) {
        // only pac admins (same name as pac) and the owner (customer) have
        // write access to the pac
        boolean isPacAdmin = getLoginUser().getName().equals(
                user.getPac().getName());
        boolean isCustomer = getLoginUser().getName().equals(
                user.getPac().getCustomer().getName());
        return isPacAdmin || isCustomer;
    }
}
hsarback/src/de/hsadmin/mods/user/UnixUserModuleImpl.java
@@ -14,8 +14,6 @@
public class UnixUserModuleImpl extends AbstractModuleImpl {
    private static final long serialVersionUID = 7480353553685400790L;
    public UnixUserModuleImpl() {
    }