HSAdmin Backend Domains, E-Mail, Datenbanken
Peter Hormanns
2010-12-16 93db501810a8ae2b2cb13c03139873ee6e0715fb
Weitere Module
10 files added
15 files modified
180 ■■■■ changed files
hsarback/src/de/hsadmin/mods/email/EMailAlias.java 7 ●●●●● patch | view | raw | blame | history
hsarback/src/de/hsadmin/mods/email/EMailAliasModuleImpl.java 2 ●●● patch | view | raw | blame | history
hsarback/src/de/hsadmin/remote/EMailAddressRemote.java 16 ●●●● patch | view | raw | blame | history
hsarback/src/de/hsadmin/remote/QueueTaskRemote.java 14 ●●●●● patch | view | raw | blame | history
hsarweb/WebContent/WEB-INF/web.xml 2 ●●● patch | view | raw | blame | history
hsarweb/build.xml 1 ●●●● patch | view | raw | blame | history
hsarweb/src/de/hsadmin/web/GenericModule.java 3 ●●●● patch | view | raw | blame | history
hsarweb/src/de/hsadmin/web/MainApplication.java 6 ●●●● patch | view | raw | blame | history
hsarweb/src/de/hsadmin/web/QueueTaskModule.java 31 ●●●●● patch | view | raw | blame | history
hsarweb/src/de/hsadmin/web/UnixUserModule.java 30 ●●●●● patch | view | raw | blame | history
hsarweb/src/icons/database.png patch | view | raw | blame | history
hsarweb/src/icons/database_key.png patch | view | raw | blame | history
hsarweb/src/icons/table.png patch | view | raw | blame | history
hsarweb/src/icons/table_key.png patch | view | raw | blame | history
hsarweb/src/texts/domain.properties 4 ●●●● patch | view | raw | blame | history
hsarweb/src/texts/domain_de.properties 4 ●●●● patch | view | raw | blame | history
hsarweb/src/texts/emailaddress.properties 4 ●●●● patch | view | raw | blame | history
hsarweb/src/texts/emailaddress_de.properties 4 ●●●● patch | view | raw | blame | history
hsarweb/src/texts/emailalias.properties 4 ●●●● patch | view | raw | blame | history
hsarweb/src/texts/emailalias_de.properties 4 ●●●● patch | view | raw | blame | history
hsarweb/src/texts/main.properties 2 ●●● patch | view | raw | blame | history
hsarweb/src/texts/q.properties 10 ●●●●● patch | view | raw | blame | history
hsarweb/src/texts/q_de.properties 10 ●●●●● patch | view | raw | blame | history
hsarweb/src/texts/user.properties 11 ●●●●● patch | view | raw | blame | history
hsarweb/src/texts/user_de.properties 11 ●●●●● patch | view | raw | blame | history
hsarback/src/de/hsadmin/mods/email/EMailAlias.java
@@ -30,8 +30,7 @@
@Table(name = "emailalias")
@SequenceGenerator(name = "EMailAliasesSeqGen", sequenceName = "emailalias_emailalias_id_seq")
@EntityInfo(name = "E-Mail-Alias")
@SearchFilter("pac = :loginUserPac OR "
        + "pac.customer.name = :loginUserName")
@SearchFilter("obj.pac = :loginUserPac OR obj.pac.customer.name = :loginUserName")
public class EMailAlias extends AbstractEntity implements Serializable {
    
    private static final long serialVersionUID = -4711415079723587161L;
@@ -192,9 +191,9 @@
    public static String restriction() {
        return
            // all aliases of all pacs of customer
            "pac.customer.name=:loginUserName OR " +
            "obj.pac.customer.name=:loginUserName OR " +
            // all aliases of packet admin
            "pac.name=:loginUserName";
            "obj.pac.name=:loginUserName";
    }
    
}
hsarback/src/de/hsadmin/mods/email/EMailAliasModuleImpl.java
@@ -12,7 +12,7 @@
    public List<AbstractEntity> search(Class<? extends AbstractEntity> entityClass,
            String condition, String orderBy) throws HSAdminException {
        if (orderBy == null || orderBy.length() == 0) {
            orderBy = "ORDER BY name ASC";
            orderBy = "ORDER BY obj.name ASC";
        }
        return super.search(entityClass, condition, orderBy);
    }
hsarback/src/de/hsadmin/remote/EMailAddressRemote.java
@@ -21,14 +21,14 @@
        String emailaddress = adr.getEMailAddress();
        String fulldomain = adr.getFullDomain();
        map.put("id", Long.toString(id));
        map.put("domain", domain);
        map.put("admin", admin);
        map.put("pac", pac);
        map.put("target", target);
        map.put("localpart", localpart);
        map.put("subdomain", subdomain);
        map.put("emailaddress", emailaddress);
        map.put("fulldomain", fulldomain);
        if (assertNotNull(domain)) map.put("domain", domain);
        if (assertNotNull(admin)) map.put("admin", admin);
        if (assertNotNull(pac)) map.put("pac", pac);
        if (assertNotNull(target)) map.put("target", target);
        if (assertNotNull(localpart)) map.put("localpart", localpart);
        if (assertNotNull(subdomain)) map.put("subdomain", subdomain);
        if (assertNotNull(emailaddress)) map.put("emailaddress", emailaddress);
        if (assertNotNull(fulldomain)) map.put("fulldomain", fulldomain);
    }
    @Override
hsarback/src/de/hsadmin/remote/QueueTaskRemote.java
@@ -7,6 +7,8 @@
import de.hsadmin.core.model.AbstractEntity;
import de.hsadmin.core.qserv.QueueTask;
import de.hsadmin.core.qserv.QueueTask.QueueTaskStatus;
import de.hsadmin.mods.user.UnixUser;
public class QueueTaskRemote extends AbstractRemote {
@@ -21,11 +23,13 @@
    protected void entity2map(AbstractEntity entity, Map<String, String> resultMap) {
        QueueTask task = (QueueTask) entity;
        resultMap.put("id", Long.toString(task.getId()));
        resultMap.put("status", task.getStatus().toString());
        resultMap.put("title", task.getTitle());
        resultMap.put("details", task.getDetails());
        resultMap.put("exception", task.getException());
        resultMap.put("user", task.getUser().getName());
        QueueTaskStatus status = task.getStatus();
        if (status != null) resultMap.put("status", status.toString());
        if (assertNotNull(task.getTitle())) resultMap.put("title", task.getTitle());
        if (assertNotNull(task.getDetails())) resultMap.put("details", task.getDetails());
        if (assertNotNull(task.getException())) resultMap.put("exception", task.getException());
        UnixUser user = task.getUser();
        if (user != null) resultMap.put("user", user.getName());
        Date started = task.getStarted();
        if (assertNotNull(started)) {
            resultMap.put("started", df.format(started));
hsarweb/WebContent/WEB-INF/web.xml
@@ -25,7 +25,7 @@
    <context-param>
        <description>HSAdmin Module</description>
        <param-name>hsarmodules</param-name>
        <param-value>de.hsadmin.web.DomainModule,de.hsadmin.web.EMailAddressModule,de.hsadmin.web.EMailAliasModule</param-value>
        <param-value>de.hsadmin.web.UnixUserModule,de.hsadmin.web.DomainModule,de.hsadmin.web.EMailAddressModule,de.hsadmin.web.EMailAliasModule,de.hsadmin.web.QueueTaskModule</param-value>
    </context-param>
    <filter>
hsarweb/build.xml
@@ -15,6 +15,7 @@
            <classes dir="build/cls" />
            <classes dir="src">
                <include name="**/*.properties"/>
                <include name="**/*.png"/>
            </classes>
        </war>
    </target>
hsarweb/src/de/hsadmin/web/GenericModule.java
@@ -1,5 +1,6 @@
package de.hsadmin.web;
import java.io.Serializable;
import java.text.DateFormat;
import java.text.ParseException;
import java.util.Calendar;
@@ -20,7 +21,7 @@
import de.hsadmin.web.config.ModuleConfig;
import de.hsadmin.web.config.PropertyConfig;
public abstract class GenericModule {
public abstract class GenericModule implements Serializable {
    private static final long serialVersionUID = 1L;
    private static final DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);
hsarweb/src/de/hsadmin/web/MainApplication.java
@@ -41,7 +41,7 @@
    public void init() {
        localeConfig = new LocaleConfig(Locale.getDefault(), "main");
        remote = new Remote(this);
        Window mainWindow = new Window(localeConfig.getText("title"));
        Window mainWindow = new Window(localeConfig.getText("applicationtitle"));
        TabSheet tabs = new TabSheet();
        tabs.setWidth(100.0f, Sizeable.UNITS_PERCENTAGE);
        tabs.setHeight(680.0f, Sizeable.UNITS_PIXELS);
@@ -56,9 +56,9 @@
                    firstModule = module;
                }
                ModuleConfig moduleConfig = module.getModuleConfig();
                String label = moduleConfig.getLabel("title");
                String label = moduleConfig.getLabel("moduletitle");
                modules.put(label, module);
                tabs.addTab(module.getComponent(), label, new ThemeResource(moduleConfig.getLabel("icon")));
                tabs.addTab(module.getComponent(), label, new ThemeResource(moduleConfig.getLabel("moduleicon")));
            } catch (InstantiationException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
hsarweb/src/de/hsadmin/web/QueueTaskModule.java
New file
@@ -0,0 +1,31 @@
package de.hsadmin.web;
import java.util.Date;
import de.hsadmin.web.config.ModuleConfig;
import de.hsadmin.web.config.PropertyConfig;
public class QueueTaskModule extends GenericModule {
    private static final long serialVersionUID = 1L;
    private ModuleConfig moduleConfig;
    public QueueTaskModule() {
        moduleConfig = new ModuleConfig("q");
        moduleConfig.addProperty(new PropertyConfig(moduleConfig, "id", Long.class, "", true, true));
        moduleConfig.addProperty(new PropertyConfig(moduleConfig, "title", String.class, ""));
        moduleConfig.addProperty(new PropertyConfig(moduleConfig, "status", String.class, ""));
        moduleConfig.addProperty(new PropertyConfig(moduleConfig, "started", Date.class, ""));
        moduleConfig.addProperty(new PropertyConfig(moduleConfig, "finished", Date.class, ""));
        moduleConfig.addProperty(new PropertyConfig(moduleConfig, "user", String.class, "", true));
        moduleConfig.addProperty(new PropertyConfig(moduleConfig, "details", String.class, "", true));
        moduleConfig.addProperty(new PropertyConfig(moduleConfig, "exception", String.class, "", true));
    }
    @Override
    public ModuleConfig getModuleConfig() {
        return moduleConfig;
    }
}
hsarweb/src/de/hsadmin/web/UnixUserModule.java
New file
@@ -0,0 +1,30 @@
package de.hsadmin.web;
import de.hsadmin.web.config.ModuleConfig;
import de.hsadmin.web.config.PropertyConfig;
public class UnixUserModule extends GenericModule {
    private static final long serialVersionUID = 1L;
    private ModuleConfig moduleConfig;
    public UnixUserModule() {
        moduleConfig = new ModuleConfig("user");
        moduleConfig.addProperty(new PropertyConfig(moduleConfig, "id", Long.class, "", true, true));
        moduleConfig.addProperty(new PropertyConfig(moduleConfig, "name", String.class, ""));
        moduleConfig.addProperty(new PropertyConfig(moduleConfig, "comment", String.class, ""));
        moduleConfig.addProperty(new PropertyConfig(moduleConfig, "shell", String.class, ""));
        moduleConfig.addProperty(new PropertyConfig(moduleConfig, "userid", Long.class, "", true));
        moduleConfig.addProperty(new PropertyConfig(moduleConfig, "homedir", String.class, "", true));
        moduleConfig.addProperty(new PropertyConfig(moduleConfig, "pac", String.class, "", true));
        moduleConfig.addProperty(new PropertyConfig(moduleConfig, "quota_softlimit", Long.class, "", true));
        moduleConfig.addProperty(new PropertyConfig(moduleConfig, "quota_hardlimit", Long.class, "", true));
    }
    @Override
    public ModuleConfig getModuleConfig() {
        return moduleConfig;
    }
}
hsarweb/src/icons/database.png
hsarweb/src/icons/database_key.png
hsarweb/src/icons/table.png
hsarweb/src/icons/table_key.png
hsarweb/src/texts/domain.properties
@@ -4,5 +4,5 @@
pac=packet
hive=host
since=connected since
title=domains
icon=../runo/icons/16/document-web.png
moduletitle=domains
moduleicon=../runo/icons/16/document-web.png
hsarweb/src/texts/domain_de.properties
@@ -4,5 +4,5 @@
pac=Paket
hive=Server
since=aufgeschaltet seit
title=Domains
icon=../runo/icons/16/document-web.png
moduletitle=Domains
moduleicon=../runo/icons/16/document-web.png
hsarweb/src/texts/emailaddress.properties
@@ -7,5 +7,5 @@
admin=admin user
pac=packet
fulldomain=full domain
title=email addresses
icon=../runo/icons/16/email.png
moduletitle=email addresses
moduleicon=../runo/icons/16/email.png
hsarweb/src/texts/emailaddress_de.properties
@@ -7,5 +7,5 @@
admin=Administrator
pac=Paket
fulldomain=volle Domain
title=EMail Adressen
icon=../runo/icons/16/email.png
moduletitle=EMail Adressen
moduleicon=../runo/icons/16/email.png
hsarweb/src/texts/emailalias.properties
@@ -2,5 +2,5 @@
name=name
target=target(s)
pac=packet
title=email aliases
icon=../runo/icons/16/email-send.png
moduletitle=email aliases
moduleicon=../runo/icons/16/email-send.png
hsarweb/src/texts/emailalias_de.properties
@@ -2,5 +2,5 @@
name=Alias
target=Ziel(e)
pac=Paket
title=EMail Aliases
icon=../runo/icons/16/email-send.png
moduletitle=EMail Aliases
moduleicon=../runo/icons/16/email-send.png
hsarweb/src/texts/main.properties
@@ -1 +1 @@
title=HSAdmin Web Application
applicationtitle=HSAdmin Web Application
hsarweb/src/texts/q.properties
New file
@@ -0,0 +1,10 @@
id=identifier
title=title
status=status
started=started
finished=finished
user=user
details=details
exception=exception
moduletitle=queue tasks
moduleicon=../runo/icons/16/attention.png
hsarweb/src/texts/q_de.properties
New file
@@ -0,0 +1,10 @@
id=Schlüssel
title=Titel
status=Status
started=gestartet
finished=bearbeitet
user=Benutzer
details=Details
exception=Fehlermeldungen
moduletitle=Aufträge
moduleicon=../runo/icons/16/attention.png
hsarweb/src/texts/user.properties
New file
@@ -0,0 +1,11 @@
id=identifier
name=username
comment=comment
shell=shell
userid=numeric userid
homedir=home directory
pac=packet
quota_softlimit=quota soft limit
quota_hardlimit=quota hard limit
moduletitle=unix user
moduleicon=../runo/icons/16/users.png
hsarweb/src/texts/user_de.properties
New file
@@ -0,0 +1,11 @@
id=Schlüssel
name=Benutzername
comment=Beschreibung
shell=Unix Shell
userid=Numerische Id
homedir=Heimat Verzeichnis
pac=Paket
quota_softlimit=Weiche Quota
quota_hardlimit=Harte Quota
moduletitle=Unix Benutzer
moduleicon=../runo/icons/16/users.png