agave-uuids/uuids-api/src/main/java/org/iplantc/service/uuid/resource/impl/UuidCollectionImpl.java
/**
     * Fetches the resource representation of one or more uuid in parallel
     * using an executor service. 
     * @param uuids array of uuid to resolve and expand
     * @param filter the filter to use in the response objects
     * @return
     */
Fetches the resource representation of one or more uuid in parallel
using an executor service.
@param uuids array of uuid to resolve and expand
@param filter the filter to use in the response objects
@return
Fetches the resource representation of one or more uuid in parallel using an executor service . @param uuids array of uuid to resolve and expand @param filter the filter to use in the response objects @return
protected ArrayNode resolveAndExpandUuids(String[] uuids, String filter) {
    	List<Object> urls = new ArrayList<Object>();
    	for (String uuid: uuids) {
    		try {
		    	AgaveUUID agaveUuid = getAgaveUUIDInPath(uuid);
		    	String resourceUrl = TenancyHelper.resolveURLToCurrentTenant(agaveUuid.getObjectReference());
		    	if (UUIDType.FILE == agaveUuid.getResourceType()) {
					resourceUrl = StringUtils.replaceOnce(resourceUrl,  "/media/", "/listings/") + "?limit=1";
				}
		    	urls.add(resourceUrl);
    		}
    		catch (UUIDException e) {
    			log.error("Failed to resolve resource representations for " + uuid, e);
    			urls.add(mapper.createObjectNode()
		    			.put("status", "error")
		    			.put("message", "Failed to resolve " + uuid + ". " + e.getMessage()));
			}
    	}
    	try {
    		return batchResolveResourceUrls(urls, filter);
    	}
    	catch (Throwable e) {
    		log.error("Failed to resolve resource representations for " + StringUtils.join(uuids, ","), e);
    		throw new ResourceException(Status.SERVER_ERROR_INTERNAL,
    				"Unable to resolve resource representations for uuids", e);
    	}
    }
protected ArrayNode resolveAndExpandUuids ( String [ ] uuids , String filter ) { List < Object > urls = new ArrayList < Object > ( ) ; for ( String uuid : uuids ) { try { AgaveUUID agaveUuid = getAgaveUUIDInPath ( uuid ) ; String resourceUrl = TenancyHelper . resolveURLToCurrentTenant ( agaveUuid . getObjectReference ( ) ) ; if ( UUIDType . FILE == agaveUuid . getResourceType ( ) ) { resourceUrl = StringUtils . replaceOnce ( resourceUrl , "/media/" , "/listings/" ) + "?limit=1" ; } urls . add ( resourceUrl ) ; } catch ( UUIDException e ) { log . error ( "Failed to resolve resource representations for " + uuid , e ) ; urls . add ( mapper . createObjectNode ( ) . put ( "status" , "error" ) . put ( "message" , "Failed to resolve " + uuid + ". " + e . getMessage ( ) ) ) ; } } try { return batchResolveResourceUrls ( urls , filter ) ; } catch ( Throwable e ) { log . error ( "Failed to resolve resource representations for " + StringUtils . join ( uuids , "," ) , e ) ; throw new ResourceException ( Status . SERVER_ERROR_INTERNAL , "Unable to resolve resource representations for uuids" , e ) ; } }
Fetches the resource representation of one or more uuid in parallel
 using an executor service.
Fetches the resource representation of one or more uuid in parallel using an executor service .
// resolve the file media url to the file listing url as needed