diff --git a/hsarback/database/data.sql b/hsarback/database/data.sql
index 8c20fab..363b0c0 100644
--- a/hsarback/database/data.sql
+++ b/hsarback/database/data.sql
@@ -79,12 +79,16 @@ INSERT INTO component (basepacket_id, basecomponent_id, min_quantity, max_quanti
--
INSERT INTO business_partner (member_id, member_code, member_since, shares_signed, free, indicator_vat, exempt_vat)
VALUES (10000, 'hsh00-hsh', current_date, 0, TRUE, 'NET', FALSE);
+INSERT INTO business_partner (member_id, member_code, member_since, shares_signed, free, indicator_vat, exempt_vat)
+ VALUES (20000, 'hsh00-aaa', current_date, 0, TRUE, 'NET', FALSE);
--
-- table: contact
--
INSERT INTO contact (bp_id, salut, first_name, last_name, firma, email)
SELECT bp_id, 'Herr', 'Uwe', 'Mueller', 'Hostsharing eG', 'service@hostsharing.net' FROM business_partner WHERE member_id=10000;
+INSERT INTO contact (bp_id, salut, first_name, last_name, firma, email)
+ SELECT bp_id, 'Herr', 'Ömer-Günther', 'Janßen-Müller', '', 'test@example.net' FROM business_partner WHERE member_id=20000;
--
-- Table: inet_addr
@@ -164,6 +168,12 @@ INSERT INTO packet_component (basecomponent_id, packet_id, quantity, created)
INSERT INTO unixuser (name, comment, shell, homedir, locked, packet_id, userid)
SELECT 'hsh00', 'packet hsh00', '/bin/bash', '/home/pacs/hsh00', FALSE, packet_id, 10001 FROM packet
WHERE packet_name='hsh00';
+INSERT INTO unixuser (name, comment, shell, homedir, locked, packet_id, userid)
+ SELECT 'hsh00-hsh', 'member hsh', '/bin/bash', '/home/pacs/hsh00/users/hsh', FALSE, packet_id, 10003 FROM packet
+ WHERE packet_name='hsh00';
+INSERT INTO unixuser (name, comment, shell, homedir, locked, packet_id, userid)
+ SELECT 'hsh00-aaa', 'member aaa', '/bin/bash', '/home/pacs/hsh00/users/aaa', FALSE, packet_id, 10003 FROM packet
+ WHERE packet_name='hsh00';
INSERT INTO unixuser (name, comment, shell, homedir, locked, packet_id, userid)
SELECT 'hsh01', 'packet hsh01', '/bin/bash', '/home/pacs/hsh01', FALSE, packet_id, 10002 FROM packet
WHERE packet_name='hsh01';
@@ -196,7 +206,9 @@ INSERT INTO domain_option (domain_option_name)
INSERT INTO domain_option (domain_option_name)
VALUES ('letsencrypt');
INSERT INTO domain_option (domain_option_name)
- VALUES ('php5');
+ VALUES ('autoconfig');
+INSERT INTO domain_option (domain_option_name)
+ VALUES ('dkim');
--
-- table: price_list
diff --git a/hsarback/pom.xml b/hsarback/pom.xml
index 59181c7..6f4ac05 100644
--- a/hsarback/pom.xml
+++ b/hsarback/pom.xml
@@ -38,6 +38,11 @@
hsadmin-util
4.0.6
+
+ de.hsadmin.core
+ hsadmin-qserv
+ 4.0.6
+
commons-httpclient
commons-httpclient
@@ -48,6 +53,11 @@
commons-lang
2.6
+
+ commons-net
+ commons-net
+ 3.9.0
+
org.apache.xmlrpc
xmlrpc-server
@@ -63,11 +73,6 @@
velocity-engine-core
2.3
-
- org.apache.activemq
- activemq-core
- 5.7.0
-
org.apache.openjpa
openjpa
@@ -85,6 +90,18 @@
4.0.1
provided
+
+ org.apache.activemq
+ activemq-all
+ 5.18.1
+ provided
+
+
+ org.apache.geronimo.specs
+ geronimo-jms_1.1_spec
+ 1.1.1
+ provided
+
hsar
@@ -95,23 +112,13 @@
3.4.0
- org.apache.openjpa
- openjpa-maven-plugin
- 3.2.2
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.11.0
- **/QueueTask.class,**/Domain.class,**/DomainOption.class,**/EMailAddress.class,**/EMailAlias.class,**/Customer.class,**/Contact.class,**/UnixUser.class,**/Pac.class,**/BasePac.class,**/BaseComponent.class,**/PacComponent.class,**/Component.class,**/Hive.class,**/INetAddress.class,**/Database.class,**/DatabaseUser.class,**/PgSqlDatabase.class,**/MySqlDatabase.class,**/PgSqlUser.class,**/MySqlUser.class
- true
- true
+
+ 11
-
-
- enhancer
- process-classes
-
- enhance
-
-
-
diff --git a/hsarback/src/main/java/de/hsadmin/mods/pac/PacTasksServlet.java b/hsarback/src/main/java/de/hsadmin/servlets/PacTasksServlet.java
similarity index 97%
rename from hsarback/src/main/java/de/hsadmin/mods/pac/PacTasksServlet.java
rename to hsarback/src/main/java/de/hsadmin/servlets/PacTasksServlet.java
index 050371b..1f10503 100644
--- a/hsarback/src/main/java/de/hsadmin/mods/pac/PacTasksServlet.java
+++ b/hsarback/src/main/java/de/hsadmin/servlets/PacTasksServlet.java
@@ -1,4 +1,4 @@
-package de.hsadmin.mods.pac;
+package de.hsadmin.servlets;
import java.io.IOException;
import java.io.PrintWriter;
@@ -29,6 +29,8 @@ import de.hsadmin.core.model.Transaction;
import de.hsadmin.core.qserv.Processor;
import de.hsadmin.core.qserv.QueueTask;
import de.hsadmin.core.util.Config;
+import de.hsadmin.mods.pac.Pac;
+import de.hsadmin.mods.pac.PacProcessorFactory;
public class PacTasksServlet extends HttpServlet
implements MessageListener, ExceptionListener {
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/PersistenceManagerContextListener.java b/hsarback/src/main/java/de/hsadmin/servlets/PersistenceManagerContextListener.java
similarity index 86%
rename from hsarback/src/main/java/de/hsadmin/core/model/PersistenceManagerContextListener.java
rename to hsarback/src/main/java/de/hsadmin/servlets/PersistenceManagerContextListener.java
index 85bd22a..7807196 100644
--- a/hsarback/src/main/java/de/hsadmin/core/model/PersistenceManagerContextListener.java
+++ b/hsarback/src/main/java/de/hsadmin/servlets/PersistenceManagerContextListener.java
@@ -1,8 +1,10 @@
-package de.hsadmin.core.model;
+package de.hsadmin.servlets;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
+import de.hsadmin.core.model.PersistenceManager;
+
public class PersistenceManagerContextListener implements ServletContextListener {
public PersistenceManagerContextListener() {
diff --git a/hsarback/src/main/java/de/hsadmin/core/qserv/QueueStatusReceiverServlet.java b/hsarback/src/main/java/de/hsadmin/servlets/QueueStatusReceiverServlet.java
similarity index 95%
rename from hsarback/src/main/java/de/hsadmin/core/qserv/QueueStatusReceiverServlet.java
rename to hsarback/src/main/java/de/hsadmin/servlets/QueueStatusReceiverServlet.java
index e57b9b0..eed9ffa 100644
--- a/hsarback/src/main/java/de/hsadmin/core/qserv/QueueStatusReceiverServlet.java
+++ b/hsarback/src/main/java/de/hsadmin/servlets/QueueStatusReceiverServlet.java
@@ -1,4 +1,4 @@
-package de.hsadmin.core.qserv;
+package de.hsadmin.servlets;
import java.io.IOException;
import java.io.PrintWriter;
@@ -27,6 +27,8 @@ import javax.servlet.http.HttpServletResponse;
import de.hsadmin.core.model.TechnicalException;
import de.hsadmin.core.model.TicketValidator;
import de.hsadmin.core.model.Transaction;
+import de.hsadmin.core.qserv.Processor;
+import de.hsadmin.core.qserv.QueueTask;
import de.hsadmin.core.util.Config;
public class QueueStatusReceiverServlet extends HttpServlet
@@ -66,7 +68,8 @@ public class QueueStatusReceiverServlet extends HttpServlet
InitialContext ctx = new InitialContext();
Context env = (Context) ctx.lookup("java:comp/env");
queueConnectionFactory = (QueueConnectionFactory) env.lookup("jms/QueueCF");
- while (!isConnected) {
+ int timeoutCounter = 10;
+ while (!isConnected && (timeoutCounter > 0)) {
try {
queueConnection = queueConnectionFactory.createQueueConnection(jmsUser, jmsPass);
queueConnection.setExceptionListener(this);
@@ -79,6 +82,7 @@ public class QueueStatusReceiverServlet extends HttpServlet
} catch (JMSException e) {
close();
try {
+ timeoutCounter--;
Thread.sleep(2000);
} catch (InterruptedException e1) { }
}
diff --git a/hsarback/src/main/webapp/WEB-INF/web.xml b/hsarback/src/main/webapp/WEB-INF/web.xml
index 397de57..3b189a3 100644
--- a/hsarback/src/main/webapp/WEB-INF/web.xml
+++ b/hsarback/src/main/webapp/WEB-INF/web.xml
@@ -5,26 +5,26 @@
version="2.5">
- de.hsadmin.core.model.PersistenceManagerContextListener
+ de.hsadmin.servlets.PersistenceManagerContextListener
Queue Status Servlet
- de.hsadmin.core.qserv.QueueStatusReceiverServlet
+ de.hsadmin.servlets.QueueStatusReceiverServlet
proxyValidateUrl
- http://localhost:8080/cas/proxyValidate
+ TestUmgebung
proxyServiceUrl
- http://localhost:8080/hsar/backend
+ TestUmgebung
1
Queue PacTasks Servlet
- de.hsadmin.mods.pac.PacTasksServlet
+ de.hsadmin.servlets.PacTasksServlet
1
diff --git a/hsarback/src/test/java/de/hsadmin/remote/ContinuousIntegrationTest.java b/hsarback/src/test/java/de/hsadmin/remote/ContinuousIntegrationTest.java
index 98206be..27e587b 100644
--- a/hsarback/src/test/java/de/hsadmin/remote/ContinuousIntegrationTest.java
+++ b/hsarback/src/test/java/de/hsadmin/remote/ContinuousIntegrationTest.java
@@ -19,7 +19,7 @@ import org.junit.runners.Suite;
EMailAddressTest.class,
SSLCertDomainTest.class,
DatabaseCleanTest.class,
- CustomerTest.class
+// CustomerTest.class
// LongCustomerNameTest.class,
// QueueTaskTest.class
})
diff --git a/hsarback/src/test/java/de/hsadmin/remote/InitDataTest.java b/hsarback/src/test/java/de/hsadmin/remote/InitDataTest.java
index 155a470..b6e949b 100644
--- a/hsarback/src/test/java/de/hsadmin/remote/InitDataTest.java
+++ b/hsarback/src/test/java/de/hsadmin/remote/InitDataTest.java
@@ -111,7 +111,7 @@ public class InitDataTest {
String grantingTicketURL = cas.getGrantingTicketURL(user);
Map setParams = new HashMap();
setParams.put("name", "aaa00-test2");
- setParams.put("password", "test123");
+ setParams.put("password", "Test123_");
setParams.put("quota", "128");
setParams.put("quotalimit", "192");
Object[] params = new Object[] { user,
@@ -139,7 +139,7 @@ public class InitDataTest {
String grantingTicketURL = cas.getGrantingTicketURL(user);
Map setParams = new HashMap();
setParams.put("name", "aaa00-admin");
- setParams.put("password", "test123");
+ setParams.put("password", "Test123_");
setParams.put("quota", "128");
setParams.put("quotalimit", "192");
Object[] params = new Object[] { user,
diff --git a/hsarback/src/test/java/de/hsadmin/remote/PacTest.java b/hsarback/src/test/java/de/hsadmin/remote/PacTest.java
index 70b0765..d9db891 100644
--- a/hsarback/src/test/java/de/hsadmin/remote/PacTest.java
+++ b/hsarback/src/test/java/de/hsadmin/remote/PacTest.java
@@ -2,6 +2,7 @@ package de.hsadmin.remote;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
@@ -172,7 +173,7 @@ public class PacTest {
assertEquals(count + 1, getPacsCount());
setParams = new HashMap();
Map whereParams = new HashMap();
- setParams.put("password", "test123");
+ setParams.put("password", "Test123_");
whereParams.put("name", "aaa01");
params = new Object[] { user,
cas.getServiceTicket(grantingTicketURL, RemoteTestHelper.getBackendURL()),
@@ -190,10 +191,9 @@ public class PacTest {
String user = "ad";
String grantingTicketURL = cas.getGrantingTicketURL(user);
Map setParams = new HashMap();
- setParams.put("name", "aaa90");
- setParams.put("hive", "h99");
+ setParams.put("name", "vm1101");
setParams.put("customer", config.getProperty("accountprefix.customer") + "-aaa");
- setParams.put("basepac", BasePacType.PAC_SRV);
+ setParams.put("basepac", BasePacType.PAC_MGD);
setParams.put("curinetaddr", "176.9.242.76");
setParams.put("free", "true");
Object[] params = new Object[] { user,
@@ -207,7 +207,7 @@ public class PacTest {
}
assertEquals(count + 1, getPacsCount());
Map whereParams = new HashMap();
- whereParams.put("name", "aaa90");
+ whereParams.put("name", "vm1101");
params = new Object[] { user,
cas.getServiceTicket(grantingTicketURL, RemoteTestHelper.getBackendURL()),
whereParams };
@@ -219,7 +219,8 @@ public class PacTest {
assertTrue(resultArr[0] instanceof Map, ?>);
@SuppressWarnings("unchecked")
Map pacHash = (Map) resultArr[0];
- assertEquals("aaa90", pacHash.get("name"));
+ assertEquals("vm1101", pacHash.get("name"));
+ assertNull(pacHash.get("hive"));
assertNotNull(pacHash.get("components"));
assertTrue(pacHash.get("components") instanceof Map, ?>);
@SuppressWarnings("unchecked")
diff --git a/hsarback/src/test/java/de/hsadmin/remote/RemoteCASHelper.java b/hsarback/src/test/java/de/hsadmin/remote/RemoteCASHelper.java
index cac07bc..db9eb50 100644
--- a/hsarback/src/test/java/de/hsadmin/remote/RemoteCASHelper.java
+++ b/hsarback/src/test/java/de/hsadmin/remote/RemoteCASHelper.java
@@ -103,7 +103,7 @@ public class RemoteCASHelper {
Map whereParams = new HashMap();
Map setParams = new HashMap();
whereParams.put("name", user);
- setParams.put("password", "test123");
+ setParams.put("password", "Test123_");
Object[] params = new Object[] { user,
getServiceTicket(grantingTicketURL, RemoteTestHelper.getBackendURL()),
setParams, whereParams };
diff --git a/hsarback/src/test/java/de/hsadmin/remote/UnixUserTest.java b/hsarback/src/test/java/de/hsadmin/remote/UnixUserTest.java
index 733e753..f947fae 100644
--- a/hsarback/src/test/java/de/hsadmin/remote/UnixUserTest.java
+++ b/hsarback/src/test/java/de/hsadmin/remote/UnixUserTest.java
@@ -76,7 +76,7 @@ public class UnixUserTest {
String grantingTicketURL = cas.getGrantingTicketURL(user);
Map setParams = new HashMap();
setParams.put("name", "aaa00-test3a");
- setParams.put("password", "test123");
+ setParams.put("password", "Test123_");
setParams.put("quota", "128");
setParams.put("quotalimit", "192");
Object[] params = new Object[] { user,
@@ -219,7 +219,7 @@ public class UnixUserTest {
String grantingTicketURL = cas.getGrantingTicketURL(user);
Map setParams = new HashMap();
setParams.put("name", "aaa00-test3");
- setParams.put("password", "test123");
+ setParams.put("password", "Test123_");
setParams.put("quota", "128");
setParams.put("quotalimit", "192");
Object[] params = new Object[] { user,
diff --git a/hsarback/webapp/META-INF/.gitignore b/hsarback/webapp/META-INF/.gitignore
deleted file mode 100644
index 67d823d..0000000
--- a/hsarback/webapp/META-INF/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/context.xml
diff --git a/hsarback/webapp/WEB-INF/.gitignore b/hsarback/webapp/WEB-INF/.gitignore
deleted file mode 100644
index 2ba34e6..0000000
--- a/hsarback/webapp/WEB-INF/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/web.xml
diff --git a/qserv/.gitignore b/qserv/.gitignore
new file mode 100644
index 0000000..21d4321
--- /dev/null
+++ b/qserv/.gitignore
@@ -0,0 +1,7 @@
+/build
+/target
+/bin
+.classpath
+.project
+.settings/
+
diff --git a/qserv/pom.xml b/qserv/pom.xml
new file mode 100644
index 0000000..6fe490a
--- /dev/null
+++ b/qserv/pom.xml
@@ -0,0 +1,93 @@
+
+ 4.0.0
+ de.hsadmin.core
+ hsadmin-qserv
+ 4.0.6
+
+ UTF-8
+ 11
+
+
+
+ de.hsadmin.core
+ hsadmin-util
+ 4.0.6
+
+
+ commons-lang
+ commons-lang
+ 2.6
+
+
+ commons-net
+ commons-net
+ 3.9.0
+
+
+ org.apache.velocity
+ velocity-engine-core
+ 2.3
+
+
+ org.apache.openjpa
+ openjpa
+ 3.2.2
+
+
+ junit
+ junit
+ 4.13.2
+ test
+
+
+ org.apache.activemq
+ activemq-all
+ 5.18.1
+ provided
+
+
+ org.apache.geronimo.specs
+ geronimo-jms_1.1_spec
+ 1.1.1
+ provided
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.11.0
+
+
+ 11
+
+
+
+ org.apache.openjpa
+ openjpa-maven-plugin
+ 3.2.2
+
+
+ **/QueueTask.class,**/Domain.class,**/DomainOption.class,**/EMailAddress.class,**/EMailAlias.class,**/Customer.class,**/Contact.class,**/UnixUser.class,**/Pac.class,**/BasePac.class,**/BaseComponent.class,**/PacComponent.class,**/Component.class,**/Hive.class,**/INetAddress.class,**/Database.class,**/DatabaseUser.class,**/PgSqlDatabase.class,**/MySqlDatabase.class,**/PgSqlUser.class,**/MySqlUser.class
+
+
+ src/main/resources/META-INF/persistence.xml
+ true
+ true
+
+
+
+ enhancer
+ process-classes
+
+ enhance
+
+
+
+
+
+
+
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/AbstractEntity.java b/qserv/src/main/java/de/hsadmin/core/model/AbstractEntity.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/model/AbstractEntity.java
rename to qserv/src/main/java/de/hsadmin/core/model/AbstractEntity.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/AbstractListValue.java b/qserv/src/main/java/de/hsadmin/core/model/AbstractListValue.java
similarity index 71%
rename from hsarback/src/main/java/de/hsadmin/core/model/AbstractListValue.java
rename to qserv/src/main/java/de/hsadmin/core/model/AbstractListValue.java
index 281c058..823655b 100644
--- a/hsarback/src/main/java/de/hsadmin/core/model/AbstractListValue.java
+++ b/qserv/src/main/java/de/hsadmin/core/model/AbstractListValue.java
@@ -1,6 +1,6 @@
package de.hsadmin.core.model;
-public abstract class AbstractListValue implements SelectableValue {
+public abstract class AbstractListValue implements SelectableValue {
private String name;
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/AbstractModuleImpl.java b/qserv/src/main/java/de/hsadmin/core/model/AbstractModuleImpl.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/model/AbstractModuleImpl.java
rename to qserv/src/main/java/de/hsadmin/core/model/AbstractModuleImpl.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/AnnFieldIO.java b/qserv/src/main/java/de/hsadmin/core/model/AnnFieldIO.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/model/AnnFieldIO.java
rename to qserv/src/main/java/de/hsadmin/core/model/AnnFieldIO.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/AnnModuleImpl.java b/qserv/src/main/java/de/hsadmin/core/model/AnnModuleImpl.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/model/AnnModuleImpl.java
rename to qserv/src/main/java/de/hsadmin/core/model/AnnModuleImpl.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/AuthenticationException.java b/qserv/src/main/java/de/hsadmin/core/model/AuthenticationException.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/model/AuthenticationException.java
rename to qserv/src/main/java/de/hsadmin/core/model/AuthenticationException.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/AuthorisationException.java b/qserv/src/main/java/de/hsadmin/core/model/AuthorisationException.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/model/AuthorisationException.java
rename to qserv/src/main/java/de/hsadmin/core/model/AuthorisationException.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/BooleanListValue.java b/qserv/src/main/java/de/hsadmin/core/model/BooleanListValue.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/model/BooleanListValue.java
rename to qserv/src/main/java/de/hsadmin/core/model/BooleanListValue.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/DefaultSelectableValues.java b/qserv/src/main/java/de/hsadmin/core/model/DefaultSelectableValues.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/model/DefaultSelectableValues.java
rename to qserv/src/main/java/de/hsadmin/core/model/DefaultSelectableValues.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/EntitySessionHelper.java b/qserv/src/main/java/de/hsadmin/core/model/EntitySessionHelper.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/model/EntitySessionHelper.java
rename to qserv/src/main/java/de/hsadmin/core/model/EntitySessionHelper.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/GenericModuleImpl.java b/qserv/src/main/java/de/hsadmin/core/model/GenericModuleImpl.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/model/GenericModuleImpl.java
rename to qserv/src/main/java/de/hsadmin/core/model/GenericModuleImpl.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/KindOfSelectableValue.java b/qserv/src/main/java/de/hsadmin/core/model/KindOfSelectableValue.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/model/KindOfSelectableValue.java
rename to qserv/src/main/java/de/hsadmin/core/model/KindOfSelectableValue.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/ModuleInterface.java b/qserv/src/main/java/de/hsadmin/core/model/ModuleInterface.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/model/ModuleInterface.java
rename to qserv/src/main/java/de/hsadmin/core/model/ModuleInterface.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/PersistenceManager.java b/qserv/src/main/java/de/hsadmin/core/model/PersistenceManager.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/model/PersistenceManager.java
rename to qserv/src/main/java/de/hsadmin/core/model/PersistenceManager.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/PrivilegesInterface.java b/qserv/src/main/java/de/hsadmin/core/model/PrivilegesInterface.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/model/PrivilegesInterface.java
rename to qserv/src/main/java/de/hsadmin/core/model/PrivilegesInterface.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/PrivilegesModuleImpl.java b/qserv/src/main/java/de/hsadmin/core/model/PrivilegesModuleImpl.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/model/PrivilegesModuleImpl.java
rename to qserv/src/main/java/de/hsadmin/core/model/PrivilegesModuleImpl.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/ReadWriteAccess.java b/qserv/src/main/java/de/hsadmin/core/model/ReadWriteAccess.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/model/ReadWriteAccess.java
rename to qserv/src/main/java/de/hsadmin/core/model/ReadWriteAccess.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/ReflectionUtil.java b/qserv/src/main/java/de/hsadmin/core/model/ReflectionUtil.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/model/ReflectionUtil.java
rename to qserv/src/main/java/de/hsadmin/core/model/ReflectionUtil.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/SearchFilter.java b/qserv/src/main/java/de/hsadmin/core/model/SearchFilter.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/model/SearchFilter.java
rename to qserv/src/main/java/de/hsadmin/core/model/SearchFilter.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/SecureDefaultModuleImpl.java b/qserv/src/main/java/de/hsadmin/core/model/SecureDefaultModuleImpl.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/model/SecureDefaultModuleImpl.java
rename to qserv/src/main/java/de/hsadmin/core/model/SecureDefaultModuleImpl.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/SelectableValue.java b/qserv/src/main/java/de/hsadmin/core/model/SelectableValue.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/model/SelectableValue.java
rename to qserv/src/main/java/de/hsadmin/core/model/SelectableValue.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/TechnicalException.java b/qserv/src/main/java/de/hsadmin/core/model/TechnicalException.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/model/TechnicalException.java
rename to qserv/src/main/java/de/hsadmin/core/model/TechnicalException.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/TicketValidator.java b/qserv/src/main/java/de/hsadmin/core/model/TicketValidator.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/model/TicketValidator.java
rename to qserv/src/main/java/de/hsadmin/core/model/TicketValidator.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/model/Transaction.java b/qserv/src/main/java/de/hsadmin/core/model/Transaction.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/model/Transaction.java
rename to qserv/src/main/java/de/hsadmin/core/model/Transaction.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/qserv/AbstractProcessor.java b/qserv/src/main/java/de/hsadmin/core/qserv/AbstractProcessor.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/qserv/AbstractProcessor.java
rename to qserv/src/main/java/de/hsadmin/core/qserv/AbstractProcessor.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/qserv/CommandShell.java b/qserv/src/main/java/de/hsadmin/core/qserv/CommandShell.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/qserv/CommandShell.java
rename to qserv/src/main/java/de/hsadmin/core/qserv/CommandShell.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/qserv/CompoundProcessor.java b/qserv/src/main/java/de/hsadmin/core/qserv/CompoundProcessor.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/qserv/CompoundProcessor.java
rename to qserv/src/main/java/de/hsadmin/core/qserv/CompoundProcessor.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/qserv/CopyFileProcessor.java b/qserv/src/main/java/de/hsadmin/core/qserv/CopyFileProcessor.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/qserv/CopyFileProcessor.java
rename to qserv/src/main/java/de/hsadmin/core/qserv/CopyFileProcessor.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/qserv/CreateFileProcessor.java b/qserv/src/main/java/de/hsadmin/core/qserv/CreateFileProcessor.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/qserv/CreateFileProcessor.java
rename to qserv/src/main/java/de/hsadmin/core/qserv/CreateFileProcessor.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/qserv/EntityProcessorFactory.java b/qserv/src/main/java/de/hsadmin/core/qserv/EntityProcessorFactory.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/qserv/EntityProcessorFactory.java
rename to qserv/src/main/java/de/hsadmin/core/qserv/EntityProcessorFactory.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/qserv/JDBCProcessor.java b/qserv/src/main/java/de/hsadmin/core/qserv/JDBCProcessor.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/qserv/JDBCProcessor.java
rename to qserv/src/main/java/de/hsadmin/core/qserv/JDBCProcessor.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/qserv/NullProcessor.java b/qserv/src/main/java/de/hsadmin/core/qserv/NullProcessor.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/qserv/NullProcessor.java
rename to qserv/src/main/java/de/hsadmin/core/qserv/NullProcessor.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/qserv/Processor.java b/qserv/src/main/java/de/hsadmin/core/qserv/Processor.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/qserv/Processor.java
rename to qserv/src/main/java/de/hsadmin/core/qserv/Processor.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/qserv/ProcessorException.java b/qserv/src/main/java/de/hsadmin/core/qserv/ProcessorException.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/qserv/ProcessorException.java
rename to qserv/src/main/java/de/hsadmin/core/qserv/ProcessorException.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/qserv/QueueClient.java b/qserv/src/main/java/de/hsadmin/core/qserv/QueueClient.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/qserv/QueueClient.java
rename to qserv/src/main/java/de/hsadmin/core/qserv/QueueClient.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/qserv/QueueCommons.java b/qserv/src/main/java/de/hsadmin/core/qserv/QueueCommons.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/qserv/QueueCommons.java
rename to qserv/src/main/java/de/hsadmin/core/qserv/QueueCommons.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/qserv/QueueServer.java b/qserv/src/main/java/de/hsadmin/core/qserv/QueueServer.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/qserv/QueueServer.java
rename to qserv/src/main/java/de/hsadmin/core/qserv/QueueServer.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/qserv/QueueTask.java b/qserv/src/main/java/de/hsadmin/core/qserv/QueueTask.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/qserv/QueueTask.java
rename to qserv/src/main/java/de/hsadmin/core/qserv/QueueTask.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/qserv/ShellException.java b/qserv/src/main/java/de/hsadmin/core/qserv/ShellException.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/qserv/ShellException.java
rename to qserv/src/main/java/de/hsadmin/core/qserv/ShellException.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/qserv/ShellProcessor.java b/qserv/src/main/java/de/hsadmin/core/qserv/ShellProcessor.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/qserv/ShellProcessor.java
rename to qserv/src/main/java/de/hsadmin/core/qserv/ShellProcessor.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/qserv/SmtpHelper.java b/qserv/src/main/java/de/hsadmin/core/qserv/SmtpHelper.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/qserv/SmtpHelper.java
rename to qserv/src/main/java/de/hsadmin/core/qserv/SmtpHelper.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/qserv/VelocityProcessor.java b/qserv/src/main/java/de/hsadmin/core/qserv/VelocityProcessor.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/qserv/VelocityProcessor.java
rename to qserv/src/main/java/de/hsadmin/core/qserv/VelocityProcessor.java
diff --git a/hsarback/src/main/java/de/hsadmin/core/qserv/WaitingTasksProcessor.java b/qserv/src/main/java/de/hsadmin/core/qserv/WaitingTasksProcessor.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/core/qserv/WaitingTasksProcessor.java
rename to qserv/src/main/java/de/hsadmin/core/qserv/WaitingTasksProcessor.java
diff --git a/hsarback/src/main/java/de/hsadmin/hostsharing/BasePacType.java b/qserv/src/main/java/de/hsadmin/hostsharing/BasePacType.java
similarity index 53%
rename from hsarback/src/main/java/de/hsadmin/hostsharing/BasePacType.java
rename to qserv/src/main/java/de/hsadmin/hostsharing/BasePacType.java
index 62bdc4d..2624a5e 100644
--- a/hsarback/src/main/java/de/hsadmin/hostsharing/BasePacType.java
+++ b/qserv/src/main/java/de/hsadmin/hostsharing/BasePacType.java
@@ -3,6 +3,7 @@ package de.hsadmin.hostsharing;
public class BasePacType {
public static final String PAC_WEB = "PAC/WEB";
- public static final String PAC_SRV = "SRV/MGD";
+ public static final String PAC_MGD = "SRV/MGD";
+ public static final String PAC_CLD = "SRV/CLD";
}
diff --git a/hsarback/src/main/java/de/hsadmin/hostsharing/MultiOption.java b/qserv/src/main/java/de/hsadmin/hostsharing/MultiOption.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/hostsharing/MultiOption.java
rename to qserv/src/main/java/de/hsadmin/hostsharing/MultiOption.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/cust/Contact.java b/qserv/src/main/java/de/hsadmin/mods/cust/Contact.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/cust/Contact.java
rename to qserv/src/main/java/de/hsadmin/mods/cust/Contact.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/cust/Customer.java b/qserv/src/main/java/de/hsadmin/mods/cust/Customer.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/cust/Customer.java
rename to qserv/src/main/java/de/hsadmin/mods/cust/Customer.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/cust/IndicatorVAT.java b/qserv/src/main/java/de/hsadmin/mods/cust/IndicatorVAT.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/cust/IndicatorVAT.java
rename to qserv/src/main/java/de/hsadmin/mods/cust/IndicatorVAT.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/db/Database.java b/qserv/src/main/java/de/hsadmin/mods/db/Database.java
similarity index 96%
rename from hsarback/src/main/java/de/hsadmin/mods/db/Database.java
rename to qserv/src/main/java/de/hsadmin/mods/db/Database.java
index 19d436c..5d25610 100644
--- a/hsarback/src/main/java/de/hsadmin/mods/db/Database.java
+++ b/qserv/src/main/java/de/hsadmin/mods/db/Database.java
@@ -25,7 +25,6 @@ import de.hsadmin.core.model.AbstractEntity;
import de.hsadmin.core.model.AbstractModuleImpl;
import de.hsadmin.core.model.AnnFieldIO;
import de.hsadmin.core.model.ReadWriteAccess;
-import de.hsadmin.core.model.SearchFilter;
import de.hsadmin.mods.pac.Pac;
import de.hsadmin.mods.user.UnixUser;
@@ -34,14 +33,13 @@ import de.hsadmin.mods.user.UnixUser;
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="engine", discriminatorType=DiscriminatorType.STRING)
@SequenceGenerator(name = "DatabaseSeqGen", sequenceName = "database_database_id_seq")
-@SearchFilter("obj.pac = :loginUserPac OR obj.pac.customer.name = :loginUserName")
public abstract class Database extends AbstractEntity implements Serializable {
private static final long serialVersionUID = 6243815106074846080L;
@Id
@GeneratedValue(strategy = SEQUENCE, generator = "DatabaseSeqGen")
- @Column(name = "database_id", columnDefinition = "integer", updatable=false, insertable=false)
+ @Column(name = "database_id", columnDefinition = "integer")
private long id;
@AnnFieldIO(validation="[a-zA-Z]*", rw=ReadWriteAccess.READONLY)
diff --git a/hsarback/src/main/java/de/hsadmin/mods/db/DatabaseUser.java b/qserv/src/main/java/de/hsadmin/mods/db/DatabaseUser.java
similarity index 98%
rename from hsarback/src/main/java/de/hsadmin/mods/db/DatabaseUser.java
rename to qserv/src/main/java/de/hsadmin/mods/db/DatabaseUser.java
index 25cd4c3..0e21fd2 100644
--- a/hsarback/src/main/java/de/hsadmin/mods/db/DatabaseUser.java
+++ b/qserv/src/main/java/de/hsadmin/mods/db/DatabaseUser.java
@@ -40,7 +40,7 @@ public abstract class DatabaseUser extends AbstractEntity implements Serializabl
@Id
@GeneratedValue(strategy = SEQUENCE, generator = "DatabaseUserSeqGen")
- @Column(name = "dbuser_id", columnDefinition = "integer", updatable=false, insertable=false)
+ @Column(name = "dbuser_id", columnDefinition = "integer")
private long id;
@AnnFieldIO(validation="[a-z0-9]{5}_[a-z0-9_]{1,26}", rw=ReadWriteAccess.WRITEONCE)
diff --git a/hsarback/src/main/java/de/hsadmin/mods/db/MySqlDatabase.java b/qserv/src/main/java/de/hsadmin/mods/db/MySqlDatabase.java
similarity index 93%
rename from hsarback/src/main/java/de/hsadmin/mods/db/MySqlDatabase.java
rename to qserv/src/main/java/de/hsadmin/mods/db/MySqlDatabase.java
index a1c3053..7113e23 100644
--- a/hsarback/src/main/java/de/hsadmin/mods/db/MySqlDatabase.java
+++ b/qserv/src/main/java/de/hsadmin/mods/db/MySqlDatabase.java
@@ -11,7 +11,8 @@ import de.hsadmin.mods.pac.Pac;
@Entity(name = "MySqlDatabases")
@DiscriminatorValue("mysql")
-@SearchFilter("obj.instance = 'mysql' AND (" + " obj.pac = :loginUserPac OR "
+@SearchFilter("obj.instance = 'mysql' AND ("
+ + " obj.pac = :loginUserPac OR "
+ " obj.pac.customer.memberCode = :loginUserName )")
@AnnModuleImpl(de.hsadmin.mods.db.MySqlDatabaseModuleImpl.class)
public class MySqlDatabase extends Database implements Serializable {
diff --git a/hsarback/src/main/java/de/hsadmin/mods/db/MySqlDatabaseModuleImpl.java b/qserv/src/main/java/de/hsadmin/mods/db/MySqlDatabaseModuleImpl.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/db/MySqlDatabaseModuleImpl.java
rename to qserv/src/main/java/de/hsadmin/mods/db/MySqlDatabaseModuleImpl.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/db/MySqlDatabaseProcessorFactory.java b/qserv/src/main/java/de/hsadmin/mods/db/MySqlDatabaseProcessorFactory.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/db/MySqlDatabaseProcessorFactory.java
rename to qserv/src/main/java/de/hsadmin/mods/db/MySqlDatabaseProcessorFactory.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/db/MySqlUser.java b/qserv/src/main/java/de/hsadmin/mods/db/MySqlUser.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/db/MySqlUser.java
rename to qserv/src/main/java/de/hsadmin/mods/db/MySqlUser.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/db/MySqlUserModuleImpl.java b/qserv/src/main/java/de/hsadmin/mods/db/MySqlUserModuleImpl.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/db/MySqlUserModuleImpl.java
rename to qserv/src/main/java/de/hsadmin/mods/db/MySqlUserModuleImpl.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/db/MySqlUserProcessorFactory.java b/qserv/src/main/java/de/hsadmin/mods/db/MySqlUserProcessorFactory.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/db/MySqlUserProcessorFactory.java
rename to qserv/src/main/java/de/hsadmin/mods/db/MySqlUserProcessorFactory.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/db/PgSqlDatabase.java b/qserv/src/main/java/de/hsadmin/mods/db/PgSqlDatabase.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/db/PgSqlDatabase.java
rename to qserv/src/main/java/de/hsadmin/mods/db/PgSqlDatabase.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/db/PgSqlDatabaseModuleImpl.java b/qserv/src/main/java/de/hsadmin/mods/db/PgSqlDatabaseModuleImpl.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/db/PgSqlDatabaseModuleImpl.java
rename to qserv/src/main/java/de/hsadmin/mods/db/PgSqlDatabaseModuleImpl.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/db/PgSqlDatabaseProcessorFactory.java b/qserv/src/main/java/de/hsadmin/mods/db/PgSqlDatabaseProcessorFactory.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/db/PgSqlDatabaseProcessorFactory.java
rename to qserv/src/main/java/de/hsadmin/mods/db/PgSqlDatabaseProcessorFactory.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/db/PgSqlUser.java b/qserv/src/main/java/de/hsadmin/mods/db/PgSqlUser.java
similarity index 92%
rename from hsarback/src/main/java/de/hsadmin/mods/db/PgSqlUser.java
rename to qserv/src/main/java/de/hsadmin/mods/db/PgSqlUser.java
index 80c5a66..e3cb8dd 100644
--- a/hsarback/src/main/java/de/hsadmin/mods/db/PgSqlUser.java
+++ b/qserv/src/main/java/de/hsadmin/mods/db/PgSqlUser.java
@@ -11,7 +11,8 @@ import de.hsadmin.mods.pac.Pac;
@Entity(name = "PgSqlUsers")
@DiscriminatorValue("pgsql")
-@SearchFilter("obj.instance = 'pgsql' AND (" + " obj.pac = :loginUserPac OR "
+@SearchFilter("obj.instance = 'pgsql' AND ("
+ + " obj.pac = :loginUserPac OR "
+ " obj.pac.customer.memberCode = :loginUserName )")
@AnnModuleImpl(de.hsadmin.mods.db.PgSqlUserModuleImpl.class)
public class PgSqlUser extends DatabaseUser implements Serializable {
diff --git a/hsarback/src/main/java/de/hsadmin/mods/db/PgSqlUserModuleImpl.java b/qserv/src/main/java/de/hsadmin/mods/db/PgSqlUserModuleImpl.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/db/PgSqlUserModuleImpl.java
rename to qserv/src/main/java/de/hsadmin/mods/db/PgSqlUserModuleImpl.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/db/PgSqlUserProcessorFactory.java b/qserv/src/main/java/de/hsadmin/mods/db/PgSqlUserProcessorFactory.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/db/PgSqlUserProcessorFactory.java
rename to qserv/src/main/java/de/hsadmin/mods/db/PgSqlUserProcessorFactory.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/dom/Domain.java b/qserv/src/main/java/de/hsadmin/mods/dom/Domain.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/dom/Domain.java
rename to qserv/src/main/java/de/hsadmin/mods/dom/Domain.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/dom/DomainModuleImpl.java b/qserv/src/main/java/de/hsadmin/mods/dom/DomainModuleImpl.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/dom/DomainModuleImpl.java
rename to qserv/src/main/java/de/hsadmin/mods/dom/DomainModuleImpl.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/dom/DomainOption.java b/qserv/src/main/java/de/hsadmin/mods/dom/DomainOption.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/dom/DomainOption.java
rename to qserv/src/main/java/de/hsadmin/mods/dom/DomainOption.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/dom/DomainOptionValues.java b/qserv/src/main/java/de/hsadmin/mods/dom/DomainOptionValues.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/dom/DomainOptionValues.java
rename to qserv/src/main/java/de/hsadmin/mods/dom/DomainOptionValues.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/dom/DomainProcessorFactory.java b/qserv/src/main/java/de/hsadmin/mods/dom/DomainProcessorFactory.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/dom/DomainProcessorFactory.java
rename to qserv/src/main/java/de/hsadmin/mods/dom/DomainProcessorFactory.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/email/EMailAddress.java b/qserv/src/main/java/de/hsadmin/mods/email/EMailAddress.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/email/EMailAddress.java
rename to qserv/src/main/java/de/hsadmin/mods/email/EMailAddress.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/email/EMailAddressModuleImpl.java b/qserv/src/main/java/de/hsadmin/mods/email/EMailAddressModuleImpl.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/email/EMailAddressModuleImpl.java
rename to qserv/src/main/java/de/hsadmin/mods/email/EMailAddressModuleImpl.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/email/EMailAddressProcessorFactory.java b/qserv/src/main/java/de/hsadmin/mods/email/EMailAddressProcessorFactory.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/email/EMailAddressProcessorFactory.java
rename to qserv/src/main/java/de/hsadmin/mods/email/EMailAddressProcessorFactory.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/email/EMailAlias.java b/qserv/src/main/java/de/hsadmin/mods/email/EMailAlias.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/email/EMailAlias.java
rename to qserv/src/main/java/de/hsadmin/mods/email/EMailAlias.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/email/EMailAliasModuleImpl.java b/qserv/src/main/java/de/hsadmin/mods/email/EMailAliasModuleImpl.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/email/EMailAliasModuleImpl.java
rename to qserv/src/main/java/de/hsadmin/mods/email/EMailAliasModuleImpl.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/email/EMailAliasProcessorFactory.java b/qserv/src/main/java/de/hsadmin/mods/email/EMailAliasProcessorFactory.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/email/EMailAliasProcessorFactory.java
rename to qserv/src/main/java/de/hsadmin/mods/email/EMailAliasProcessorFactory.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/pac/BaseComponent.java b/qserv/src/main/java/de/hsadmin/mods/pac/BaseComponent.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/pac/BaseComponent.java
rename to qserv/src/main/java/de/hsadmin/mods/pac/BaseComponent.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/pac/BasePac.java b/qserv/src/main/java/de/hsadmin/mods/pac/BasePac.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/pac/BasePac.java
rename to qserv/src/main/java/de/hsadmin/mods/pac/BasePac.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/pac/Component.java b/qserv/src/main/java/de/hsadmin/mods/pac/Component.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/pac/Component.java
rename to qserv/src/main/java/de/hsadmin/mods/pac/Component.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/pac/Hive.java b/qserv/src/main/java/de/hsadmin/mods/pac/Hive.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/pac/Hive.java
rename to qserv/src/main/java/de/hsadmin/mods/pac/Hive.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/pac/INetAddress.java b/qserv/src/main/java/de/hsadmin/mods/pac/INetAddress.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/pac/INetAddress.java
rename to qserv/src/main/java/de/hsadmin/mods/pac/INetAddress.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/pac/Pac.java b/qserv/src/main/java/de/hsadmin/mods/pac/Pac.java
similarity index 99%
rename from hsarback/src/main/java/de/hsadmin/mods/pac/Pac.java
rename to qserv/src/main/java/de/hsadmin/mods/pac/Pac.java
index fe6d01a..c97386d 100644
--- a/hsarback/src/main/java/de/hsadmin/mods/pac/Pac.java
+++ b/qserv/src/main/java/de/hsadmin/mods/pac/Pac.java
@@ -292,7 +292,7 @@ public class Pac extends AbstractEntity implements Serializable {
public boolean isManagedServer() {
String basepacName = getBasepac().getName();
- return BasePacType.PAC_SRV.equals(basepacName);
+ return BasePacType.PAC_MGD.equals(basepacName);
}
public boolean usesPacIPAddress() {
diff --git a/hsarback/src/main/java/de/hsadmin/mods/pac/PacComponent.java b/qserv/src/main/java/de/hsadmin/mods/pac/PacComponent.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/pac/PacComponent.java
rename to qserv/src/main/java/de/hsadmin/mods/pac/PacComponent.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/pac/PacModuleImpl.java b/qserv/src/main/java/de/hsadmin/mods/pac/PacModuleImpl.java
similarity index 99%
rename from hsarback/src/main/java/de/hsadmin/mods/pac/PacModuleImpl.java
rename to qserv/src/main/java/de/hsadmin/mods/pac/PacModuleImpl.java
index 2d81bbb..04061ff 100644
--- a/hsarback/src/main/java/de/hsadmin/mods/pac/PacModuleImpl.java
+++ b/qserv/src/main/java/de/hsadmin/mods/pac/PacModuleImpl.java
@@ -122,7 +122,7 @@ public class PacModuleImpl extends AbstractModuleImpl {
newPacEntity = super.add(newEntity);
} else {
if (pacName == null || pacName.length() != 6 || !pacName.startsWith("vm")) {
- throw new HSAdminException("vm names require 6 characters stating with 'vm'");
+ throw new HSAdminException("vm names require 6 characters starting with 'vm'");
}
newPacEntity = super.add(newEntity);
}
diff --git a/hsarback/src/main/java/de/hsadmin/mods/pac/PacProcessorFactory.java b/qserv/src/main/java/de/hsadmin/mods/pac/PacProcessorFactory.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/pac/PacProcessorFactory.java
rename to qserv/src/main/java/de/hsadmin/mods/pac/PacProcessorFactory.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/qstat/QTaskModuleImpl.java b/qserv/src/main/java/de/hsadmin/mods/qstat/QTaskModuleImpl.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/qstat/QTaskModuleImpl.java
rename to qserv/src/main/java/de/hsadmin/mods/qstat/QTaskModuleImpl.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/user/UnixUser.java b/qserv/src/main/java/de/hsadmin/mods/user/UnixUser.java
similarity index 98%
rename from hsarback/src/main/java/de/hsadmin/mods/user/UnixUser.java
rename to qserv/src/main/java/de/hsadmin/mods/user/UnixUser.java
index ded08c7..e553f70 100644
--- a/hsarback/src/main/java/de/hsadmin/mods/user/UnixUser.java
+++ b/qserv/src/main/java/de/hsadmin/mods/user/UnixUser.java
@@ -33,7 +33,7 @@ public class UnixUser extends AbstractEntity implements Serializable {
@Id
@GeneratedValue(strategy = SEQUENCE, generator = "UnixUsersSeqGen")
- @Column(name="unixuser_id", columnDefinition="integer", updatable=false, insertable=false)
+ @Column(name="unixuser_id", columnDefinition="integer")
private long id;
// attribute userid - really NOT unique!
diff --git a/hsarback/src/main/java/de/hsadmin/mods/user/UnixUserModuleImpl.java b/qserv/src/main/java/de/hsadmin/mods/user/UnixUserModuleImpl.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/user/UnixUserModuleImpl.java
rename to qserv/src/main/java/de/hsadmin/mods/user/UnixUserModuleImpl.java
diff --git a/hsarback/src/main/java/de/hsadmin/mods/user/UnixUserProcessorFactory.java b/qserv/src/main/java/de/hsadmin/mods/user/UnixUserProcessorFactory.java
similarity index 100%
rename from hsarback/src/main/java/de/hsadmin/mods/user/UnixUserProcessorFactory.java
rename to qserv/src/main/java/de/hsadmin/mods/user/UnixUserProcessorFactory.java
diff --git a/qserv/src/main/resources/META-INF/persistence.xml b/qserv/src/main/resources/META-INF/persistence.xml
new file mode 100644
index 0000000..3cf4201
--- /dev/null
+++ b/qserv/src/main/resources/META-INF/persistence.xml
@@ -0,0 +1,38 @@
+
+
+
+ org.apache.openjpa.persistence.PersistenceProviderImpl
+ java:/comp/env/jdbc/HSAdminDB
+ de.hsadmin.core.qserv.QueueTask
+ de.hsadmin.mods.cust.Customer
+ de.hsadmin.mods.cust.Contact
+ de.hsadmin.mods.pac.Pac
+ de.hsadmin.mods.pac.BasePac
+ de.hsadmin.mods.pac.BaseComponent
+ de.hsadmin.mods.pac.Component
+ de.hsadmin.mods.pac.PacComponent
+ de.hsadmin.mods.pac.Hive
+ de.hsadmin.mods.pac.INetAddress
+ de.hsadmin.mods.user.UnixUser
+ de.hsadmin.mods.dom.Domain
+ de.hsadmin.mods.dom.DomainOption
+ de.hsadmin.mods.email.EMailAddress
+ de.hsadmin.mods.email.EMailAlias
+ de.hsadmin.mods.db.DatabaseUser
+ de.hsadmin.mods.db.MySqlUser
+ de.hsadmin.mods.db.PgSqlUser
+ de.hsadmin.mods.db.Database
+ de.hsadmin.mods.db.MySqlDatabase
+ de.hsadmin.mods.db.PgSqlDatabase
+
+
+
+
+
+
diff --git a/util/pom.xml b/util/pom.xml
index 616e496..69896bd 100644
--- a/util/pom.xml
+++ b/util/pom.xml
@@ -18,18 +18,16 @@
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 3.11.0
-
-
- 11
-
-
-
-
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.11.0
+
+
+ 11
+
+
+
diff --git a/util/src/main/java/de/hsadmin/core/util/IPv6Trick.java b/util/src/main/java/de/hsadmin/core/util/IPv6Trick.java
index 760ccd7..323561f 100644
--- a/util/src/main/java/de/hsadmin/core/util/IPv6Trick.java
+++ b/util/src/main/java/de/hsadmin/core/util/IPv6Trick.java
@@ -22,6 +22,9 @@ public class IPv6Trick {
private static final String IPv6_PREFIX_HS = "2a01:37:";
private static final String IPv6_PREFIX_HS_ALT = "2a01:0037:";
+ private static final String IPv4_176_9_242 = "176.9.242"; // Hetzner Nuernberg
+ private static final String IPv6_PREFIX_NU = "2a01:4f8:150:2161:1::1";
+
public static String convertIPv4ToIPv6(final String ipv4address) throws HSAdminException {
if (ipv4address == null || ipv4address.length() == 0) {
throw new HSAdminException("no IPv4 address given");
@@ -38,6 +41,9 @@ public class IPv6Trick {
|| inetV4AddressString.startsWith(IPv4_83_223_94) ) {
return embedIPv4Address(inetV4Address, InetAddress.getByName(IPv6_PREFIX_ES));
}
+ if (inetV4AddressString.startsWith(IPv4_176_9_242)) { // Hetzner Nuernberg
+ return embedIPv4Address(inetV4Address, InetAddress.getByName(IPv6_PREFIX_NU));
+ }
} catch (UnknownHostException e) {
throw new HSAdminException(e);
}
@@ -56,6 +62,7 @@ public class IPv6Trick {
if (inetV4AddressString.startsWith(IPv4_83_223_91)) return IPv4_83_223_91 + ".1";
if (inetV4AddressString.startsWith(IPv4_83_223_94)) return IPv4_83_223_94 + ".1";
if (inetV4AddressString.startsWith(IPv4_83_223_95)) return IPv4_83_223_95 + ".1";
+ if (inetV4AddressString.startsWith(IPv4_176_9_242)) return IPv4_176_9_242 + ".51";
throw new HSAdminException("unknown IPv4 address given");
} catch (UnknownHostException e) {
throw new HSAdminException(e);
@@ -78,6 +85,9 @@ public class IPv6Trick {
|| inetV4AddressString.startsWith(IPv4_83_223_94) ) {
return IPv6_PREFIX_ES;
}
+ if (inetV4AddressString.startsWith(IPv4_176_9_242)) { // Hetzner Nuernberg
+ return IPv6_PREFIX_NU;
+ }
} catch (UnknownHostException e) {
throw new HSAdminException(e);
}
@@ -102,6 +112,10 @@ public class IPv6Trick {
// Speedbone Alboin Kontor
isKnown = true;
}
+ if (remoteAddress.startsWith(IPv4_176_9_242)) {
+ // Hetzner Nuernberg
+ isKnown = true;
+ }
return isKnown;
}
diff --git a/util/src/main/java/de/hsadmin/core/util/PasswordTool.java b/util/src/main/java/de/hsadmin/core/util/PasswordTool.java
index 9f87743..4850b38 100644
--- a/util/src/main/java/de/hsadmin/core/util/PasswordTool.java
+++ b/util/src/main/java/de/hsadmin/core/util/PasswordTool.java
@@ -28,7 +28,7 @@ public final class PasswordTool {
if (chr >= 'A' && chr <= 'Z') {
containsUppercaseCharacter = 1;
} else
- if (chr >= '0' && chr <= '1') {
+ if (chr >= '0' && chr <= '9') {
containsDigit = 1;
} else {
containsSpecialCharacter = 1;