diff --git a/scm-webapp/pom.xml b/scm-webapp/pom.xml index 4edd710c15..afc934d136 100644 --- a/scm-webapp/pom.xml +++ b/scm-webapp/pom.xml @@ -218,6 +218,12 @@ + + + org.codehaus.enunciate + enunciate-jersey-rt + ${enunciate.version} + @@ -324,6 +330,7 @@ default + 1.24 1.13 1.0 3.0.3 @@ -451,6 +458,52 @@ + + + doc + + + + + + org.codehaus.enunciate + maven-enunciate-plugin + ${enunciate.version} + + + + docs + + compile + + + + + sonia.scm.api.rest.resources.AuthenticationResource + sonia.scm.api.rest.resources.ChangePasswordResource + + sonia.scm.api.rest.resources.GroupResource + sonia.scm.api.rest.resources.UserResource + sonia.scm.api.rest.resources.RepositoryResource + sonia.scm.api.rest.resources.PluginResource + sonia.scm.api.rest.resources.SearchResource + + ${project.build.directory}/docs + + + + org.codehaus.enunciate + enunciate-jersey + ${enunciate.version} + + + + + + + diff --git a/scm-webapp/src/main/doc/enunciate.xml b/scm-webapp/src/main/doc/enunciate.xml new file mode 100644 index 0000000000..5a049bb7ab --- /dev/null +++ b/scm-webapp/src/main/doc/enunciate.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/AuthenticationResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/AuthenticationResource.java index ec87c5ae4f..05e22a52aa 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/AuthenticationResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/AuthenticationResource.java @@ -39,6 +39,8 @@ import com.google.inject.Inject; import com.google.inject.Provider; import com.google.inject.Singleton; +import org.codehaus.enunciate.modules.jersey.SpringManagedLifecycle; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -72,6 +74,7 @@ import javax.ws.rs.core.Response; */ @Singleton @Path("authentication") +@SpringManagedLifecycle @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) public class AuthenticationResource { diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/ChangePasswordResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/ChangePasswordResource.java index 52bb1aa595..6ee35f34e7 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/ChangePasswordResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/ChangePasswordResource.java @@ -38,6 +38,8 @@ package sonia.scm.api.rest.resources; import com.google.inject.Inject; import com.google.inject.Provider; +import org.codehaus.enunciate.modules.jersey.SpringManagedLifecycle; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -66,6 +68,7 @@ import javax.ws.rs.core.Response; * * @author Sebastian Sdorra */ +@SpringManagedLifecycle @Path("action/change-password") public class ChangePasswordResource { diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/ConfigurationResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/ConfigurationResource.java index e8bed8bb83..e1be94159a 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/ConfigurationResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/ConfigurationResource.java @@ -39,6 +39,8 @@ import com.google.inject.Inject; import com.google.inject.Provider; import com.google.inject.Singleton; +import org.codehaus.enunciate.modules.jersey.SpringManagedLifecycle; + import sonia.scm.config.ScmConfiguration; import sonia.scm.util.ScmConfigurationUtil; import sonia.scm.util.SecurityUtil; @@ -62,6 +64,7 @@ import javax.ws.rs.core.UriInfo; */ @Singleton @Path("config") +@SpringManagedLifecycle public class ConfigurationResource { diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/DiffStreamingOutput.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/DiffStreamingOutput.java index b21a2676c9..a8f7c93ef4 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/DiffStreamingOutput.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/DiffStreamingOutput.java @@ -67,8 +67,8 @@ public class DiffStreamingOutput implements StreamingOutput /** * Constructs ... - * - * + * + * * @param diffViewer * @param revision * @param path diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/GroupResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/GroupResource.java index 0ea3d02151..df65e3c02b 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/GroupResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/GroupResource.java @@ -39,6 +39,8 @@ import com.google.inject.Inject; import com.google.inject.Provider; import com.google.inject.Singleton; +import org.codehaus.enunciate.modules.jersey.SpringManagedLifecycle; + import sonia.scm.group.Group; import sonia.scm.group.GroupException; import sonia.scm.group.GroupManager; @@ -60,6 +62,7 @@ import javax.ws.rs.core.Response; */ @Path("groups") @Singleton +@SpringManagedLifecycle public class GroupResource extends AbstractManagerResource { diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/PluginResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/PluginResource.java index f84e09e5fc..5374a27bca 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/PluginResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/PluginResource.java @@ -38,6 +38,8 @@ package sonia.scm.api.rest.resources; import com.google.inject.Inject; import com.google.inject.Singleton; +import org.codehaus.enunciate.modules.jersey.SpringManagedLifecycle; + import sonia.scm.plugin.DefaultPluginManager; import sonia.scm.plugin.OverviewPluginFilter; import sonia.scm.plugin.PluginInformation; @@ -65,6 +67,7 @@ import javax.ws.rs.core.Response; */ @Singleton @Path("plugins") +@SpringManagedLifecycle public class PluginResource { diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryResource.java index 66fd18687a..63f2332b04 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryResource.java @@ -39,6 +39,8 @@ import com.google.inject.Inject; import com.google.inject.Provider; import com.google.inject.Singleton; +import org.codehaus.enunciate.modules.jersey.SpringManagedLifecycle; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -88,6 +90,7 @@ import javax.ws.rs.core.StreamingOutput; */ @Singleton @Path("repositories") +@SpringManagedLifecycle public class RepositoryResource extends AbstractManagerResource { diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SearchResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SearchResource.java index b3608f8c00..4b65b3ba77 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SearchResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SearchResource.java @@ -40,6 +40,8 @@ import com.google.inject.Inject; import com.google.inject.Provider; import com.google.inject.Singleton; +import org.codehaus.enunciate.modules.jersey.SpringManagedLifecycle; + import sonia.scm.HandlerEvent; import sonia.scm.cache.Cache; import sonia.scm.cache.CacheManager; @@ -68,6 +70,7 @@ import javax.ws.rs.core.MediaType; */ @Singleton @Path("search") +@SpringManagedLifecycle public class SearchResource implements UserListener, GroupListener { diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/UserResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/UserResource.java index 00051f21e5..a1a866b1df 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/UserResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/UserResource.java @@ -39,6 +39,8 @@ import com.google.inject.Inject; import com.google.inject.Provider; import com.google.inject.Singleton; +import org.codehaus.enunciate.modules.jersey.SpringManagedLifecycle; + import sonia.scm.security.EncryptionHandler; import sonia.scm.user.User; import sonia.scm.user.UserException; @@ -63,6 +65,7 @@ import javax.ws.rs.core.Response; */ @Path("users") @Singleton +@SpringManagedLifecycle public class UserResource extends AbstractManagerResource {