test_class.declarator: plugin = new DemoPlugin()
test_class.original_string: DemoPlugin plugin = new DemoPlugin();
test_class.type: DemoPlugin
test_class.var_name: plugin
test_class.declarator: properties
test_class.modifier: private
test_class.original_string: private Map<String, String> properties;
test_class.type: Map<String, String>
test_class.var_name: properties
test_class.file: component/core/src/test/java/fr/norad/visuwall/plugin/demo/DemoPluginTest.java
test_class.identifier: DemoPluginTest
test_case.body: @Test(expected = SoftwareNotFoundException.class)
      public void should_get_null_for_null_url() throws SoftwareNotFoundException {
          assertNull(plugin.getSoftwareId(null, properties));
      }
test_case.class_method_signature: DemoPluginTest.should_get_null_for_null_url()
test_case.full_signature: @Test(expected = SoftwareNotFoundException.class) public void should_get_null_for_null_url()
test_case.identifier: should_get_null_for_null_url
test_case.invocations: assertNull getSoftwareId
test_case.modifiers: @Test(expected = SoftwareNotFoundException.class) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void should_get_null_for_null_url()
focal_class.declarator: DEMO_VISUWALL_CI = "http://demo.visuwall.ci"
focal_class.modifier: private static final
focal_class.original_string: private static final String DEMO_VISUWALL_CI = "http://demo.visuwall.ci";
focal_class.type: String
focal_class.var_name: DEMO_VISUWALL_CI
focal_class.file: component/core/src/main/java/fr/norad/visuwall/plugin/demo/DemoPlugin.java
focal_class.identifier: DemoPlugin
focal_class.interfaces: implements VisuwallPlugin<DemoConnection>
focal_class.class_method_signature: DemoPlugin.getConnection(URL url, Map<String, String> properties)
focal_class.full_signature: @Override public DemoConnection getConnection(URL url, Map<String, String> properties)
focal_class.identifier: getConnection
focal_class.modifiers: @Override public
focal_class.parameters: (URL url, Map<String, String> properties)
focal_class.return: DemoConnection
focal_class.signature: DemoConnection getConnection(URL url, Map<String, String> properties)
focal_class.class_method_signature: DemoPlugin.getPropertiesWithDefaultValue()
focal_class.full_signature: @Override public Map<String, String> getPropertiesWithDefaultValue()
focal_class.identifier: getPropertiesWithDefaultValue
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Map<String, String>
focal_class.signature: Map<String, String> getPropertiesWithDefaultValue()
focal_class.class_method_signature: DemoPlugin.getConnectionClass()
focal_class.full_signature: @Override public Class<DemoConnection> getConnectionClass()
focal_class.identifier: getConnectionClass
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Class<DemoConnection>
focal_class.signature: Class<DemoConnection> getConnectionClass()
focal_class.class_method_signature: DemoPlugin.getVersion()
focal_class.full_signature: @Override public float getVersion()
focal_class.identifier: getVersion
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: float
focal_class.signature: float getVersion()
focal_class.class_method_signature: DemoPlugin.getName()
focal_class.full_signature: @Override public String getName()
focal_class.identifier: getName
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getName()
focal_class.class_method_signature: DemoPlugin.getSoftwareId(URL url, Map<String, String> properties)
focal_class.full_signature: @Override public SoftwareId getSoftwareId(URL url, Map<String, String> properties)
focal_class.identifier: getSoftwareId
focal_class.modifiers: @Override public
focal_class.parameters: (URL url, Map<String, String> properties)
focal_class.return: SoftwareId
focal_class.signature: SoftwareId getSoftwareId(URL url, Map<String, String> properties)
focal_method.body: @Override
      public SoftwareId getSoftwareId(URL url, Map<String, String> properties) throws SoftwareNotFoundException {
          if (url == null || !DEMO_VISUWALL_CI.equals(url.toString())) {
              throw new SoftwareNotFoundException(getName() + " is not compatible with url : " + url);
          }
          SoftwareId softwareId = new SoftwareId();
          softwareId.setName("demo");
          softwareId.setCompatible(true);
          softwareId.setVersion("1.0");
          softwareId.setWarnings("This is a demo plugin");
          return softwareId;
      }
focal_method.class_method_signature: DemoPlugin.getSoftwareId(URL url, Map<String, String> properties)
focal_method.full_signature: @Override public SoftwareId getSoftwareId(URL url, Map<String, String> properties)
focal_method.identifier: getSoftwareId
focal_method.invocations: equals toString getName setName setCompatible setVersion setWarnings
focal_method.modifiers: @Override public
focal_method.parameters: (URL url, Map<String, String> properties)
focal_method.return: SoftwareId
focal_method.signature: SoftwareId getSoftwareId(URL url, Map<String, String> properties)