Skip to content

Commit

Permalink
refine returned object
Browse files Browse the repository at this point in the history
  • Loading branch information
alberts-tid committed Sep 9, 2014
1 parent 688211e commit b95ddfb
Show file tree
Hide file tree
Showing 8 changed files with 39 additions and 41 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
import com.telefonica.euro_iaas.commons.dao.EntityNotFoundException;
import com.telefonica.euro_iaas.commons.dao.InvalidEntityException;
import com.telefonica.euro_iaas.sdc.model.Product;
import com.telefonica.euro_iaas.sdc.model.ProductAndReleases;
import com.telefonica.euro_iaas.sdc.model.dto.ProductAndReleaseDto;
import com.telefonica.euro_iaas.sdc.model.searchcriteria.ProductSearchCriteria;

/**
Expand Down Expand Up @@ -89,5 +89,5 @@ public interface ProductManager {
* the search criteria
* @return the list of elements that match with the criteria.
*/
List<ProductAndReleases> findProductAndReleaseByCriteria(ProductSearchCriteria criteria);
List<ProductAndReleaseDto> findProductAndReleaseByCriteria(ProductSearchCriteria criteria);
}
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@
import com.telefonica.euro_iaas.sdc.manager.ProductReleaseManager;
import com.telefonica.euro_iaas.sdc.model.Metadata;
import com.telefonica.euro_iaas.sdc.model.Product;
import com.telefonica.euro_iaas.sdc.model.ProductAndReleases;
import com.telefonica.euro_iaas.sdc.model.ProductRelease;
import com.telefonica.euro_iaas.sdc.model.dto.ProductAndReleaseDto;
import com.telefonica.euro_iaas.sdc.model.searchcriteria.ProductReleaseSearchCriteria;
import com.telefonica.euro_iaas.sdc.model.searchcriteria.ProductSearchCriteria;
import com.xmlsolutions.annotation.UseCase;
Expand Down Expand Up @@ -118,7 +118,7 @@ public List<Product> findByCriteria(ProductSearchCriteria criteria) {
* {@inheritDoc}
*/
@Override
public List<ProductAndReleases> findProductAndReleaseByCriteria(ProductSearchCriteria criteria) {
public List<ProductAndReleaseDto> findProductAndReleaseByCriteria(ProductSearchCriteria criteria) {
List<Product> productList = productDao.findByCriteria(criteria);

ProductReleaseSearchCriteria prCriteria = new ProductReleaseSearchCriteria();
Expand All @@ -128,17 +128,20 @@ public List<ProductAndReleases> findProductAndReleaseByCriteria(ProductSearchCri
prCriteria.setOrderBy(criteria.getOrderBy());
prCriteria.setOrderType(criteria.getOrderType());

List<ProductAndReleases> result = new ArrayList<ProductAndReleases>();
List<ProductAndReleaseDto> result = new ArrayList<ProductAndReleaseDto>();
for (Product p : productList) {
if (!StringUtils.isEmpty(p.getName())) {
prCriteria.setProduct(p);
List<ProductRelease> productReleaseList = productReleaseManager.findReleasesByCriteria(prCriteria);

ProductAndReleases productAndReleases= new ProductAndReleases();
productAndReleases.setProduct(p);
productAndReleases.setProductReleaseList(productReleaseList);

result.add(productAndReleases);

for (ProductRelease pr : productReleaseList) {

ProductAndReleaseDto productAndRelease = new ProductAndReleaseDto();
productAndRelease.setProduct(p);
productAndRelease.setVersion(pr.getVersion());

result.add(productAndRelease);
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@
import com.telefonica.euro_iaas.sdc.model.Metadata;
import com.telefonica.euro_iaas.sdc.model.OS;
import com.telefonica.euro_iaas.sdc.model.Product;
import com.telefonica.euro_iaas.sdc.model.ProductAndReleases;
import com.telefonica.euro_iaas.sdc.model.ProductRelease;
import com.telefonica.euro_iaas.sdc.model.dto.ProductAndReleaseDto;
import com.telefonica.euro_iaas.sdc.model.searchcriteria.ProductReleaseSearchCriteria;
import com.telefonica.euro_iaas.sdc.model.searchcriteria.ProductSearchCriteria;

Expand Down Expand Up @@ -148,10 +148,8 @@ public void testProductAndReleases(){
when(productReleaseManager.findReleasesByCriteria((ProductReleaseSearchCriteria)anyObject())).thenReturn(productReleaseList1).thenReturn(productReleaseList2);

ProductSearchCriteria criteria = new ProductSearchCriteria(1,1,"","");
List<ProductAndReleases> result=productManager.findProductAndReleaseByCriteria(criteria);
List<ProductAndReleaseDto> result=productManager.findProductAndReleaseByCriteria(criteria);

assertEquals(2, result.size());
assertEquals(2,result.get(0).getProductReleaseList().size());
assertEquals(1,result.get(1).getProductReleaseList().size());
assertEquals(3, result.size());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,38 +22,34 @@
* </p>
*/

package com.telefonica.euro_iaas.sdc.model;

import java.util.ArrayList;
import java.util.List;
package com.telefonica.euro_iaas.sdc.model.dto;

import javax.xml.bind.annotation.XmlRootElement;

import com.telefonica.euro_iaas.sdc.model.Product;

@XmlRootElement
public class ProductAndReleases {
public class ProductAndReleaseDto {

private Product product;
private List<ProductRelease> productReleaseList;

private String version;


public Product getProduct() {
return product;
}

public void setProduct(Product product) {
this.product = product;
}

public List<ProductRelease> getProductReleaseList() {
return productReleaseList;
public String getVersion() {
return version;
}

public void setProductReleaseList(List<ProductRelease> productReleaseList) {
this.productReleaseList = productReleaseList;
public void setVersion(String version) {
this.version = version;
}

@Override
public String toString() {
return "ProductAndReleases [product=" + product + ", productReleaseList=" + productReleaseList + "]";
return "ProductAndReleases [product=" + product + ", version=" + version + "]";
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;

import com.telefonica.euro_iaas.sdc.model.ProductAndReleases;
import com.telefonica.euro_iaas.sdc.model.dto.ProductAndReleaseDto;
import com.telefonica.euro_iaas.sdc.model.dto.ProductReleaseDto;

public interface ProductAndReleaseResource {

Expand All @@ -51,7 +52,7 @@ public interface ProductAndReleaseResource {
*/
@GET
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
List<ProductAndReleases> findAllProductAndRelease(@QueryParam("page") Integer page, @QueryParam("pageSize") Integer pageSize,
List<ProductAndReleaseDto> findAllProductAndRelease(@QueryParam("page") Integer page, @QueryParam("pageSize") Integer pageSize,
@QueryParam("orderBy") String orderBy, @QueryParam("orderType") String orderType);

}
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@

import com.telefonica.euro_iaas.sdc.manager.ProductManager;
import com.telefonica.euro_iaas.sdc.model.Product;
import com.telefonica.euro_iaas.sdc.model.ProductAndReleases;
import com.telefonica.euro_iaas.sdc.model.dto.PaasManagerUser;
import com.telefonica.euro_iaas.sdc.model.dto.ProductAndReleaseDto;
import com.telefonica.euro_iaas.sdc.model.searchcriteria.ProductSearchCriteria;
import com.telefonica.euro_iaas.sdc.util.SystemPropertiesProvider;

Expand All @@ -57,7 +57,7 @@ public class ProductAndReleaseResourceImpl implements ProductAndReleaseResource
private static Logger log = Logger.getLogger("ProductAndReleaseResourceImpl");

@Override
public List<ProductAndReleases> findAllProductAndRelease(Integer page, Integer pageSize, String orderBy,
public List<ProductAndReleaseDto> findAllProductAndRelease(Integer page, Integer pageSize, String orderBy,
String orderType) {
ProductSearchCriteria criteria = new ProductSearchCriteria();

Expand All @@ -74,10 +74,10 @@ public List<ProductAndReleases> findAllProductAndRelease(Integer page, Integer p
return filterProductsAndReleases(productManager.findProductAndReleaseByCriteria(criteria));
}

private List<ProductAndReleases> filterProductsAndReleases(List<ProductAndReleases> productAndReleases) {
List<ProductAndReleases> filterProducts = new ArrayList<ProductAndReleases>();
private List<ProductAndReleaseDto> filterProductsAndReleases(List<ProductAndReleaseDto> productAndReleases) {
List<ProductAndReleaseDto> filterProducts = new ArrayList<ProductAndReleaseDto>();

for (ProductAndReleases productAndRelease : productAndReleases) {
for (ProductAndReleaseDto productAndRelease : productAndReleases) {
if (productAndRelease.getProduct().getMapMetadata().get(PUBLIC_METADATA) != null
&& productAndRelease.getProduct().getMapMetadata().get(PUBLIC_METADATA).equals("no")) {
if (checkProduct(productAndRelease.getProduct())) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
import com.telefonica.euro_iaas.sdc.model.Attribute;
import com.telefonica.euro_iaas.sdc.model.Metadata;
import com.telefonica.euro_iaas.sdc.model.Product;
import com.telefonica.euro_iaas.sdc.model.ProductAndReleases;
import com.telefonica.euro_iaas.sdc.model.dto.ProductAndReleaseDto;


/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@
import com.telefonica.euro_iaas.sdc.model.Attribute;
import com.telefonica.euro_iaas.sdc.model.Metadata;
import com.telefonica.euro_iaas.sdc.model.Product;
import com.telefonica.euro_iaas.sdc.model.ProductAndReleases;
import com.telefonica.euro_iaas.sdc.model.dto.PaasManagerUser;
import com.telefonica.euro_iaas.sdc.model.dto.ProductAndReleaseDto;
import com.telefonica.euro_iaas.sdc.model.searchcriteria.ProductSearchCriteria;
import com.telefonica.euro_iaas.sdc.util.SystemPropertiesProvider;

Expand Down

0 comments on commit b95ddfb

Please sign in to comment.