Commit 6d270139 authored by Christos Tranoris's avatar Christos Tranoris
Browse files

fixing tests

parent 9839849a
Loading
Loading
Loading
Loading
+50 −5
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ package org.etsi.osl.tmf.po622.api;

import java.io.IOException;
import java.security.Principal;
import java.util.Date;
import java.util.List;
import java.util.Optional;

@@ -36,6 +37,7 @@ import org.etsi.osl.tmf.po622.model.ProductOrderUpdate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
@@ -111,7 +113,7 @@ public interface ProductOrderApi {
    @RequestMapping(value = "/productOrder/{id}",
        produces = { "application/json;charset=utf-8" }, 
        method = RequestMethod.DELETE)
    default ResponseEntity<Void> deleteProductOrder(@Parameter(description = "Identifier of the ProductOrder",required=true) @PathVariable("id") String id
    default ResponseEntity<Void> deleteProductOrder(Principal principal,@Parameter(description = "Identifier of the ProductOrder",required=true) @PathVariable("id") String id
) {
        if(getObjectMapper().isPresent() && getAcceptHeader().isPresent()) {
        } else {
@@ -134,9 +136,11 @@ public interface ProductOrderApi {
    @RequestMapping(value = "/productOrder",
        produces = { "application/json;charset=utf-8" }, 
        method = RequestMethod.GET)
    default ResponseEntity<List<ProductOrder>> listProductOrder(@Parameter(description = "Comma-separated properties to be provided in response") @Valid @RequestParam(value = "fields", required = false) String fields
    default ResponseEntity<List<ProductOrder>> listProductOrder(Principal principal,@Parameter(description = "Comma-separated properties to be provided in response") @Valid @RequestParam(value = "fields", required = false) String fields
,@Parameter(description = "Requested index for start of resources to be provided in response") @Valid @RequestParam(value = "offset", required = false) Integer offset
,@Parameter(description = "Requested number of resources to be provided in response") @Valid @RequestParam(value = "limit", required = false) Integer limit
,@Parameter(description = "Requested number of resources to be provided in response") @Valid @RequestParam(value = "limit", required = false) Integer limit,
@Parameter(description = "Requested starttime for start of resources to be provided in response") @Valid @RequestParam(value = "starttime", required = false) Date starttime,
@Parameter(description = "Requested endtime for start of resources to be provided in response") @Valid @RequestParam(value = "endtime", required = false) Date endtime 
) {
        if(getObjectMapper().isPresent() && getAcceptHeader().isPresent()) {
            if (getAcceptHeader().get().contains("application/json")) {
@@ -168,7 +172,7 @@ public interface ProductOrderApi {
        produces = { "application/json;charset=utf-8" }, 
        consumes = { "application/json;charset=utf-8" },
        method = RequestMethod.PATCH)
    default ResponseEntity<ProductOrder> patchProductOrder(@Parameter(description = "The ProductOrder to be updated" ,required=true )  @Valid @RequestBody ProductOrderUpdate body
    default ResponseEntity<ProductOrder> patchProductOrder(Principal principal,@Parameter(description = "The ProductOrder to be updated" ,required=true )  @Valid @RequestBody ProductOrderUpdate body
,@Parameter(description = "Identifier of the ProductOrder",required=true) @PathVariable("id") String id
) {
        if(getObjectMapper().isPresent() && getAcceptHeader().isPresent()) {
@@ -200,7 +204,7 @@ public interface ProductOrderApi {
    @RequestMapping(value = "/productOrder/{id}",
        produces = { "application/json;charset=utf-8" }, 
        method = RequestMethod.GET)
    default ResponseEntity<ProductOrder> retrieveProductOrder(@Parameter(description = "Identifier of the ProductOrder",required=true) @PathVariable("id") String id
    default ResponseEntity<ProductOrder> retrieveProductOrder(Principal principal, @Parameter(description = "Identifier of the ProductOrder",required=true) @PathVariable("id") String id
,@Parameter(description = "Comma-separated properties to provide in response") @Valid @RequestParam(value = "fields", required = false) String fields
) {
        if(getObjectMapper().isPresent() && getAcceptHeader().isPresent()) {
@@ -218,4 +222,45 @@ public interface ProductOrderApi {
        return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
    }
    
    @Operation(summary = "Get a SVG image with product order item services relationship graph", operationId = "getImageProductOrderItemRelationshipGraph", 
        description = "This operation returns a SVG image with Product order item services relationship graph", tags={ "productOrder", })
@ApiResponses(value = { 

    @ApiResponse(responseCode = "302", description = "Success" ),
    //@ApiResponse(responseCode ="200", description = "Success" ),
    @ApiResponse(responseCode = "400", description = "Bad Request" ),
    @ApiResponse(responseCode = "401", description = "Unauthorized" ),
    @ApiResponse(responseCode = "403", description = "Forbidden" ),
    @ApiResponse(responseCode = "404", description = "Not Found" ),
    @ApiResponse(responseCode = "405", description = "Method Not allowed" ),
    @ApiResponse(responseCode = "409", description = "Conflict" ),
    @ApiResponse(responseCode = "500", description = "Internal Server Error" ) })
@RequestMapping(value ="/productOrder/{id}/item/{itemid}/relationship_graph",        
    produces = MediaType.ALL_VALUE ,
    method = RequestMethod.GET)
ResponseEntity<Void> getImageProductOrderItemRelationshipGraph(
        @Parameter(description = "Identifier of the ProductOrder",required=true) @PathVariable("id") String id,
        @Parameter(description = "Identifier of the ProductOrderItem",required=true) @PathVariable("itemid") String itemid);


@Operation(summary = "Get a SVG image with Product order notes activity graph", operationId = "getImageProductOrderNotesGraph", 
        description = "This operation returns a SVG image with Product order notes activity  graph", tags={ "productOrder", })
@ApiResponses(value = { 

    @ApiResponse(responseCode = "302", description = "Success" ),
    //@ApiResponse(responseCode ="200", description = "Success" ),
    @ApiResponse(responseCode = "400", description = "Bad Request" ),
    @ApiResponse(responseCode = "401", description = "Unauthorized" ),
    @ApiResponse(responseCode = "403", description = "Forbidden" ),
    @ApiResponse(responseCode = "404", description = "Not Found" ),
    @ApiResponse(responseCode = "405", description = "Method Not allowed" ),
    @ApiResponse(responseCode = "409", description = "Conflict" ),
    @ApiResponse(responseCode = "500", description = "Internal Server Error" ) })
@RequestMapping(value ="/productOrder/{id}/notes_graph",        
    produces = MediaType.ALL_VALUE ,
    method = RequestMethod.GET)
ResponseEntity<Void> getImageProductOrderNotesGraph(
        @Parameter(description = "Identifier of the ProductOrder",required=true) @PathVariable("id") String id);


}
+173 −76
Original line number Diff line number Diff line
@@ -19,21 +19,32 @@
 */
package org.etsi.osl.tmf.po622.api;

import java.net.URI;
import java.security.Principal;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Optional;

import com.fasterxml.jackson.databind.ObjectMapper;
import org.etsi.osl.model.nfv.UserRoleType;
import org.etsi.osl.tmf.common.model.UserPartRoleType;
import org.etsi.osl.tmf.po622.model.ProductOrder;
import org.etsi.osl.tmf.po622.model.ProductOrderCreate;
import org.etsi.osl.tmf.po622.model.ProductOrderUpdate;
import org.etsi.osl.tmf.po622.reposervices.ProductOrderRepoService;
import org.etsi.osl.tmf.so641.api.NotFoundException;
import org.etsi.osl.tmf.so641.model.ServiceOrder;
import org.etsi.osl.tmf.util.AddUserAsOwnerToRelatedParties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.oauth2.jwt.Jwt;
import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationToken;
import org.springframework.stereotype.Controller;
@@ -42,7 +53,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.v3.oas.annotations.Parameter;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.Valid;
@jakarta.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.SpringCodegen", date = "2020-10-30T10:29:21.184964400+02:00[Europe/Athens]")

@jakarta.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.SpringCodegen",
    date = "2020-10-30T10:29:21.184964400+02:00[Europe/Athens]")
@Controller("ProductOrderApiController622")
@RequestMapping("/productOrderingManagement/v4/")
public class ProductOrderApiController implements ProductOrderApi {
@@ -52,6 +65,8 @@ public class ProductOrderApiController implements ProductOrderApi {
  private final HttpServletRequest request;


  @Value("${kroki.serverurl}")
  private String KROKI_SERVERURL = "";

  @Autowired
  ProductOrderRepoService productOrderRepoService;
@@ -65,10 +80,9 @@ public class ProductOrderApiController implements ProductOrderApi {

  @PreAuthorize("hasAnyAuthority('ROLE_USER')")
  @Override
    public ResponseEntity<ProductOrder> createProductOrder(
            Principal principal,            
            @Parameter(description = "The ProductOrder to be created", required = true) @Valid @RequestBody ProductOrderCreate productOrder 
            ) {
  public ResponseEntity<ProductOrder> createProductOrder(Principal principal,
      @Parameter(description = "The ProductOrder to be created",
          required = true) @Valid @RequestBody ProductOrderCreate productOrder) {

    try {
      // Object attr = request.getSession().getAttribute("SPRING_SECURITY_CONTEXT");
@@ -88,21 +102,14 @@ public class ProductOrderApiController implements ProductOrderApi {
          extInfo = lp.getClaimAsString("email");
          log.debug("extInfo=  " + extInfo);

                        productOrder.setRelatedParty(AddUserAsOwnerToRelatedParties.addUser(
                                principal.getName(), 
          productOrder.setRelatedParty(AddUserAsOwnerToRelatedParties.addUser(principal.getName(),
              // user.getId()+"",
                                principal.getName(), 
                                UserPartRoleType.REQUESTER,
                                extInfo,
              principal.getName(), UserPartRoleType.REQUESTER, extInfo,
              productOrder.getRelatedParty()));
                    } 
                    else if ( principal instanceof UsernamePasswordAuthenticationToken ) {
                        productOrder.setRelatedParty(AddUserAsOwnerToRelatedParties.addUser(
                                principal.getName(), 
        } else if (principal instanceof UsernamePasswordAuthenticationToken) {
          productOrder.setRelatedParty(AddUserAsOwnerToRelatedParties.addUser(principal.getName(),
              // user.getId()+"",
                                principal.getName(), 
                                UserPartRoleType.REQUESTER,
                                extInfo,
              principal.getName(), UserPartRoleType.REQUESTER, extInfo,
              productOrder.getRelatedParty()));
        }

@@ -113,9 +120,6 @@ public class ProductOrderApiController implements ProductOrderApi {



                
                
                
      ProductOrder c = productOrderRepoService.addProductOrder(productOrder);

      return new ResponseEntity<ProductOrder>(c, HttpStatus.OK);
@@ -129,4 +133,97 @@ public class ProductOrderApiController implements ProductOrderApi {
      return new ResponseEntity<ProductOrder>(HttpStatus.INTERNAL_SERVER_ERROR);
    }
  }

  @Override
  @PreAuthorize("hasAnyAuthority('ROLE_ADMIN')")
  public ResponseEntity<Void> deleteProductOrder(Principal principal, String id) {

    try {
      return new ResponseEntity<Void>(productOrderRepoService.deleteByUuid(id), HttpStatus.OK);
    } catch (Exception e) {
      log.error("Couldn't serialize response for content type application/json", e);
      return new ResponseEntity<Void>(HttpStatus.INTERNAL_SERVER_ERROR);
    }
  }

  @Override
  public ResponseEntity<List<ProductOrder>> listProductOrder(Principal principal,
      @Valid String fields, @Valid Integer offset, @Valid Integer limit, @Valid Date starttime,
      @Valid Date endtime) {
    try {

      Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
      log.debug("principal=  " + principal.toString());

      log.debug("principal ROLE_ADMIN =  " + authentication.getAuthorities()
          .contains(new SimpleGrantedAuthority(UserRoleType.ROLE_ADMIN.getValue())));
      log.debug("principal ROLE_NFV_DEVELOPER =  " + authentication.getAuthorities()
          .contains(new SimpleGrantedAuthority(UserRoleType.ROLE_NFV_DEVELOPER.getValue())));
      log.debug("principal ROLE_EXPERIMENTER =  " + authentication.getAuthorities()
          .contains(new SimpleGrantedAuthority(UserRoleType.ROLE_EXPERIMENTER.getValue())));

      if (authentication.getAuthorities()
          .contains(new SimpleGrantedAuthority(UserRoleType.ROLE_ADMIN.getValue()))) {

        return new ResponseEntity<List<ProductOrder>>(
            productOrderRepoService.findAll(fields, new HashMap<>(), starttime, endtime),
            HttpStatus.OK);
      } else {
        return new ResponseEntity<List<ProductOrder>>(
            productOrderRepoService.findAll(principal.getName(), UserPartRoleType.REQUESTER),
            HttpStatus.OK);
      }


    } catch (Exception e) {
      log.error("Couldn't serialize response for content type application/json", e);
      return new ResponseEntity<List<ProductOrder>>(HttpStatus.INTERNAL_SERVER_ERROR);
    }
  }


  @Override
  @PreAuthorize("hasAnyAuthority('ROLE_USER')")
  public ResponseEntity<ProductOrder> patchProductOrder(Principal principal,
      @Valid ProductOrderUpdate body, String id) {
    ProductOrder c = productOrderRepoService.updateProductOrder(id, body);

    return new ResponseEntity<ProductOrder>(c, HttpStatus.OK);
  }


  @Override
  @PreAuthorize("hasAnyAuthority('ROLE_USER')")
  public ResponseEntity<ProductOrder> retrieveProductOrder(Principal principal, String id,
      @Valid String fields) {
    try {

      return new ResponseEntity<ProductOrder>( productOrderRepoService.findByUuid( id ), HttpStatus.OK);
  } catch ( Exception e) {
      log.error("Couldn't serialize response for content type application/json", e);
      return new ResponseEntity<ProductOrder>(HttpStatus.INTERNAL_SERVER_ERROR);
  }
  }

  @Override
  @PreAuthorize("hasAnyAuthority('ROLE_USER')")
  public ResponseEntity<Void> getImageProductOrderItemRelationshipGraph(String id, String itemid) {
    String encodedDiagram =
        productOrderRepoService.getImageProductOrderItemRelationshipGraph(id, itemid);

    // consider redirect to kroki..id
    return ResponseEntity.status(HttpStatus.FOUND)
        .location(URI.create(KROKI_SERVERURL + "/blockdiag/svg/" + encodedDiagram)).build();
    // return null;
  }

  @Override
  @PreAuthorize("hasAnyAuthority('ROLE_USER')")
  public ResponseEntity<Void> getImageProductOrderNotesGraph(String id) {
    String encodedDiagram = productOrderRepoService.getImageProductOrderNotesGraph(id);

    // consider redirect to kroki..id
    return ResponseEntity.status(HttpStatus.FOUND)
        .location(URI.create(KROKI_SERVERURL + "/actdiag/svg/" + encodedDiagram)).build();
  }
}
+101 −0
Original line number Diff line number Diff line
package org.etsi.osl.tmf.po622.api;

import java.util.Map;
import org.apache.camel.LoggingLevel;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.model.dataformat.JsonLibrary;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.etsi.osl.centrallog.client.CentralLogger;
import org.etsi.osl.tmf.po622.model.ProductOrderCreate;
import org.etsi.osl.tmf.po622.model.ProductOrderUpdate;
import org.etsi.osl.tmf.po622.reposervices.ProductOrderRepoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;

@Configuration
//@RefreshScope
@Component
public class ProductOrderApiRouteBuilder  extends RouteBuilder {

  private static final transient Log logger = LogFactory.getLog(ProductOrderApiRouteBuilder.class.getName());
  
  @Value("${CATALOG_GET_PRODUCTORDER_BY_ID}")
  private String CATALOG_GET_PRODUCTORDER_BY_ID = "";

  @Value("${CATALOG_GET_PRODUCTORDERS}")
  private String CATALOG_GET_PRODUCTORDERS = "";

  @Value("${CATALOG_GET_INITIAL_PRODUCTORDERS_IDS}")
  private String CATALOG_GET_INITIAL_PRODUCTORDERS_IDS = "";

  @Value("${CATALOG_GET_PRODUCTORDER_IDS_BY_STATE}")
  private String CATALOG_GET_PRODUCTORDER_IDS_BY_STATE = "";

  @Value("${CATALOG_UPD_PRODUCTORDER_BY_ID}")
  private String CATALOG_UPD_PRODUCTORDER_BY_ID = "";

  @Value("${CATALOG_ADD_PRODUCTORDER}")
  private String CATALOG_ADD_PRODUCTORDER = "";  


  @Value("${GET_USER_BY_USERNAME}")
  private String GET_USER_BY_USERNAME = "";

  @Value("${spring.application.name}")
  private String compname;
  
  @Autowired
  private ProducerTemplate template;

  @Autowired
  ProductOrderRepoService productOrderRepoService;

  @Autowired
  private CentralLogger centralLogger;
  
  
  @Override
  public void configure() throws Exception {
    from(CATALOG_GET_PRODUCTORDERS).log(LoggingLevel.INFO, log, CATALOG_GET_PRODUCTORDERS + " message received!")
    .to("log:DEBUG?showBody=true&showHeaders=true")
    .bean(productOrderRepoService, "findAllParamsJsonOrderIDs").convertBodyTo(String.class);


from(CATALOG_GET_INITIAL_PRODUCTORDERS_IDS)
    .log(LoggingLevel.INFO, log, CATALOG_GET_INITIAL_PRODUCTORDERS_IDS + " message received!")
    .to("log:DEBUG?showBody=true&showHeaders=true").setBody(constant("{\"state\":\"INITIAL\"}")).unmarshal()
    .json(JsonLibrary.Jackson, Map.class, true).bean(productOrderRepoService, "findAllParamsJsonOrderIDs")
    .convertBodyTo(String.class);

from(CATALOG_GET_PRODUCTORDER_IDS_BY_STATE)
    .log(LoggingLevel.INFO, log, CATALOG_GET_PRODUCTORDER_IDS_BY_STATE + " message received!")
    .to("log:DEBUG?showBody=true&showHeaders=true").setBody(simple("{\"state\":\"${header.orderstate}\"}"))
    .unmarshal().json(JsonLibrary.Jackson, Map.class, true)
    .bean(productOrderRepoService, "findAllParamsJsonOrderIDs").convertBodyTo(String.class);

from(CATALOG_GET_PRODUCTORDER_BY_ID)
    .log(LoggingLevel.INFO, log, CATALOG_GET_PRODUCTORDER_BY_ID + " message received!")
    .to("log:DEBUG?showBody=true&showHeaders=true")
    .bean(productOrderRepoService, "getProductOrderEagerAsString").convertBodyTo(String.class);

from(CATALOG_UPD_PRODUCTORDER_BY_ID)
    .log(LoggingLevel.INFO, log, CATALOG_UPD_PRODUCTORDER_BY_ID + " message received!")
    .to("log:DEBUG?showBody=true&showHeaders=true").unmarshal()
    .json(JsonLibrary.Jackson, ProductOrderUpdate.class, true)
    .bean(productOrderRepoService, "updateProductOrder(${header.orderid}, ${body})");


from(CATALOG_ADD_PRODUCTORDER)
    .log(LoggingLevel.INFO, log, CATALOG_ADD_PRODUCTORDER + " message received!")
    .to("log:DEBUG?showBody=true&showHeaders=true").unmarshal()
    .json(JsonLibrary.Jackson, ProductOrderCreate.class, true)
    .bean(productOrderRepoService, "addProductOrderReturnEager(${body})")
    .convertBodyTo(String.class); //creates back a response
  }
  
  
}
+108 −0
Original line number Diff line number Diff line
package org.etsi.osl.tmf.po622.api;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.builder.RouteBuilder;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.etsi.osl.centrallog.client.CLevel;
import org.etsi.osl.centrallog.client.CentralLogger;
import org.etsi.osl.tmf.common.model.Notification;
import org.etsi.osl.tmf.po622.model.ProductOrderAttributeValueChangeNotification;
import org.etsi.osl.tmf.po622.model.ProductOrderCreateNotification;
import org.etsi.osl.tmf.po622.model.ProductOrderDeleteNotification;
import org.etsi.osl.tmf.po622.model.ProductOrderStateChangeNotification;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

@Configuration
// @RefreshScope
@Component
public class ProductOrderApiRouteBuilderEvents extends RouteBuilder {

  private static final transient Log logger =
      LogFactory.getLog(ProductOrderApiRouteBuilderEvents.class.getName());



  @Value("${EVENT_PRODUCT_ORDER_CREATE}")
  private String EVENT_PRODUCT_ORDER_CREATE = "";

  @Value("${EVENT_PRODUCT_ORDER_STATE_CHANGED}")
  private String EVENT_PRODUCT_ORDER_STATE_CHANGED = "";

  @Value("${EVENT_PRODUCT_ORDER_DELETE}")
  private String EVENT_PRODUCT_ORDER_DELETE = "";

  @Value("${EVENT_PRODUCT_ORDER_ATTRIBUTE_VALUE_CHANGED}")
  private String EVENT_PRODUCT_ORDER_ATTRIBUTE_VALUE_CHANGED = "";



  @Value("${spring.application.name}")
  private String compname;

  @Autowired
  private ProducerTemplate template;


  @Autowired
  private CentralLogger centralLogger;

  @Override
  public void configure() throws Exception {



  }

  /**
   * @param n
   */
  @Transactional
  public void publishEvent(final Notification n, final String objId) {
    n.setEventType(n.getClass().getName());
    logger.info("will send Event for type " + n.getEventType());
    try {
      String msgtopic = "";

      if (n instanceof ProductOrderCreateNotification) {
        msgtopic = EVENT_PRODUCT_ORDER_CREATE;
      } else if (n instanceof ProductOrderStateChangeNotification) {
        msgtopic = EVENT_PRODUCT_ORDER_STATE_CHANGED;
      } else if (n instanceof ProductOrderDeleteNotification) {
        msgtopic = EVENT_PRODUCT_ORDER_DELETE;
      } else if (n instanceof ProductOrderAttributeValueChangeNotification) {
        msgtopic = EVENT_PRODUCT_ORDER_ATTRIBUTE_VALUE_CHANGED;
      }
      Map<String, Object> map = new HashMap<>();
      map.put("eventid", n.getEventId());
      map.put("objId", objId);

      String apayload = toJsonString(n);
      template.sendBodyAndHeaders(msgtopic, apayload, map);


      centralLogger.log(CLevel.INFO, apayload, compname);

    } catch (Exception e) {
      e.printStackTrace();
      logger.error("Cannot send Event . " + e.getMessage());
    }
  }


  static String toJsonString(Object object) throws IOException {
    ObjectMapper mapper = new ObjectMapper();
    mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
    return mapper.writeValueAsString(object);
  }

}
+1 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ public interface ProductOrderRepository extends CrudRepository<ProductOrder, Lon


	Optional<ProductOrder> findByUuid(String id);
	
	Iterable<ProductOrder> findByState( ProductOrderStateType state);
	@Query("SELECT por FROM ProductOrder por JOIN FETCH por.relatedParty rp WHERE rp.name = ?1 AND  rp.role = ?2 ORDER BY por.orderDate DESC")	
	Iterable<ProductOrder> findByRolenameAndRoleType(String rolename, UserPartRoleType requester);
Loading