# HG changeset patch # User Raimund Renkert # Date 1377860229 -7200 # Node ID 977582f7c0ae8d32b1f06d23de54594ba3b5d2b3 # Parent 976f4e4df363212b36710355391d61f5bc9d59c9 Return the netzbetreiber name instead of the id in the info service. diff -r 976f4e4df363 -r 977582f7c0ae src/main/java/de/intevation/lada/rest/InfoService.java --- a/src/main/java/de/intevation/lada/rest/InfoService.java Fri Aug 30 10:31:30 2013 +0200 +++ b/src/main/java/de/intevation/lada/rest/InfoService.java Fri Aug 30 12:57:09 2013 +0200 @@ -15,6 +15,9 @@ import de.intevation.lada.auth.Authentication; import de.intevation.lada.auth.AuthenticationException; import de.intevation.lada.auth.AuthenticationResponse; +import de.intevation.lada.data.QueryBuilder; +import de.intevation.lada.data.Repository; +import de.intevation.lada.model.SNetzBetreiber; class Info { String user; @@ -62,6 +65,10 @@ @Named("ldapauth") private Authentication authentication; + @Inject + @Named("readonlyrepository") + private Repository readonlyRepo; + /** * Request SQL-Queries * @@ -84,15 +91,23 @@ String user = authentication.getUserName(headers); AuthenticationResponse ar = authentication.authorizedGroups(headers); List groups = ar.getNetzbetreiber(); + QueryBuilder builder = + new QueryBuilder( + readonlyRepo.getEntityManager(), SNetzBetreiber.class); + for (String g : groups) { + builder.or("netzbetreiberId", g); + } + Response nResponse = readonlyRepo.filter(builder.getQuery()); + List netzbetr = (List)nResponse.getData(); String gString = ""; boolean first = true; - for(String g : groups) { + for(SNetzBetreiber nb : netzbetr) { if (first) { - gString += g; + gString += nb.getNetzbetreiber(); first = false; } else { - gString += ", " + g; + gString += ", " + nb.getNetzbetreiber(); } } //TODO: This is the best way to get the version.