Skip to content
Snippets Groups Projects
Commit 3941332c authored by Tor-Einar Skog's avatar Tor-Einar Skog
Browse files

Added getModelDescription to Model interface.

Fixed handling of NetBeans autounmagical service discovery and publication
parent 481a5964
No related branches found
No related tags found
No related merge requests found
......@@ -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
......@@ -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();
}
}
}
......@@ -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();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment