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

Improving documentation for the endpoints in LogicService

parent d5a6b486
Branches
Tags
No related merge requests found
......@@ -23,7 +23,7 @@ VIPSLogic is the source of data for most clients, including VIPSWeb, the standar
![How VIPSLogic fits into the whole VIPS architecture](./docs/illustrations/VIPS_whole_architecture.png "All VIPS system parts")
## Technical description
### Environment that VIPSLogic is confirmed to work within
### Requirements
* Operating system: Ubuntu Linux >= 18.0.4
* Database: PostgreSQL >= 10 + PostGIS >= 2.4
* Java: OpenJDK >= 11
......@@ -32,5 +32,8 @@ VIPSLogic is the source of data for most clients, including VIPSWeb, the standar
## License
VIPSLogic is licensed under the [NIBIO Open Source License](https://nibio.no/licenses), which is basically the [GNU Affero GPL v3 license](https://www.gnu.org/licenses/agpl-3.0.en.html).
## Web services
The web services documentation is auto generated using Enunciate, you can read it from this path relative to your VIPSLogic deployment: `/public/RESTdocs/apidocs/`, for instance [here on NIBIO's deployment](https://logic.vips.nibio.no/public/RESTdocs/apidocs/)
## Develop and deploy VIPSLogic
Please read [the developer documentation](./docs/index.md)
\ No newline at end of file
......@@ -53,7 +53,6 @@ ALTER ROLE vipslogic SUPERUSER;
#### Building the VIPSLogic image
You need the
Make sure you're located in the parent folder of the VIPSLogic project. You need these resource files/folders in your current folder:
* standalone.xml (see below)
* VIPSCommon/ (can be cloned [from here](https://gitlab.nibio.no/VIPS/VIPSCommon)) - built with `mvn install`
......
<enunciate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://enunciate.webcohesion.com/schemas/enunciate-2.0.0-M.4.xsd">
<title>VIPSLogic API</title>
<description>
The VIPSLogic service API gives access to stored pest predictions and organisms
</description>
<description format="markdown" file="README.md"/>>
<copyright>NIBIO</copyright>
<contact><a href="https://www.nibio.no/ansatte/tor-einar-skog" target="new">Tor-Einar Skog</a></contact>
......@@ -22,8 +20,20 @@
<api-classes>
<exclude pattern="no.nibio.vips.logic.messaging.UniversalMessagingServiceClient"/>
<exclude pattern="no.nibio.vips.util.weather.dnmipointweb.**"/>
<exclude pattern="com.**"/>
<exclude pattern="org.**"/>
<exclude pattern="net.**"/>
<exclude pattern="freemarker.**"/>
<exclude pattern="de.**"/>
<exclude pattern="resources.**"/>
<exclude pattern="thredds.**"/>
<exclude pattern="ucar.**"/>
<exclude pattern="uk.**"/>
<exclude pattern="it.**"/>
<exclude pattern="antlr.**"/>
<exclude pattern="javax.**"/>
</api-classes>
<facets>
<exclude name="restricted"/>
</facets>
</enunciate>
\ No newline at end of file
</enunciate>
......@@ -71,6 +71,9 @@ public class VIPSLogicApplication extends Application
* given list with all resources defined in the project.
*/
private void addRestResourceClasses(Set<Class<?>> resources) {
resources.add(com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider.class);
resources.add(com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider.class);
resources.add(com.webcohesion.enunciate.rt.EnunciateJaxbContextResolver.class);
resources.add(no.nibio.vips.logic.messaging.sms.SMSHandlingService.class);
resources.add(no.nibio.vips.logic.modules.applefruitmoth.AppleFruitMothService.class);
resources.add(no.nibio.vips.logic.modules.barkbeetle.BarkbeetleService.class);
......@@ -87,5 +90,36 @@ public class VIPSLogicApplication extends Application
resources.add(no.nibio.vips.logic.service.POIService.class);
resources.add(no.nibio.vips.logic.service.VIPSMobileService.class);
resources.add(no.nibio.vips.observationdata.ObservationDataService.class);
resources.add(org.jboss.resteasy.core.AcceptHeaderByFileSuffixFilter.class);
resources.add(org.jboss.resteasy.core.AsynchronousDispatcher.class);
resources.add(org.jboss.resteasy.plugins.interceptors.AcceptEncodingGZIPFilter.class);
resources.add(org.jboss.resteasy.plugins.interceptors.GZIPDecodingInterceptor.class);
resources.add(org.jboss.resteasy.plugins.interceptors.GZIPEncodingInterceptor.class);
resources.add(org.jboss.resteasy.plugins.interceptors.MessageSanitizerContainerResponseFilter.class);
resources.add(org.jboss.resteasy.plugins.providers.AsyncStreamingOutputProvider.class);
resources.add(org.jboss.resteasy.plugins.providers.ByteArrayProvider.class);
resources.add(org.jboss.resteasy.plugins.providers.DataSourceProvider.class);
resources.add(org.jboss.resteasy.plugins.providers.DefaultBooleanWriter.class);
resources.add(org.jboss.resteasy.plugins.providers.DefaultNumberWriter.class);
resources.add(org.jboss.resteasy.plugins.providers.DefaultTextPlain.class);
resources.add(org.jboss.resteasy.plugins.providers.DocumentProvider.class);
resources.add(org.jboss.resteasy.plugins.providers.FileProvider.class);
resources.add(org.jboss.resteasy.plugins.providers.FileRangeWriter.class);
resources.add(org.jboss.resteasy.plugins.providers.FormUrlEncodedProvider.class);
resources.add(org.jboss.resteasy.plugins.providers.IIOImageProvider.class);
resources.add(org.jboss.resteasy.plugins.providers.InputStreamProvider.class);
resources.add(org.jboss.resteasy.plugins.providers.JaxrsFormProvider.class);
resources.add(org.jboss.resteasy.plugins.providers.JaxrsServerFormUrlEncodedProvider.class);
resources.add(org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider.class);
resources.add(org.jboss.resteasy.plugins.providers.ReaderProvider.class);
resources.add(org.jboss.resteasy.plugins.providers.SourceProvider.class);
resources.add(org.jboss.resteasy.plugins.providers.StreamingOutputProvider.class);
resources.add(org.jboss.resteasy.plugins.providers.StringTextStar.class);
resources.add(org.jboss.resteasy.plugins.providers.jackson.Jackson2JsonpInterceptor.class);
resources.add(org.jboss.resteasy.plugins.providers.jackson.PatchMethodFilter.class);
resources.add(org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider.class);
resources.add(org.jboss.resteasy.plugins.providers.jackson.UnrecognizedPropertyExceptionHandler.class);
resources.add(org.jboss.resteasy.plugins.providers.sse.SseEventProvider.class);
resources.add(org.jboss.resteasy.plugins.providers.sse.SseEventSinkInterceptor.class);
}
}
\ No newline at end of file
......@@ -353,6 +353,13 @@ public class UserBean {
return em.createNamedQuery("Organization.findAll").getResultList();
}
/**
* Check if a password meets all criteria configured by Passay
* @param password
* @param errorMessageLocale
* @return
* @throws PasswordValidationException
*/
public boolean isPasswordValid(String password, ULocale errorMessageLocale) throws PasswordValidationException
{
// Check if we need localization of error messages
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment