src/main/java/org/imsglobal/lti2/LTI2Util.java
public static String validateCapabilities(ToolConsumer consumer, JSONObject providerProfile) 
	{
		List<Properties> theTools = new ArrayList<Properties> ();
		Properties info = new Properties();

		// Mostly to catch casting errors from bad JSON
		try {
			String retval = parseToolProfile(theTools, info, providerProfile);
			if ( retval != null )  return retval;

			if ( theTools.size() < 1 ) return "No tools found in profile";

			// Check all the capabilities requested by all the tools comparing against consumer
			List<String> capabilities = consumer.getCapability_offered();
			for ( Properties theTool : theTools ) {
				String ec = (String) theTool.get("enabled_capability");
				JSONArray enabled_capability = (JSONArray) JSONValue.parse(ec);
				if ( enabled_capability != null ) for (Object o : enabled_capability) {
					ec = (String) o;
					if ( capabilities.contains(ec) ) continue;
					return "Capability not permitted="+ec;
				}
			}
			return null;
		}
		catch (Exception e ) {
			return "Exception:"+ e.getLocalizedMessage();
		}
	}
public static String validateCapabilities(ToolConsumer consumer, JSONObject providerProfile) 
	{
		List<Properties> theTools = new ArrayList<Properties> ();
		Properties info = new Properties();

		// Mostly to catch casting errors from bad JSON
		try {
			String retval = parseToolProfile(theTools, info, providerProfile);
			if ( retval != null )  return retval;

			if ( theTools.size() < 1 ) return "No tools found in profile";

			// Check all the capabilities requested by all the tools comparing against consumer
			List<String> capabilities = consumer.getCapability_offered();
			for ( Properties theTool : theTools ) {
				String ec = (String) theTool.get("enabled_capability");
				JSONArray enabled_capability = (JSONArray) JSONValue.parse(ec);
				if ( enabled_capability != null ) for (Object o : enabled_capability) {
					ec = (String) o;
					if ( capabilities.contains(ec) ) continue;
					return "Capability not permitted="+ec;
				}
			}
			return null;
		}
		catch (Exception e ) {
			return "Exception:"+ e.getLocalizedMessage();
		}
	}
public static String validateCapabilities ( ToolConsumer consumer , JSONObject providerProfile ) { List < Properties > theTools = new ArrayList < Properties > ( ) ; Properties info = new Properties ( ) ; // Mostly to catch casting errors from bad JSON try { String retval = parseToolProfile ( theTools , info , providerProfile ) ; if ( retval != null ) return retval ; if ( theTools . size ( ) < 1 ) return "No tools found in profile" ; // Check all the capabilities requested by all the tools comparing against consumer List < String > capabilities = consumer . getCapability_offered ( ) ; for ( Properties theTool : theTools ) { String ec = ( String ) theTool . get ( "enabled_capability" ) ; JSONArray enabled_capability = ( JSONArray ) JSONValue . parse ( ec ) ; if ( enabled_capability != null ) for ( Object o : enabled_capability ) { ec = ( String ) o ; if ( capabilities . contains ( ec ) ) continue ; return "Capability not permitted=" + ec ; } } return null ; } catch ( Exception e ) { return "Exception:" + e . getLocalizedMessage ( ) ; } }
Validate incoming capabilities requested against out ToolConsumer
Validate incoming capabilities requested against out ToolConsumer