agave-apps/apps-core/src/main/java/org/iplantc/service/apps/managers/ApplicationManager.java
/**
	 * Checks permissions and availability of the {@link Software} for the given user. This
	 * check takes {@link Software#isPubliclyAvailable()} into account in the decison 
	 * making process.
	 * 
	 * @param software the software to check visibility
	 * @param username the user whose read permission will be checked
	 * @return true if the user has read access to the software
	 */
Checks permissions and availability of the  Software for the given user. This
check takes  Software#isPubliclyAvailable() into account in the decison
making process.

@param software the software to check visibility
@param username the user whose read permission will be checked
@return true if the user has read access to the software
Checks permissions and availability of the Software for the given user . This check takes Software#isPubliclyAvailable () into account in the decison making process . @param software the software to check visibility @param username the user whose read permission will be checked @return true if the user has read access to the software
public static boolean isVisibleByUser(Software software, String username)
	{
		if (software == null) {
			throw new SoftwareException("No shared software found matching that name");
		} 
		else {
			if (ServiceUtils.isAdmin(username)) {
				return true;
			}
			else if (software.isPubliclyAvailable()) {
				return software.isAvailable();
			}
			else if (software.getOwner().equals(username)) {
				return true;
			} 
			else {
				SoftwarePermissionManager pemManager = new SoftwarePermissionManager(software);
				return pemManager.canRead(username);
			}
		}
	}
public static boolean isVisibleByUser ( Software software , String username ) { if ( software == null ) { throw new SoftwareException ( "No shared software found matching that name" ) ; } else { if ( ServiceUtils . isAdmin ( username ) ) { return true ; } else if ( software . isPubliclyAvailable ( ) ) { return software . isAvailable ( ) ; } else if ( software . getOwner ( ) . equals ( username ) ) { return true ; } else { SoftwarePermissionManager pemManager = new SoftwarePermissionManager ( software ) ; return pemManager . canRead ( username ) ; } } }
Checks permissions and availability of the {@link Software} for the given user.
Checks permissions and availability of the { @link Software } for the given user .
//String wrapperPath = software.getDeploymentPath() + '/' + software.getExecutablePath();