Skip to content

Commit

Permalink
WorkItem: 4707 changed collections to sets for iterations and products
Browse files Browse the repository at this point in the history
so that they could both have an eager fetch type
  • Loading branch information
jebaldwin committed Mar 29, 2012
1 parent 524c8c6 commit 36d9392
Show file tree
Hide file tree
Showing 7 changed files with 27 additions and 24 deletions.
@@ -1,12 +1,11 @@
package fi.hut.soberit.agilefant.business.impl;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import org.hibernate.collection.PersistentBag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.support.PropertyComparator;
import org.springframework.stereotype.Service;
Expand Down Expand Up @@ -64,7 +63,7 @@ public List<MenuDataNode> constructBacklogMenuData(User user) {
.retrieveAllOrderByName());
Collections.sort(products, new PropertyComparator("name", true, true));

Collection<Product> allowedProducts = new HashSet<Product>();
Set<Product> allowedProducts = new HashSet<Product>();
for(Team team : user.getTeams()){
allowedProducts.addAll(team.getProducts());
}
Expand All @@ -78,7 +77,7 @@ public List<MenuDataNode> constructBacklogMenuData(User user) {

final List<Iteration> standAloneIterations = new ArrayList<Iteration>(iterationBusiness.retrieveAllStandAloneIterations());

Collection<Iteration> allowedIterations = new HashSet<Iteration>();
Set<Iteration> allowedIterations = new HashSet<Iteration>();
for(Team team : user.getTeams()){
allowedIterations.addAll(team.getIterations());
}
Expand Down
@@ -1,9 +1,9 @@
package fi.hut.soberit.agilefant.business.impl;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
Expand Down Expand Up @@ -117,7 +117,7 @@ private boolean checkAccess(Backlog bl){
if(temp == null){
//standalone iteration
temp = bl;
Collection<Iteration> allowedIterations = new HashSet<Iteration>();
Set<Iteration> allowedIterations = new HashSet<Iteration>();
for(Team team : user.getTeams()){
allowedIterations.addAll(team.getIterations());
}
Expand All @@ -140,7 +140,7 @@ private boolean checkAccess(Backlog bl){
prod = (Product)bl;
}

Collection<Product> allowedProducts = new HashSet<Product>();
Set<Product> allowedProducts = new HashSet<Product>();
for(Team team : user.getTeams()){
allowedProducts.addAll(team.getProducts());
}
Expand Down
Expand Up @@ -230,7 +230,7 @@ private List<AutocompleteDataNode> getBacklogDataRecurseNames(
prod = (Product)blog;
}

Collection<Product> allowedProducts = new HashSet<Product>();
Set<Product> allowedProducts = new HashSet<Product>();
for(Team team : user.getTeams()){
allowedProducts.addAll(team.getProducts());
}
Expand Down
15 changes: 8 additions & 7 deletions src/fi/hut/soberit/agilefant/model/Team.java
Expand Up @@ -2,6 +2,7 @@

import java.util.Collection;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
Expand Down Expand Up @@ -47,9 +48,9 @@ public class Team implements Comparable<Team> {

private Collection<User> users = new HashSet<User>();

private Collection<Product> products = new HashSet<Product>();
private Set<Product> products = new HashSet<Product>();

private Collection<Iteration> iterations = new HashSet<Iteration>();
private Set<Iteration> iterations = new HashSet<Iteration>();

/**
* Get the id of this object.
Expand Down Expand Up @@ -149,7 +150,7 @@ public void setUsers(Collection<User> users) {
@JoinTable(name = "team_product", joinColumns = { @JoinColumn(name = "Team_id") }, inverseJoinColumns = { @JoinColumn(name = "Product_id") })
@BatchSize(size = 5)
@JSON(include = false)
public Collection<Product> getProducts() {
public Set<Product> getProducts() {
return products;
}

Expand All @@ -158,7 +159,7 @@ public Collection<Product> getProducts() {
*
* @param products the products to be set
*/
public void setProducts(Collection<Product> products) {
public void setProducts(Set<Product> products) {
this.products = products;
}

Expand All @@ -167,11 +168,11 @@ public void setProducts(Collection<Product> products) {
*
* return the iterations
*/
@ManyToMany(targetEntity = Iteration.class)
@ManyToMany(targetEntity = Iteration.class, fetch=FetchType.EAGER)
@JoinTable(name = "team_iteration", joinColumns = { @JoinColumn(name = "Team_id") }, inverseJoinColumns = { @JoinColumn(name = "Iteration_id") })
@BatchSize(size = 5)
@JSON(include = false)
public Collection<Iteration> getIterations() {
public Set<Iteration> getIterations() {
return iterations;
}

Expand All @@ -180,7 +181,7 @@ public Collection<Iteration> getIterations() {
*
* @param iterations the iterations to be set
*/
public void setIterations(Collection<Iteration> iterations) {
public void setIterations(Set<Iteration> iterations) {
this.iterations = iterations;
}

Expand Down
Expand Up @@ -2,6 +2,7 @@

import java.util.Collection;
import java.util.Iterator;
import java.util.Set;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
Expand All @@ -11,7 +12,6 @@

import fi.hut.soberit.agilefant.business.BacklogBusiness;
import fi.hut.soberit.agilefant.business.IterationBusiness;
import fi.hut.soberit.agilefant.business.UserBusiness;
import fi.hut.soberit.agilefant.model.Iteration;
import fi.hut.soberit.agilefant.model.Product;
import fi.hut.soberit.agilefant.model.Team;
Expand Down Expand Up @@ -139,7 +139,8 @@ private boolean checkAccess(int backlogId){
if(iteration.isStandAlone()){
for (Iterator<Team> iter = teams.iterator(); iter.hasNext();){
Team team = (Team) iter.next();
if (team.getIterations().contains(iteration)) {
Set<Iteration> its = team.getIterations();
if (its.contains(iteration)) {
return true;
}
}
Expand All @@ -149,7 +150,8 @@ private boolean checkAccess(int backlogId){

for (Iterator<Team> iter = teams.iterator(); iter.hasNext();){
Team team = (Team) iter.next();
if (team.getProducts().contains(product)) {
Set<Product> prods = team.getProducts();
if (prods.contains(product)) {
return true;
}
}
Expand Down
5 changes: 3 additions & 2 deletions src/fi/hut/soberit/agilefant/web/SecurityInterceptor.java
Expand Up @@ -3,6 +3,7 @@
import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

import javax.servlet.http.HttpServletRequest;

Expand Down Expand Up @@ -150,7 +151,7 @@ private boolean checkAccess(int backlogId){
for (Iterator<Team> iter = teams.iterator(); iter.hasNext();){
Team team = (Team) iter.next();

Collection<Iteration> iterations = team.getIterations();
Set<Iteration> iterations = team.getIterations();

for (Iterator<Iteration> iterationIterator = iterations.iterator(); iterationIterator.hasNext();) {
Iteration teamIteration = (Iteration) iterationIterator.next();
Expand All @@ -166,7 +167,7 @@ private boolean checkAccess(int backlogId){
for (Iterator<Team> iter = teams.iterator(); iter.hasNext();){
Team team = (Team) iter.next();

Collection<Product> products = team.getProducts();
Set<Product> products = team.getProducts();

for (Iterator<Product> productIterator = products.iterator(); productIterator.hasNext();) {
Product teamProduct = (Product) productIterator.next();
Expand Down
Expand Up @@ -31,10 +31,10 @@ public void testStub(){
public static void main(String[] args) {
try{
testSetAdmin();
testSetTeam();
testSetAccessRights();
testGetIteration();
testChangeIteration();
//testSetTeam();
//testSetAccessRights();
//testGetIteration();
//testChangeIteration();
} catch(Exception e){
e.printStackTrace();
}
Expand Down

0 comments on commit 36d9392

Please sign in to comment.