Browse Source

Reverting result object changes for v1 API

pull/61/head
Martin Stockhammer 3 years ago
parent
commit
4ccd40b23e
13 changed files with 37 additions and 251 deletions
  1. 0
    48
      archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/MemoryStatus.java
  2. 0
    48
      archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/PingResult.java
  3. 0
    48
      archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/PomSnippet.java
  4. 0
    48
      archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/Timestamp.java
  5. 4
    5
      archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/CommonServices.java
  6. 2
    3
      archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ManagedRepositoriesService.java
  7. 2
    3
      archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/PingService.java
  8. 4
    6
      archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/SystemStatusService.java
  9. 9
    21
      archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultCommonServices.java
  10. 2
    3
      archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java
  11. 3
    4
      archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultPingService.java
  12. 4
    6
      archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSystemStatusService.java
  13. 7
    8
      archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/PingServiceTest.java

+ 0
- 48
archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/MemoryStatus.java View File

@@ -1,48 +0,0 @@
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;
}
}

+ 0
- 48
archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/PingResult.java View File

@@ -1,48 +0,0 @@
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;
}
}

+ 0
- 48
archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/PomSnippet.java View File

@@ -1,48 +0,0 @@
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;
}
}

+ 0
- 48
archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/Timestamp.java View File

@@ -1,48 +0,0 @@
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;
}
}

+ 4
- 5
archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/CommonServices.java View File

@@ -28,7 +28,6 @@ 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)
@@ -48,9 +47,9 @@ public interface CommonServices
*/
@Path( "getI18nResources" )
@GET
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
@Produces( { MediaType.TEXT_PLAIN } )
@RedbackAuthorization( noRestriction = true )
Map<String,String> getI18nResources( @QueryParam( "locale" ) String locale )
String getI18nResources( @QueryParam( "locale" ) String locale )
throws ArchivaRestServiceException;

/**
@@ -61,9 +60,9 @@ public interface CommonServices
*/
@Path( "getAllI18nResources" )
@GET
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
@Produces( { MediaType.TEXT_PLAIN } )
@RedbackAuthorization( noRestriction = true )
Map<String,String> getAllI18nResources( @QueryParam( "locale" ) String locale )
String getAllI18nResources( @QueryParam( "locale" ) String locale )
throws ArchivaRestServiceException;



+ 2
- 3
archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ManagedRepositoriesService.java View File

@@ -26,7 +26,6 @@ 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;
@@ -117,9 +116,9 @@ public interface ManagedRepositoriesService
*/
@Path( "getPomSnippet/{repositoryId}" )
@GET
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
@Produces( { MediaType.TEXT_PLAIN } )
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION )
PomSnippet getPomSnippet( @PathParam( "repositoryId" ) String repositoryId )
String getPomSnippet( @PathParam( "repositoryId" ) String repositoryId )
throws ArchivaRestServiceException;



+ 2
- 3
archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/PingService.java View File

@@ -21,7 +21,6 @@ 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;
@@ -46,7 +45,7 @@ public interface PingService
@GET
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
@RedbackAuthorization( noRestriction = true )
PingResult ping();
String ping();

