[Lada-commits] [PATCH 1 of 2] Use auth objects in user info to keep mst <-> function association
Wald Commits
scm-commit at wald.intevation.org
Thu Jan 14 10:22:11 CET 2016
# HG changeset patch
# User Raimund Renkert <raimund.renkert at intevation.de>
# Date 1452763279 -3600
# Branch statusworkflow
# Node ID 1ed347eb856bbda938cd551e9769290f5542f1d3
# Parent de3a26d3f66319f4b178ff7e9c2548906910dcce
Use auth objects in user info to keep mst <-> function association.
diff -r de3a26d3f663 -r 1ed347eb856b src/main/java/de/intevation/lada/util/auth/HeaderAuthorization.java
--- a/src/main/java/de/intevation/lada/util/auth/HeaderAuthorization.java Mon Dec 14 15:47:10 2015 +0100
+++ b/src/main/java/de/intevation/lada/util/auth/HeaderAuthorization.java Thu Jan 14 10:21:19 2016 +0100
@@ -65,9 +65,7 @@
HttpServletRequest request = (HttpServletRequest)source;
String roleString =
request.getAttribute("lada.user.roles").toString();
- String[] roles = roleString.split(",");
UserInfo info = getGroupsFromDB(roleString);
- info.setRoles(new ArrayList<String>(Arrays.asList(roles)));
info.setName(request.getAttribute("lada.user.name").toString());
return info;
}
@@ -260,27 +258,8 @@
Response response = repository.filter(builder.getQuery(), "stamm");
@SuppressWarnings("unchecked")
List<Auth> auth = (List<Auth>)response.getData();
- List<String> netzbetreiber = new ArrayList<String>();
- List<String> messstellen = new ArrayList<String>();
- List<Integer> funktionen = new ArrayList<Integer>();
- for (Auth a : auth) {
- if (a.getNetzbetreiberId() != null) {
- netzbetreiber.add(a.getNetzbetreiberId());
- }
- if (a.getMstId() != null) {
- messstellen.add(a.getMstId());
- }
- if (a.getLaborMstId() != null) {
- messstellen.add(a.getLaborMstId());
- }
- if (a.getFunktionId() != null) {
- funktionen.add(a.getFunktionId());
- }
- }
UserInfo userInfo = new UserInfo();
- userInfo.setNetzbetreiber(netzbetreiber);
- userInfo.setMessstellen(messstellen);
- userInfo.setFunktionen(funktionen);
+ userInfo.setAuth(auth);
return userInfo;
}
diff -r de3a26d3f663 -r 1ed347eb856b src/main/java/de/intevation/lada/util/auth/TestAuthorization.java
--- a/src/main/java/de/intevation/lada/util/auth/TestAuthorization.java Mon Dec 14 15:47:10 2015 +0100
+++ b/src/main/java/de/intevation/lada/util/auth/TestAuthorization.java Thu Jan 14 10:21:19 2016 +0100
@@ -10,6 +10,7 @@
import java.util.ArrayList;
import java.util.List;
+import de.intevation.lada.model.stamm.Auth;
import de.intevation.lada.util.annotation.AuthorizationConfig;
import de.intevation.lada.util.rest.RequestMethod;
import de.intevation.lada.util.rest.Response;
@@ -21,19 +22,28 @@
public UserInfo getInfo(Object source) {
UserInfo info = new UserInfo();
info.setName("testeins");
+ List<Auth> auth = new ArrayList<Auth>();
+ Auth a1 = new Auth();
+ a1.setFunktionId(0);
+ a1.setLdapGroup("mst_06010");
+ a1.setMstId("06010");
+ a1.setNetzbetreiberId("06");
+ auth.add(a1);
+ Auth a2 = new Auth();
+ a2.setFunktionId(0);
+ a2.setLdapGroup("mst_11010");
+ a2.setNetzbetreiberId("11");
+ a2.setMstId("11010");
+ auth.add(a2);
+ Auth a3 = new Auth();
+ a3.setLdapGroup("Imis_world");
+ a3.setFunktionId(0);
+ auth.add(a3);
List<String> roles = new ArrayList<String>();
roles.add("mst_06010");
roles.add("mst_11010");
roles.add("ImisWorld");
- info.setRoles(roles);
- List<String> netz = new ArrayList<String>();
- netz.add("06");
- netz.add("11");
- info.setNetzbetreiber(netz);
- List<String> mess = new ArrayList<String>();
- mess.add("06010");
- mess.add("11010");
- info.setMessstellen(mess);
+ info.setAuth(auth);
return info;
}
diff -r de3a26d3f663 -r 1ed347eb856b src/main/java/de/intevation/lada/util/auth/UserInfo.java
--- a/src/main/java/de/intevation/lada/util/auth/UserInfo.java Mon Dec 14 15:47:10 2015 +0100
+++ b/src/main/java/de/intevation/lada/util/auth/UserInfo.java Thu Jan 14 10:21:19 2016 +0100
@@ -10,6 +10,8 @@
import java.util.ArrayList;
import java.util.List;
+import de.intevation.lada.model.stamm.Auth;
+
/**
* Container for user specific information.
*
@@ -21,6 +23,7 @@
private List<String> netzbetreiber;
private List<String> roles;
private List<Integer> funktionen;
+ private List<Auth> auth;
private Integer statusRole;
public UserInfo() {
@@ -46,49 +49,63 @@
* @return the messstellen
*/
public List<String> getMessstellen() {
- return messstellen;
- }
-
- /**
- * @param messstellen the messstellen to set
- */
- public void setMessstellen(List<String> messstellen) {
- this.messstellen = messstellen;
+ List<String> ret = new ArrayList<String>();
+ for (Auth a : auth) {
+ if (a.getMstId() != null) {
+ ret.add(a.getMstId());
+ }
+ }
+ return ret;
}
/**
* @return the netzbetreiber
*/
public List<String> getNetzbetreiber() {
- return netzbetreiber;
+ List<String> ret = new ArrayList<String>();
+ for (Auth a : auth) {
+ if (a.getNetzbetreiberId() != null) {
+ ret.add(a.getNetzbetreiberId());
+ }
+ }
+ return ret;
}
- /**
- * @param netzbetreiber the netzbetreiber to set
- */
- public void setNetzbetreiber(List<String> netzbetreiber) {
- this.netzbetreiber = netzbetreiber;
- }
-
- /**
- * @return the roles
- */
- public List<String> getRoles() {
- return roles;
- }
-
- /**
- * @param roles the roles to set
- */
- public void setRoles(List<String> roles) {
- this.roles = roles;
+ public List<Integer> getFunktionen() {
+ List<Integer> ret = new ArrayList<Integer>();
+ for (Auth a : auth) {
+ if (a.getFunktionId() != null) {
+ ret.add(a.getFunktionId());
+ }
+ }
+ return ret;
}
/**
* @return the funktionen
*/
- public List<Integer> getFunktionen() {
- return this.funktionen;
+ public List<Integer> getFunktionenForMst(String mstId) {
+ List<Integer> ret = new ArrayList<Integer>();
+ for (Auth a : auth) {
+ if (a.getMstId() != null && a.getMstId().equals(mstId)) {
+ ret.add(a.getFunktionId());
+ }
+ }
+ return ret;
+ }
+
+ /**
+ * @return the funktionen
+ */
+ public List<Integer> getFunktionenForNetzbetreiber(String nId) {
+ List<Integer> ret = new ArrayList<Integer>();
+ for (Auth a : auth) {
+ if (a.getNetzbetreiberId() != null &&
+ a.getNetzbetreiberId().equals(nId)) {
+ ret.add(a.getFunktionId());
+ }
+ }
+ return ret;
}
/**
@@ -102,11 +119,14 @@
return retVal;
}
- /**
- * @param funktionen the funktionen to set
- */
- public void setFunktionen(List<Integer> funktionen) {
- this.funktionen = funktionen;
+ public List<String> getRoles() {
+ List<String> ret = new ArrayList<String>();
+ for (Auth a : auth) {
+ if (a.getLdapGroup() != null) {
+ ret.add(a.getLdapGroup());
+ }
+ }
+ return ret;
}
/**
@@ -122,4 +142,8 @@
public void setStatusRole(Integer statusRole) {
this.statusRole = statusRole;
}
+
+ public void setAuth(List<Auth> auth) {
+ this.auth = auth;
+ }
}
More information about the Lada-commits
mailing list