")
@GetMapping("/startScraping")
- public ScrapingExecution startScraping(@RequestParam final String datasourceKey, @RequestParam final String sitemapUrl, final HttpServletRequest req) {
+ public ScrapingExecution startScraping(@Parameter(name = "datasourceKey") @RequestParam final String datasourceKey,
+ @Parameter(name = "sitemapUrl") @RequestParam final String sitemapUrl,
+ final HttpServletRequest req) {
logger.info(" datasourceKey: "+datasourceKey+" sitemapUrl:"+sitemapUrl);
- return scrapingExecutor.startScraping(datasourceKey, sitemapUrl, getOutputDataPattern(), req.getRemoteAddr());
+ return scrapingExecutor.startScraping(datasourceKey, sitemapUrl, getOutputDataPattern(), req.getRemoteAddr(), getOutputFolder());
}
+ @Operation(summary = "check the status of last scraping operation")
@GetMapping("/startScraping/status")
public final ScrapingExecution statusScraping() {
return scrapingExecutor.getLastScrapingExecution();
}
+ @Operation(summary = "retrieve the nquads downloaded for one specific provider")
@RequestMapping(value = "/getNQuads", method = RequestMethod.GET)
- public String getNQuads(@RequestParam final String datasourceKey, HttpServletResponse response) throws BioschemasException, IOException {
+ public String getNQuads(@Parameter(name = "datasourceKey") @RequestParam final String datasourceKey, HttpServletResponse response) throws BioschemasException, IOException {
logger.info(" datasourceKey: "+datasourceKey);
@@ -76,4 +87,12 @@ public class BioschemasAPIController extends AbstractDnetController {
public String getOutputDataPattern() {
return outputDataPattern;
}
+
+ public void setOutputFolder(String outputFolder) {
+ this.outputFolder = outputFolder;
+ }
+
+ public void setOutputDataPattern(String outputDataPattern) {
+ this.outputDataPattern = outputDataPattern;
+ }
}
\ No newline at end of file
diff --git a/apps/bioschemas-api/src/main/java/eu/dnetlib/bioschemas/api/controller/HomeController.java b/apps/bioschemas-api/src/main/java/eu/dnetlib/bioschemas/api/controller/HomeController.java
index 8796f280..8f09a125 100644
--- a/apps/bioschemas-api/src/main/java/eu/dnetlib/bioschemas/api/controller/HomeController.java
+++ b/apps/bioschemas-api/src/main/java/eu/dnetlib/bioschemas/api/controller/HomeController.java
@@ -11,7 +11,7 @@ public class HomeController extends AbstractDnetController {
"/doc", "/swagger"
})
public String apiDoc() {
- return "redirect:swagger-ui/";
+ return "redirect:swagger-ui/index.html";
}
}
diff --git a/apps/bioschemas-api/src/main/java/eu/dnetlib/bioschemas/api/scraper/ScrapingExecutor.java b/apps/bioschemas-api/src/main/java/eu/dnetlib/bioschemas/api/scraper/ScrapingExecutor.java
index e3ccb6ff..341f0d20 100644
--- a/apps/bioschemas-api/src/main/java/eu/dnetlib/bioschemas/api/scraper/ScrapingExecutor.java
+++ b/apps/bioschemas-api/src/main/java/eu/dnetlib/bioschemas/api/scraper/ScrapingExecutor.java
@@ -14,7 +14,7 @@ public class ScrapingExecutor {
return lastScrapingExecution;
}
- public ScrapingExecution startScraping(final String datasourceKey, final String sitemapUrl, final String outputDataPattern, final String remoteAddr) {
+ public ScrapingExecution startScraping(final String datasourceKey, final String sitemapUrl, final String outputDataPattern, final String remoteAddr, final String outputFolder) {
synchronized (lastScrapingExecution) {
if (lastScrapingExecution.getStatus() != ScrapingStatus.RUNNING) {
lastScrapingExecution.startNew("Scraping for " + datasourceKey + " " + sitemapUrl + " - request from " + remoteAddr);
@@ -22,8 +22,8 @@ public class ScrapingExecutor {
try {
String sitemapUrlKey = "loc";
String outputFilename = datasourceKey.concat(outputDataPattern);
- ServiceScrapeDriver service = new ServiceScrapeDriver(sitemapUrl, sitemapUrlKey, null, outputFilename);
- service.start();
+ ServiceScrapeDriver service = new ServiceScrapeDriver(sitemapUrl, sitemapUrlKey, null, outputFilename, outputFolder);
+ service.runScrape();
lastScrapingExecution.complete();
} catch (final Throwable e) {
lastScrapingExecution.fail(e);
diff --git a/apps/bioschemas-api/src/main/resources/application.properties b/apps/bioschemas-api/src/main/resources/application.properties
index 43ac7dad..57bf37a9 100644
--- a/apps/bioschemas-api/src/main/resources/application.properties
+++ b/apps/bioschemas-api/src/main/resources/application.properties
@@ -1,9 +1,12 @@
-server.servlet.context-path=/bioschemas
+server.servlet.context-path=/bioschemas-api
server.port=8281
+server.public_url = http://localhost:8281/bioschemas-api
+server.public_desc = API Base URL
+
spring.profiles.active=garr
-logging.file.name = /var/log/bioschemas/log/bioschemas-api.log
+logging.file.name = /var/log/bioschemas-api/bioschemas.log
maven.pom.path = /META-INF/maven/eu.dnetlib.dhp/bioschemas-api/effective-pom.xml
@@ -17,9 +20,8 @@ management.endpoints.web.path-mapping.prometheus = metrics
management.endpoints.web.path-mapping.health = health
waitTime=5
-outputFolder=/data
+outputFolder=/data/bioschemas-harvest
outputDataPattern=_base64_gzipped_nquads.txt
numberOfPagesToCrawlInALoop=8
totalNumberOfPagesToCrawlInASession=32
-chromiumDriverLocation = /usr/local/bin/chromedriver
scrapeVersion=1
\ No newline at end of file
diff --git a/apps/dhp-broker-application/pom.xml b/apps/dhp-broker-application/pom.xml
index 9c9b4795..931b0c70 100644
--- a/apps/dhp-broker-application/pom.xml
+++ b/apps/dhp-broker-application/pom.xml
@@ -4,7 +4,7 @@
eu.dnetlib.dhpapps
- 3.2.9-SNAPSHOT
+ 3.3.3-SNAPSHOT../pom.xml
@@ -18,14 +18,6 @@
-
-
- javax.mail
- mail
- 1.4.7
-
-
-
eu.dnetlib.dhp
diff --git a/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/LiteratureBrokerServiceApplication.java b/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/LiteratureBrokerServiceApplication.java
index 763299ca..034f0331 100644
--- a/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/LiteratureBrokerServiceApplication.java
+++ b/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/LiteratureBrokerServiceApplication.java
@@ -1,14 +1,15 @@
package eu.dnetlib.broker;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.springdoc.core.GroupedOpenApi;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.Bean;
import eu.dnetlib.common.app.AbstractDnetApp;
-import springfox.documentation.builders.ApiInfoBuilder;
-import springfox.documentation.builders.RequestHandlerSelectors;
-import springfox.documentation.service.ApiInfo;
-import springfox.documentation.service.Tag;
-import springfox.documentation.spring.web.plugins.Docket;
+import io.swagger.v3.oas.models.tags.Tag;
@SpringBootApplication
public class LiteratureBrokerServiceApplication extends AbstractDnetApp {
@@ -24,22 +25,28 @@ public class LiteratureBrokerServiceApplication extends AbstractDnetApp {
SpringApplication.run(LiteratureBrokerServiceApplication.class, args);
}
- @Override
- protected void configSwagger(final Docket docket) {
- docket.select()
- .apis(RequestHandlerSelectors.any())
- .paths(p -> p.startsWith("/api/"))
- .build()
- .tags(new Tag(TAG_EVENTS, "Events management"), new Tag(TAG_SUBSCRIPTIONS, "Subscriptions management"), new Tag(TAG_NOTIFICATIONS,
- "Notifications management"), new Tag(TAG_TOPIC_TYPES, "Topic types management"), new Tag(TAG_OPENAIRE, "OpenAIRE use case"))
- .apiInfo(new ApiInfoBuilder()
- .title("Literature Broker Service")
- .description("APIs documentation")
- .version("1.1")
- .contact(ApiInfo.DEFAULT_CONTACT)
- .license("Apache 2.0")
- .licenseUrl("http://www.apache.org/licenses/LICENSE-2.0")
- .build());
-
+ @Bean
+ public GroupedOpenApi publicApi() {
+ return GroupedOpenApi.builder()
+ .group("Broker APIs")
+ .pathsToMatch("/api/**")
+ .build();
}
+
+ @Override
+ protected String swaggerTitle() {
+ return "OpenAIRE Broker API";
+ }
+
+ @Override
+ protected List swaggerTags() {
+ final List tags = new ArrayList<>();
+ tags.add(new Tag().name(TAG_EVENTS).description("Events management"));
+ tags.add(new Tag().name(TAG_SUBSCRIPTIONS).description("Subscriptions management"));
+ tags.add(new Tag().name(TAG_NOTIFICATIONS).description("Notifications management"));
+ tags.add(new Tag().name(TAG_TOPIC_TYPES).description("Topic types management"));
+ tags.add(new Tag().name(TAG_OPENAIRE).description("OpenAIRE use case"));
+ return tags;
+ }
+
}
diff --git a/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/LiteratureBrokerServiceConfiguration.java b/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/LiteratureBrokerServiceConfiguration.java
index a92f8862..785b9e5f 100644
--- a/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/LiteratureBrokerServiceConfiguration.java
+++ b/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/LiteratureBrokerServiceConfiguration.java
@@ -16,10 +16,8 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
import eu.dnetlib.broker.common.elasticsearch.Event;
import eu.dnetlib.broker.common.elasticsearch.Notification;
import eu.dnetlib.broker.common.properties.ElasticSearchProperties;
-import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
-@EnableSwagger2
@EnableCaching
@EnableScheduling
@EnableTransactionManagement
diff --git a/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/ApiDocController.java b/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/ApiDocController.java
index ee648936..fcdd0e66 100644
--- a/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/ApiDocController.java
+++ b/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/ApiDocController.java
@@ -8,6 +8,6 @@ public class ApiDocController {
@GetMapping({ "/apidoc", "/api-doc", "/doc", "/swagger" })
public String apiDoc() {
- return "redirect:swagger-ui/";
+ return "redirect:swagger-ui/index.html";
}
}
diff --git a/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/EventsController.java b/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/EventsController.java
index 5a981252..2f8f790a 100644
--- a/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/EventsController.java
+++ b/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/EventsController.java
@@ -31,12 +31,12 @@ import eu.dnetlib.broker.common.elasticsearch.EventStatsManager.BrowseEntry;
import eu.dnetlib.broker.common.subscriptions.Subscription;
import eu.dnetlib.broker.common.subscriptions.SubscriptionRepository;
import eu.dnetlib.common.controller.AbstractDnetController;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
@RestController
@RequestMapping("/api/events")
-@Api(tags = LiteratureBrokerServiceApplication.TAG_EVENTS)
+@Tag(name = LiteratureBrokerServiceApplication.TAG_EVENTS)
public class EventsController extends AbstractDnetController {
private static final Log log = LogFactory.getLog(AbstractDnetController.class);
@@ -50,25 +50,25 @@ public class EventsController extends AbstractDnetController {
@Autowired
private EventStatsManager eventStatsManager;
- @ApiOperation("Return an event by ID")
+ @Operation(summary = "Return an event by ID")
@GetMapping("/{id}")
public Event getEvent(@PathVariable final String id) {
return eventRepository.findById(id).get();
}
- @ApiOperation("Delete an event by ID")
+ @Operation(summary = "Delete an event by ID")
@DeleteMapping("/{id}")
public void deleteEvent(@PathVariable final String id) {
eventRepository.deleteById(id);
}
- @ApiOperation("Save an event by ID")
+ @Operation(summary = "Save an event by ID")
@PostMapping("/{id}")
public Event saveEvent(@RequestBody final Event event) {
return eventRepository.save(event);
}
- @ApiOperation("Return a page of events")
+ @Operation(summary = "Return a page of events")
@GetMapping("/list/{page}/{pageSize}")
public List events(
@PathVariable final int page,
@@ -76,7 +76,7 @@ public class EventsController extends AbstractDnetController {
return Lists.newArrayList(eventRepository.findAll(PageRequest.of(page, pageSize)));
}
- @ApiOperation("Return a page of events by topic")
+ @Operation(summary = "Return a page of events by topic")
@GetMapping("/byTopic/{page}/{pageSize}")
public List eventsByTopic(
@PathVariable final int page,
@@ -85,7 +85,7 @@ public class EventsController extends AbstractDnetController {
return Lists.newArrayList(eventRepository.findByTopic(topic, PageRequest.of(page, pageSize)));
}
- @ApiOperation("Delete all the events")
+ @Operation(summary = "Delete all the events")
@DeleteMapping("/all")
public Map clearEvents() {
eventRepository.deleteAll();
@@ -94,13 +94,13 @@ public class EventsController extends AbstractDnetController {
return res;
}
- @ApiOperation("Delete the expired events")
+ @Operation(summary = "Delete the expired events")
@DeleteMapping("/expired")
public Map deleteExpiredEvents() {
return deleteEventsByExpiryDate(0, new Date().getTime());
}
- @ApiOperation("Delete the events with the creationDate in a range")
+ @Operation(summary = "Delete the events with the creationDate in a range")
@DeleteMapping("/byCreationDate/{from}/{to}")
public Map deleteEventsByCreationDate(@PathVariable final long from, @PathVariable final long to) {
final Map res = new HashMap<>();
@@ -113,7 +113,7 @@ public class EventsController extends AbstractDnetController {
return res;
}
- @ApiOperation("Delete the events with the expiryDate in a range")
+ @Operation(summary = "Delete the events with the expiryDate in a range")
@DeleteMapping("/byExpiryDate/{from}/{to}")
public Map deleteEventsByExpiryDate(@PathVariable final long from, @PathVariable final long to) {
new Thread(() -> {
@@ -128,13 +128,13 @@ public class EventsController extends AbstractDnetController {
return res;
}
- @ApiOperation("Return the topics of the indexed events (all)")
+ @Operation(summary = "Return the topics of the indexed events (all)")
@GetMapping("/topics/all")
public List browseTopics() {
return eventStatsManager.browseTopics();
}
- @ApiOperation("Return the topics of the indexed events (only with subscriptions)")
+ @Operation(summary = "Return the topics of the indexed events (only with subscriptions)")
@GetMapping("/topics/withSubscriptions")
public List browseTopicsWithSubscriptions() {
diff --git a/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/NotificationsController.java b/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/NotificationsController.java
index 6630d6ba..8c0330d3 100644
--- a/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/NotificationsController.java
+++ b/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/NotificationsController.java
@@ -14,16 +14,15 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-import eu.dnetlib.broker.LiteratureBrokerServiceApplication;
import eu.dnetlib.broker.common.elasticsearch.Notification;
import eu.dnetlib.broker.common.elasticsearch.NotificationRepository;
import eu.dnetlib.common.controller.AbstractDnetController;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
@RestController
@RequestMapping("/api/notifications")
-@Api(tags = LiteratureBrokerServiceApplication.TAG_NOTIFICATIONS)
+@Tag(name = "LiteratureBrokerServiceApplication.TAG_NOTIFICATIONS")
public class NotificationsController extends AbstractDnetController {
private static final Log log = LogFactory.getLog(NotificationsController.class);
@@ -31,31 +30,31 @@ public class NotificationsController extends AbstractDnetController {
@Autowired
private NotificationRepository notificationRepository;
- @ApiOperation("Return a notification by ID")
+ @Operation(summary = "Return a notification by ID")
@GetMapping("/{id}")
public Notification getNotification(@PathVariable final String id) {
return notificationRepository.findById(id).get();
}
- @ApiOperation("Delete a notification by ID")
+ @Operation(summary = "Delete a notification by ID")
@DeleteMapping("/{id}")
public void deleteNotification(@PathVariable final String id) {
notificationRepository.deleteById(id);
}
- @ApiOperation("Save a notification by ID")
+ @Operation(summary = "Save a notification by ID")
@PostMapping("/{id}")
public Notification saveNotification(@RequestBody final Notification notification) {
return notificationRepository.save(notification);
}
- @ApiOperation("Delete all notifications")
+ @Operation(summary = "Delete all notifications")
@DeleteMapping("")
public void deleteAllNotifications() {
notificationRepository.deleteAll();
}
- @ApiOperation("Delete the notifications with the date in a range")
+ @Operation(summary = "Delete the notifications with the date in a range")
@DeleteMapping("/byDate/{from}/{to}")
public Map deleteNotificationsByDate(@PathVariable final long from, @PathVariable final long to) {
new Thread(() -> {
diff --git a/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/StartMatchingController.java b/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/StartMatchingController.java
index b5ed84e9..2410f367 100644
--- a/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/StartMatchingController.java
+++ b/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/StartMatchingController.java
@@ -16,13 +16,13 @@ import eu.dnetlib.broker.common.subscriptions.Subscription;
import eu.dnetlib.broker.common.subscriptions.SubscriptionRepository;
import eu.dnetlib.broker.matchers.SubscriptionEventMatcher;
import eu.dnetlib.common.controller.AbstractDnetController;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
@Profile("!openaire")
@RestController
@RequestMapping("/api/matching")
-@Api(tags = LiteratureBrokerServiceApplication.TAG_MATCHING)
+@Tag(name = LiteratureBrokerServiceApplication.TAG_MATCHING)
public class StartMatchingController extends AbstractDnetController {
@Autowired
@@ -31,7 +31,7 @@ public class StartMatchingController extends AbstractDnetController {
@Autowired(required = false)
private SubscriptionEventMatcher subscriptionEventMatcher;
- @ApiOperation("Launch the thread that produces new notifications")
+ @Operation(summary = "Launch the thread that produces new notifications")
@GetMapping("/start")
public List startMatching() {
if (subscriptionEventMatcher != null) {
@@ -42,7 +42,7 @@ public class StartMatchingController extends AbstractDnetController {
}
}
- @ApiOperation("Launch the thread that produces new notifications by subscriptuion id")
+ @Operation(summary = "Launch the thread that produces new notifications by subscriptuion id")
@GetMapping("/start/{subscriptionId}")
public List startMatching(@PathVariable final String subscriptionId) {
final Optional s = subscriptionRepo.findById(subscriptionId);
diff --git a/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/SubscriptionsController.java b/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/SubscriptionsController.java
index ccc90c3b..ae587f1a 100644
--- a/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/SubscriptionsController.java
+++ b/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/SubscriptionsController.java
@@ -29,12 +29,12 @@ import eu.dnetlib.broker.common.subscriptions.NotificationMode;
import eu.dnetlib.broker.common.subscriptions.Subscription;
import eu.dnetlib.broker.common.subscriptions.SubscriptionRepository;
import eu.dnetlib.common.controller.AbstractDnetController;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
@RestController
@RequestMapping("/api/subscriptions")
-@Api(tags = LiteratureBrokerServiceApplication.TAG_SUBSCRIPTIONS)
+@Tag(name = LiteratureBrokerServiceApplication.TAG_SUBSCRIPTIONS)
public class SubscriptionsController extends AbstractDnetController {
@Autowired
@@ -53,26 +53,26 @@ public class SubscriptionsController extends AbstractDnetController {
}
};
- @ApiOperation("Return the list of subscriptions")
+ @Operation(summary = "Return the list of subscriptions")
@GetMapping("")
public Iterable listSubscriptions() {
return subscriptionRepo.findAll();
}
- @ApiOperation("Return a subscription by ID")
+ @Operation(summary = "Return a subscription by ID")
@GetMapping("/{id}")
public Subscription getSubscription(@PathVariable final String id) {
return subscriptionRepo.findById(id).get();
}
- @ApiOperation("Delete a subscription by ID and its notifications")
+ @Operation(summary = "Delete a subscription by ID and its notifications")
@DeleteMapping("/{id}")
public void deleteSubscription(@PathVariable final String id) {
subscriptionRepo.deleteById(id);
notificationRepo.deleteBySubscriptionId(id);
}
- @ApiOperation("Perform a new subscription")
+ @Operation(summary = "Perform a new subscription")
@PostMapping("")
public Subscription registerSubscription(@RequestBody final InSubscription inSub) {
final Subscription sub = inSub.asSubscription();
@@ -80,7 +80,7 @@ public class SubscriptionsController extends AbstractDnetController {
return sub;
}
- @ApiOperation("Delete all subscriptions and notifications")
+ @Operation(summary = "Delete all subscriptions and notifications")
@DeleteMapping("")
public Map clearSubscriptions() {
final Map res = new HashMap<>();
@@ -90,7 +90,7 @@ public class SubscriptionsController extends AbstractDnetController {
return res;
}
- @ApiOperation("Reset the last notification date")
+ @Operation(summary = "Reset the last notification date")
@DeleteMapping("/{id}/date")
public void deleteNotificationDate(@PathVariable final String id) {
final Subscription s = subscriptionRepo.findById(id).get();
@@ -98,7 +98,7 @@ public class SubscriptionsController extends AbstractDnetController {
subscriptionRepo.save(s);
}
- @ApiOperation("Reset all the last notification dates")
+ @Operation(summary = "Reset all the last notification dates")
@GetMapping("/resetLastNotificationDates")
public void deleteAllNotificationDates() {
for (final Subscription s : subscriptionRepo.findAll()) {
diff --git a/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/TopicsController.java b/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/TopicsController.java
index 6ab5d836..3b438ca9 100644
--- a/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/TopicsController.java
+++ b/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/controllers/TopicsController.java
@@ -22,12 +22,12 @@ import eu.dnetlib.broker.LiteratureBrokerServiceApplication;
import eu.dnetlib.broker.common.topics.TopicType;
import eu.dnetlib.broker.common.topics.TopicTypeRepository;
import eu.dnetlib.common.controller.AbstractDnetController;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
@RestController
@RequestMapping("/api/topic-types")
-@Api(tags = LiteratureBrokerServiceApplication.TAG_TOPIC_TYPES)
+@Tag(name = LiteratureBrokerServiceApplication.TAG_TOPIC_TYPES)
public class TopicsController extends AbstractDnetController {
@Autowired
@@ -36,13 +36,13 @@ public class TopicsController extends AbstractDnetController {
private final Predicate verifyExpression =
Pattern.compile("^([a-zA-Z0-9._-]+|<[a-zA-Z0-9._-]+>)(\\/([a-zA-Z0-9._-]+|<[a-zA-Z0-9._-]+>))+$").asPredicate();
- @ApiOperation("Return the list of topic types")
+ @Operation(summary = "Return the list of topic types")
@GetMapping("")
public Iterable listTopicTypes() {
return topicTypeRepo.findAll();
}
- @ApiOperation("Register a new topic type")
+ @Operation(summary = "Register a new topic type")
@PostMapping("/add")
public TopicType registerTopicType(@RequestParam final String name,
@RequestParam final String expression,
@@ -61,20 +61,20 @@ public class TopicsController extends AbstractDnetController {
return type;
}
- @ApiOperation("Return a topic type by ID")
+ @Operation(summary = "Return a topic type by ID")
@GetMapping("/{id}")
public TopicType getTopicType(@PathVariable final String id) {
return topicTypeRepo.findById(id).get();
}
- @ApiOperation("Delete a topic type by ID")
+ @Operation(summary = "Delete a topic type by ID")
@DeleteMapping("/{id}")
public List deleteTopicType(@PathVariable final String id) {
topicTypeRepo.deleteById(id);
return Arrays.asList("Done.");
}
- @ApiOperation("Delete all topic types")
+ @Operation(summary = "Delete all topic types")
@DeleteMapping("")
public Map clearTopicTypes() {
final Map res = new HashMap<>();
diff --git a/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/openaire/OpenaireBrokerController.java b/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/openaire/OpenaireBrokerController.java
index 16490ef7..54f8e725 100644
--- a/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/openaire/OpenaireBrokerController.java
+++ b/apps/dhp-broker-application/src/main/java/eu/dnetlib/broker/openaire/OpenaireBrokerController.java
@@ -56,13 +56,13 @@ import eu.dnetlib.broker.common.subscriptions.SubscriptionRepository;
import eu.dnetlib.broker.events.output.DispatcherManager;
import eu.dnetlib.broker.objects.OaBrokerEventPayload;
import eu.dnetlib.common.controller.AbstractDnetController;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
@Profile("openaire")
@RestController
@RequestMapping("/api/openaireBroker")
-@Api(tags = LiteratureBrokerServiceApplication.TAG_OPENAIRE)
+@Tag(name = LiteratureBrokerServiceApplication.TAG_OPENAIRE)
public class OpenaireBrokerController extends AbstractDnetController {
@Autowired
@@ -85,7 +85,7 @@ public class OpenaireBrokerController extends AbstractDnetController {
private static final Log log = LogFactory.getLog(OpenaireBrokerController.class);
- @ApiOperation("Return the datasources having events")
+ @Operation(summary = "Return the datasources having events")
@GetMapping("/datasources")
public List findDatasourcesWithEvents(@RequestParam(defaultValue = "false", required = false) final boolean useIndex) {
return useIndex ? findDatasourcesWithEventsUsingIndex() : findDatasourcesWithEventsUsingDb();
@@ -123,7 +123,7 @@ public class OpenaireBrokerController extends AbstractDnetController {
}
}
- @ApiOperation("Return the topics of the events of a datasource")
+ @Operation(summary = "Return the topics of the events of a datasource")
@GetMapping("/topicsForDatasource")
public List findTopicsForDatasource(@RequestParam final String ds,
@RequestParam(defaultValue = "false", required = false) final boolean useIndex) {
@@ -163,7 +163,7 @@ public class OpenaireBrokerController extends AbstractDnetController {
}
}
- @ApiOperation("Return a page of events of a datasource (by topic)")
+ @Operation(summary = "Return a page of events of a datasource (by topic)")
@GetMapping("/events/{nPage}/{size}")
public EventsPage showEvents(@RequestParam final String ds, @RequestParam final String topic, @PathVariable final int nPage, @PathVariable final int size) {
@@ -191,7 +191,7 @@ public class OpenaireBrokerController extends AbstractDnetController {
return new EventsPage(ds, topic, nPage, overrideGetTotalPage(page, size), page.getTotalHits(), list);
}
- @ApiOperation("Return a page of events of a datasource (by query)")
+ @Operation(summary = "Return a page of events of a datasource (by query)")
@PostMapping("/events/{nPage}/{size}")
public EventsPage advancedShowEvents(@PathVariable final int nPage, @PathVariable final int size, @RequestBody final AdvQueryObject qObj) {
@@ -227,7 +227,7 @@ public class OpenaireBrokerController extends AbstractDnetController {
return new EventsPage(qObj.getDatasource(), qObj.getTopic(), nPage, overrideGetTotalPage(page, size), page.getTotalHits(), list);
}
- @ApiOperation("Perform a subscription")
+ @Operation(summary = "Perform a subscription")
@PostMapping("/subscribe")
public Subscription registerSubscription(@RequestBody final OpenaireSubscription oSub) {
final Subscription sub = oSub.asSubscription();
@@ -237,7 +237,7 @@ public class OpenaireBrokerController extends AbstractDnetController {
return sub;
}
- @ApiOperation("Return the subscriptions of an user (by email and datasource (optional))")
+ @Operation(summary = "Return the subscriptions of an user (by email and datasource (optional))")
@GetMapping("/subscriptions")
public Map> subscriptions(@RequestParam final String email, @RequestParam(required = false) final String ds) {
final Iterable iter = subscriptionRepo.findBySubscriber(email);
@@ -247,7 +247,7 @@ public class OpenaireBrokerController extends AbstractDnetController {
.collect(Collectors.groupingBy(SimpleSubscriptionDesc::getDatasource));
}
- @ApiOperation("Return a page of notifications")
+ @Operation(summary = "Return a page of notifications")
@GetMapping("/notifications/{subscrId}/{nPage}/{size}")
public EventsPage notifications(@PathVariable final String subscrId, @PathVariable final int nPage, @PathVariable final int size) {
@@ -279,14 +279,14 @@ public class OpenaireBrokerController extends AbstractDnetController {
}
- @ApiOperation("Send notifications")
+ @Operation(summary = "Send notifications")
@GetMapping("/notifications/send/{date}")
private List sendMailForNotifications(@PathVariable final long date) {
new Thread(() -> innerSendMailForNotifications(date)).start();
return Arrays.asList("Sending ...");
}
- @ApiOperation("Update stats")
+ @Operation(summary = "Update stats")
@GetMapping("/stats/update")
private List updateStats() {
new Thread(() -> {
diff --git a/apps/dhp-broker-application/src/main/resources/application.properties b/apps/dhp-broker-application/src/main/resources/application.properties
index 8c2fb00a..76eed4de 100644
--- a/apps/dhp-broker-application/src/main/resources/application.properties
+++ b/apps/dhp-broker-application/src/main/resources/application.properties
@@ -1,5 +1,8 @@
spring.profiles.active = dev,openaire
+server.public_url =
+server.public_desc = API Base URL
+
#logging.level.root=DEBUG
maven.pom.path = /META-INF/maven/eu.dnetlib.dhp/dhp-broker-application/effective-pom.xml
diff --git a/apps/dhp-broker-application/src/main/resources/static/index.html b/apps/dhp-broker-application/src/main/resources/static/index.html
index 43869a07..e268c72b 100644
--- a/apps/dhp-broker-application/src/main/resources/static/index.html
+++ b/apps/dhp-broker-application/src/main/resources/static/index.html
@@ -27,7 +27,7 @@
Tools
diff --git a/apps/dhp-broker-public-application/pom.xml b/apps/dhp-broker-public-application/pom.xml
index 9e6df821..3420d26b 100644
--- a/apps/dhp-broker-public-application/pom.xml
+++ b/apps/dhp-broker-public-application/pom.xml
@@ -4,7 +4,7 @@
eu.dnetlib.dhpapps
- 3.2.9-SNAPSHOT
+ 3.3.3-SNAPSHOT../pom.xml
diff --git a/apps/dhp-broker-public-application/src/main/java/eu/dnetlib/broker/BrokerConfiguration.java b/apps/dhp-broker-public-application/src/main/java/eu/dnetlib/broker/BrokerConfiguration.java
index b4721971..01993c09 100644
--- a/apps/dhp-broker-public-application/src/main/java/eu/dnetlib/broker/BrokerConfiguration.java
+++ b/apps/dhp-broker-public-application/src/main/java/eu/dnetlib/broker/BrokerConfiguration.java
@@ -16,10 +16,8 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
import eu.dnetlib.broker.common.elasticsearch.Event;
import eu.dnetlib.broker.common.elasticsearch.Notification;
import eu.dnetlib.broker.common.properties.ElasticSearchProperties;
-import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
-@EnableSwagger2
@EnableCaching
@EnableScheduling
@EnableTransactionManagement
diff --git a/apps/dhp-broker-public-application/src/main/java/eu/dnetlib/broker/BrokerPublicApplication.java b/apps/dhp-broker-public-application/src/main/java/eu/dnetlib/broker/BrokerPublicApplication.java
index 2093ec7c..eebab9f3 100644
--- a/apps/dhp-broker-public-application/src/main/java/eu/dnetlib/broker/BrokerPublicApplication.java
+++ b/apps/dhp-broker-public-application/src/main/java/eu/dnetlib/broker/BrokerPublicApplication.java
@@ -1,14 +1,15 @@
package eu.dnetlib.broker;
+import java.util.Arrays;
+import java.util.List;
+
+import org.springdoc.core.GroupedOpenApi;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.Bean;
import eu.dnetlib.common.app.AbstractDnetApp;
-import springfox.documentation.builders.ApiInfoBuilder;
-import springfox.documentation.builders.RequestHandlerSelectors;
-import springfox.documentation.service.ApiInfo;
-import springfox.documentation.service.Tag;
-import springfox.documentation.spring.web.plugins.Docket;
+import io.swagger.v3.oas.models.tags.Tag;
@SpringBootApplication
public class BrokerPublicApplication extends AbstractDnetApp {
@@ -19,22 +20,22 @@ public class BrokerPublicApplication extends AbstractDnetApp {
SpringApplication.run(BrokerPublicApplication.class, args);
}
- @Override
- protected void configSwagger(final Docket docket) {
-
- docket.select()
- .apis(RequestHandlerSelectors.any())
- .paths(p -> p.startsWith("/"))
- .build()
- .tags(new Tag(OA_PUBLIC_APIS, OA_PUBLIC_APIS))
- .apiInfo(new ApiInfoBuilder()
- .title("OpenAIRE Public Broker API")
- .description("APIs documentation")
- .version("1.1")
- .contact(ApiInfo.DEFAULT_CONTACT)
- .license("Apache 2.0")
- .licenseUrl("http://www.apache.org/licenses/LICENSE-2.0")
- .build());
-
+ @Bean
+ public GroupedOpenApi publicApi() {
+ return GroupedOpenApi.builder()
+ .group("Broker Public APIs")
+ .pathsToMatch("/**")
+ .build();
}
+
+ @Override
+ protected String swaggerTitle() {
+ return "OpenAIRE Public Broker API";
+ }
+
+ @Override
+ protected List swaggerTags() {
+ return Arrays.asList(new Tag().name(OA_PUBLIC_APIS).description(OA_PUBLIC_APIS));
+ }
+
}
diff --git a/apps/dhp-broker-public-application/src/main/java/eu/dnetlib/broker/oa/controllers/ApiDocController.java b/apps/dhp-broker-public-application/src/main/java/eu/dnetlib/broker/oa/controllers/ApiDocController.java
index 6abe9b37..295e483b 100644
--- a/apps/dhp-broker-public-application/src/main/java/eu/dnetlib/broker/oa/controllers/ApiDocController.java
+++ b/apps/dhp-broker-public-application/src/main/java/eu/dnetlib/broker/oa/controllers/ApiDocController.java
@@ -8,6 +8,6 @@ public class ApiDocController {
@GetMapping({ "/apidoc", "/api-doc", "/doc", "/swagger" })
public String apiDoc() {
- return "redirect:swagger-ui/";
+ return "redirect:swagger-ui/index.html";
}
}
diff --git a/apps/dhp-broker-public-application/src/main/java/eu/dnetlib/broker/oa/controllers/OpenairePublicController.java b/apps/dhp-broker-public-application/src/main/java/eu/dnetlib/broker/oa/controllers/OpenairePublicController.java
index c5ad736e..18184d5a 100644
--- a/apps/dhp-broker-public-application/src/main/java/eu/dnetlib/broker/oa/controllers/OpenairePublicController.java
+++ b/apps/dhp-broker-public-application/src/main/java/eu/dnetlib/broker/oa/controllers/OpenairePublicController.java
@@ -63,13 +63,13 @@ import eu.dnetlib.broker.common.subscriptions.Subscription;
import eu.dnetlib.broker.common.subscriptions.SubscriptionRepository;
import eu.dnetlib.broker.objects.OaBrokerEventPayload;
import eu.dnetlib.common.controller.AbstractDnetController;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
@Profile("openaire")
@RestController
@RequestMapping("/")
-@Api(tags = BrokerPublicApplication.OA_PUBLIC_APIS)
+@Tag(name = BrokerPublicApplication.OA_PUBLIC_APIS)
public class OpenairePublicController extends AbstractDnetController {
@Autowired
@@ -97,7 +97,7 @@ public class OpenairePublicController extends AbstractDnetController {
private static final Log log = LogFactory.getLog(OpenairePublicController.class);
- @ApiOperation("Returns notifications by subscription using scrolls (first page)")
+ @Operation(summary = "Returns notifications by subscription using scrolls (first page)")
@GetMapping("/scroll/notifications/bySubscriptionId/{subscrId}")
public ScrollPage prepareScrollNotificationsBySubscrId(@PathVariable final String subscrId) {
@@ -130,7 +130,7 @@ public class OpenairePublicController extends AbstractDnetController {
}
}
- @ApiOperation("Returns notifications using scrolls (other pages)")
+ @Operation(summary = "Returns notifications using scrolls (other pages)")
@GetMapping("/scroll/notifications/{scrollId}")
public ScrollPage scrollNotifications(@PathVariable final String scrollId) {
@@ -147,7 +147,7 @@ public class OpenairePublicController extends AbstractDnetController {
}
}
- @ApiOperation("Returns notifications as file")
+ @Operation(summary = "Returns notifications as file")
@GetMapping(value = "/file/notifications/bySubscriptionId/{subscrId}", produces = "application/gzip")
public void notificationsAsFile(final HttpServletResponse res, @PathVariable final String subscrId) throws Exception {
@@ -184,7 +184,7 @@ public class OpenairePublicController extends AbstractDnetController {
}
- @ApiOperation("Returns events as file by opendoarId")
+ @Operation(summary = "Returns events as file by opendoarId")
@GetMapping(value = "/file/events/opendoar/{id}", produces = "application/gzip")
public void opendoarEventsAsFile(final HttpServletResponse res, @PathVariable final String id) {
@@ -252,13 +252,13 @@ public class OpenairePublicController extends AbstractDnetController {
return first;
}
- @ApiOperation("Returns the list of subscriptions by user email")
+ @Operation(summary = "Returns the list of subscriptions by user email")
@GetMapping(value = "/subscriptions")
private Iterable listSubscriptionsByUser(@RequestParam final String email) {
return subscriptionRepo.findBySubscriber(email);
}
- @ApiOperation("Returns the status of the application")
+ @Operation(summary = "Returns the status of the application")
@GetMapping(value = "/status")
private Map status() {
final Map res = new LinkedHashMap<>();
@@ -269,7 +269,7 @@ public class OpenairePublicController extends AbstractDnetController {
return res;
}
- @ApiOperation("Store the feedback of an event (MOCK)")
+ @Operation(summary = "Store the feedback of an event (MOCK)")
@RequestMapping(value = "/feedback/events", method = {
RequestMethod.POST, RequestMethod.PATCH
})
diff --git a/apps/dhp-broker-public-application/src/main/resources/application.properties b/apps/dhp-broker-public-application/src/main/resources/application.properties
index 0654f96c..e8cf0ad5 100644
--- a/apps/dhp-broker-public-application/src/main/resources/application.properties
+++ b/apps/dhp-broker-public-application/src/main/resources/application.properties
@@ -1,5 +1,8 @@
spring.profiles.active = dev,openaire
+server.public_url =
+server.public_desc = API Base URL
+
#logging.level.root=DEBUG
maven.pom.path = /META-INF/maven/eu.dnetlib.dhp/dhp-broker-public-application/effective-pom.xml
diff --git a/apps/dhp-broker-public-application/src/main/resources/static/index.html b/apps/dhp-broker-public-application/src/main/resources/static/index.html
index 783bde3a..bfc4e83d 100644
--- a/apps/dhp-broker-public-application/src/main/resources/static/index.html
+++ b/apps/dhp-broker-public-application/src/main/resources/static/index.html
@@ -2,6 +2,6 @@
OpenAIRE Broker Public API
-
+
diff --git a/apps/dhp-mdstore-manager/pom.xml b/apps/dhp-mdstore-manager/pom.xml
index e69b1243..cc28e3a5 100644
--- a/apps/dhp-mdstore-manager/pom.xml
+++ b/apps/dhp-mdstore-manager/pom.xml
@@ -4,7 +4,7 @@
eu.dnetlib.dhpapps
- 3.2.9-SNAPSHOT
+ 3.3.3-SNAPSHOT../pom.xml
diff --git a/apps/dhp-mdstore-manager/src/main/java/eu/dnetlib/data/mdstore/manager/MainApplication.java b/apps/dhp-mdstore-manager/src/main/java/eu/dnetlib/data/mdstore/manager/MainApplication.java
index 56a3d48d..9762ad80 100644
--- a/apps/dhp-mdstore-manager/src/main/java/eu/dnetlib/data/mdstore/manager/MainApplication.java
+++ b/apps/dhp-mdstore-manager/src/main/java/eu/dnetlib/data/mdstore/manager/MainApplication.java
@@ -1,53 +1,36 @@
package eu.dnetlib.data.mdstore.manager;
-import org.springframework.beans.factory.annotation.Value;
+import org.springdoc.core.GroupedOpenApi;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.context.annotation.Bean;
import org.springframework.scheduling.annotation.EnableScheduling;
import eu.dnetlib.common.app.AbstractDnetApp;
-import springfox.documentation.builders.ApiInfoBuilder;
-import springfox.documentation.builders.RequestHandlerSelectors;
-import springfox.documentation.service.ApiInfo;
-import springfox.documentation.spring.web.plugins.Docket;
-import springfox.documentation.swagger2.annotations.EnableSwagger2;
@SpringBootApplication
-@EnableSwagger2
@EnableCaching
@EnableScheduling
@EntityScan("eu.dnetlib.dhp.schema.mdstore")
public class MainApplication extends AbstractDnetApp {
- @Value("${dhp.swagger.api.host}")
- private String swaggetHost;
-
- @Value("${dhp.swagger.api.basePath}")
- private String swaggerPath;
-
public static void main(final String[] args) {
SpringApplication.run(MainApplication.class, args);
}
+ @Bean
+ public GroupedOpenApi publicApi() {
+ return GroupedOpenApi.builder()
+ .group("MDStore APIs")
+ .pathsToMatch("/mdstores/**")
+ .build();
+ }
+
@Override
- protected void configSwagger(final Docket docket) {
- docket
- .host(swaggetHost)
- .pathMapping(swaggerPath)
- .select()
- .apis(RequestHandlerSelectors.any())
- .paths(p -> p.contains("/mdstores"))
- .build()
- .apiInfo(new ApiInfoBuilder()
- .title("MDStore Manager APIs")
- .description("APIs documentation")
- .version("1.1")
- .contact(ApiInfo.DEFAULT_CONTACT)
- .license("Apache 2.0")
- .licenseUrl("http://www.apache.org/licenses/LICENSE-2.0")
- .build());
+ protected String swaggerTitle() {
+ return "MDStore Manager APIs";
}
}
diff --git a/apps/dhp-mdstore-manager/src/main/java/eu/dnetlib/data/mdstore/manager/controller/MDStoreController.java b/apps/dhp-mdstore-manager/src/main/java/eu/dnetlib/data/mdstore/manager/controller/MDStoreController.java
index bf5ee22f..442f306e 100644
--- a/apps/dhp-mdstore-manager/src/main/java/eu/dnetlib/data/mdstore/manager/controller/MDStoreController.java
+++ b/apps/dhp-mdstore-manager/src/main/java/eu/dnetlib/data/mdstore/manager/controller/MDStoreController.java
@@ -23,15 +23,13 @@ import eu.dnetlib.data.mdstore.manager.utils.DatabaseUtils;
import eu.dnetlib.data.mdstore.manager.utils.HdfsClient;
import eu.dnetlib.dhp.schema.mdstore.MDStoreVersion;
import eu.dnetlib.dhp.schema.mdstore.MDStoreWithInfo;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
@RestController
@RequestMapping("/mdstores")
-@Api(tags = {
- "Metadata Stores"
-})
+@Tag(name = "Metadata Stores")
public class MDStoreController extends AbstractDnetController {
@Autowired
@@ -42,67 +40,67 @@ public class MDStoreController extends AbstractDnetController {
private static final Logger log = LoggerFactory.getLogger(DatabaseUtils.class);
- @ApiOperation("Return all the mdstores")
+ @Operation(summary = "Return all the mdstores")
@GetMapping("/")
public Iterable find() {
return databaseUtils.listMdStores();
}
- @ApiOperation("Return all the mdstore identifiers")
+ @Operation(summary = "Return all the mdstore identifiers")
@GetMapping("/ids")
public List findIdentifiers() {
return databaseUtils.listMdStoreIDs();
}
- @ApiOperation("Return a mdstores by id")
+ @Operation(summary = "Return a mdstores by id")
@GetMapping("/mdstore/{mdId}")
- public MDStoreWithInfo getMdStore(@ApiParam("the mdstore identifier") @PathVariable final String mdId) throws MDStoreManagerException {
+ public MDStoreWithInfo getMdStore(@Parameter(name = "the mdstore identifier") @PathVariable final String mdId) throws MDStoreManagerException {
return databaseUtils.findMdStore(mdId);
}
- @ApiOperation("Increase the read count of the current mdstore")
+ @Operation(summary = "Increase the read count of the current mdstore")
@GetMapping("/mdstore/{mdId}/startReading")
- public MDStoreVersion startReading(@ApiParam("the mdstore identifier") @PathVariable final String mdId) throws MDStoreManagerException {
+ public MDStoreVersion startReading(@Parameter(name = "the mdstore identifier") @PathVariable final String mdId) throws MDStoreManagerException {
return databaseUtils.startReading(mdId);
}
- @ApiOperation("Create a new mdstore")
+ @Operation(summary = "Create a new mdstore")
@GetMapping("/new/{format}/{layout}/{interpretation}")
public MDStoreWithInfo createMDStore(
- @ApiParam("mdstore format") @PathVariable final String format,
- @ApiParam("mdstore layout") @PathVariable final String layout,
- @ApiParam("mdstore interpretation") @PathVariable final String interpretation,
- @ApiParam("datasource name") @RequestParam(required = true) final String dsName,
- @ApiParam("datasource id") @RequestParam(required = true) final String dsId,
- @ApiParam("api id") @RequestParam(required = true) final String apiId) throws MDStoreManagerException {
+ @Parameter(name = "mdstore format") @PathVariable final String format,
+ @Parameter(name = "mdstore layout") @PathVariable final String layout,
+ @Parameter(name = "mdstore interpretation") @PathVariable final String interpretation,
+ @Parameter(name = "datasource name") @RequestParam(required = true) final String dsName,
+ @Parameter(name = "datasource id") @RequestParam(required = true) final String dsId,
+ @Parameter(name = "api id") @RequestParam(required = true) final String apiId) throws MDStoreManagerException {
final String id = databaseUtils.createMDStore(format, layout, interpretation, dsName, dsId, apiId);
return databaseUtils.findMdStore(id);
}
- @ApiOperation("Delete a mdstore by id")
+ @Operation(summary = "Delete a mdstore by id")
@DeleteMapping("/mdstore/{mdId}")
- public StatusResponse delete(@ApiParam("the id of the mdstore that will be deleted") @PathVariable final String mdId) throws MDStoreManagerException {
+ public StatusResponse delete(@Parameter(name = "the id of the mdstore that will be deleted") @PathVariable final String mdId) throws MDStoreManagerException {
final String hdfsPath = databaseUtils.deleteMdStore(mdId);
hdfsClient.deletePath(hdfsPath);
return StatusResponse.DELETED;
}
- @ApiOperation("Return all the versions of a mdstore")
+ @Operation(summary = "Return all the versions of a mdstore")
@GetMapping("/mdstore/{mdId}/versions")
public Iterable listVersions(@PathVariable final String mdId) throws MDStoreManagerException {
return databaseUtils.listVersions(mdId);
}
- @ApiOperation("Create a new preliminary version of a mdstore")
+ @Operation(summary = "Create a new preliminary version of a mdstore")
@GetMapping("/mdstore/{mdId}/newVersion")
- public MDStoreVersion prepareNewVersion(@ApiParam("the id of the mdstore for which will be created a new version") @PathVariable final String mdId) {
+ public MDStoreVersion prepareNewVersion(@Parameter(name = "the id of the mdstore for which will be created a new version") @PathVariable final String mdId) {
return databaseUtils.prepareMdStoreVersion(mdId);
}
- @ApiOperation("Promote a preliminary version to current")
+ @Operation(summary = "Promote a preliminary version to current")
@GetMapping("/version/{versionId}/commit/{size}")
- public MDStoreVersion commitVersion(@ApiParam("the id of the version that will be promoted to the current version") @PathVariable final String versionId,
- @ApiParam("the size of the new current mdstore") @PathVariable final long size) throws MDStoreManagerException {
+ public MDStoreVersion commitVersion(@Parameter(name = "the id of the version that will be promoted to the current version") @PathVariable final String versionId,
+ @Parameter(name = "the size of the new current mdstore") @PathVariable final long size) throws MDStoreManagerException {
try {
return databaseUtils.commitMdStoreVersion(versionId, size);
} finally {
@@ -110,46 +108,46 @@ public class MDStoreController extends AbstractDnetController {
}
}
- @ApiOperation("Abort a preliminary version")
+ @Operation(summary = "Abort a preliminary version")
@GetMapping("/version/{versionId}/abort")
- public StatusResponse commitVersion(@ApiParam("the id of the version to abort") @PathVariable final String versionId) throws MDStoreManagerException {
+ public StatusResponse commitVersion(@Parameter(name = "the id of the version to abort") @PathVariable final String versionId) throws MDStoreManagerException {
final String hdfsPath = databaseUtils.deleteMdStoreVersion(versionId, true);
hdfsClient.deletePath(hdfsPath);
return StatusResponse.ABORTED;
}
- @ApiOperation("Return an existing mdstore version")
+ @Operation(summary = "Return an existing mdstore version")
@GetMapping("/version/{versionId}")
- public MDStoreVersion getVersion(@ApiParam("the id of the version that has to be deleted") @PathVariable final String versionId)
+ public MDStoreVersion getVersion(@Parameter(name = "the id of the version that has to be deleted") @PathVariable final String versionId)
throws MDStoreManagerException {
return databaseUtils.findVersion(versionId);
}
- @ApiOperation("Delete a mdstore version")
+ @Operation(summary = "Delete a mdstore version")
@DeleteMapping("/version/{versionId}")
- public StatusResponse deleteVersion(@ApiParam("the id of the version that has to be deleted") @PathVariable final String versionId,
- @ApiParam("if true, the controls on writing and readcount values will be skipped") @RequestParam(required = false, defaultValue = "false") final boolean force)
+ public StatusResponse deleteVersion(@Parameter(name = "the id of the version that has to be deleted") @PathVariable final String versionId,
+ @Parameter(name = "if true, the controls on writing and readcount values will be skipped") @RequestParam(required = false, defaultValue = "false") final boolean force)
throws MDStoreManagerException {
final String hdfsPath = databaseUtils.deleteMdStoreVersion(versionId, force);
hdfsClient.deletePath(hdfsPath);
return StatusResponse.DELETED;
}
- @ApiOperation("Decrease the read count of a mdstore version")
+ @Operation(summary = "Decrease the read count of a mdstore version")
@GetMapping("/version/{versionId}/endReading")
- public MDStoreVersion endReading(@ApiParam("the id of the version that has been completely read") @PathVariable final String versionId)
+ public MDStoreVersion endReading(@Parameter(name = "the id of the version that has been completely read") @PathVariable final String versionId)
throws MDStoreManagerException {
return databaseUtils.endReading(versionId);
}
- @ApiOperation("Reset the read count of a mdstore version")
+ @Operation(summary = "Reset the read count of a mdstore version")
@GetMapping("/version/{versionId}/resetReading")
- public MDStoreVersion resetReading(@ApiParam("the id of the version") @PathVariable final String versionId)
+ public MDStoreVersion resetReading(@Parameter(name = "the id of the version") @PathVariable final String versionId)
throws MDStoreManagerException {
return databaseUtils.resetReading(versionId);
}
- @ApiOperation("Delete expired versions")
+ @Operation(summary = "Delete expired versions")
@DeleteMapping("/versions/expired")
public StatusResponse deleteExpiredVersions() {
new Thread(this::performDeleteOfExpiredVersions).start();
@@ -169,10 +167,10 @@ public class MDStoreController extends AbstractDnetController {
log.info("Done.");
}
- @ApiOperation("Fix the inconsistencies on HDFS")
+ @Operation(summary = "Fix the inconsistencies on HDFS")
@GetMapping("/hdfs/inconsistencies")
public Set fixHdfsInconsistencies(
- @ApiParam("force the deletion of hdfs paths") @RequestParam(required = false, defaultValue = "false") final boolean delete)
+ @Parameter(name = "force the deletion of hdfs paths") @RequestParam(required = false, defaultValue = "false") final boolean delete)
throws MDStoreManagerException {
final Set hdfsDirs = hdfsClient.listHadoopDirs();
@@ -189,7 +187,7 @@ public class MDStoreController extends AbstractDnetController {
return toDelete;
}
- @ApiOperation("Show informations")
+ @Operation(summary = "Show informations")
@GetMapping("/info")
public Map info() {
final Map info = new LinkedHashMap<>();
@@ -201,21 +199,21 @@ public class MDStoreController extends AbstractDnetController {
return info;
}
- @ApiOperation("list the file inside the path of a mdstore version")
+ @Operation(summary = "list the file inside the path of a mdstore version")
@GetMapping("/version/{versionId}/parquet/files")
public Set listVersionFiles(@PathVariable final String versionId) throws MDStoreManagerException {
final String path = databaseUtils.findVersion(versionId).getHdfsPath();
return hdfsClient.listContent(path + "/store", HdfsClient::isParquetFile);
}
- @ApiOperation("read the parquet file of a mdstore version")
+ @Operation(summary = "read the parquet file of a mdstore version")
@GetMapping("/version/{versionId}/parquet/content/{limit}")
public List