branch develop updated (374b042 -> 95aca98)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository bow. See https://gitlab.nuiton.org/chorem/bow.git from 374b042 [jgitflow-maven-plugin]Updating develop poms back to pre merge state new 95aca98 tout debut pour aurore (rien ne marche) The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 95aca980e66951e488803d1c623af256742013a7 Author: Benjamin <poussin@codelutin.com> Date: Fri Oct 26 16:57:50 2018 +0200 tout debut pour aurore (rien ne marche) Summary of changes: .../src/main/java/org/chorem/bow/BowContext.java | 29 ++++++++++++++++ .../main/java/org/chorem/bow/model/Bookmark.java | 31 +++++++++++++++++ .../java/org/chorem/bow/model/BowPreference.java | 26 +++++++++++++++ .../java/org/chorem/bow/model/BowSearchPrefix.java | 18 ++++++++++ .../chorem/bow/persistence/BookmarkRepository.java | 14 ++++++++ .../org/chorem/bow/persistence/BowRepository.java | 24 +++++++++++++ .../org/chorem/bow/rest/BookmarkResources.java | 25 ++++++++++++++ bow-ui/pom.xml | 39 +++++++++++++++++++++- 8 files changed, 205 insertions(+), 1 deletion(-) create mode 100644 bow-api/src/main/java/org/chorem/bow/BowContext.java create mode 100644 bow-api/src/main/java/org/chorem/bow/model/Bookmark.java create mode 100644 bow-api/src/main/java/org/chorem/bow/model/BowPreference.java create mode 100644 bow-api/src/main/java/org/chorem/bow/model/BowSearchPrefix.java create mode 100644 bow-api/src/main/java/org/chorem/bow/persistence/BookmarkRepository.java create mode 100644 bow-api/src/main/java/org/chorem/bow/persistence/BowRepository.java create mode 100644 bow-api/src/main/java/org/chorem/bow/rest/BookmarkResources.java -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository bow. See https://gitlab.nuiton.org/chorem/bow.git commit 95aca980e66951e488803d1c623af256742013a7 Author: Benjamin <poussin@codelutin.com> Date: Fri Oct 26 16:57:50 2018 +0200 tout debut pour aurore (rien ne marche) --- .../src/main/java/org/chorem/bow/BowContext.java | 29 ++++++++++++++++ .../main/java/org/chorem/bow/model/Bookmark.java | 31 +++++++++++++++++ .../java/org/chorem/bow/model/BowPreference.java | 26 +++++++++++++++ .../java/org/chorem/bow/model/BowSearchPrefix.java | 18 ++++++++++ .../chorem/bow/persistence/BookmarkRepository.java | 14 ++++++++ .../org/chorem/bow/persistence/BowRepository.java | 24 +++++++++++++ .../org/chorem/bow/rest/BookmarkResources.java | 25 ++++++++++++++ bow-ui/pom.xml | 39 +++++++++++++++++++++- 8 files changed, 205 insertions(+), 1 deletion(-) diff --git a/bow-api/src/main/java/org/chorem/bow/BowContext.java b/bow-api/src/main/java/org/chorem/bow/BowContext.java new file mode 100644 index 0000000..78f7545 --- /dev/null +++ b/bow-api/src/main/java/org/chorem/bow/BowContext.java @@ -0,0 +1,29 @@ +package org.chorem.bow; + +import org.nuiton.spgeed.SqlSession; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.sql.DataSource; +import java.sql.SQLException; +import java.util.function.Function; + +@Component +public class BowContext { + @Autowired + private DataSource dataSource; + + @Autowired + private BowRepository repo; + + public <T, R> R doWith(Class<T> c, Function<T, R> f) { + try (SqlSession session = repo.getSqlSession(dataSource)) { + T dao = session.getDao(c); + R result = f.apply(dao); + return result; + } catch (SQLException eee) { + throw new RepositoryException("Can't close session", eee); + } + } + +} diff --git a/bow-api/src/main/java/org/chorem/bow/model/Bookmark.java b/bow-api/src/main/java/org/chorem/bow/model/Bookmark.java new file mode 100644 index 0000000..c4c0208 --- /dev/null +++ b/bow-api/src/main/java/org/chorem/bow/model/Bookmark.java @@ -0,0 +1,31 @@ +package org.chorem.bow.model; + +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; +import org.springframework.hateoas.Identifiable; + +import java.net.URI; +import java.util.Date; +import java.util.UUID; + +@Getter +@Setter +@ToString +@Accessors(chain = true) +@EqualsAndHashCode(of = "id") +public class Bookmark implements Identifiable<UUID> { + private UUID id = UUID.randomUUID(); + private URI uri; + private String description; + private String[] labels; + private Date creationDate; + private Date importDate; + private String privateAlias; + private String publicAlias; + private String authenticationInfo; + private byte[] favicon; + private byte[] screenshot; +} diff --git a/bow-api/src/main/java/org/chorem/bow/model/BowPreference.java b/bow-api/src/main/java/org/chorem/bow/model/BowPreference.java new file mode 100644 index 0000000..9527229 --- /dev/null +++ b/bow-api/src/main/java/org/chorem/bow/model/BowPreference.java @@ -0,0 +1,26 @@ +package org.chorem.bow.model; + +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; +import org.springframework.hateoas.Identifiable; + +import java.util.List; +import java.util.UUID; + +@Getter +@Setter +@ToString +@Accessors(chain = true) +@EqualsAndHashCode(of = "id") +public class BowPreference implements Identifiable<UUID> { + private UUID id = UUID.randomUUID(); + private int tags; + private int bookmarks; + private String colors; + private boolean screeshot; + private boolean favicon; + private List<BowSearchPrefix> prefixes; +} diff --git a/bow-api/src/main/java/org/chorem/bow/model/BowSearchPrefix.java b/bow-api/src/main/java/org/chorem/bow/model/BowSearchPrefix.java new file mode 100644 index 0000000..ee97f6f --- /dev/null +++ b/bow-api/src/main/java/org/chorem/bow/model/BowSearchPrefix.java @@ -0,0 +1,18 @@ +package org.chorem.bow.model; + +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.net.URL; + +@Accessors(chain = true) +@Getter +@Setter +@ToString +public class BowSearchPrefix { + private String prefix; + private URL search; + private URL suggestion; +} diff --git a/bow-api/src/main/java/org/chorem/bow/persistence/BookmarkRepository.java b/bow-api/src/main/java/org/chorem/bow/persistence/BookmarkRepository.java new file mode 100644 index 0000000..9874f49 --- /dev/null +++ b/bow-api/src/main/java/org/chorem/bow/persistence/BookmarkRepository.java @@ -0,0 +1,14 @@ +package org.chorem.bow.persistence; + +import org.chorem.bow.model.Bookmark; +import org.nuiton.spgeed.Chunk; +import org.nuiton.spgeed.annotations.Select; + +import java.util.List; + +public interface BookmarkRepository { + + @Select(sql = "SELECT * FROM EnmaUser where (uri @@ to_tsquery(${fulltext}) or description @@ to_tsquery(${fulltext})) and tags=${tags}") + Chunk<Bookmark> findAll(Chunk<Bookmark> last, String fulltext, List<String> tags); + +} diff --git a/bow-api/src/main/java/org/chorem/bow/persistence/BowRepository.java b/bow-api/src/main/java/org/chorem/bow/persistence/BowRepository.java new file mode 100644 index 0000000..2715bc4 --- /dev/null +++ b/bow-api/src/main/java/org/chorem/bow/persistence/BowRepository.java @@ -0,0 +1,24 @@ +package org.chorem.bow.persistence; + +import org.nuiton.spgeed.Query; +import org.nuiton.spgeed.SqlSession; + +import javax.sql.DataSource; +import java.util.Map; +import java.util.stream.Collectors; + +public class BowRepository { + + public SqlSession getSqlSession(DataSource dataSource) { + SqlSession result = new SqlSession(dataSource); + result.addFunction("keyValue", (Query query, Object in, Object... args) -> { + Map<String, Object> map = Map.class.cast(in); + String s = map.entrySet().stream() + .map(e -> e.getKey() + "=" + query.addSqlParameter(e.getValue())) + .collect(Collectors.joining(", ")); + return s; + }); + return result; + } + +} diff --git a/bow-api/src/main/java/org/chorem/bow/rest/BookmarkResources.java b/bow-api/src/main/java/org/chorem/bow/rest/BookmarkResources.java new file mode 100644 index 0000000..23a19e2 --- /dev/null +++ b/bow-api/src/main/java/org/chorem/bow/rest/BookmarkResources.java @@ -0,0 +1,25 @@ +package org.chorem.bow.rest; + +import org.chorem.bow.BowContext; +import org.chorem.bow.model.Bookmark; +import org.nuiton.spgeed.Chunk; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping(path = "/bookmarks", produces = "application/json; charset=UTF-8") +public class BookmarkResources { + + @Autowired + private BowContext ctx; + + @GetMapping() + public BowChunk<Bookmark> list(@RequestParam(name = "page", defaultValue = "1") int page, @RequestParam(name = "page_size", defaultValue = "50") int pageSize) { + BowChunk<Bookmark> result = ctx.doWith(EnmaUserRepository.class, repo -> repo.findAll(Chunk.restart(pageSize, (page - 1) * pageSize))); + return result; + } + +} diff --git a/bow-ui/pom.xml b/bow-ui/pom.xml index 9fd76c5..f82f9d6 100644 --- a/bow-ui/pom.xml +++ b/bow-ui/pom.xml @@ -50,7 +50,6 @@ <!-- Post Release configuration --> <skipPostRelease>false</skipPostRelease> <redmine.releaseFiles>target/${project.artifactId}-${project.version}.war</redmine.releaseFiles> - </properties> <dependencies> @@ -80,6 +79,32 @@ <dependency> <groupId>org.nuiton.wikitty</groupId> <artifactId>wikitty-api</artifactId> + <exclusions> + <exclusion> + <groupId>org.jacorb</groupId> + <artifactId>jacorb</artifactId> + </exclusion> + </exclusions> + </dependency> + + <dependency> + <groupId>org.jacorb</groupId> + <artifactId>jacorb</artifactId> + <version>2.3.1</version> + <exclusions> + <exclusion> + <groupId>picocontainer</groupId> + <artifactId>picocontainer</artifactId> + </exclusion> + <exclusion> + <groupId>picocontainer</groupId> + <artifactId>picocontainer-gems</artifactId> + </exclusion> + <exclusion> + <groupId>picocontainer</groupId> + <artifactId>picocontainer-tck</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> @@ -164,12 +189,24 @@ <groupId>org.nuiton.wikitty</groupId> <artifactId>wikitty-jdbc</artifactId> <scope>runtime</scope> + <exclusions> + <exclusion> + <groupId>org.jacorb</groupId> + <artifactId>jacorb</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>org.nuiton.wikitty</groupId> <artifactId>wikitty-solr</artifactId> <scope>runtime</scope> + <exclusions> + <exclusion> + <groupId>org.jacorb</groupId> + <artifactId>jacorb</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.
participants (1)
-
chorem.org scm