Restructure security
[lgpl/argeo-commons.git] / security / runtime / org.argeo.security.core / src / main / java / org / argeo / security / core / DefaultSecurityService.java
diff --git a/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/core/DefaultSecurityService.java b/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/core/DefaultSecurityService.java
new file mode 100644 (file)
index 0000000..6be4325
--- /dev/null
@@ -0,0 +1,35 @@
+package org.argeo.security.core;
+
+import org.argeo.security.ArgeoSecurity;
+import org.argeo.security.ArgeoSecurityDao;
+import org.argeo.security.ArgeoSecurityService;
+import org.argeo.security.ArgeoUser;
+
+public class DefaultSecurityService implements ArgeoSecurityService {
+       private ArgeoSecurity argeoSecurity = new DefaultArgeoSecurity();
+       private ArgeoSecurityDao securityDao;
+
+       public ArgeoSecurityDao getSecurityDao() {
+               return securityDao;
+       }
+
+       public void newRole(String role) {
+               ArgeoUser superUser = securityDao.getUser(argeoSecurity.getSuperUsername());
+               superUser.getRoles().add(role);
+               securityDao.update(superUser);
+       }
+
+       public void newUser(ArgeoUser user) {
+               argeoSecurity.beforeCreate(user);
+               securityDao.create(user);
+       }
+
+       public void setArgeoSecurity(ArgeoSecurity argeoSecurity) {
+               this.argeoSecurity = argeoSecurity;
+       }
+
+       public void setSecurityDao(ArgeoSecurityDao dao) {
+               this.securityDao = dao;
+       }
+
+}