import javax.servlet.http.HttpServletResponse;
 
 import org.onap.datalake.feeder.domain.Db;
+import org.onap.datalake.feeder.domain.DesignType;
 import org.onap.datalake.feeder.domain.Topic;
 import org.onap.datalake.feeder.repository.DbRepository;
 import org.onap.datalake.feeder.dto.DbConfig;
 import org.onap.datalake.feeder.controller.domain.PostReturnBody;
+import org.onap.datalake.feeder.repository.DesignTypeRepository;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 /**
  * This controller manages the big data storage settings. All the settings are
  * saved in database.
- * 
+ *
  * @author Guobiao Mo
  *
  */
        @Autowired
        private DbRepository dbRepository;
 
-       //list all dbs 
+       @Autowired
+       private DesignTypeRepository designTypeRepository;
+
+       //list all dbs
        @GetMapping("")
        @ResponseBody
        @ApiOperation(value="Gat all databases name")
                return retString;
        }
 
-       @GetMapping("/idAndName")
+       @GetMapping("/idAndName/{id}")
        @ResponseBody
-       @ApiOperation(value="Gat all databases id and name")
-       public Map<Integer, String> listIdAndName() {
-               Iterable<Db> ret = dbRepository.findAll();
+       @ApiOperation(value="Get all databases id and name by designTypeId")
+       public Map<Integer, String> listIdAndName(@PathVariable String id) {
+               Optional<DesignType> designType  = designTypeRepository.findById(id);
                Map<Integer, String> map = new HashMap<>();
-               for(Db db : ret)
-               {
-                       log.info(db.getId() + "\t"+ db.getName());
-                       map.put(db.getId(), db.getName());
+               if (designType.isPresent()) {
+                       Set<Db> dbs = designType.get().getDbType().getDbs();
+                       for (Db item : dbs) {
+                               map.put(item.getId(), item.getName());
+                       }
                }
                return map;
        }