diff --git a/src/main/java/it/robfrank/linklift/Application.java b/src/main/java/it/robfrank/linklift/Application.java
index 951d108c..e100e0ca 100644
--- a/src/main/java/it/robfrank/linklift/Application.java
+++ b/src/main/java/it/robfrank/linklift/Application.java
@@ -2,12 +2,7 @@
import com.arcadedb.remote.RemoteDatabase;
import io.javalin.Javalin;
-import it.robfrank.linklift.adapter.in.web.AuthenticationController;
-import it.robfrank.linklift.adapter.in.web.CollectionController;
-import it.robfrank.linklift.adapter.in.web.GetContentController;
-import it.robfrank.linklift.adapter.in.web.GetRelatedLinksController;
-import it.robfrank.linklift.adapter.in.web.ListLinksController;
-import it.robfrank.linklift.adapter.in.web.NewLinkController;
+import it.robfrank.linklift.adapter.in.web.*;
import it.robfrank.linklift.adapter.out.content.SimpleTextSummarizer;
import it.robfrank.linklift.adapter.out.event.SimpleEventPublisher;
import it.robfrank.linklift.adapter.out.http.HttpContentDownloader;
diff --git a/src/main/java/it/robfrank/linklift/adapter/out/persistence/ArcadeCollectionRepository.java b/src/main/java/it/robfrank/linklift/adapter/out/persistence/ArcadeCollectionRepository.java
index 1fa53868..7b13527d 100644
--- a/src/main/java/it/robfrank/linklift/adapter/out/persistence/ArcadeCollectionRepository.java
+++ b/src/main/java/it/robfrank/linklift/adapter/out/persistence/ArcadeCollectionRepository.java
@@ -1,14 +1,12 @@
package it.robfrank.linklift.adapter.out.persistence;
+import com.arcadedb.database.Document;
import com.arcadedb.exception.ArcadeDBException;
import com.arcadedb.query.sql.executor.Result;
import com.arcadedb.remote.RemoteDatabase;
import it.robfrank.linklift.application.domain.exception.DatabaseException;
import it.robfrank.linklift.application.domain.model.Collection;
import it.robfrank.linklift.application.domain.model.Link;
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
-import java.time.temporal.ChronoUnit;
import java.util.List;
import java.util.Optional;
import org.slf4j.Logger;
@@ -25,7 +23,7 @@ public ArcadeCollectionRepository(RemoteDatabase database) {
this.linkMapper = new LinkMapper();
}
- private Collection toCollection(com.arcadedb.database.Document vertex) {
+ private Collection toCollection(Document vertex) {
return new Collection(
vertex.getString("id"),
vertex.getString("name"),
diff --git a/src/main/java/it/robfrank/linklift/adapter/out/persistence/ArcadeLinkRepository.java b/src/main/java/it/robfrank/linklift/adapter/out/persistence/ArcadeLinkRepository.java
index f05bcdbe..216581d8 100644
--- a/src/main/java/it/robfrank/linklift/adapter/out/persistence/ArcadeLinkRepository.java
+++ b/src/main/java/it/robfrank/linklift/adapter/out/persistence/ArcadeLinkRepository.java
@@ -9,6 +9,7 @@
import it.robfrank.linklift.application.domain.model.Link;
import it.robfrank.linklift.application.domain.model.LinkPage;
import it.robfrank.linklift.application.port.in.ListLinksQuery;
+import java.net.URI;
import java.net.URISyntaxException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@@ -106,7 +107,7 @@ public Link saveLinkForUser(Link link, String userId) {
// Extract domain and create BELONGS_TO_DOMAIN edge
try {
- String domainName = new java.net.URI(link.url()).getHost();
+ String domainName = new URI(link.url()).getHost();
if (domainName != null) {
if (domainName.startsWith("www.")) {
domainName = domainName.substring(4);
@@ -125,7 +126,7 @@ public Link saveLinkForUser(Link link, String userId) {
}
} catch (URISyntaxException e) {
// Log domain extraction errors instead of printing to stderr
- logger.warn("Failed to extract domain from URL: {}", link.url(), e);
+ logger.error("Failed to extract domain from URL: {}", link.url(), e);
}
});
return link;
diff --git a/src/main/java/it/robfrank/linklift/adapter/out/persistence/LinkPersistenceAdapter.java b/src/main/java/it/robfrank/linklift/adapter/out/persistence/LinkPersistenceAdapter.java
index 3462d541..2fa06f3a 100644
--- a/src/main/java/it/robfrank/linklift/adapter/out/persistence/LinkPersistenceAdapter.java
+++ b/src/main/java/it/robfrank/linklift/adapter/out/persistence/LinkPersistenceAdapter.java
@@ -6,6 +6,7 @@
import it.robfrank.linklift.application.port.in.ListLinksQuery;
import it.robfrank.linklift.application.port.out.LoadLinksPort;
import it.robfrank.linklift.application.port.out.SaveLinkPort;
+import java.util.List;
import java.util.Optional;
public class LinkPersistenceAdapter implements SaveLinkPort, LoadLinksPort {
@@ -86,7 +87,7 @@ public void transferLinkOwnership(String linkId, String fromUserId, String toUse
}
@Override
- public java.util.List getRelatedLinks(String linkId, String userId) {
+ public List getRelatedLinks(String linkId, String userId) {
return linkRepository.getRelatedLinks(linkId, userId);
}
}
diff --git a/src/main/java/it/robfrank/linklift/application/port/out/LoadLinksPort.java b/src/main/java/it/robfrank/linklift/application/port/out/LoadLinksPort.java
index 2028fd7c..e72f82ce 100644
--- a/src/main/java/it/robfrank/linklift/application/port/out/LoadLinksPort.java
+++ b/src/main/java/it/robfrank/linklift/application/port/out/LoadLinksPort.java
@@ -1,10 +1,12 @@
package it.robfrank.linklift.application.port.out;
+import it.robfrank.linklift.application.domain.model.Link;
import it.robfrank.linklift.application.domain.model.LinkPage;
import it.robfrank.linklift.application.port.in.ListLinksQuery;
+import java.util.List;
public interface LoadLinksPort {
LinkPage loadLinks(ListLinksQuery query);
- java.util.List getRelatedLinks(String linkId, String userId);
+ List getRelatedLinks(String linkId, String userId);
}
diff --git a/src/main/java/it/robfrank/linklift/config/WebBuilder.java b/src/main/java/it/robfrank/linklift/config/WebBuilder.java
index cef9df7a..84b392cb 100644
--- a/src/main/java/it/robfrank/linklift/config/WebBuilder.java
+++ b/src/main/java/it/robfrank/linklift/config/WebBuilder.java
@@ -3,10 +3,7 @@
import static io.javalin.apibuilder.ApiBuilder.get;
import io.javalin.Javalin;
-import it.robfrank.linklift.adapter.in.web.AuthenticationController;
-import it.robfrank.linklift.adapter.in.web.GetContentController;
-import it.robfrank.linklift.adapter.in.web.ListLinksController;
-import it.robfrank.linklift.adapter.in.web.NewLinkController;
+import it.robfrank.linklift.adapter.in.web.*;
import it.robfrank.linklift.adapter.in.web.error.GlobalExceptionHandler;
import it.robfrank.linklift.adapter.in.web.security.JwtAuthenticationHandler;
import it.robfrank.linklift.adapter.in.web.security.RequireAuthentication;
@@ -79,7 +76,7 @@ public WebBuilder withGetContentController(GetContentController getContentContro
return this;
}
- public WebBuilder withCollectionController(it.robfrank.linklift.adapter.in.web.CollectionController collectionController) {
+ public WebBuilder withCollectionController(CollectionController collectionController) {
// Shared authentication for all /api/v1/collections endpoints
app.before("/api/v1/collections", requireAuthentication);
app.before("/api/v1/collections/{id}", requireAuthentication);
@@ -111,7 +108,7 @@ public WebBuilder withCollectionController(it.robfrank.linklift.adapter.in.web.C
return this;
}
- public WebBuilder withGetRelatedLinksController(it.robfrank.linklift.adapter.in.web.GetRelatedLinksController getRelatedLinksController) {
+ public WebBuilder withGetRelatedLinksController(GetRelatedLinksController getRelatedLinksController) {
app.before("/api/v1/links/{linkId}/related", requireAuthentication);
app.before("/api/v1/links/{linkId}/related", RequirePermission.any(authorizationService, Role.Permissions.READ_OWN_LINKS));
app.get("/api/v1/links/{linkId}/related", getRelatedLinksController::getRelatedLinks);