/**
* same as #ping but check authz
@@ -57,6 +56,6 @@ public interface PingService
@GET
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
@RedbackAuthorization( noRestriction = false, noPermission = true )
PingResult pingWithAuthz();
String pingWithAuthz();

}

+ 4
- 6
archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/SystemStatusService.java View File

@@ -22,8 +22,6 @@ 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;
@@ -45,16 +43,16 @@ public interface SystemStatusService
{
@Path( "memoryStatus" )
@GET
@Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
@Produces( MediaType.TEXT_PLAIN )
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION )
MemoryStatus getMemoryStatus()
String getMemoryStatus()
throws ArchivaRestServiceException;

@Path( "currentServerTime/{locale}" )
@GET
@Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML} )
@Produces( MediaType.TEXT_PLAIN )
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION )
Timestamp getCurrentServerTime( @PathParam( "locale" ) String locale )
String getCurrentServerTime( @PathParam( "locale" ) String locale )
throws ArchivaRestServiceException;

@Path( "queueEntries" )

+ 9
- 21
archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultCommonServices.java View File

@@ -40,7 +40,6 @@ 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
@@ -57,7 +56,7 @@ public class DefaultCommonServices
@Inject
private UtilServices utilServices;

private Map<String, Map<String,String>> cachei18n = new ConcurrentHashMap<String, Map<String,String>>();
private Map<String, String> cachei18n = new ConcurrentHashMap<String, String>();

@Inject
protected CronExpressionValidator cronExpressionValidator;
@@ -73,7 +72,7 @@ public class DefaultCommonServices
}

@Override
public Map<String,String> getI18nResources( String locale )
public String getI18nResources( String locale )
throws ArchivaRestServiceException
{
Properties properties = new Properties();
@@ -90,14 +89,7 @@ public class DefaultCommonServices
log.warn( "skip error loading properties {}", resourceName );
}

return properties.entrySet().stream().collect(
Collectors.toMap(
e -> e.getKey().toString(),
e -> e.getValue().toString()
)
);


return fromProperties( properties );
}

private void loadResource( Properties properties, StringBuilder resourceName, String locale )
@@ -150,11 +142,11 @@ public class DefaultCommonServices
}

@Override
public Map<String,String> getAllI18nResources( String locale )
public String getAllI18nResources( String locale )
throws ArchivaRestServiceException
{

Map<String,String> cachedi18n = cachei18n.get( StringUtils.isEmpty( locale ) ? "en" : StringUtils.lowerCase( locale ) );
String cachedi18n = cachei18n.get( StringUtils.isEmpty( locale ) ? "en" : StringUtils.lowerCase( locale ) );
if ( cachedi18n != null )
{
return cachedi18n;
@@ -166,14 +158,10 @@ public class DefaultCommonServices
Properties all = utilServices.getI18nProperties( locale );
StringBuilder resourceName = new StringBuilder( RESOURCE_NAME );
loadResource( all, resourceName, locale );
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;

String i18n = fromProperties( all );
cachei18n.put( StringUtils.isEmpty( locale ) ? "en" : StringUtils.lowerCase( locale ), i18n );
return i18n;
}
catch ( IOException e )
{

+ 2
- 3
archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java View File

@@ -30,7 +30,6 @@ 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;
@@ -212,10 +211,10 @@ public class DefaultManagedRepositoriesService
}

@Override
public PomSnippet getPomSnippet( String repositoryId )
public String getPomSnippet( String repositoryId )
throws ArchivaRestServiceException
{
return new PomSnippet( createSnippet( getManagedRepository( repositoryId ) ) );
return createSnippet( getManagedRepository( repositoryId ) );
}

private String createSnippet( ManagedRepository repo )

+ 3
- 4
archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultPingService.java View File

@@ -19,7 +19,6 @@ 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;

@@ -32,13 +31,13 @@ public class DefaultPingService
implements PingService
{
@Override
public PingResult ping()
public String ping()
{
return new PingResult( "Yeah Baby It rocks!" );
return "Yeah Baby It rocks!";
}

@Override
public PingResult pingWithAuthz()
public String pingWithAuthz()
{
return ping();
}

+ 4
- 6
archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSystemStatusService.java View File

@@ -29,10 +29,8 @@ 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;
@@ -88,7 +86,7 @@ public class DefaultSystemStatusService
}

@Override
public MemoryStatus getMemoryStatus()
public String getMemoryStatus()
throws ArchivaRestServiceException
{
Runtime runtime = Runtime.getRuntime();
@@ -96,7 +94,7 @@ public class DefaultSystemStatusService
long total = runtime.totalMemory();
long used = total - runtime.freeMemory();
long max = runtime.maxMemory();
return new MemoryStatus( formatMemory( used ) + "/" + formatMemory( total ) + " (Max: " + formatMemory( max ) + ")" );
return formatMemory( used ) + "/" + formatMemory( total ) + " (Max: " + formatMemory( max ) + ")";
}

private static String formatMemory( long l )
@@ -105,11 +103,11 @@ public class DefaultSystemStatusService
}

@Override
public Timestamp getCurrentServerTime( String locale )
public String getCurrentServerTime( String locale )
throws ArchivaRestServiceException
{
SimpleDateFormat sdf = new SimpleDateFormat( "EEE, d MMM yyyy HH:mm:ss Z", new Locale( locale ) );
return new Timestamp( sdf.format( new Date( ) ) );
return sdf.format( new Date() );
}

@Override

+ 7
- 8
archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/PingServiceTest.java View File

@@ -19,7 +19,6 @@ 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;
@@ -43,8 +42,8 @@ public class PingServiceTest
// 1000000L
//WebClient.getConfig( userService ).getHttpConduit().getClient().setReceiveTimeout(3000);

PingResult res = getPingService().ping();
assertEquals( "Yeah Baby It rocks!", res.getOutput() );
String res = getPingService().ping();
assertEquals( "Yeah Baby It rocks!", res );
}

@Test( expected = ForbiddenException.class )
@@ -54,7 +53,7 @@ public class PingServiceTest

try
{
PingResult res = getPingService().pingWithAuthz();
String res = getPingService().pingWithAuthz();
fail( "not in exception" );
}
catch ( ForbiddenException e )
@@ -72,8 +71,8 @@ public class PingServiceTest
PingService service = getPingService();
WebClient.getConfig( service ).getHttpConduit().getClient().setReceiveTimeout( 300000 );
WebClient.client( service ).header( "Authorization", authorizationHeader );
PingResult res = service.pingWithAuthz();
assertEquals( "Yeah Baby It rocks!", res.getOutput() );
String res = service.pingWithAuthz();
assertEquals( "Yeah Baby It rocks!", res );
}

@Ignore( "FIXME guest failed ???" )
@@ -84,7 +83,7 @@ public class PingServiceTest
PingService service = getPingService();
WebClient.getConfig( service ).getHttpConduit().getClient().setReceiveTimeout( 300000 );
WebClient.client( service ).header( "Authorization", guestAuthzHeader );
PingResult res = service.pingWithAuthz();
assertEquals( "Yeah Baby It rocks!", res.getOutput() );
String res = service.pingWithAuthz();
assertEquals( "Yeah Baby It rocks!", res );
}
}

Loading…
Cancel
Save