mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-10 11:33:11 +00:00
72788: Feedback processed: Javadoc, moved service > util, config comment
This commit is contained in:
@@ -15,6 +15,9 @@ package org.dspace.app.rest.model;
|
|||||||
*/
|
*/
|
||||||
public class UsageReportPointDsoTotalVisitsRest extends UsageReportPointRest {
|
public class UsageReportPointDsoTotalVisitsRest extends UsageReportPointRest {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Type of dso a UsageReport is being requested of (e.g. item, bitstream, ...)
|
||||||
|
*/
|
||||||
private String type;
|
private String type;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -22,6 +25,11 @@ public class UsageReportPointDsoTotalVisitsRest extends UsageReportPointRest {
|
|||||||
return this.type;
|
return this.type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the type of this {@link UsageReportPointRest} object, should be type of dso concerned (e.g. item, bitstream, ...)
|
||||||
|
*
|
||||||
|
* @param type Type of dso a {@link UsageReportRest} object is being requested of (e.g. item, bitstream, ...)
|
||||||
|
*/
|
||||||
public void setType(String type) {
|
public void setType(String type) {
|
||||||
this.type = type;
|
this.type = type;
|
||||||
}
|
}
|
||||||
|
@@ -24,30 +24,69 @@ public class UsageReportPointRest extends BaseObjectRest<String> {
|
|||||||
protected String label;
|
protected String label;
|
||||||
private Map<String, Integer> values;
|
private Map<String, Integer> values;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the category of this Rest object, {@link #CATEGORY}
|
||||||
|
*
|
||||||
|
* @return The category of this Rest object, {@link #CATEGORY}
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
public String getCategory() {
|
public String getCategory() {
|
||||||
return CATEGORY;
|
return CATEGORY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return controller class responsible for this Rest object
|
||||||
|
*
|
||||||
|
* @return Controller class responsible for this Rest object
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
public Class getController() {
|
public Class getController() {
|
||||||
return StatisticsRestController.class;
|
return StatisticsRestController.class;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the type of this {@link UsageReportPointRest} object
|
||||||
|
*
|
||||||
|
* @return Type of this {@link UsageReportPointRest} object
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
public String getType() {
|
public String getType() {
|
||||||
return NAME;
|
return NAME;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the values of this {@link UsageReportPointRest} object, containing the amount of views
|
||||||
|
*
|
||||||
|
* @return The values of this {@link UsageReportPointRest} object, containing the amount of views
|
||||||
|
*/
|
||||||
public Map<String, Integer> getValues() {
|
public Map<String, Integer> getValues() {
|
||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the id of this {@link UsageReportPointRest} object, of the form: type of UsageReport_dso uuid
|
||||||
|
*
|
||||||
|
* @return The id of this {@link UsageReportPointRest} object, of the form: type of UsageReport_dso uuid
|
||||||
|
*/
|
||||||
public String getId() {
|
public String getId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the id of this {@link UsageReportPointRest} object, of the form: type of UsageReport_dso uuid
|
||||||
|
*
|
||||||
|
* @param id The id of this {@link UsageReportPointRest} object, of the form: type of UsageReport_dso uuid
|
||||||
|
*/
|
||||||
public void setId(String id) {
|
public void setId(String id) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a value pair to this {@link UsageReportPointRest} object's values
|
||||||
|
*
|
||||||
|
* @param key Key of new value pair
|
||||||
|
* @param value Value of new value pair
|
||||||
|
*/
|
||||||
public void addValue(String key, Integer value) {
|
public void addValue(String key, Integer value) {
|
||||||
if (values == null) {
|
if (values == null) {
|
||||||
values = new HashMap<>();
|
values = new HashMap<>();
|
||||||
@@ -55,14 +94,29 @@ public class UsageReportPointRest extends BaseObjectRest<String> {
|
|||||||
values.put(key, value);
|
values.put(key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets all values of this {@link UsageReportPointRest} object
|
||||||
|
*
|
||||||
|
* @param values All values of this {@link UsageReportPointRest} object
|
||||||
|
*/
|
||||||
public void setValues(Map<String, Integer> values) {
|
public void setValues(Map<String, Integer> values) {
|
||||||
this.values = values;
|
this.values = values;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns label of this {@link UsageReportPointRest} object, e.g. the dso's name
|
||||||
|
*
|
||||||
|
* @return Label of this {@link UsageReportPointRest} object, e.g. the dso's name
|
||||||
|
*/
|
||||||
public String getLabel() {
|
public String getLabel() {
|
||||||
return label;
|
return label;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the label of this {@link UsageReportPointRest} object, e.g. the dso's name
|
||||||
|
*
|
||||||
|
* @param label Label of this {@link UsageReportPointRest} object, e.g. the dso's name
|
||||||
|
*/
|
||||||
public void setLabel(String label) {
|
public void setLabel(String label) {
|
||||||
this.label = label;
|
this.label = label;
|
||||||
}
|
}
|
||||||
|
@@ -26,26 +26,69 @@ public class UsageReportRest extends BaseObjectRest<String> {
|
|||||||
private String reportType;
|
private String reportType;
|
||||||
private List<UsageReportPointRest> points;
|
private List<UsageReportPointRest> points;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the category of this Rest object, {@link #CATEGORY}
|
||||||
|
*
|
||||||
|
* @return The category of this Rest object, {@link #CATEGORY}
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
public String getCategory() {
|
public String getCategory() {
|
||||||
return CATEGORY;
|
return CATEGORY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return controller class responsible for this Rest object
|
||||||
|
*
|
||||||
|
* @return Controller class responsible for this Rest object
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
public Class getController() {
|
public Class getController() {
|
||||||
return StatisticsRestController.class;
|
return StatisticsRestController.class;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the type of this {@link UsageReportRest} object
|
||||||
|
*
|
||||||
|
* @return Type of this {@link UsageReportRest} object
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
public String getType() {
|
public String getType() {
|
||||||
return NAME;
|
return NAME;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the report type of this UsageReport, options listed in
|
||||||
|
* {@link org.dspace.app.rest.utils.UsageReportUtils}, e.g.
|
||||||
|
* {@link org.dspace.app.rest.utils.UsageReportUtils#TOTAL_VISITS_REPORT_ID}
|
||||||
|
*
|
||||||
|
* @return The report type of this UsageReport, options listed in
|
||||||
|
* {@link org.dspace.app.rest.utils.UsageReportUtils}, e.g.
|
||||||
|
* {@link org.dspace.app.rest.utils.UsageReportUtils#TOTAL_VISITS_REPORT_ID}
|
||||||
|
*/
|
||||||
public String getReportType() {
|
public String getReportType() {
|
||||||
return reportType;
|
return reportType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the report type of this UsageReport, options listed in
|
||||||
|
* {@link org.dspace.app.rest.utils.UsageReportUtils}, e.g.
|
||||||
|
* {@link org.dspace.app.rest.utils.UsageReportUtils#TOTAL_VISITS_REPORT_ID}
|
||||||
|
*
|
||||||
|
* @param reportType The report type of this UsageReport, options listed in
|
||||||
|
* {@link org.dspace.app.rest.utils.UsageReportUtils}, e.g.
|
||||||
|
* {@link org.dspace.app.rest.utils.UsageReportUtils#TOTAL_VISITS_REPORT_ID}
|
||||||
|
*/
|
||||||
public void setReportType(String reportType) {
|
public void setReportType(String reportType) {
|
||||||
this.reportType = reportType;
|
this.reportType = reportType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the list of {@link UsageReportPointRest} objects attached to this {@link UsageReportRest} object, or
|
||||||
|
* empty list if none
|
||||||
|
*
|
||||||
|
* @return The list of {@link UsageReportPointRest} objects attached to this {@link UsageReportRest} object, or
|
||||||
|
* empty list if none
|
||||||
|
*/
|
||||||
public List<UsageReportPointRest> getPoints() {
|
public List<UsageReportPointRest> getPoints() {
|
||||||
if (points == null) {
|
if (points == null) {
|
||||||
points = new ArrayList<>();
|
points = new ArrayList<>();
|
||||||
@@ -53,6 +96,11 @@ public class UsageReportRest extends BaseObjectRest<String> {
|
|||||||
return points;
|
return points;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds a {@link UsageReportPointRest} object to this {@link UsageReportRest} object
|
||||||
|
*
|
||||||
|
* @param point {@link UsageReportPointRest} to add to this {@link UsageReportRest} object
|
||||||
|
*/
|
||||||
public void addPoint(UsageReportPointRest point) {
|
public void addPoint(UsageReportPointRest point) {
|
||||||
if (points == null) {
|
if (points == null) {
|
||||||
points = new ArrayList<>();
|
points = new ArrayList<>();
|
||||||
@@ -60,6 +108,11 @@ public class UsageReportRest extends BaseObjectRest<String> {
|
|||||||
points.add(point);
|
points.add(point);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set all {@link UsageReportPointRest} objects on this {@link UsageReportRest} object
|
||||||
|
*
|
||||||
|
* @param points All {@link UsageReportPointRest} objects on this {@link UsageReportRest} object
|
||||||
|
*/
|
||||||
public void setPoints(List<UsageReportPointRest> points) {
|
public void setPoints(List<UsageReportPointRest> points) {
|
||||||
this.points = points;
|
this.points = points;
|
||||||
}
|
}
|
||||||
|
@@ -20,6 +20,7 @@ import org.dspace.app.rest.SearchRestMethod;
|
|||||||
import org.dspace.app.rest.exception.RepositoryMethodNotImplementedException;
|
import org.dspace.app.rest.exception.RepositoryMethodNotImplementedException;
|
||||||
import org.dspace.app.rest.model.StatisticsSupportRest;
|
import org.dspace.app.rest.model.StatisticsSupportRest;
|
||||||
import org.dspace.app.rest.model.UsageReportRest;
|
import org.dspace.app.rest.model.UsageReportRest;
|
||||||
|
import org.dspace.app.rest.utils.UsageReportUtils;
|
||||||
import org.dspace.core.Context;
|
import org.dspace.core.Context;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
@@ -31,7 +32,7 @@ import org.springframework.stereotype.Component;
|
|||||||
public class StatisticsRestRepository extends DSpaceRestRepository<UsageReportRest, String> {
|
public class StatisticsRestRepository extends DSpaceRestRepository<UsageReportRest, String> {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private UsageReportService usageReportService;
|
private UsageReportUtils usageReportUtils;
|
||||||
|
|
||||||
public StatisticsSupportRest getStatisticsSupport() {
|
public StatisticsSupportRest getStatisticsSupport() {
|
||||||
return new StatisticsSupportRest();
|
return new StatisticsSupportRest();
|
||||||
@@ -45,7 +46,7 @@ public class StatisticsRestRepository extends DSpaceRestRepository<UsageReportRe
|
|||||||
|
|
||||||
UsageReportRest usageReportRest = null;
|
UsageReportRest usageReportRest = null;
|
||||||
try {
|
try {
|
||||||
usageReportRest = usageReportService.createUsageReport(context, uuidObject, reportId);
|
usageReportRest = usageReportUtils.createUsageReport(context, uuidObject, reportId);
|
||||||
} catch (ParseException | SolrServerException | IOException e) {
|
} catch (ParseException | SolrServerException | IOException e) {
|
||||||
throw new RuntimeException(e.getMessage(), e);
|
throw new RuntimeException(e.getMessage(), e);
|
||||||
}
|
}
|
||||||
@@ -59,7 +60,7 @@ public class StatisticsRestRepository extends DSpaceRestRepository<UsageReportRe
|
|||||||
UUID uuid = UUID.fromString(StringUtils.substringAfterLast(uri, "/"));
|
UUID uuid = UUID.fromString(StringUtils.substringAfterLast(uri, "/"));
|
||||||
List<UsageReportRest> usageReportsOfItem = null;
|
List<UsageReportRest> usageReportsOfItem = null;
|
||||||
try {
|
try {
|
||||||
usageReportsOfItem = usageReportService.getUsageReportsOfDSO(obtainContext(), uuid);
|
usageReportsOfItem = usageReportUtils.getUsageReportsOfDSO(obtainContext(), uuid);
|
||||||
} catch (SQLException | ParseException | SolrServerException | IOException e) {
|
} catch (SQLException | ParseException | SolrServerException | IOException e) {
|
||||||
throw new RuntimeException(e.getMessage(), e);
|
throw new RuntimeException(e.getMessage(), e);
|
||||||
}
|
}
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
*
|
*
|
||||||
* http://www.dspace.org/license/
|
* http://www.dspace.org/license/
|
||||||
*/
|
*/
|
||||||
package org.dspace.app.rest.repository;
|
package org.dspace.app.rest.utils;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
@@ -22,7 +22,7 @@ import org.dspace.app.rest.model.UsageReportPointCountryRest;
|
|||||||
import org.dspace.app.rest.model.UsageReportPointDateRest;
|
import org.dspace.app.rest.model.UsageReportPointDateRest;
|
||||||
import org.dspace.app.rest.model.UsageReportPointDsoTotalVisitsRest;
|
import org.dspace.app.rest.model.UsageReportPointDsoTotalVisitsRest;
|
||||||
import org.dspace.app.rest.model.UsageReportRest;
|
import org.dspace.app.rest.model.UsageReportRest;
|
||||||
import org.dspace.app.rest.utils.DSpaceObjectUtils;
|
import org.dspace.app.rest.repository.AbstractDSpaceRestRepository;
|
||||||
import org.dspace.content.Bitstream;
|
import org.dspace.content.Bitstream;
|
||||||
import org.dspace.content.DSpaceObject;
|
import org.dspace.content.DSpaceObject;
|
||||||
import org.dspace.content.Item;
|
import org.dspace.content.Item;
|
||||||
@@ -47,7 +47,7 @@ import org.springframework.stereotype.Component;
|
|||||||
* @author Maria Verdonck (Atmire) on 08/06/2020
|
* @author Maria Verdonck (Atmire) on 08/06/2020
|
||||||
*/
|
*/
|
||||||
@Component
|
@Component
|
||||||
public class UsageReportService extends AbstractDSpaceRestRepository {
|
public class UsageReportUtils extends AbstractDSpaceRestRepository {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private DSpaceObjectUtils dspaceObjectUtil;
|
private DSpaceObjectUtils dspaceObjectUtil;
|
@@ -9,11 +9,11 @@ package org.dspace.app.rest;
|
|||||||
|
|
||||||
import static org.apache.commons.codec.CharEncoding.UTF_8;
|
import static org.apache.commons.codec.CharEncoding.UTF_8;
|
||||||
import static org.apache.commons.io.IOUtils.toInputStream;
|
import static org.apache.commons.io.IOUtils.toInputStream;
|
||||||
import static org.dspace.app.rest.repository.UsageReportService.TOP_CITIES_REPORT_ID;
|
import static org.dspace.app.rest.utils.UsageReportUtils.TOP_CITIES_REPORT_ID;
|
||||||
import static org.dspace.app.rest.repository.UsageReportService.TOP_COUNTRIES_REPORT_ID;
|
import static org.dspace.app.rest.utils.UsageReportUtils.TOP_COUNTRIES_REPORT_ID;
|
||||||
import static org.dspace.app.rest.repository.UsageReportService.TOTAL_DOWNLOADS_REPORT_ID;
|
import static org.dspace.app.rest.utils.UsageReportUtils.TOTAL_DOWNLOADS_REPORT_ID;
|
||||||
import static org.dspace.app.rest.repository.UsageReportService.TOTAL_VISITS_PER_MONTH_REPORT_ID;
|
import static org.dspace.app.rest.utils.UsageReportUtils.TOTAL_VISITS_PER_MONTH_REPORT_ID;
|
||||||
import static org.dspace.app.rest.repository.UsageReportService.TOTAL_VISITS_REPORT_ID;
|
import static org.dspace.app.rest.utils.UsageReportUtils.TOTAL_VISITS_REPORT_ID;
|
||||||
import static org.hamcrest.Matchers.empty;
|
import static org.hamcrest.Matchers.empty;
|
||||||
import static org.hamcrest.Matchers.not;
|
import static org.hamcrest.Matchers.not;
|
||||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
|
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
|
||||||
@@ -37,8 +37,8 @@ import org.dspace.app.rest.model.UsageReportPointDsoTotalVisitsRest;
|
|||||||
import org.dspace.app.rest.model.UsageReportPointRest;
|
import org.dspace.app.rest.model.UsageReportPointRest;
|
||||||
import org.dspace.app.rest.model.ViewEventRest;
|
import org.dspace.app.rest.model.ViewEventRest;
|
||||||
import org.dspace.app.rest.repository.StatisticsRestRepository;
|
import org.dspace.app.rest.repository.StatisticsRestRepository;
|
||||||
import org.dspace.app.rest.repository.UsageReportService;
|
|
||||||
import org.dspace.app.rest.test.AbstractControllerIntegrationTest;
|
import org.dspace.app.rest.test.AbstractControllerIntegrationTest;
|
||||||
|
import org.dspace.app.rest.utils.UsageReportUtils;
|
||||||
import org.dspace.authorize.service.AuthorizeService;
|
import org.dspace.authorize.service.AuthorizeService;
|
||||||
import org.dspace.builder.BitstreamBuilder;
|
import org.dspace.builder.BitstreamBuilder;
|
||||||
import org.dspace.builder.CollectionBuilder;
|
import org.dspace.builder.CollectionBuilder;
|
||||||
@@ -64,7 +64,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Integration test to test the /api/statistics/usagereports/ endpoints, see {@link UsageReportService} and
|
* Integration test to test the /api/statistics/usagereports/ endpoints, see {@link UsageReportUtils} and
|
||||||
* {@link StatisticsRestRepository}
|
* {@link StatisticsRestRepository}
|
||||||
*
|
*
|
||||||
* @author Maria Verdonck (Atmire) on 10/06/2020
|
* @author Maria Verdonck (Atmire) on 10/06/2020
|
||||||
|
@@ -42,4 +42,5 @@ usage-statistics.authorization.admin.workflow=true
|
|||||||
#usage-statistics.bots.case-insensitive = false
|
#usage-statistics.bots.case-insensitive = false
|
||||||
|
|
||||||
# Set to true if the statistics core is sharded into a core per year, defaults to false
|
# Set to true if the statistics core is sharded into a core per year, defaults to false
|
||||||
|
# If you are sharding your statistics index each year by running "dspace stats-util -s", you should set this to "true"
|
||||||
usage-statistics.shardedByYear = false
|
usage-statistics.shardedByYear = false
|
||||||
|
Reference in New Issue
Block a user