@Override
 public List<AssemblyVO> getTestingAssemblies(Page page) {
   List<AssemblyDO> dos = assemblyDOMapper.selectTestingAssemblies(page);
   if (page != null) {
     int records = assemblyDOMapper.countTestingAssemblies();
     page.setTotalRecords(records);
     page.setSearchedRecords(records);
   }
   return convert2AssemblyVOs(dos);
 }
 @Override
 public List<AssemblyVO> getPublishedAssemblies(Page page) {
   List<AssemblyVO> vos = new ArrayList<>();
   List<AssemblyDO> dos = assemblyDOMapper.selectAssembliesPublished(page);
   if (page != null) {
     int records = assemblyDOMapper.countAssembliesPublished();
     page.setTotalRecords(records);
     page.setSearchedRecords(records);
   }
   return convertPublishedAssemblyDOs2VOs(dos);
 }
 @Override
 public List<AssemblyVO> searchTestingAssembliesByAppName(String appName, Page page) {
   List<AssemblyDO> dos = assemblyDOMapper.searchTestingAssembliesByAppName(appName, page);
   if (page != null) {
     page.setSearchedRecords(assemblyDOMapper.countTestingAssembliesByAppName(appName));
   }
   return convert2AssemblyVOs(dos);
 }
 @Override
 public List<AssemblyVO> searchPublishedAssembliesByAppName(String appName, Page page) {
   List<AssemblyVO> vos = new ArrayList<>();
   List<AssemblyDO> dos = assemblyDOMapper.searchAssembliesPublishedByAppName(appName, page);
   if (page != null) {
     page.setSearchedRecords(assemblyDOMapper.countAssembliesPublishedByAppName(appName));
   }
   return convertPublishedAssemblyDOs2VOs(dos);
 }