From 3336715ed6a8a5f6592602e4021df5d3f386bfd1 Mon Sep 17 00:00:00 2001 From: Peter Hormanns Date: Fri, 24 Aug 2018 19:56:54 +0200 Subject: [PATCH] initial ldap service, LdapUserVO --- ldap-services/.gitignore | 14 ++ ldap-services/pom.xml | 197 ++++++++++++++++++ .../hsadmin/service/ldap/LdapUserService.java | 16 ++ .../service/ldap/LdapUserServiceLocal.java | 10 + .../de/hsadmin/service/ldap/LdapUserVO.java | 133 ++++++++++++ pom.xml | 1 + 6 files changed, 371 insertions(+) create mode 100644 ldap-services/.gitignore create mode 100644 ldap-services/pom.xml create mode 100644 ldap-services/src/main/java/de/hsadmin/service/ldap/LdapUserService.java create mode 100644 ldap-services/src/main/java/de/hsadmin/service/ldap/LdapUserServiceLocal.java create mode 100644 ldap-services/src/main/java/de/hsadmin/service/ldap/LdapUserVO.java diff --git a/ldap-services/.gitignore b/ldap-services/.gitignore new file mode 100644 index 0000000..444fd16 --- /dev/null +++ b/ldap-services/.gitignore @@ -0,0 +1,14 @@ +*.class + +# Package Files # +*.jar +*.war +*.ear + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* +/target +/.settings +/.classpath +/.project +/derby.log diff --git a/ldap-services/pom.xml b/ldap-services/pom.xml new file mode 100644 index 0000000..481e045 --- /dev/null +++ b/ldap-services/pom.xml @@ -0,0 +1,197 @@ + + 4.0.0 + + de.hsadmin + hsadmin-parent + 1.0-SNAPSHOT + + + ldap-webapp + war + HSAdmin XML-RPC LDAP Account Webapp + + + + de.hsadmin + framework + 1.0-SNAPSHOT + + + de.hsadmin + framework + 1.0-SNAPSHOT + test-jar + test + + + org.apache.geronimo.specs + geronimo-jpa_2.0_spec + 1.1 + provided + + + org.apache.geronimo.specs + geronimo-ejb_3.0_spec + 1.0.1 + provided + + + org.apache.geronimo.specs + geronimo-validation_1.0_spec + 1.1 + + + org.apache.bval + org.apache.bval.bundle + 0.5 + test + + + org.apache.openjpa + openjpa + 2.4.2 + test + + + org.liquibase + liquibase-core + 3.5.3 + test + + + org.apache.xmlrpc + xmlrpc-server + 3.1.3 + + + javax.servlet + servlet-api + + + + + + + + org.jacoco + jacoco-maven-plugin + + + org.apache.maven.plugins + maven-war-plugin + 3.0.0 + + true + + + + org.apache.maven.plugins + 3.0.2 + maven-jar-plugin + + + **/XmlRpcServlet.properties + + + + + make-a-jar + compile + + jar + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 1.7 + + + attach-artifacts + package + + attach-artifact + + + + + ${project.basedir}/target/ldap-webapp-1.0-SNAPSHOT.jar + jar + + + + + + + + org.codehaus.mojo + exec-maven-plugin + 1.6.0 + + + migratePostgresLiquibaseChangeLogToH2 + generate-sources + + exec + + + ${project.basedir}/scripts/migratePostgresLiquibaseChangeLogToH2.${script.extension} + + ${project.parent.basedir}/db-migration/src/main/resources/liquibase/db.changelog.xml + ${project.build.directory}/classes/liquibase/db.changelog.xml + + + + + + + org.apache.openejb.maven + tomee-maven-plugin + 1.7.4 + + 1.7.4 + webprofile + false + 8000 + ldap-webapp + ${project.basedir}/src/test/tomee/conf + + org.postgresql:postgresql:9.4.1212.jre7 + + + + + org.apache.openjpa + openjpa-maven-plugin + 2.4.2 + + **/bo/*.class + true + true + + + + enhancer + process-classes + + enhance + + + + + + org.apache.openjpa + openjpa + + 2.4.2 + compile + + + + + + diff --git a/ldap-services/src/main/java/de/hsadmin/service/ldap/LdapUserService.java b/ldap-services/src/main/java/de/hsadmin/service/ldap/LdapUserService.java new file mode 100644 index 0000000..cd4a838 --- /dev/null +++ b/ldap-services/src/main/java/de/hsadmin/service/ldap/LdapUserService.java @@ -0,0 +1,16 @@ +package de.hsadmin.service.ldap; + +import javax.ejb.Stateless; + +import de.hsadmin.common.error.TechnicalException; +import de.hsadmin.module.impl.AbstractModule; + +@Stateless +public class LdapUserService extends AbstractModule implements LdapUserServiceLocal { + + @Override + public LdapUserVO buildVO() throws TechnicalException { + return new LdapUserVO(); + } + +} diff --git a/ldap-services/src/main/java/de/hsadmin/service/ldap/LdapUserServiceLocal.java b/ldap-services/src/main/java/de/hsadmin/service/ldap/LdapUserServiceLocal.java new file mode 100644 index 0000000..3c62cfb --- /dev/null +++ b/ldap-services/src/main/java/de/hsadmin/service/ldap/LdapUserServiceLocal.java @@ -0,0 +1,10 @@ +package de.hsadmin.service.ldap; + +import javax.ejb.Local; + +import de.hsadmin.module.Module; + +@Local +public interface LdapUserServiceLocal extends Module { + +} \ No newline at end of file diff --git a/ldap-services/src/main/java/de/hsadmin/service/ldap/LdapUserVO.java b/ldap-services/src/main/java/de/hsadmin/service/ldap/LdapUserVO.java new file mode 100644 index 0000000..912c0e8 --- /dev/null +++ b/ldap-services/src/main/java/de/hsadmin/service/ldap/LdapUserVO.java @@ -0,0 +1,133 @@ +package de.hsadmin.service.ldap; + +import javax.validation.constraints.Pattern; + +import de.hsadmin.common.error.TechnicalException; +import de.hsadmin.module.impl.AbstractVO; +import de.hsadmin.module.property.ReadWrite; +import de.hsadmin.module.property.ReadWritePolicy; +import de.hsadmin.module.property.Required; +import de.hsadmin.module.property.Search; +import de.hsadmin.module.property.SearchPolicy; + +public class LdapUserVO extends AbstractVO { + + @Required(true) + @ReadWrite(ReadWritePolicy.WRITEONCE) + @Search(SearchPolicy.EQUALS) + @Pattern(regexp="[a-z0-9]{3}\\-[a-z0-9]+") + private String uid; + + @ReadWrite(ReadWritePolicy.READWRITE) + private String userPassword; + + @Required(true) + @ReadWrite(ReadWritePolicy.READWRITE) + @Search(SearchPolicy.EQUALS) + private String sn; + + @ReadWrite(ReadWritePolicy.READWRITE) + @Search(SearchPolicy.EQUALS) + private String givenName; + + @Required(true) + @ReadWrite(ReadWritePolicy.READWRITE) + @Search(SearchPolicy.EQUALS) + @Pattern(regexp="[a-zA-Z0-9\\.\\-\\_]*@[a-z0-9äöüß\\.\\-]*") + private String mail; + + @ReadWrite(ReadWritePolicy.READWRITE) + @Pattern(regexp="[\\+\\d\\-\\ \\(\\)\\/]*") + private String mobile; + + @ReadWrite(ReadWritePolicy.READWRITE) + @Pattern(regexp="[\\+\\d\\-\\ \\(\\)\\/]*") + private String homePhone; + + @ReadWrite(ReadWritePolicy.READWRITE) + @Search(SearchPolicy.EQUALS) + @Pattern(regexp="[a-z0-9]*") + private String nickName; + + @ReadWrite(ReadWritePolicy.READWRITE) + private String[] sshPublicKey; + + public LdapUserVO() throws TechnicalException { + super(); + } + + public String getUid() { + return uid; + } + + public void setUid(String uid) { + this.uid = uid; + } + + public String getUserPassword() { + return userPassword; + } + + public void setUserPassword(String userPassword) { + this.userPassword = userPassword; + } + + public String getSn() { + return sn; + } + + public void setSn(String sn) { + this.sn = sn; + } + + public String getGivenName() { + return givenName; + } + + public void setGivenName(String givenName) { + this.givenName = givenName; + } + + public String getMail() { + return mail; + } + + public void setMail(String mail) { + this.mail = mail; + } + + public String getMobile() { + return mobile; + } + + public void setMobile(String mobile) { + this.mobile = mobile; + } + + public String getHomePhone() { + return homePhone; + } + + public void setHomePhone(String homePhone) { + this.homePhone = homePhone; + } + + public String getNickName() { + return nickName; + } + + public void setNickName(String nickName) { + this.nickName = nickName; + } + + public String[] getSshPublicKey() { + return sshPublicKey; + } + + public void setSshPublicKey(String[] sshPublicKey) { + this.sshPublicKey = sshPublicKey; + } + + + +} diff --git a/pom.xml b/pom.xml index d251a49..4c78360 100644 --- a/pom.xml +++ b/pom.xml @@ -21,6 +21,7 @@ db-migration framework cust-services + ldap-services database-services web cli