diff --git a/pom.xml b/pom.xml index 76c2cd85ad9ae0e918f3c5770311ed017308e02a..e6d5cb10b42c66662f7b2f761bab72e9018a1673 100644 --- a/pom.xml +++ b/pom.xml @@ -381,9 +381,9 @@ </executions> </plugin> <plugin> - <groupId>com.coveo</groupId> + <groupId>com.spotify.fmt</groupId> <artifactId>fmt-maven-plugin</artifactId> - <version>2.5.1</version> + <version>2.21.1</version> <configuration> <skip> <!-- Set skip to `true` to prevent auto-formatting while coding. --> diff --git a/src/main/java/org/caosdb/datetime/FragmentDateTime.java b/src/main/java/org/caosdb/datetime/FragmentDateTime.java index 38c16a988a0103a121767b99078c0ca41c6263d5..78ef7199970ac3aa52a53cae96744cd90fb23c20 100644 --- a/src/main/java/org/caosdb/datetime/FragmentDateTime.java +++ b/src/main/java/org/caosdb/datetime/FragmentDateTime.java @@ -21,7 +21,9 @@ * ** end header */ -/** @review Daniel Hornung 2022-03-04 */ +/** + * @review Daniel Hornung 2022-03-04 + */ package org.caosdb.datetime; import java.util.Objects; diff --git a/src/main/java/org/caosdb/datetime/UTCDateTime.java b/src/main/java/org/caosdb/datetime/UTCDateTime.java index 1dd86cc975d4b92066f2cf44fff51493ade5babe..a7719d5a3f30d862be0d7646796a4f2800149b06 100644 --- a/src/main/java/org/caosdb/datetime/UTCDateTime.java +++ b/src/main/java/org/caosdb/datetime/UTCDateTime.java @@ -21,7 +21,9 @@ * ** end header */ -/** @review Daniel Hornung 2022-03-04 */ +/** + * @review Daniel Hornung 2022-03-04 + */ package org.caosdb.datetime; import java.util.ArrayList; diff --git a/src/main/java/org/caosdb/server/CaosDBServer.java b/src/main/java/org/caosdb/server/CaosDBServer.java index 8a09883b779a9c75ecaf14775ff06f2ed112c1b8..bb36193f33a5d8c554a551100ae25e129ba1921e 100644 --- a/src/main/java/org/caosdb/server/CaosDBServer.java +++ b/src/main/java/org/caosdb/server/CaosDBServer.java @@ -671,7 +671,8 @@ public class CaosDBServer extends Application { return 0; } return -1; - }; + } + ; @Override public int match(final String formattedString) { diff --git a/src/main/java/org/caosdb/server/accessControl/Pam.java b/src/main/java/org/caosdb/server/accessControl/Pam.java index 992665c1db3ef42d3770c71e89fa5444f43f9d95..76fde331dc97b51ed82083999e4d49b94176695d 100644 --- a/src/main/java/org/caosdb/server/accessControl/Pam.java +++ b/src/main/java/org/caosdb/server/accessControl/Pam.java @@ -145,7 +145,9 @@ public class Pam implements UserSource { return this.map; } - /** @see {@link UserSource#resolveRolesForUsername(String)} */ + /** + * @see {@link UserSource#resolveRolesForUsername(String)} + */ @Override public Set<String> resolveRolesForUsername(final String username) { final Set<String> resulting_roles = new HashSet<String>(); @@ -266,7 +268,9 @@ public class Pam implements UserSource { return username != null && isIncorporated(username); } - /** @see {@link UserSource#isValid(String, String)}. */ + /** + * @see {@link UserSource#isValid(String, String)}. + */ @Override public boolean isValid(final String username, final String password) { if (username != null && isIncorporated(username)) { diff --git a/src/main/java/org/caosdb/server/database/DatabaseAccessManager.java b/src/main/java/org/caosdb/server/database/DatabaseAccessManager.java index f12c78e31bf28799b8c8ead1c9ff311a65bb01ef..478953cbbcd25693dca3df92a3ede6371b4f2212 100644 --- a/src/main/java/org/caosdb/server/database/DatabaseAccessManager.java +++ b/src/main/java/org/caosdb/server/database/DatabaseAccessManager.java @@ -60,6 +60,7 @@ class ReadAccessSemaphore extends Semaphore implements Releasable { private AtomicInteger acquired = new AtomicInteger(0); // how many threads have read access Semaphore writersBlock = new Semaphore(1, true); // This semaphore is blocked as long as there are any + // unreleased read permits. public ReadAccessSemaphore() { diff --git a/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/DatabaseConnectionPool.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/DatabaseConnectionPool.java index e91eab749698bce68e5bd140f8f3840322567b98..8234d948eb3af1dd490e6ef1062de98504e3575d 100644 --- a/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/DatabaseConnectionPool.java +++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/DatabaseConnectionPool.java @@ -74,8 +74,12 @@ class DatabaseConnectionPool { private static ConnectionPool instance = null; private static synchronized ConnectionPool createConnectionPool() - throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException, - ConnectionException, CaosDBException { + throws ClassNotFoundException, + InstantiationException, + IllegalAccessException, + SQLException, + ConnectionException, + CaosDBException { final String url = "jdbc:mysql://" diff --git a/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/DatabaseUtils.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/DatabaseUtils.java index e7b684e6699c77b6fa1380aac0d33d13f4a6057d..6528627d0e7080452827f8b70b87c34c78ac6c57 100644 --- a/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/DatabaseUtils.java +++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/DatabaseUtils.java @@ -332,8 +332,7 @@ public class DatabaseUtils { return ((Entry<Integer, String>) x).getKey() - ((Entry<Integer, String>) y).getKey(); }); pp.collValues = - pp.collValues - .stream() + pp.collValues.stream() .map((x) -> (Object) ((Entry<Integer, String>) x).getValue()) .collect(Collectors.toList()); } diff --git a/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLLogUserVisit.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLLogUserVisit.java index 23050da87e324026be1eefa02690959d0a0590cc..d3b9167e13fb92df3b69e9418f9d3c0d61458233 100644 --- a/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLLogUserVisit.java +++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLLogUserVisit.java @@ -36,6 +36,7 @@ public class MySQLLogUserVisit extends MySQLTransaction implements LogUserVisitI public static final String LOG_USER_VISIT = "SELECT status FROM user_info WHERE realm = ? AND name = ?"; + // TODO Replace by "UPDATE user_info SET last_seen = ?"; /** Return true if this is not the first visit of this user. */ diff --git a/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/Replacement.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/Replacement.java index 61e431bab60b9973f6aa1f0b824ffc3e3b60744e..8ec47231d7d3644bc4c21a2b2125175a75f4bc97 100644 --- a/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/Replacement.java +++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/Replacement.java @@ -28,6 +28,7 @@ import org.caosdb.server.entity.wrapper.Property; enum ReplacementStatus implements StatementStatusInterface { REPLACEMENT } + /** * A wrapper of {@link Property} objects used by the back-end implementation for the MySQL/MariaDB * back-end. diff --git a/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntityTransaction.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntityTransaction.java index eee73735a07cc2e152e0099bf5d027d1413631b4..92f5aa841aed5f759d433076700a8b1ce13e26dc 100644 --- a/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntityTransaction.java +++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntityTransaction.java @@ -160,6 +160,7 @@ public class RetrieveFullEntityTransaction extends BackendTransaction { } return false; } + /** * Return true iff the parents need to be retrieved. * diff --git a/src/main/java/org/caosdb/server/database/misc/TransactionBenchmark.java b/src/main/java/org/caosdb/server/database/misc/TransactionBenchmark.java index 397a1f52201727d17b057dc92567893798b63cf5..6b14bd1d627a4dbe1b2ef131f76917586155a385 100644 --- a/src/main/java/org/caosdb/server/database/misc/TransactionBenchmark.java +++ b/src/main/java/org/caosdb/server/database/misc/TransactionBenchmark.java @@ -132,6 +132,7 @@ class RootBenchmark extends TransactionBenchmark implements ServerStat { private static final long serialVersionUID = -95212746021180579L; private transient boolean synced = false; + /** * Fetch old data (from before last shutdown) and fill it into this instance. * @@ -286,7 +287,8 @@ public abstract class TransactionBenchmark implements Serializable { protected TransactionBenchmark() { stackTraceElements = Thread.currentThread().getStackTrace(); - }; + } + ; public Iterable<SubBenchmark> getSubBenchmarks() { return this.subBenchmarks.values(); diff --git a/src/main/java/org/caosdb/server/datatype/AbstractEnumValue.java b/src/main/java/org/caosdb/server/datatype/AbstractEnumValue.java index be88002543155771d2937e216c64d52931051c25..ffe630baa1e519df2044a487ea3ad0ffc4c4bd34 100644 --- a/src/main/java/org/caosdb/server/datatype/AbstractEnumValue.java +++ b/src/main/java/org/caosdb/server/datatype/AbstractEnumValue.java @@ -19,7 +19,9 @@ * along with this program. If not, see <https://www.gnu.org/licenses/>. */ -/** @review Daniel Hornung 2022-03-04 */ +/** + * @review Daniel Hornung 2022-03-04 + */ package org.caosdb.server.datatype; import com.google.common.base.Objects; diff --git a/src/main/java/org/caosdb/server/datatype/CollectionValue.java b/src/main/java/org/caosdb/server/datatype/CollectionValue.java index fc94f660490284e560a34d1c407e2d74c51f6358..9fb8c6b3012dd4e9a3fa263aab149a92ce1c7643 100644 --- a/src/main/java/org/caosdb/server/datatype/CollectionValue.java +++ b/src/main/java/org/caosdb/server/datatype/CollectionValue.java @@ -21,7 +21,9 @@ * ** end header */ -/** @review Daniel Hornung 2022-03-04 */ +/** + * @review Daniel Hornung 2022-03-04 + */ package org.caosdb.server.datatype; import java.util.ArrayList; diff --git a/src/main/java/org/caosdb/server/datatype/ReferenceValue.java b/src/main/java/org/caosdb/server/datatype/ReferenceValue.java index 4c84a760c05356b292e9e39e48f7af3b3d9a4668..e07b1b807c3226cb5bc074aeafd4d8c712ce2ec1 100644 --- a/src/main/java/org/caosdb/server/datatype/ReferenceValue.java +++ b/src/main/java/org/caosdb/server/datatype/ReferenceValue.java @@ -21,7 +21,9 @@ * along with this program. If not, see <https://www.gnu.org/licenses/>. */ -/** @review Daniel Hornung 2022-03-04 */ +/** + * @review Daniel Hornung 2022-03-04 + */ package org.caosdb.server.datatype; import java.util.Objects; diff --git a/src/main/java/org/caosdb/server/grpc/AuthInterceptor.java b/src/main/java/org/caosdb/server/grpc/AuthInterceptor.java index ce8a62210d3c8e849397600fc112cd3103f15df4..3fea4daea12404c57347cf9b158a1fb137dbf17e 100644 --- a/src/main/java/org/caosdb/server/grpc/AuthInterceptor.java +++ b/src/main/java/org/caosdb/server/grpc/AuthInterceptor.java @@ -87,6 +87,7 @@ public class AuthInterceptor implements ServerInterceptor { metadata.put(CookieSetter.SET_COOKIE, CookieSetter.EXPIRED_SESSION_COOKIE); return metadata; } + /** * A no-op listener. This class is used for failed authentications. We couldn't return a null * instead because the documentation of the {@link ServerInterceptor} explicitely forbids it. @@ -281,7 +282,8 @@ final class CookieSetter<ReqT, RespT> public void sendHeaders(Metadata headers) { setSessionCookies(headers); super.sendHeaders(headers); - }; + } + ; private void setSessionCookies(Metadata headers) { // if authenticated as a normal user: generate and set session cookie. diff --git a/src/main/java/org/caosdb/server/grpc/GRPCServer.java b/src/main/java/org/caosdb/server/grpc/GRPCServer.java index 73356140b85fb09af93bdca034a69685ce8cd4eb..494ce94706eff75415264b175f58cdaf16a2a442 100644 --- a/src/main/java/org/caosdb/server/grpc/GRPCServer.java +++ b/src/main/java/org/caosdb/server/grpc/GRPCServer.java @@ -81,8 +81,11 @@ public class GRPCServer { * @throws IOException */ private SslContext buildSslContext() - throws NoSuchAlgorithmException, UnrecoverableKeyException, KeyStoreException, - CertificateException, IOException { + throws NoSuchAlgorithmException, + UnrecoverableKeyException, + KeyStoreException, + CertificateException, + IOException { final KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); final char[] password = @@ -112,7 +115,9 @@ public class GRPCServer { return builder.build(); } - /** @return A list of services which should be added to the gRPC end-point. */ + /** + * @return A list of services which should be added to the gRPC end-point. + */ private List<ServerServiceDefinition> getEnabledServices() { final List<ServerServiceDefinition> services = new LinkedList<>(); @@ -153,8 +158,11 @@ public class GRPCServer { * @throws IOException */ private Server buildServer(final int port, final boolean tls) - throws UnrecoverableKeyException, NoSuchAlgorithmException, KeyStoreException, - CertificateException, IOException { + throws UnrecoverableKeyException, + NoSuchAlgorithmException, + KeyStoreException, + CertificateException, + IOException { final NettyServerBuilder builder = NettyServerBuilder.forPort(port); if (tls) { @@ -182,8 +190,12 @@ public class GRPCServer { * @throws UnrecoverableKeyException */ public static void startServer() - throws IOException, InterruptedException, KeyStoreException, NoSuchAlgorithmException, - CertificateException, UnrecoverableKeyException { + throws IOException, + InterruptedException, + KeyStoreException, + NoSuchAlgorithmException, + CertificateException, + UnrecoverableKeyException { boolean started = false; final String port_https_str = getServerProperty(ServerProperties.KEY_GRPC_SERVER_PORT_HTTPS); diff --git a/src/main/java/org/caosdb/server/query/Query.java b/src/main/java/org/caosdb/server/query/Query.java index 0574cd1e2bffe03e62dd0e225752d19dae57a681..53cd7bf04bccf03eab9422e591750849bfa48728 100644 --- a/src/main/java/org/caosdb/server/query/Query.java +++ b/src/main/java/org/caosdb/server/query/Query.java @@ -287,6 +287,7 @@ public class Query implements QueryInterface, ToElementable, TransactionInterfac private final ArrayList<ToElementable> messages = new ArrayList<>(); private Access access; private boolean versioned = false; + /** * This key-value cache stores lists of of (id, version hash, acl string) triplets. Those values * are the result sets of queries. The keys are created such that they are different for different @@ -301,8 +302,10 @@ public class Query implements QueryInterface, ToElementable, TransactionInterfac */ private static ICacheAccess<String, Serializable> cache = Cache.getCache("HIGH_LEVEL_QUERY_CACHE"); + /** Cached=true means that the results of this query have actually been pulled from the cache. */ private boolean cached = false; + /** * Cachable=false means that the results of this query cannot be used for the cache, because the * query evaluation contains complex permission checking which could only be cached on a per-user @@ -334,7 +337,8 @@ public class Query implements QueryInterface, ToElementable, TransactionInterfac this.container = container; this.query = query; this.user = user; - }; + } + ; /** * Fill the initially empty resultSet with all entities which match the name, or the id. Then @@ -740,6 +744,7 @@ public class Query implements QueryInterface, ToElementable, TransactionInterfac this.resultSet = getCached(getCacheKey(false)); } } + /** Store the content of `resultSet` member in the high level query cache. */ private void storeResultInCache() { // Decide whether user specific cache needs to be used or not @@ -751,6 +756,7 @@ public class Query implements QueryInterface, ToElementable, TransactionInterfac cacheItem(getCacheKey(false), this.resultSet); } } + /** Fill entities from `resultSet` into `container`. */ private void fillContainerWithResult() { if (this.container != null && (this.type == Type.FIND || this.type == Type.SELECT)) { @@ -802,6 +808,7 @@ public class Query implements QueryInterface, ToElementable, TransactionInterfac } return this; } + /** Remove all cached queries from the cache. */ public static void clearCache() { cacheETag = UUID.randomUUID().toString(); @@ -956,6 +963,7 @@ public class Query implements QueryInterface, ToElementable, TransactionInterfac } return filtered; } + /** * Creates a list with IDs of those entities that do not have sufficient RETRIEVE permission * @@ -1015,7 +1023,9 @@ public class Query implements QueryInterface, ToElementable, TransactionInterfac return this.access; } - /** @return the number of entities in the resultset. Might be updated by the filters. */ + /** + * @return the number of entities in the resultset. Might be updated by the filters. + */ @Override public int getTargetSetCount() { return this.targetSetCount; diff --git a/src/main/java/org/caosdb/server/query/ResultSetIterator.java b/src/main/java/org/caosdb/server/query/ResultSetIterator.java index 27c5e9226ac153bc65e2a42b15d3539f61526c89..a26c1f41867e96722dd4ba6451344b689d0299e0 100644 --- a/src/main/java/org/caosdb/server/query/ResultSetIterator.java +++ b/src/main/java/org/caosdb/server/query/ResultSetIterator.java @@ -35,7 +35,8 @@ public class ResultSetIterator implements Iterator<IdVersionAclTriplet> { this.cursorHasMoved = true; } return this.currentIsValid; - }; + } + ; public IdVersionAclTriplet next() { if (!this.cursorHasMoved) { diff --git a/src/main/java/org/caosdb/server/resource/AbstractCaosDBServerResource.java b/src/main/java/org/caosdb/server/resource/AbstractCaosDBServerResource.java index 44ebfa22d08c975031f5bf5bfca325d6b706af24..de56fff3207cd554d23badcc63dbd8e5130e6e81 100644 --- a/src/main/java/org/caosdb/server/resource/AbstractCaosDBServerResource.java +++ b/src/main/java/org/caosdb/server/resource/AbstractCaosDBServerResource.java @@ -243,8 +243,12 @@ public abstract class AbstractCaosDBServerResource extends ServerResource { } protected abstract Representation httpGetInChildClass() - throws ConnectionException, IOException, SQLException, CaosDBException, - NoSuchAlgorithmException, Exception; + throws ConnectionException, + IOException, + SQLException, + CaosDBException, + NoSuchAlgorithmException, + Exception; @Post public Representation httpPost(final Representation entity) { @@ -277,8 +281,12 @@ public abstract class AbstractCaosDBServerResource extends ServerResource { } protected Representation httpDeleteInChildClass() - throws ConnectionException, SQLException, CaosDBException, IOException, - NoSuchAlgorithmException, Exception { + throws ConnectionException, + SQLException, + CaosDBException, + IOException, + NoSuchAlgorithmException, + Exception { getResponse().setStatus(Status.CLIENT_ERROR_METHOD_NOT_ALLOWED); return null; } @@ -293,8 +301,14 @@ public abstract class AbstractCaosDBServerResource extends ServerResource { } protected Representation httpPostInChildClass(final Representation entity) - throws ConnectionException, SQLException, CaosDBException, IOException, - NoSuchAlgorithmException, xmlNotWellFormedException, JDOMException, Exception { + throws ConnectionException, + SQLException, + CaosDBException, + IOException, + NoSuchAlgorithmException, + xmlNotWellFormedException, + JDOMException, + Exception { getResponse().setStatus(Status.CLIENT_ERROR_METHOD_NOT_ALLOWED); return null; } diff --git a/src/main/java/org/caosdb/server/resource/AuthenticationResource.java b/src/main/java/org/caosdb/server/resource/AuthenticationResource.java index ed60d7906b1cda003ed2a84f0e22200049d96c25..4f53ba12e958a33d694357372afba274fcfe4151 100644 --- a/src/main/java/org/caosdb/server/resource/AuthenticationResource.java +++ b/src/main/java/org/caosdb/server/resource/AuthenticationResource.java @@ -52,8 +52,12 @@ public class AuthenticationResource extends AbstractCaosDBServerResource { /** Returns single "Login" element. XSLT will create a form. */ @Override protected Representation httpGetInChildClass() - throws ConnectionException, IOException, SQLException, CaosDBException, - NoSuchAlgorithmException, Exception { + throws ConnectionException, + IOException, + SQLException, + CaosDBException, + NoSuchAlgorithmException, + Exception { final Document doc = new Document(); final Element rootElem = generateRootElement(); doc.setRootElement(rootElem); @@ -66,8 +70,12 @@ public class AuthenticationResource extends AbstractCaosDBServerResource { @Override protected Representation httpDeleteInChildClass() - throws ConnectionException, SQLException, CaosDBException, IOException, - NoSuchAlgorithmException, Exception { + throws ConnectionException, + SQLException, + CaosDBException, + IOException, + NoSuchAlgorithmException, + Exception { final Subject user = SecurityUtils.getSubject(); if (user.isAuthenticated()) { user.logout(); diff --git a/src/main/java/org/caosdb/server/resource/DefaultResource.java b/src/main/java/org/caosdb/server/resource/DefaultResource.java index 488cd667c8832e4b90277e07144c65cbb7e4036d..39fbf47dcd4cde1d96642a0112b58c3285dec2c9 100644 --- a/src/main/java/org/caosdb/server/resource/DefaultResource.java +++ b/src/main/java/org/caosdb/server/resource/DefaultResource.java @@ -43,8 +43,12 @@ public class DefaultResource extends AbstractCaosDBServerResource { @Override protected Representation httpGetInChildClass() - throws ConnectionException, IOException, SQLException, CaosDBException, - NoSuchAlgorithmException, Exception { + throws ConnectionException, + IOException, + SQLException, + CaosDBException, + NoSuchAlgorithmException, + Exception { final Document doc = new org.jdom2.Document(); final Element root = generateRootElement(); if (this.responseBody != null) { diff --git a/src/main/java/org/caosdb/server/resource/LogoutResource.java b/src/main/java/org/caosdb/server/resource/LogoutResource.java index 1659f751a4710fbf99fc473b586cc3b180c8a62c..f17bd0c65119bc21183a0d7165a62688e60f2d25 100644 --- a/src/main/java/org/caosdb/server/resource/LogoutResource.java +++ b/src/main/java/org/caosdb/server/resource/LogoutResource.java @@ -33,8 +33,12 @@ public class LogoutResource extends AuthenticationResource { @Override protected Representation httpGetInChildClass() - throws ConnectionException, IOException, SQLException, CaosDBException, - NoSuchAlgorithmException, Exception { + throws ConnectionException, + IOException, + SQLException, + CaosDBException, + NoSuchAlgorithmException, + Exception { return super.httpDeleteInChildClass(); } } diff --git a/src/main/java/org/caosdb/server/resource/PermissionRulesResource.java b/src/main/java/org/caosdb/server/resource/PermissionRulesResource.java index 8d2aa1720aaefcdbaccee18c6a1626a912319b6a..afdcb0d60f077ebcfc2dfcc0e99093289a6d621f 100644 --- a/src/main/java/org/caosdb/server/resource/PermissionRulesResource.java +++ b/src/main/java/org/caosdb/server/resource/PermissionRulesResource.java @@ -44,8 +44,12 @@ public class PermissionRulesResource extends AbstractCaosDBServerResource { @Override protected Representation httpGetInChildClass() - throws ConnectionException, IOException, SQLException, CaosDBException, - NoSuchAlgorithmException, Exception { + throws ConnectionException, + IOException, + SQLException, + CaosDBException, + NoSuchAlgorithmException, + Exception { final String role = getRequestedItems()[0]; getUser().checkPermission(ACMPermissions.PERMISSION_RETRIEVE_ROLE_PERMISSIONS(role)); diff --git a/src/main/java/org/caosdb/server/resource/RolesResource.java b/src/main/java/org/caosdb/server/resource/RolesResource.java index ad1544da3a326f1c16e0b01238985d10e93b0581..73dee43e1f6b49d2c73cf44fe80510bb704d4f0d 100644 --- a/src/main/java/org/caosdb/server/resource/RolesResource.java +++ b/src/main/java/org/caosdb/server/resource/RolesResource.java @@ -46,8 +46,12 @@ public class RolesResource extends AbstractCaosDBServerResource { @Override protected Representation httpGetInChildClass() - throws ConnectionException, IOException, SQLException, CaosDBException, - NoSuchAlgorithmException, Exception { + throws ConnectionException, + IOException, + SQLException, + CaosDBException, + NoSuchAlgorithmException, + Exception { final Element root = generateRootElement(); final Document document = new Document(); @@ -74,8 +78,12 @@ public class RolesResource extends AbstractCaosDBServerResource { @Override protected Representation httpDeleteInChildClass() - throws ConnectionException, SQLException, CaosDBException, IOException, - NoSuchAlgorithmException, Exception { + throws ConnectionException, + SQLException, + CaosDBException, + IOException, + NoSuchAlgorithmException, + Exception { if (getRequestedItems().length > 0) { final String name = getRequestedItems()[0]; if (name != null) { @@ -97,8 +105,14 @@ public class RolesResource extends AbstractCaosDBServerResource { @Override protected Representation httpPostInChildClass(final Representation entity) - throws ConnectionException, SQLException, CaosDBException, IOException, - NoSuchAlgorithmException, xmlNotWellFormedException, JDOMException, Exception { + throws ConnectionException, + SQLException, + CaosDBException, + IOException, + NoSuchAlgorithmException, + xmlNotWellFormedException, + JDOMException, + Exception { String name = null; String description = null; diff --git a/src/main/java/org/caosdb/server/resource/ServerLogsResource.java b/src/main/java/org/caosdb/server/resource/ServerLogsResource.java index f304f10062209d62855a0bff21e0c8cad54e1962..acc1833dc5158d23e72f06f15cf1ddd037185043 100644 --- a/src/main/java/org/caosdb/server/resource/ServerLogsResource.java +++ b/src/main/java/org/caosdb/server/resource/ServerLogsResource.java @@ -41,8 +41,12 @@ public class ServerLogsResource extends AbstractCaosDBServerResource { @Override protected Representation httpGetInChildClass() - throws ConnectionException, IOException, SQLException, CaosDBException, - NoSuchAlgorithmException, Exception { + throws ConnectionException, + IOException, + SQLException, + CaosDBException, + NoSuchAlgorithmException, + Exception { Level level = null; String message = null; diff --git a/src/main/java/org/caosdb/server/resource/UserResource.java b/src/main/java/org/caosdb/server/resource/UserResource.java index e7561dd8437fba41c74c77f82093451cd819bd4d..ea8e8a264542474cccf74d20cf070342cb43d717 100644 --- a/src/main/java/org/caosdb/server/resource/UserResource.java +++ b/src/main/java/org/caosdb/server/resource/UserResource.java @@ -53,8 +53,12 @@ public class UserResource extends AbstractCaosDBServerResource { @Override protected Representation httpGetInChildClass() - throws ConnectionException, IOException, SQLException, CaosDBException, - NoSuchAlgorithmException, Exception { + throws ConnectionException, + IOException, + SQLException, + CaosDBException, + NoSuchAlgorithmException, + Exception { final Document doc = new Document(); final Element rootElem = generateRootElement(); @@ -176,8 +180,12 @@ public class UserResource extends AbstractCaosDBServerResource { @Override protected Representation httpDeleteInChildClass() - throws ConnectionException, SQLException, CaosDBException, IOException, - NoSuchAlgorithmException, Exception { + throws ConnectionException, + SQLException, + CaosDBException, + IOException, + NoSuchAlgorithmException, + Exception { final Document doc = new Document(); final Element rootElem = generateRootElement(); diff --git a/src/main/java/org/caosdb/server/resource/UserRolesResource.java b/src/main/java/org/caosdb/server/resource/UserRolesResource.java index 4eb7f6143038bb6e4b0c3fda4646e2730acfea04..72fc906a54b753166a4f5358dfda31ba0dff953e 100644 --- a/src/main/java/org/caosdb/server/resource/UserRolesResource.java +++ b/src/main/java/org/caosdb/server/resource/UserRolesResource.java @@ -45,8 +45,12 @@ public class UserRolesResource extends AbstractCaosDBServerResource { @Override protected Representation httpGetInChildClass() - throws ConnectionException, IOException, SQLException, CaosDBException, - NoSuchAlgorithmException, Exception { + throws ConnectionException, + IOException, + SQLException, + CaosDBException, + NoSuchAlgorithmException, + Exception { final String user = getRequestedItems()[0]; final String realm = (getRequestAttributes().get("realm") != null diff --git a/src/main/java/org/caosdb/server/resource/transaction/EntityResource.java b/src/main/java/org/caosdb/server/resource/transaction/EntityResource.java index 8aa5bbb4e77b0a2f491c736b782a9817dd95051b..833043885ecb0843483417c97cc7569ae316e8ef 100644 --- a/src/main/java/org/caosdb/server/resource/transaction/EntityResource.java +++ b/src/main/java/org/caosdb/server/resource/transaction/EntityResource.java @@ -130,8 +130,12 @@ public class EntityResource extends RetrieveEntityResource { * requests which also contain file blobs. */ private Element parseMultipartEntity(final WritableContainer container) - throws FileUploadException, IOException, Message, xmlNotWellFormedException, - NoSuchAlgorithmException, CaosDBException { + throws FileUploadException, + IOException, + Message, + xmlNotWellFormedException, + NoSuchAlgorithmException, + CaosDBException { final DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(1000240); final RestletFileUpload upload = new RestletFileUpload(factory); diff --git a/src/main/java/org/caosdb/server/resource/transaction/RetrieveEntityResource.java b/src/main/java/org/caosdb/server/resource/transaction/RetrieveEntityResource.java index 7a4ca37388379a8a368fc0fc3ff06f67c5998259..d5feea9a0fe815004230e697ff0fa38b74fc72b8 100644 --- a/src/main/java/org/caosdb/server/resource/transaction/RetrieveEntityResource.java +++ b/src/main/java/org/caosdb/server/resource/transaction/RetrieveEntityResource.java @@ -66,8 +66,12 @@ public abstract class RetrieveEntityResource extends AbstractCaosDBServerResourc /** Handle the GET request. */ @Override protected final Representation httpGetInChildClass() - throws ConnectionException, IOException, SQLException, CaosDBException, - NoSuchAlgorithmException, Exception { + throws ConnectionException, + IOException, + SQLException, + CaosDBException, + NoSuchAlgorithmException, + Exception { final RetrieveContainer entityContainer = new RetrieveContainer(getUser(), getTimestamp(), getSRID(), getFlags()); diff --git a/src/main/java/org/caosdb/server/scripting/ServerSideScriptingCaller.java b/src/main/java/org/caosdb/server/scripting/ServerSideScriptingCaller.java index edb6b39a4e92466e5a3e5a489669d366bbe8ce37..9a710e25fad549e5d4c14bb623378a2e6aaff806 100644 --- a/src/main/java/org/caosdb/server/scripting/ServerSideScriptingCaller.java +++ b/src/main/java/org/caosdb/server/scripting/ServerSideScriptingCaller.java @@ -253,7 +253,9 @@ public class ServerSideScriptingCaller { if (pwd.exists()) FileUtils.forceDelete(pwd); } - /** @fixme Should be injected into environment instead. Will be changed in v0.4 of SSS-API */ + /** + * @fixme Should be injected into environment instead. Will be changed in v0.4 of SSS-API + */ String[] injectAuthToken(String[] commandLine) { String[] newCommandLine = new String[commandLine.length + 1]; newCommandLine[0] = commandLine[0]; diff --git a/src/main/java/org/caosdb/server/transaction/ListRolesTransaction.java b/src/main/java/org/caosdb/server/transaction/ListRolesTransaction.java index ed3cd3cc5a154e82946e76f9934ee8608fe6980c..f0b0db78eeff6c04ca466dbd6f65f8350fbab783 100644 --- a/src/main/java/org/caosdb/server/transaction/ListRolesTransaction.java +++ b/src/main/java/org/caosdb/server/transaction/ListRolesTransaction.java @@ -39,9 +39,7 @@ public class ListRolesTransaction extends AccessControlTransaction { protected void transaction() throws Exception { Subject currentUser = SecurityUtils.getSubject(); roles = - execute(new ListRoles(), getAccess()) - .getRoles() - .stream() + execute(new ListRoles(), getAccess()).getRoles().stream() .filter( role -> currentUser.isPermitted( diff --git a/src/main/java/org/caosdb/server/transaction/ListUsersTransaction.java b/src/main/java/org/caosdb/server/transaction/ListUsersTransaction.java index 2ade4e8595f159d1fc6996c1e04913f4195ecd97..fe9b9c172d2c6b4361790d30590650ae0233a2ad 100644 --- a/src/main/java/org/caosdb/server/transaction/ListUsersTransaction.java +++ b/src/main/java/org/caosdb/server/transaction/ListUsersTransaction.java @@ -37,9 +37,7 @@ public class ListUsersTransaction extends AccessControlTransaction { protected void transaction() throws Exception { Subject currentUser = SecurityUtils.getSubject(); users = - execute(new ListUsers(), getAccess()) - .getUsers() - .stream() + execute(new ListUsers(), getAccess()).getUsers().stream() .filter( user -> currentUser.isPermitted( diff --git a/src/main/java/org/caosdb/server/transaction/Transaction.java b/src/main/java/org/caosdb/server/transaction/Transaction.java index 2ccff7b28b6497b2a537117583b0e142286cea51..69dde0ea3602a650e52dadcdbc0107ff7cf12ded 100644 --- a/src/main/java/org/caosdb/server/transaction/Transaction.java +++ b/src/main/java/org/caosdb/server/transaction/Transaction.java @@ -357,38 +357,58 @@ public abstract class Transaction<C extends TransactionContainer> extends Abstra } } - /** @see {@link #execute()} */ + /** + * @see {@link #execute()} + */ protected void rollBack() { this.schedule.runJobs(TransactionStage.ROLL_BACK); } - /** @see {@link #execute()} */ + /** + * @see {@link #execute()} + */ protected abstract void init() throws Exception; - /** @see {@link #execute()} */ + /** + * @see {@link #execute()} + */ protected abstract void preCheck() throws InterruptedException, Exception; - /** @see {@link #execute()} */ + /** + * @see {@link #execute()} + */ protected final void check() { this.schedule.runJobs(TransactionStage.CHECK); } - /** @see {@link #execute()} */ + /** + * @see {@link #execute()} + */ protected abstract void postCheck(); - /** @see {@link #execute()} */ + /** + * @see {@link #execute()} + */ protected abstract void preTransaction() throws InterruptedException; - /** @see {@link #execute()} */ + /** + * @see {@link #execute()} + */ protected abstract void transaction() throws Exception; - /** @see {@link #execute()} */ + /** + * @see {@link #execute()} + */ protected abstract void postTransaction() throws Exception; - /** @see {@link #execute()} */ + /** + * @see {@link #execute()} + */ protected abstract void cleanUp(); - /** @see {@link #execute()} */ + /** + * @see {@link #execute()} + */ protected void commit() throws Exception {} public final Access getAccess() { diff --git a/src/main/java/org/caosdb/server/utils/AbstractObservable.java b/src/main/java/org/caosdb/server/utils/AbstractObservable.java index abc7f0a0ae1cdcbeff613c2778637de97a507c57..1bb4fc472a90c05d656f0d4250299801b73f07a2 100644 --- a/src/main/java/org/caosdb/server/utils/AbstractObservable.java +++ b/src/main/java/org/caosdb/server/utils/AbstractObservable.java @@ -37,7 +37,9 @@ public abstract class AbstractObservable implements Observable { return this.observers.add(o); } - /** @param e A String denoting the notification event. */ + /** + * @param e A String denoting the notification event. + */ @Override public void notifyObservers(final String e) { if (this.observers != null) { diff --git a/src/test/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntityTest.java b/src/test/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntityTest.java index 014cb3d4181b41404d625799d2a741b324e207fb..cfd8fcc9ba39cdf68dbf43be77de30f81c4fbec9 100644 --- a/src/test/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntityTest.java +++ b/src/test/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntityTest.java @@ -53,7 +53,8 @@ public class RetrieveFullEntityTest { assertEquals("description", selections.get(0).getSelector()); e.setDescription("A heart-shaped window."); - }; + } + ; }; final Property window = new Property(new RetrieveEntity(new EntityID("2345"))); diff --git a/src/test/java/org/caosdb/server/query/TestCQL.java b/src/test/java/org/caosdb/server/query/TestCQL.java index 8d7a7e8fb219f286d6cdaffc4b28240a7b2897d5..0c3f142c2055d6b9f11139ad8c6eb2166032dd10 100644 --- a/src/test/java/org/caosdb/server/query/TestCQL.java +++ b/src/test/java/org/caosdb/server/query/TestCQL.java @@ -3546,7 +3546,10 @@ public class TestCQL { */ @Test public void TestTicket147i() - throws InterruptedException, SQLException, ConnectionException, QueryException, + throws InterruptedException, + SQLException, + ConnectionException, + QueryException, TransactionException { CQLLexer lexer; lexer = new CQLLexer(CharStreams.fromString(this.ticket147i)); @@ -6754,6 +6757,7 @@ public class TestCQL { // must not throw ParsingException new Query(this.queryIssue134).parse(); } + /** * Space before special character unit * diff --git a/src/test/java/org/caosdb/server/resource/TestAbstractCaosDBServerResource.java b/src/test/java/org/caosdb/server/resource/TestAbstractCaosDBServerResource.java index ca4fbb0954f469055c2da3d0bf00b03cdc9dd563..4da4ba5cb4959787f5aaf1bf12e47140fdf4ee00 100644 --- a/src/test/java/org/caosdb/server/resource/TestAbstractCaosDBServerResource.java +++ b/src/test/java/org/caosdb/server/resource/TestAbstractCaosDBServerResource.java @@ -95,8 +95,12 @@ public class TestAbstractCaosDBServerResource { @Override protected Representation httpGetInChildClass() - throws ConnectionException, IOException, SQLException, CaosDBException, - NoSuchAlgorithmException, Exception { + throws ConnectionException, + IOException, + SQLException, + CaosDBException, + NoSuchAlgorithmException, + Exception { // TODO Auto-generated method stub return null; } diff --git a/src/test/java/org/caosdb/server/resource/TestScriptingResource.java b/src/test/java/org/caosdb/server/resource/TestScriptingResource.java index 31d4a384c4a2a7e12b48c99073119cb7a38e3acc..b60048092f5b73c3f29aaa4b2023a64e94b6e027 100644 --- a/src/test/java/org/caosdb/server/resource/TestScriptingResource.java +++ b/src/test/java/org/caosdb/server/resource/TestScriptingResource.java @@ -178,12 +178,14 @@ public class TestScriptingResource { return 0; } return -1; - }; + } + ; @Override public Element generateRootElement(ServerSideScriptingCaller caller) { return new Element("OK"); - }; + } + ; @Override public Object generateAuthToken(String purpose) { diff --git a/src/test/java/org/caosdb/server/utils/FileUtilsTest.java b/src/test/java/org/caosdb/server/utils/FileUtilsTest.java index e05a3c7f6f082f2432137737c5937e67ff75d4ef..36851c4eacc7d78c4fcfd033f16c53f5e086b49b 100644 --- a/src/test/java/org/caosdb/server/utils/FileUtilsTest.java +++ b/src/test/java/org/caosdb/server/utils/FileUtilsTest.java @@ -573,7 +573,10 @@ public class FileUtilsTest { @Test public void testFileSystemConsistencyCheck() - throws NoSuchAlgorithmException, IOException, TransactionException, InterruptedException, + throws NoSuchAlgorithmException, + IOException, + TransactionException, + InterruptedException, Message { final String rootPath = "./testFileSystemConsistencyCheck/"; final File root = new File(rootPath);