public Resource searchResourceByName(String resourceName) { SearchFilter searchFilter = new FieldFilter(BaseField.NAME, resourceName, SearchOperator.EQUAL_TO); ShortResourceList rlist = client.searchResources(searchFilter); if (!rlist.isEmpty()) { ShortResource shortRes = rlist.getList().get(0); return client.getResource(shortRes.getId()); } return null; }
@Override public ShortResourceList getList(SecurityContext sc, String nameLike, Integer page, Integer entries) throws BadRequestWebEx { User authUser = extractAuthUser(sc); nameLike = nameLike.replaceAll("[*]", "%"); try { return new ShortResourceList(resourceService.getList(nameLike, page, entries, authUser)); } catch (BadRequestServiceEx ex) { throw new BadRequestWebEx(ex.getMessage()); } }
@Override public ShortResourceList updateSecurityRules(SecurityContext sc, ShortResourceList resourcesToSet, Long groupId, Boolean canRead, Boolean canWrite) throws BadRequestWebEx, NotFoundWebEx { List<ShortResource> srll = new ArrayList<ShortResource>(); if(groupId == null || groupId < 0){ throw new BadRequestWebEx("The groupId is null or less than 0..."); } if(resourcesToSet == null || resourcesToSet.isEmpty()){ throw new BadRequestWebEx("The resources set provided is null or empty..."); } List<ShortResource> sl = resourcesToSet.getList(); List<Long> slOnlyIds = new ArrayList<Long>(); for(ShortResource sr : sl){ if(sr.getId() < 0){ throw new BadRequestWebEx("One or more ids in resource set is less than 0... check the resources list."); } slOnlyIds.add(sr.getId()); } try { srll = userGroupService.updateSecurityRules(groupId, slOnlyIds, canRead, canWrite); } catch (NotFoundServiceEx e) { LOGGER.error(e.getMessage(), e); throw new NotFoundWebEx(e.getMessage()); } catch (BadRequestServiceEx e) { LOGGER.error(e.getMessage(), e); throw new BadRequestWebEx(e.getMessage()); } ShortResourceList srl = new ShortResourceList(srll); return srl; }
/********* * Converts a ShortResourceList to a list of Resource objects * @return */ private List<Resource> getResourceList(ShortResourceList list) { ArrayList resources = new ArrayList(); if ( CollectionUtils.isNotEmpty(list.getList()) ) { for (ShortResource shortResource : list.getList()) { Resource resource = client.getResource(shortResource.getId()); resources.add(resource); } } else { LOGGER.info("No resource found"); } return resources; }
/*********** * check if a generic resource exists in a given category * @param resourceName * @param category * @return */ public boolean existResourceInCategory(String resourceName, UNREDDCategories category) { SearchFilter filter = new AndFilter( new FieldFilter(BaseField.NAME, resourceName, SearchOperator.LIKE), createCategoryFilter(category)); ShortResourceList list = client.searchResources(filter); return list != null && list.getList() != null && !list.getList().isEmpty(); }
public Resource searchResourceByName(String resourceName, UNREDDCategories cat) { //SearchFilter searchFilter = new FieldFilter(BaseField.NAME, resourceName, SearchOperator.EQUAL_TO); SearchFilter searchFilter = new AndFilter( createCategoryFilter(cat), new FieldFilter(BaseField.NAME, resourceName, SearchOperator.EQUAL_TO)); ShortResourceList rlist = client.searchResources(searchFilter); if (!rlist.isEmpty()) { ShortResource shortRes = rlist.getList().get(0); return client.getResource(shortRes.getId()); } return null; }
public List<Resource> searchChartScriptByStatsDef(String statsdef) throws UnsupportedEncodingException, JAXBException { SearchFilter filter = new AndFilter( // new FieldFilter(BaseField.NAME, "%", SearchOperator.LIKE) , createCategoryFilter(UNREDDCategories.CHARTSCRIPT), createAttributeFilter(UNREDDChartScript.ReverseAttributes.STATSDEF, statsdef)); ShortResourceList list = client.searchResources(filter); //if (list == null) { // return null; //} List<Resource> resources = new ArrayList<Resource>(); if (list.getList() != null) { for (ShortResource shortResource : list.getList()) { Resource resource = client.getResource(shortResource.getId()); resources.add(resource); } } return resources; }
@Override public ShortResourceList getAll(SecurityContext sc, Integer page, Integer entries) throws BadRequestWebEx { User authUser = extractAuthUser(sc); try { return new ShortResourceList(resourceService.getAll(page, entries, authUser)); } catch (BadRequestServiceEx ex) { throw new BadRequestWebEx(ex.getMessage()); } }
/********* * Returns a list of statsDef objects having attribute StatsDef=statsDefName * @param statsDefName * @return * * @deprecated */ public Map<Resource, String> searchStatsDataByStatsDef(String statsDefName) throws UnsupportedEncodingException, JAXBException { SearchFilter filter = new CategoryFilter(UNREDDCategories.STATSDATA.getName(), SearchOperator.EQUAL_TO); if (statsDefName != null) { filter = new AndFilter(filter, createAttributeFilter(UNREDDStatsData.Attributes.STATSDEF, statsDefName)); } ShortResourceList list = client.searchResources(filter); Map resources = new HashMap(); if (list.getList() != null && !list.getList().isEmpty()) { for (ShortResource shortResource : list.getList()) { Resource resource = client.getResource(shortResource.getId()); String data = client.getData(shortResource.getId(), MediaType.WILDCARD_TYPE); resources.put(resource, data); } } else { System.out.println("No stats data found with name " + statsDefName); } return resources; }
@Override public ShortResourceList getResources(SecurityContext sc, SearchFilter filter) { User authUser = extractAuthUser(sc); try { return new ShortResourceList(resourceService.getResources(filter, authUser)); } catch (BadRequestServiceEx e) { if (LOGGER.isInfoEnabled()) LOGGER.info(e.getMessage()); throw new BadRequestWebEx(e.getMessage()); } catch (InternalErrorServiceEx e) { if (LOGGER.isInfoEnabled()) LOGGER.info(e.getMessage()); throw new InternalErrorWebEx(e.getMessage()); } }
public void recurseDelete(String resourceName, UNREDDCategories parentCategory, UNREDDCategories childCategory, AttributeDef childAttribute) { LOGGER.warn("Recurse delete on " + parentCategory.getName() + " " + resourceName); SearchFilter filter = new AndFilter( createCategoryFilter(childCategory), createAttributeFilter(childAttribute, resourceName)); ShortResourceList statsDataList = client.searchResources(filter); if( CollectionUtils.isNotEmpty(statsDataList.getList())) { for (ShortResource scd : statsDataList.getList()) { LOGGER.warn("Removing " + childCategory.getName() + " " + scd.getName()); client.deleteResource(scd.getId()); } } filter = new AndFilter( createCategoryFilter(parentCategory), new FieldFilter(BaseField.NAME, resourceName, SearchOperator.EQUAL_TO) ); ShortResourceList statsDefList = client.searchResources(filter); if( CollectionUtils.isNotEmpty(statsDefList.getList())) { ShortResource statsDef = statsDefList.getList().get(0); LOGGER.warn("Removing " + parentCategory.getName() + " " + statsDef); client.deleteResource(statsDef.getId()); } else { LOGGER.warn(parentCategory.getName() + " not found : " + resourceName); } }
return new ShortResourceList(resources);
public List<Resource> searchStatsDataByStatsDef2(String statsDefName) throws UnsupportedEncodingException, JAXBException { SearchFilter filter = createCategoryFilter(UNREDDCategories.STATSDATA); if (statsDefName != null) { filter = new AndFilter(filter, createAttributeFilter(UNREDDStatsData.Attributes.STATSDEF, statsDefName)); } List<Resource> ret = new ArrayList<Resource>(); ShortResourceList list = client.searchResources(filter); if ( CollectionUtils.isNotEmpty(list.getList())) { for (ShortResource shortResource : list.getList()) { Resource resource = client.getResource(shortResource.getId()); // TODO: use new metod getFull() String data = client.getData(shortResource.getId(), MediaType.WILDCARD_TYPE); StoredData sdata = new StoredData(); sdata.setData(data); resource.setData(sdata); ret.add(resource); } } else { LOGGER.info("No stats data found for stats def: " + statsDefName); } return ret; }