diff --git a/src/main/java/no/bioforsk/vips/core/VIPSCoreApplication.java b/src/main/java/no/bioforsk/vips/core/VIPSCoreApplication.java index ebdb76b3768d52af28b8f37c7b89aedadb9546f0..d6b678b06cc687b78be95f5d09e0676b976b65ee 100644 --- a/src/main/java/no/bioforsk/vips/core/VIPSCoreApplication.java +++ b/src/main/java/no/bioforsk/vips/core/VIPSCoreApplication.java @@ -15,30 +15,27 @@ public class VIPSCoreApplication extends Application @Override public Set<Class<?>> getClasses() { Set<Class<?>> resources = new java.util.HashSet<>(); - addRestResourceClasses(resources); - addInterfaceImplRestResourceClasses(resources); + //addRestResourceClasses(resources); //We don't use this! + addRestResourceClassesManually(resources); return resources; } - - //resources.add(no.bioforsk.vips.core.service.ModelResourceImpl.class); /** - * Do not modify addRestResourceClasses() method. - * It is automatically re-generated by NetBeans REST support to populate - * given list with all resources defined in the project. + * Handmade because NetBeans doesn't discover the services that are implementations + * of service interfaces. And it adds the interfaces it finds, which do not work + * @param resources */ - private void addRestResourceClasses(Set<Class<?>> resources) { + private void addRestResourceClassesManually(Set<Class<?>> resources) { resources.add(no.bioforsk.vips.core.config.JacksonConfig.class); - - + resources.add(no.bioforsk.vips.core.service.ModelResourceImpl.class); } /** - * Handmade because NetBeans doesn't discover the services that are implementations - * of service interfaces. - * @param resources + * Do not modify addRestResourceClasses() method. + * It is automatically re-generated by NetBeans REST support to populate + * given list with all resources defined in the project. */ - private void addInterfaceImplRestResourceClasses(Set<Class<?>> resources) { - resources.add(no.bioforsk.vips.core.service.ModelResourceImpl.class); + private void addRestResourceClasses(Set<Class<?>> resources) { + resources.add(no.bioforsk.vips.core.config.JacksonConfig.class); } } \ No newline at end of file diff --git a/src/main/java/no/bioforsk/vips/core/service/ModelResourceImpl.java b/src/main/java/no/bioforsk/vips/core/service/ModelResourceImpl.java index 14de78ab8a47db11e6d2b02415ed883d7cf9e6d2..327767c603e4cc5e687ce420d69c65bad6c63fd9 100644 --- a/src/main/java/no/bioforsk/vips/core/service/ModelResourceImpl.java +++ b/src/main/java/no/bioforsk/vips/core/service/ModelResourceImpl.java @@ -82,6 +82,7 @@ public class ModelResourceImpl implements ModelResource{ @Override public Response printModelList(@PathParam("language") String language) { + // test comment StringBuilder retVal = new StringBuilder(); ModelFactory mF = ModelFactory.getInstance(); for(String key : mF.getModelList().keySet()) @@ -96,6 +97,17 @@ public class ModelResourceImpl implements ModelResource{ return Response.ok().entity(retVal.toString()).build(); } + @Override + public Response printModelDescription(String modelId) { + return this.printModelDescription(modelId, null); + } + + @Override + public Response printModelDescription(String modelId, String language) { + String description = ModelFactory.getInstance().getModelDescription(modelId,language); + return Response.ok().entity(description).build(); + } + /** * Prints the usage instructions from the requested model * @param modelId @@ -197,4 +209,6 @@ public class ModelResourceImpl implements ModelResource{ return Response.serverError().build(); } } + + } diff --git a/src/main/java/no/bioforsk/vips/model/factory/ModelFactory.java b/src/main/java/no/bioforsk/vips/model/factory/ModelFactory.java index 9ca5d7f23aecf2ee29bb36d28697fd5908573dbb..f069882ab8b8d4edb6873158fc766805727649ab 100644 --- a/src/main/java/no/bioforsk/vips/model/factory/ModelFactory.java +++ b/src/main/java/no/bioforsk/vips/model/factory/ModelFactory.java @@ -148,6 +148,16 @@ public class ModelFactory { return this.modelList; } + /** + * + * @param modelId ID of the requested model + * @param language language two-letter code (<a href="http://www.loc.gov/standards/iso639-2/php/English_list.php">ISO-639-2</a>) + * @return Description of model in requested language (Default/fallback is English) + */ + public String getModelDescription(String modelId, String language) { + return language != null ? this.models.get(modelId).getModelDescription(language) : this.models.get(modelId).getModelDescription(); + } + /** * @param modelId the id of the Model * @return usage instructions for the requested Model @@ -169,6 +179,8 @@ public class ModelFactory { { return this.models.get(modelId).getClass().newInstance(); } + + }