1 package org.openecomp.portalapp.widget.service.impl;
 
   5 import javax.transaction.Transactional;
 
   7 import org.hibernate.Criteria;
 
   8 import org.hibernate.Session;
 
   9 import org.hibernate.SessionFactory;
 
  10 import org.hibernate.Transaction;
 
  11 import org.hibernate.criterion.Restrictions;
 
  12 import org.openecomp.portalapp.widget.domain.MicroserviceData;
 
  13 import org.openecomp.portalapp.widget.domain.MicroserviceParameter;
 
  14 import org.openecomp.portalapp.widget.domain.WidgetCatalog;
 
  15 import org.openecomp.portalapp.widget.service.MicroserviceService;
 
  16 import org.slf4j.Logger;
 
  17 import org.slf4j.LoggerFactory;
 
  18 import org.springframework.beans.factory.annotation.Autowired;
 
  19 import org.springframework.context.annotation.EnableAspectJAutoProxy;
 
  20 import org.springframework.stereotype.Service;
 
  23  * TODO: moved all microservice-related code (domain, controller, service)
 
  24  * from ecomp portal Backend to widget microservice
 
  26 @Service("microserviceService")
 
  28 @org.springframework.context.annotation.Configuration
 
  29 @EnableAspectJAutoProxy
 
  30 public class MicroserviceServiceImpl implements MicroserviceService{
 
  32         private static final Logger logger = LoggerFactory.getLogger(MicroserviceServiceImpl.class);
 
  35         private SessionFactory sessionFactory;
 
  38         public Long saveMicroserivce(MicroserviceData newService) {
 
  40                         logger.debug("MicroserviceServiceImpl.saveMicroserivce: microservice={}", newService);
 
  41                         Session session = sessionFactory.openSession();
 
  42                         Transaction tx = session.beginTransaction();            
 
  43                         session.save(newService);
 
  49                         logger.error("Exception occurred while performing MicroserviceServiceImpl.saveMicroserivce in widget microservices. Details:" + e.getMessage());
 
  51                 return newService.getId();
 
  55         public void saveMicroserviceParameter(MicroserviceParameter newParameter) {
 
  57                         logger.debug("MicroserviceServiceImpl.saveMicroserviceData: microservice={}", newParameter);
 
  58                         Session session = sessionFactory.openSession();
 
  59                         Transaction tx = session.beginTransaction();            
 
  60                         session.save(newParameter);
 
  66                         logger.error("Exception occurred while performing MicroserviceServiceImpl.saveMicroserviceData in widget microservices. Details:" + e.getMessage());
 
  70         @SuppressWarnings("unchecked")
 
  72         public Long getMicroserviceIdByName(String newServiceName) {
 
  74                 Session session = sessionFactory.openSession();
 
  75                 Criteria criteria = session.createCriteria(MicroserviceData.class)
 
  76                                 .add(Restrictions.eq("name", newServiceName))
 
  77                                 .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
 
  79                 List<MicroserviceData> services = criteria.list();
 
  80                 logger.debug("MicroserviceServiceImpl.getMicroserviceByName: result={}", services);
 
  84                 return (services.size() > 0) ? services.get(0).getId() : null;