aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Stockhammer <martin_s@apache.org>2020-06-30 13:24:49 +0200
committerMartin Stockhammer <martin_s@apache.org>2020-06-30 13:24:49 +0200
commitbef02ef5b8d1f47f6cded2257ac49ae770e4f0fb (patch)
tree672aa61e2d5c1c8d64e19de558701b9d074b5b0f
parentb9316745df508c88c3c691bb4a509265a523dfde (diff)
downloadarchiva-bef02ef5b8d1f47f6cded2257ac49ae770e4f0fb.tar.gz
archiva-bef02ef5b8d1f47f6cded2257ac49ae770e4f0fb.zip
Migrating return values of rest services away from simple types
-rw-r--r--archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/MemoryStatus.java48
-rw-r--r--archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/PingResult.java48
-rw-r--r--archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/PomSnippet.java48
-rw-r--r--archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/Timestamp.java48
-rw-r--r--archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/CommonServices.java9
-rw-r--r--archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ManagedRepositoriesService.java5
-rw-r--r--archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/PingService.java5
-rw-r--r--archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/SystemStatusService.java10
-rw-r--r--archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultCommonServices.java30
-rw-r--r--archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java5
-rw-r--r--archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultPingService.java7
-rw-r--r--archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSystemStatusService.java10
-rw-r--r--archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/PingServiceTest.java15
13 files changed, 251 insertions, 37 deletions
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/MemoryStatus.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/MemoryStatus.java
new file mode 100644
index 000000000..1bf152863
--- /dev/null
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/MemoryStatus.java
@@ -0,0 +1,48 @@
+package org.apache.archiva.rest.api.model;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import javax.xml.bind.annotation.XmlRootElement;
+
+/**
+ * @author Martin Stockhammer <martin_s@apache.org>
+ */
+@XmlRootElement(name="memoryStatus")
+public class MemoryStatus
+{
+ String statusText;
+
+ public MemoryStatus() {
+
+ }
+
+ public MemoryStatus(String statusText) {
+ this.statusText = statusText;
+ }
+
+ public String getStatusText( )
+ {
+ return statusText;
+ }
+
+ public void setStatusText( String statusText )
+ {
+ this.statusText = statusText;
+ }
+}
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/PingResult.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/PingResult.java
new file mode 100644
index 000000000..566b29100
--- /dev/null
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/PingResult.java
@@ -0,0 +1,48 @@
+package org.apache.archiva.rest.api.model;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import javax.xml.bind.annotation.XmlRootElement;
+
+/**
+ * @author Martin Stockhammer <martin_s@apache.org>
+ */
+@XmlRootElement(name="pingResult")
+public class PingResult
+{
+ String output;
+
+ public PingResult() {
+
+ }
+
+ public PingResult(String output) {
+ this.output = output;
+ }
+
+ public String getOutput( )
+ {
+ return output;
+ }
+
+ public void setOutput( String output )
+ {
+ this.output = output;
+ }
+}
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/PomSnippet.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/PomSnippet.java
new file mode 100644
index 000000000..80a89d381
--- /dev/null
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/PomSnippet.java
@@ -0,0 +1,48 @@
+package org.apache.archiva.rest.api.model;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import javax.xml.bind.annotation.XmlRootElement;
+
+/**
+ * @author Martin Stockhammer <martin_s@apache.org>
+ */
+@XmlRootElement(name="pomSnippet")
+public class PomSnippet
+{
+ String text;
+
+ public PomSnippet() {
+
+ }
+
+ public PomSnippet(String text) {
+ this.text = text;
+ }
+
+ public String getText( )
+ {
+ return text;
+ }
+
+ public void setText( String text )
+ {
+ this.text = text;
+ }
+}
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/Timestamp.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/Timestamp.java
new file mode 100644
index 000000000..19adfb314
--- /dev/null
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/Timestamp.java
@@ -0,0 +1,48 @@
+package org.apache.archiva.rest.api.model;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import javax.xml.bind.annotation.XmlRootElement;
+
+/**
+ * @author Martin Stockhammer <martin_s@apache.org>
+ */
+@XmlRootElement(name="timestamp")
+public class Timestamp
+{
+ String value;
+
+ public Timestamp() {
+
+ }
+
+ public Timestamp( String value) {
+ this.value = value;
+ }
+
+ public String getValue( )
+ {
+ return value;
+ }
+
+ public void setValue( String value )
+ {
+ this.value = value;
+ }
+}
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/CommonServices.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/CommonServices.java
index 68d827fa1..09d8646e0 100644
--- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/CommonServices.java
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/CommonServices.java
@@ -28,6 +28,7 @@ import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
+import java.util.Map;
/**
* contains some "free" services (i18n)
@@ -47,9 +48,9 @@ public interface CommonServices
*/
@Path( "getI18nResources" )
@GET
- @Produces( { MediaType.TEXT_PLAIN } )
+ @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
@RedbackAuthorization( noRestriction = true )
- String getI18nResources( @QueryParam( "locale" ) String locale )
+ Map<String,String> getI18nResources( @QueryParam( "locale" ) String locale )
throws ArchivaRestServiceException;
/**
@@ -60,9 +61,9 @@ public interface CommonServices
*/
@Path( "getAllI18nResources" )
@GET
- @Produces( { MediaType.TEXT_PLAIN } )
+ @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
@RedbackAuthorization( noRestriction = true )
- String getAllI18nResources( @QueryParam( "locale" ) String locale )
+ Map<String,String> getAllI18nResources( @QueryParam( "locale" ) String locale )
throws ArchivaRestServiceException;
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ManagedRepositoriesService.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ManagedRepositoriesService.java
index 208f24f09..5a61d0710 100644
--- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ManagedRepositoriesService.java
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ManagedRepositoriesService.java
@@ -26,6 +26,7 @@ import org.apache.archiva.redback.authorization.RedbackAuthorization;
import org.apache.archiva.rest.api.model.ActionStatus;
import org.apache.archiva.rest.api.model.ArchivaRepositoryStatistics;
import org.apache.archiva.rest.api.model.FileStatus;
+import org.apache.archiva.rest.api.model.PomSnippet;
import org.apache.archiva.security.common.ArchivaRoleConstants;
import javax.ws.rs.Consumes;
@@ -116,9 +117,9 @@ public interface ManagedRepositoriesService
*/
@Path( "getPomSnippet/{repositoryId}" )
@GET
- @Produces( { MediaType.TEXT_PLAIN } )
+ @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION )
- String getPomSnippet( @PathParam( "repositoryId" ) String repositoryId )
+ PomSnippet getPomSnippet( @PathParam( "repositoryId" ) String repositoryId )
throws ArchivaRestServiceException;
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/PingService.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/PingService.java
index b1016b8a0..ab53f3d7c 100644
--- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/PingService.java
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/PingService.java
@@ -21,6 +21,7 @@ package org.apache.archiva.rest.api.services;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.apache.archiva.redback.authorization.RedbackAuthorization;
+import org.apache.archiva.rest.api.model.PingResult;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
@@ -45,7 +46,7 @@ public interface PingService
@GET
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
@RedbackAuthorization( noRestriction = true )
- String ping();
+ PingResult ping();
/**
* same as #ping but check authz
@@ -56,6 +57,6 @@ public interface PingService
@GET
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
@RedbackAuthorization( noRestriction = false, noPermission = true )
- String pingWithAuthz();
+ PingResult pingWithAuthz();
}
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/SystemStatusService.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/SystemStatusService.java
index c6b43328c..c8d509f7e 100644
--- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/SystemStatusService.java
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/SystemStatusService.java
@@ -22,6 +22,8 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import org.apache.archiva.redback.authorization.RedbackAuthorization;
import org.apache.archiva.rest.api.model.ActionStatus;
import org.apache.archiva.rest.api.model.CacheEntry;
+import org.apache.archiva.rest.api.model.Timestamp;
+import org.apache.archiva.rest.api.model.MemoryStatus;
import org.apache.archiva.rest.api.model.QueueEntry;
import org.apache.archiva.rest.api.model.RepositoryScannerStatistics;
import org.apache.archiva.security.common.ArchivaRoleConstants;
@@ -43,16 +45,16 @@ public interface SystemStatusService
{
@Path( "memoryStatus" )
@GET
- @Produces( MediaType.TEXT_PLAIN )
+ @Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION )
- String getMemoryStatus()
+ MemoryStatus getMemoryStatus()
throws ArchivaRestServiceException;
@Path( "currentServerTime/{locale}" )
@GET
- @Produces( MediaType.TEXT_PLAIN )
+ @Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML} )
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION )
- String getCurrentServerTime( @PathParam( "locale" ) String locale )
+ Timestamp getCurrentServerTime( @PathParam( "locale" ) String locale )
throws ArchivaRestServiceException;
@Path( "queueEntries" )
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultCommonServices.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultCommonServices.java
index 25ee182f7..b57e66ce2 100644
--- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultCommonServices.java
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultCommonServices.java
@@ -40,6 +40,7 @@ import java.io.InputStream;
import java.util.Map;
import java.util.Properties;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.stream.Collectors;
/**
* @author Olivier Lamy
@@ -56,7 +57,7 @@ public class DefaultCommonServices
@Inject
private UtilServices utilServices;
- private Map<String, String> cachei18n = new ConcurrentHashMap<String, String>();
+ private Map<String, Map<String,String>> cachei18n = new ConcurrentHashMap<String, Map<String,String>>();
@Inject
protected CronExpressionValidator cronExpressionValidator;
@@ -72,7 +73,7 @@ public class DefaultCommonServices
}
@Override
- public String getI18nResources( String locale )
+ public Map<String,String> getI18nResources( String locale )
throws ArchivaRestServiceException
{
Properties properties = new Properties();
@@ -89,7 +90,14 @@ public class DefaultCommonServices
log.warn( "skip error loading properties {}", resourceName );
}
- return fromProperties( properties );
+ return properties.entrySet().stream().collect(
+ Collectors.toMap(
+ e -> e.getKey().toString(),
+ e -> e.getValue().toString()
+ )
+ );
+
+
}
private void loadResource( Properties properties, StringBuilder resourceName, String locale )
@@ -142,11 +150,11 @@ public class DefaultCommonServices
}
@Override
- public String getAllI18nResources( String locale )
+ public Map<String,String> getAllI18nResources( String locale )
throws ArchivaRestServiceException
{
- String cachedi18n = cachei18n.get( StringUtils.isEmpty( locale ) ? "en" : StringUtils.lowerCase( locale ) );
+ Map<String,String> cachedi18n = cachei18n.get( StringUtils.isEmpty( locale ) ? "en" : StringUtils.lowerCase( locale ) );
if ( cachedi18n != null )
{
return cachedi18n;
@@ -158,10 +166,14 @@ public class DefaultCommonServices
Properties all = utilServices.getI18nProperties( locale );
StringBuilder resourceName = new StringBuilder( RESOURCE_NAME );
loadResource( all, resourceName, locale );
-
- String i18n = fromProperties( all );
- cachei18n.put( StringUtils.isEmpty( locale ) ? "en" : StringUtils.lowerCase( locale ), i18n );
- return i18n;
+ Map<String, String> allMap = all.entrySet().stream().collect(
+ Collectors.toMap(
+ e -> e.getKey().toString(),
+ e -> e.getValue().toString()
+ )
+ );
+ cachei18n.put( StringUtils.isEmpty( locale ) ? "en" : StringUtils.lowerCase( locale ), allMap );
+ return allMap;
}
catch ( IOException e )
{
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java
index 6aec318da..ea84684f2 100644
--- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java
@@ -30,6 +30,7 @@ import org.apache.archiva.metadata.repository.stats.model.RepositoryStatisticsMa
import org.apache.archiva.rest.api.model.ActionStatus;
import org.apache.archiva.rest.api.model.ArchivaRepositoryStatistics;
import org.apache.archiva.rest.api.model.FileStatus;
+import org.apache.archiva.rest.api.model.PomSnippet;
import org.apache.archiva.rest.api.services.ArchivaRestServiceException;
import org.apache.archiva.rest.api.services.ManagedRepositoriesService;
import org.apache.commons.lang3.StringEscapeUtils;
@@ -211,10 +212,10 @@ public class DefaultManagedRepositoriesService
}
@Override
- public String getPomSnippet( String repositoryId )
+ public PomSnippet getPomSnippet( String repositoryId )
throws ArchivaRestServiceException
{
- return createSnippet( getManagedRepository( repositoryId ) );
+ return new PomSnippet( createSnippet( getManagedRepository( repositoryId ) ) );
}
private String createSnippet( ManagedRepository repo )
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultPingService.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultPingService.java
index 1d89c7e43..86032472e 100644
--- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultPingService.java
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultPingService.java
@@ -19,6 +19,7 @@ package org.apache.archiva.rest.services;
* under the License.
*/
+import org.apache.archiva.rest.api.model.PingResult;
import org.apache.archiva.rest.api.services.PingService;
import org.springframework.stereotype.Service;
@@ -31,13 +32,13 @@ public class DefaultPingService
implements PingService
{
@Override
- public String ping()
+ public PingResult ping()
{
- return "Yeah Baby It rocks!";
+ return new PingResult( "Yeah Baby It rocks!" );
}
@Override
- public String pingWithAuthz()
+ public PingResult pingWithAuthz()
{
return ping();
}
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSystemStatusService.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSystemStatusService.java
index 775664662..2b1c8ab05 100644
--- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSystemStatusService.java
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSystemStatusService.java
@@ -29,8 +29,10 @@ import org.apache.archiva.repository.scanner.RepositoryScannerInstance;
import org.apache.archiva.rest.api.model.ActionStatus;
import org.apache.archiva.rest.api.model.CacheEntry;
import org.apache.archiva.rest.api.model.ConsumerScanningStatistics;
+import org.apache.archiva.rest.api.model.MemoryStatus;
import org.apache.archiva.rest.api.model.QueueEntry;
import org.apache.archiva.rest.api.model.RepositoryScannerStatistics;
+import org.apache.archiva.rest.api.model.Timestamp;
import org.apache.archiva.rest.api.services.ArchivaRestServiceException;
import org.apache.archiva.rest.api.services.SystemStatusService;
import org.apache.archiva.rest.services.utils.ConsumerScanningStatisticsComparator;
@@ -86,7 +88,7 @@ public class DefaultSystemStatusService
}
@Override
- public String getMemoryStatus()
+ public MemoryStatus getMemoryStatus()
throws ArchivaRestServiceException
{
Runtime runtime = Runtime.getRuntime();
@@ -94,7 +96,7 @@ public class DefaultSystemStatusService
long total = runtime.totalMemory();
long used = total - runtime.freeMemory();
long max = runtime.maxMemory();
- return formatMemory( used ) + "/" + formatMemory( total ) + " (Max: " + formatMemory( max ) + ")";
+ return new MemoryStatus( formatMemory( used ) + "/" + formatMemory( total ) + " (Max: " + formatMemory( max ) + ")" );
}
private static String formatMemory( long l )
@@ -103,11 +105,11 @@ public class DefaultSystemStatusService
}
@Override
- public String getCurrentServerTime( String locale )
+ public Timestamp getCurrentServerTime( String locale )
throws ArchivaRestServiceException
{
SimpleDateFormat sdf = new SimpleDateFormat( "EEE, d MMM yyyy HH:mm:ss Z", new Locale( locale ) );
- return sdf.format( new Date() );
+ return new Timestamp( sdf.format( new Date( ) ) );
}
@Override
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/PingServiceTest.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/PingServiceTest.java
index 7fb242e95..6fff4d3d3 100644
--- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/PingServiceTest.java
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/PingServiceTest.java
@@ -19,6 +19,7 @@ package org.apache.archiva.rest.services;
* under the License.
*/
+import org.apache.archiva.rest.api.model.PingResult;
import org.apache.archiva.rest.api.services.PingService;
import org.apache.cxf.jaxrs.client.WebClient;
import org.junit.Ignore;
@@ -42,8 +43,8 @@ public class PingServiceTest
// 1000000L
//WebClient.getConfig( userService ).getHttpConduit().getClient().setReceiveTimeout(3000);
- String res = getPingService().ping();
- assertEquals( "Yeah Baby It rocks!", res );
+ PingResult res = getPingService().ping();
+ assertEquals( "Yeah Baby It rocks!", res.getOutput() );
}
@Test( expected = ForbiddenException.class )
@@ -53,7 +54,7 @@ public class PingServiceTest
try
{
- String res = getPingService().pingWithAuthz();
+ PingResult res = getPingService().pingWithAuthz();
fail( "not in exception" );
}
catch ( ForbiddenException e )
@@ -71,8 +72,8 @@ public class PingServiceTest
PingService service = getPingService();
WebClient.getConfig( service ).getHttpConduit().getClient().setReceiveTimeout( 300000 );
WebClient.client( service ).header( "Authorization", authorizationHeader );
- String res = service.pingWithAuthz();
- assertEquals( "Yeah Baby It rocks!", res );
+ PingResult res = service.pingWithAuthz();
+ assertEquals( "Yeah Baby It rocks!", res.getOutput() );
}
@Ignore( "FIXME guest failed ???" )
@@ -83,7 +84,7 @@ public class PingServiceTest
PingService service = getPingService();
WebClient.getConfig( service ).getHttpConduit().getClient().setReceiveTimeout( 300000 );
WebClient.client( service ).header( "Authorization", guestAuthzHeader );
- String res = service.pingWithAuthz();
- assertEquals( "Yeah Baby It rocks!", res );
+ PingResult res = service.pingWithAuthz();
+ assertEquals( "Yeah Baby It rocks!", res.getOutput() );
}
}