diff --git a/ma-impl.sublime-workspace b/ma-impl.sublime-workspace index e7e2fa383ec69f429e95d1be2613a518f6eface1..7c5b9bb10d9edbca297a7daa966258ae733304dd 100644 --- a/ma-impl.sublime-workspace +++ b/ma-impl.sublime-workspace @@ -280,26 +280,42 @@ "buffers": [ { - "file": "vipra-ui/app/templates/index.hbs", + "file": "vipra-ui/index.html", "settings": { - "buffer_size": 1530, + "buffer_size": 1013, "line_ending": "Unix" } }, { - "file": "vipra-ui/app/styles/app.scss", + "file": "vipra-ui/js/app.js", "settings": { - "buffer_size": 914, + "buffer_size": 326, "line_ending": "Unix" } }, { - "file": "vipra-ui/app/adapters/application.js", + "file": "vipra-ui/js/controllers.js", "settings": { - "buffer_size": 506, + "buffer_size": 102, + "line_ending": "Unix" + } + }, + { + "file": "vipra-ui/js/directives.js", + "settings": + { + "buffer_size": 49, + "line_ending": "Unix" + } + }, + { + "file": "vipra-ui/js/services.js", + "settings": + { + "buffer_size": 47, "line_ending": "Unix" } } @@ -483,25 +499,25 @@ [ "/home/eike/repos/master/ma-impl", "/home/eike/repos/master/ma-impl/vipra-ui", - "/home/eike/repos/master/ma-impl/vipra-ui/app", - "/home/eike/repos/master/ma-impl/vipra-ui/app/adapters", - "/home/eike/repos/master/ma-impl/vipra-ui/app/components", - "/home/eike/repos/master/ma-impl/vipra-ui/app/controllers/articles", - "/home/eike/repos/master/ma-impl/vipra-ui/app/controllers/topics", - "/home/eike/repos/master/ma-impl/vipra-ui/app/controllers/words", - "/home/eike/repos/master/ma-impl/vipra-ui/app/models", - "/home/eike/repos/master/ma-impl/vipra-ui/app/routes", - "/home/eike/repos/master/ma-impl/vipra-ui/app/routes/articles", - "/home/eike/repos/master/ma-impl/vipra-ui/app/routes/topics", - "/home/eike/repos/master/ma-impl/vipra-ui/app/routes/words", - "/home/eike/repos/master/ma-impl/vipra-ui/app/styles", - "/home/eike/repos/master/ma-impl/vipra-ui/app/templates", - "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/articles", - "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/components", - "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/words" + "/home/eike/repos/master/ma-impl/vipra-ui/bower_components/angular", + "/home/eike/repos/master/ma-impl/vipra-ui/bower_components/angular-resource", + "/home/eike/repos/master/ma-impl/vipra-ui/bower_components/angular-ui-router", + "/home/eike/repos/master/ma-impl/vipra-ui/bower_components/angular-ui-router/release", + "/home/eike/repos/master/ma-impl/vipra-ui/bower_components/bootstrap/dist/js", + "/home/eike/repos/master/ma-impl/vipra-ui/bower_components/jquery/dist", + "/home/eike/repos/master/ma-impl/vipra-ui/html", + "/home/eike/repos/master/ma-impl/vipra-ui/js" ], "file_history": [ + "/home/eike/repos/master/ma-impl/vipra-ui/html/index.html", + "/home/eike/repos/master/ma-impl/vipra-ui/css/main.less", + "/home/eike/repos/master/ma-impl/vipra-ui/gulpfile.js", + "/home/eike/repos/master/ma-impl/vipra-ui/index.html", + "/home/eike/.config/sublime-text-3/Packages/User/Preferences.sublime-settings", + "/home/eike/repos/master/ma-impl/vipra-ui/app/adapters/application.js", + "/home/eike/repos/master/ma-impl/vipra-ui/app/styles/app.scss", + "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/index.hbs", "/home/eike/repos/master/ma-impl/vipra-ui/app/models/search.js", "/home/eike/repos/master/ma-impl/vipra-ui/app/controllers/index.js", "/home/eike/repos/master/ma-impl/vipra-ui/app/routes/index.js", @@ -512,7 +528,6 @@ "/home/eike/repos/master/ma-impl/vipra-ui/app/routes/words/index.js", "/home/eike/repos/master/ma-impl/vipra-ui/app/controllers/words/index.js", "/home/eike/repos/master/ma-impl/vipra-ui/app/routes/articles/index.js", - "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/index.hbs", "/home/eike/repos/master/ma-impl/vipra-ui/app/models/word.js", "/home/eike/Downloads/files.txt", "/home/eike/repos/master/ma-impl/vipra-ui/app/components/pagination-bar.js", @@ -525,8 +540,6 @@ "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/words/index.hbs", "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/components/pagination-bar.hbs", "/home/eike/repos/master/ma-impl/vipra-ui/app/controllers/words.js", - "/home/eike/repos/master/ma-impl/vipra-ui/app/adapters/application.js", - "/home/eike/repos/master/ma-impl/vipra-ui/app/styles/app.scss", "/home/eike/repos/master/ma-impl/vipra-ui/app/helpers/is-empty.js", "/home/eike/repos/master/ma-impl/vipra-ui/app/models/import.js", "/home/eike/repos/master/ma-impl/vipra-ui/app/router.js", @@ -543,7 +556,6 @@ "/home/eike/repos/master/ma-impl/vipra-ui/app/helpers/uppercase.js", "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/words_loading.hbs", "/home/eike/repos/master/ma-impl/vipra-ui/bower.json", - "/home/eike/.config/sublime-text-3/Packages/User/Preferences.sublime-settings", "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/topics.hbs", "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/words.hbs", "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/articles.hbs", @@ -625,11 +637,7 @@ "/home/eike/Repositories/fu/ss15/ma/impl/vipra-ui/app/components/debounced-input.js", "/home/eike/Repositories/fu/ss15/ma/impl/vipra-ui/app/components/dynamic-high-charts.js", "/home/eike/Repositories/fu/ss15/ma/impl/vipra-ui/app/templates/components/text-marker.hbs", - "/home/eike/Repositories/fu/ss15/ma/impl/vipra-ui/app/templates/components/article-list.hbs", - "/home/eike/Repositories/fu/ss15/ma/impl/vipra-ui/app/templates/articles/list.hbs", - "/home/eike/Repositories/fu/ss15/ma/impl/vm/bootstrap.sh", - "/home/eike/Repositories/fu/ss15/ma/impl/vipra-ui/app/adapters/application.js", - "/home/eike/Repositories/fu/ss15/ma/impl/vipra-ui/app/routes/articles/list.js" + "/home/eike/Repositories/fu/ss15/ma/impl/vipra-ui/app/templates/components/article-list.hbs" ], "find": { @@ -953,29 +961,29 @@ "groups": [ { - "selected": 1, + "selected": 2, "sheets": [ { "buffer": 0, - "file": "vipra-ui/app/templates/index.hbs", + "file": "vipra-ui/index.html", "semi_transient": false, "settings": { - "buffer_size": 1530, + "buffer_size": 1013, "regions": { }, "selection": [ [ - 1352, - 1352 + 239, + 239 ] ], "settings": { - "syntax": "Packages/Handlebars/grammars/Handlebars.tmLanguage", + "syntax": "Packages/HTML/HTML.tmLanguage", "tab_size": 2, "translate_tabs_to_spaces": true }, @@ -983,67 +991,123 @@ "translation.y": 0.0, "zoom_level": 1.0 }, - "stack_index": 1, + "stack_index": 2, "type": "text" }, { "buffer": 1, - "file": "vipra-ui/app/styles/app.scss", + "file": "vipra-ui/js/app.js", "semi_transient": false, "settings": { - "buffer_size": 914, + "buffer_size": 326, "regions": { }, "selection": [ [ - 681, - 681 + 321, + 321 ] ], "settings": { - "syntax": "Packages/SCSS/SCSS.tmLanguage", - "tab_size": 2, - "translate_tabs_to_spaces": true + "open_with_edit": true, + "syntax": "Packages/JavaScriptNext - ES6 Syntax/JavaScriptNext.tmLanguage" }, "translation.x": 0.0, "translation.y": 0.0, "zoom_level": 1.0 }, - "stack_index": 0, + "stack_index": 1, "type": "text" }, { "buffer": 2, - "file": "vipra-ui/app/adapters/application.js", + "file": "vipra-ui/js/controllers.js", "semi_transient": false, "settings": { - "buffer_size": 506, + "buffer_size": 102, "regions": { }, "selection": [ [ - 119, - 119 + 102, + 102 ] ], "settings": { - "syntax": "Packages/JavaScriptNext - ES6 Syntax/JavaScriptNext.tmLanguage", - "tab_size": 2, - "translate_tabs_to_spaces": true + "open_with_edit": true, + "syntax": "Packages/JavaScriptNext - ES6 Syntax/JavaScriptNext.tmLanguage" }, "translation.x": 0.0, "translation.y": 0.0, "zoom_level": 1.0 }, - "stack_index": 2, + "stack_index": 0, + "type": "text" + }, + { + "buffer": 3, + "file": "vipra-ui/js/directives.js", + "semi_transient": false, + "settings": + { + "buffer_size": 49, + "regions": + { + }, + "selection": + [ + [ + 42, + 42 + ] + ], + "settings": + { + "open_with_edit": true, + "syntax": "Packages/JavaScriptNext - ES6 Syntax/JavaScriptNext.tmLanguage" + }, + "translation.x": 0.0, + "translation.y": 0.0, + "zoom_level": 1.0 + }, + "stack_index": 3, + "type": "text" + }, + { + "buffer": 4, + "file": "vipra-ui/js/services.js", + "semi_transient": false, + "settings": + { + "buffer_size": 47, + "regions": + { + }, + "selection": + [ + [ + 40, + 40 + ] + ], + "settings": + { + "open_with_edit": true, + "syntax": "Packages/JavaScriptNext - ES6 Syntax/JavaScriptNext.tmLanguage" + }, + "translation.x": 0.0, + "translation.y": 0.0, + "zoom_level": 1.0 + }, + "stack_index": 4, "type": "text" } ] diff --git a/vipra-rest/src/main/java/de/vipra/rest/APIMediaType.java b/vipra-rest/src/main/java/de/vipra/rest/APIMediaType.java deleted file mode 100644 index c9e4cdb9f094ccc41fd9ea9dd7bc8006a2cb5d4a..0000000000000000000000000000000000000000 --- a/vipra-rest/src/main/java/de/vipra/rest/APIMediaType.java +++ /dev/null @@ -1,9 +0,0 @@ -package de.vipra.rest; - -import javax.ws.rs.core.MediaType; - -public class APIMediaType extends MediaType { - - public static final String APPLICATION_JSONAPI = "application/vnd.api+json"; - -} diff --git a/vipra-rest/src/main/java/de/vipra/rest/Application.java b/vipra-rest/src/main/java/de/vipra/rest/Application.java index 3a5aa15bb2b98c6013e4ec810a64acddb1018561..eb1e7649e367c8dbe4ae8a98f5fce85c8f7f20ae 100644 --- a/vipra-rest/src/main/java/de/vipra/rest/Application.java +++ b/vipra-rest/src/main/java/de/vipra/rest/Application.java @@ -5,7 +5,6 @@ import org.glassfish.jersey.message.GZipEncoder; import org.glassfish.jersey.server.ResourceConfig; import org.glassfish.jersey.server.filter.EncodingFilter; -import de.vipra.rest.provider.APIRequestFilter; import de.vipra.rest.provider.CORSResponseFilter; import de.vipra.rest.provider.ObjectMapperProvider; @@ -16,7 +15,6 @@ public class Application extends ResourceConfig { register(JacksonFeature.class); register(CORSResponseFilter.class); register(ObjectMapperProvider.class); - register(APIRequestFilter.class); EncodingFilter.enableFor(this, GZipEncoder.class); } diff --git a/vipra-rest/src/main/java/de/vipra/rest/PATCH.java b/vipra-rest/src/main/java/de/vipra/rest/PATCH.java deleted file mode 100644 index 3003f70fd8a6a604a5ef123adfa1e555854d1702..0000000000000000000000000000000000000000 --- a/vipra-rest/src/main/java/de/vipra/rest/PATCH.java +++ /dev/null @@ -1,17 +0,0 @@ -package de.vipra.rest; - -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -import javax.ws.rs.HttpMethod; -import javax.ws.rs.NameBinding; - -@Target(ElementType.METHOD) -@Retention(RetentionPolicy.RUNTIME) -@HttpMethod("PATCH") -@Documented -@NameBinding -public @interface PATCH {} \ No newline at end of file diff --git a/vipra-rest/src/main/java/de/vipra/rest/model/APIVersion.java b/vipra-rest/src/main/java/de/vipra/rest/model/APIVersion.java deleted file mode 100644 index 6e80449fd3cfa916a28751edf259382151fe73e0..0000000000000000000000000000000000000000 --- a/vipra-rest/src/main/java/de/vipra/rest/model/APIVersion.java +++ /dev/null @@ -1,7 +0,0 @@ -package de.vipra.rest.model; - -public class APIVersion { - - public final String version = "1.0"; - -} diff --git a/vipra-rest/src/main/java/de/vipra/rest/model/Wrapper.java b/vipra-rest/src/main/java/de/vipra/rest/model/Wrapper.java index 0d19036bab66a0fd23b113abf92b8fd78e77cae6..c42bdee944a5f2c713cc27d47b9c92876f523655 100644 --- a/vipra-rest/src/main/java/de/vipra/rest/model/Wrapper.java +++ b/vipra-rest/src/main/java/de/vipra/rest/model/Wrapper.java @@ -20,7 +20,6 @@ public class Wrapper<T> { private List<APIError> errors; private Map<String, String> links; private NestedMap meta; - private final APIVersion jsonapi = new APIVersion(); public Wrapper() {} @@ -84,10 +83,6 @@ public class Wrapper<T> { meta.put(key, value); } - public APIVersion getJsonapi() { - return jsonapi; - } - public String tag() { return data != null ? Integer.toString(data.hashCode()) : null; } diff --git a/vipra-rest/src/main/java/de/vipra/rest/provider/APIRequestFilter.java b/vipra-rest/src/main/java/de/vipra/rest/provider/APIRequestFilter.java deleted file mode 100644 index 2a64e72df854428f7d64cca7ec6af3531c863748..0000000000000000000000000000000000000000 --- a/vipra-rest/src/main/java/de/vipra/rest/provider/APIRequestFilter.java +++ /dev/null @@ -1,42 +0,0 @@ -package de.vipra.rest.provider; - -import java.io.IOException; - -import javax.ws.rs.container.ContainerRequestContext; -import javax.ws.rs.container.ContainerRequestFilter; -import javax.ws.rs.core.Response; -import javax.ws.rs.ext.Provider; - -import de.vipra.rest.APIMediaType; - -@Provider -public class APIRequestFilter implements ContainerRequestFilter { - - @Override - public void filter(ContainerRequestContext requestContext) throws IOException { - String contentType = requestContext.getHeaderString("Content-Type"); - if (contentType != null) { - if (requestContext.getHeaderString("Content-Type").contains(";")) { - requestContext.abortWith(Response.status(Response.Status.UNSUPPORTED_MEDIA_TYPE).build()); - } else { - String[] acceptHeader = requestContext.getHeaderString("Accept").split(","); - boolean abort = false; - for (int i = 0; i < acceptHeader.length; i++) { - String accept = acceptHeader[i].trim(); - if (accept.startsWith(APIMediaType.APPLICATION_JSONAPI)) { - if (accept.contains(";")) { - abort = true; - } else { - abort = false; - break; - } - } - } - if (abort) { - requestContext.abortWith(Response.status(Response.Status.NOT_ACCEPTABLE).build()); - } - } - } - } - -} diff --git a/vipra-rest/src/main/java/de/vipra/rest/provider/ObjectMapperProvider.java b/vipra-rest/src/main/java/de/vipra/rest/provider/ObjectMapperProvider.java index 9fcbcc76d867391c4bda9812ed681d5b8ff850e5..490abad971e2c113513275372512a5e8580eeab5 100644 --- a/vipra-rest/src/main/java/de/vipra/rest/provider/ObjectMapperProvider.java +++ b/vipra-rest/src/main/java/de/vipra/rest/provider/ObjectMapperProvider.java @@ -14,15 +14,9 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.module.SimpleModule; -import de.vipra.rest.serializer.GenericDeserializer; -import de.vipra.rest.serializer.GenericSerializer; import de.vipra.rest.serializer.ObjectIdDeserializer; import de.vipra.rest.serializer.ObjectIdSerializer; import de.vipra.util.Constants; -import de.vipra.util.model.ArticleFull; -import de.vipra.util.model.Import; -import de.vipra.util.model.TopicFull; -import de.vipra.util.model.Word; @Provider public class ObjectMapperProvider implements ContextResolver<ObjectMapper> { @@ -42,17 +36,6 @@ public class ObjectMapperProvider implements ContextResolver<ObjectMapper> { public static ObjectMapper createDefaultMapper() { SimpleModule module = new SimpleModule(); - module.addSerializer(ArticleFull.class, new GenericSerializer<ArticleFull>(ArticleFull.class)); - module.addDeserializer(ArticleFull.class, new GenericDeserializer<ArticleFull>(ArticleFull.class)); - - module.addSerializer(TopicFull.class, new GenericSerializer<TopicFull>(TopicFull.class)); - module.addDeserializer(TopicFull.class, new GenericDeserializer<TopicFull>(TopicFull.class)); - - module.addSerializer(Word.class, new GenericSerializer<Word>(Word.class)); - module.addDeserializer(Word.class, new GenericDeserializer<Word>(Word.class)); - - module.addSerializer(Import.class, new GenericSerializer<Import>(Import.class)); - module.addDeserializer(Import.class, new GenericDeserializer<Import>(Import.class)); module.addSerializer(ObjectId.class, new ObjectIdSerializer()); module.addDeserializer(ObjectId.class, new ObjectIdDeserializer()); diff --git a/vipra-rest/src/main/java/de/vipra/rest/resource/ArticleResource.java b/vipra-rest/src/main/java/de/vipra/rest/resource/ArticleResource.java index f760797f6d2c27c8d8ab09bcaab58c608e87afc8..6b7791a5a7e25627d759b1037c390bb28f5cb0bc 100644 --- a/vipra-rest/src/main/java/de/vipra/rest/resource/ArticleResource.java +++ b/vipra-rest/src/main/java/de/vipra/rest/resource/ArticleResource.java @@ -6,7 +6,6 @@ import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; @@ -22,6 +21,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.Context; +import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; @@ -35,7 +35,6 @@ import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHits; -import de.vipra.rest.APIMediaType; import de.vipra.rest.Messages; import de.vipra.rest.model.APIError; import de.vipra.rest.model.Wrapper; @@ -73,7 +72,7 @@ public class ArticleResource { } @GET - @Produces(APIMediaType.APPLICATION_JSONAPI) + @Produces(MediaType.APPLICATION_JSON) public Response getArticles(@QueryParam("skip") Integer skip, @QueryParam("limit") Integer limit, @QueryParam("sort") @DefaultValue("date") String sortBy, @QueryParam("fields") String fields, @QueryParam("query") String query) { @@ -142,8 +141,8 @@ public class ArticleResource { } @GET - @Produces(APIMediaType.APPLICATION_JSONAPI) - @Consumes(APIMediaType.APPLICATION_JSONAPI) + @Produces(MediaType.APPLICATION_JSON) + @Consumes(MediaType.APPLICATION_JSON) @Path("{id}") public Response getArticle(@PathParam("id") String id, @QueryParam("fields") String fields) { Wrapper<ArticleFull> res = new Wrapper<>(); @@ -171,8 +170,8 @@ public class ArticleResource { } @POST - @Consumes(APIMediaType.APPLICATION_JSONAPI) - @Produces(APIMediaType.APPLICATION_JSONAPI) + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) public Response createArticle(ArticleFull article) { Wrapper<ArticleFull> res; try { @@ -214,8 +213,8 @@ public class ArticleResource { } @PUT - @Consumes(APIMediaType.APPLICATION_JSONAPI) - @Produces(APIMediaType.APPLICATION_JSONAPI) + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) @Path("{id}") public Response replaceArticle(@PathParam("id") String id, Wrapper<ArticleFull> wrapper) { ArticleFull article = wrapper.getData(); diff --git a/vipra-rest/src/main/java/de/vipra/rest/resource/ImportResource.java b/vipra-rest/src/main/java/de/vipra/rest/resource/ImportResource.java index 0f144c86ece30e21d3c481a8589725c1540225dc..f67a0b495ad04cc5da865321ec2c8975ff11f90c 100644 --- a/vipra-rest/src/main/java/de/vipra/rest/resource/ImportResource.java +++ b/vipra-rest/src/main/java/de/vipra/rest/resource/ImportResource.java @@ -12,6 +12,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.Context; +import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; @@ -20,7 +21,6 @@ import org.ehcache.Cache; import org.ehcache.CacheManager; import org.ehcache.config.CacheConfigurationBuilder; -import de.vipra.rest.APIMediaType; import de.vipra.rest.Messages; import de.vipra.rest.model.APIError; import de.vipra.rest.model.Wrapper; @@ -53,7 +53,7 @@ public class ImportResource { } @GET - @Produces(APIMediaType.APPLICATION_JSONAPI) + @Produces(MediaType.APPLICATION_JSON) public Response getImports(@QueryParam("skip") Integer skip, @QueryParam("limit") Integer limit, @QueryParam("sort") @DefaultValue("date") String sortBy, @QueryParam("fields") String fields) { Wrapper<List<Import>> res = new Wrapper<>(); @@ -80,8 +80,8 @@ public class ImportResource { } @GET - @Produces(APIMediaType.APPLICATION_JSONAPI) - @Consumes(APIMediaType.APPLICATION_JSONAPI) + @Produces(MediaType.APPLICATION_JSON) + @Consumes(MediaType.APPLICATION_JSON) @Path("latest") public Response getLatestImport(@QueryParam("fields") String fields) { Wrapper<Import> res = new Wrapper<>(); @@ -95,8 +95,8 @@ public class ImportResource { } @GET - @Produces(APIMediaType.APPLICATION_JSONAPI) - @Consumes(APIMediaType.APPLICATION_JSONAPI) + @Produces(MediaType.APPLICATION_JSON) + @Consumes(MediaType.APPLICATION_JSON) @Path("{id}") public Response getImport(@PathParam("id") String id, @QueryParam("fields") String fields) { Wrapper<Import> res = new Wrapper<>(); diff --git a/vipra-rest/src/main/java/de/vipra/rest/resource/TopicResource.java b/vipra-rest/src/main/java/de/vipra/rest/resource/TopicResource.java index 2e65bf3939d8a44496da4afe9fb1c79a92a41e76..7675508c2462bfd6061c38b1aa99fd891c7b266d 100644 --- a/vipra-rest/src/main/java/de/vipra/rest/resource/TopicResource.java +++ b/vipra-rest/src/main/java/de/vipra/rest/resource/TopicResource.java @@ -13,6 +13,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.Context; +import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; @@ -21,7 +22,6 @@ import org.ehcache.Cache; import org.ehcache.CacheManager; import org.ehcache.config.CacheConfigurationBuilder; -import de.vipra.rest.APIMediaType; import de.vipra.rest.Messages; import de.vipra.rest.model.APIError; import de.vipra.rest.model.Wrapper; @@ -55,7 +55,7 @@ public class TopicResource { } @GET - @Produces(APIMediaType.APPLICATION_JSONAPI) + @Produces(MediaType.APPLICATION_JSON) public Response getTopics(@QueryParam("skip") Integer skip, @QueryParam("limit") Integer limit, @QueryParam("sort") @DefaultValue("name") String sortBy, @QueryParam("fields") String fields) { Wrapper<List<TopicFull>> res = new Wrapper<>(); @@ -82,8 +82,8 @@ public class TopicResource { } @GET - @Produces(APIMediaType.APPLICATION_JSONAPI) - @Consumes(APIMediaType.APPLICATION_JSONAPI) + @Produces(MediaType.APPLICATION_JSON) + @Consumes(MediaType.APPLICATION_JSON) @Path("{id}") public Response getTopic(@PathParam("id") String id, @QueryParam("fields") String fields) { Wrapper<TopicFull> res = new Wrapper<>(); @@ -111,8 +111,8 @@ public class TopicResource { } @PUT - @Consumes(APIMediaType.APPLICATION_JSONAPI) - @Produces(APIMediaType.APPLICATION_JSONAPI) + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) @Path("{id}") public Response replaceTopic(@PathParam("id") String id, Wrapper<TopicFull> wrapper) { TopicFull topic = wrapper.getData(); diff --git a/vipra-rest/src/main/java/de/vipra/rest/resource/WordResource.java b/vipra-rest/src/main/java/de/vipra/rest/resource/WordResource.java index 191cb3dc357c696ffe61355c72b9f27ae3f57598..b05dbef57884ca03b6ffefb71d4e366303f959cb 100644 --- a/vipra-rest/src/main/java/de/vipra/rest/resource/WordResource.java +++ b/vipra-rest/src/main/java/de/vipra/rest/resource/WordResource.java @@ -12,6 +12,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.Context; +import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; @@ -19,7 +20,6 @@ import org.ehcache.Cache; import org.ehcache.CacheManager; import org.ehcache.config.CacheConfigurationBuilder; -import de.vipra.rest.APIMediaType; import de.vipra.rest.Messages; import de.vipra.rest.model.APIError; import de.vipra.rest.model.Wrapper; @@ -51,7 +51,7 @@ public class WordResource { } @GET - @Produces(APIMediaType.APPLICATION_JSONAPI) + @Produces(MediaType.APPLICATION_JSON) public Response getWords(@QueryParam("skip") Integer skip, @QueryParam("limit") Integer limit, @QueryParam("sort") @DefaultValue("word") String sortBy, @QueryParam("fields") String fields) { Wrapper<List<Word>> res = new Wrapper<>(); @@ -78,8 +78,8 @@ public class WordResource { } @GET - @Produces(APIMediaType.APPLICATION_JSONAPI) - @Consumes(APIMediaType.APPLICATION_JSONAPI) + @Produces(MediaType.APPLICATION_JSON) + @Consumes(MediaType.APPLICATION_JSON) @Path("{id}") public Response getWord(@PathParam("id") String id, @QueryParam("fields") String fields) { Wrapper<Word> res = new Wrapper<>(); diff --git a/vipra-rest/src/main/java/de/vipra/rest/serializer/GenericDeserializer.java b/vipra-rest/src/main/java/de/vipra/rest/serializer/GenericDeserializer.java deleted file mode 100644 index d7842dd317bbc5d32d74b670e54e79ef7ddaff8a..0000000000000000000000000000000000000000 --- a/vipra-rest/src/main/java/de/vipra/rest/serializer/GenericDeserializer.java +++ /dev/null @@ -1,110 +0,0 @@ -package de.vipra.rest.serializer; - -import java.io.IOException; -import java.lang.reflect.Field; -import java.lang.reflect.Modifier; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.core.JsonParseException; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.JsonToken; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; - -import de.vipra.util.StringUtils; -import de.vipra.util.an.JsonWrap; -import de.vipra.util.model.Model; - -public class GenericDeserializer<T extends Model<?>> extends JsonDeserializer<T> { - - private final Class<T> clazz; - private final Set<String> nestingPrefixes = new HashSet<>(); - private final Map<String, Field> allFields = new HashMap<>(); - - public GenericDeserializer(Class<T> clazz) { - this.clazz = clazz; - - Field[] fields = clazz.getDeclaredFields(); - for (Field field : fields) { - int modifiers = field.getModifiers(); - if (Modifier.isPrivate(modifiers) && !Modifier.isStatic(modifiers)) { - field.setAccessible(true); - - JsonIgnore ji = field.getDeclaredAnnotation(JsonIgnore.class); - if (ji != null && ji.value()) - continue; - - String name = field.getName(); - - JsonProperty jp = field.getDeclaredAnnotation(JsonProperty.class); - if (jp != null) - name = jp.value(); - - JsonWrap jw = field.getDeclaredAnnotation(JsonWrap.class); - if (jw != null) - name = jw.value() + "." + name; - - name = StringUtils.camelToDashCase(name); - allFields.put(name, field); - - String[] parts = name.split("\\."); - if (parts.length > 1) { - String currentPrefix = parts[0]; - nestingPrefixes.add(currentPrefix); - for (int i = 1; i < parts.length - 1; i++) { - currentPrefix += "." + parts[i]; - nestingPrefixes.add(currentPrefix); - } - } - } - } - } - - @Override - public T deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException { - T value = null; - - try { - value = clazz.newInstance(); - } catch (InstantiationException | IllegalAccessException e) { - throw new IOException("could not instantiate object. Default ctor is missing."); - } - - while (p.nextToken() != JsonToken.END_OBJECT) { - String name = p.getCurrentName(); - Field field = allFields.get(name); - p.nextToken(); - if (field != null) { - try { - field.set(value, p.readValueAs(field.getType())); - } catch (IllegalArgumentException | IllegalAccessException e) {} - } else if (nestingPrefixes.contains(name)) { - getNested(p, value, name + "."); - } - } - - return value; - } - - public void getNested(JsonParser p, T value, String prefix) throws JsonParseException, IOException { - while (p.nextToken() != JsonToken.END_OBJECT) { - String name = prefix + p.getCurrentName(); - Field field = allFields.get(name); - p.nextToken(); - if (field != null) { - try { - field.set(value, p.readValueAs(field.getType())); - } catch (IllegalArgumentException | IllegalAccessException e) {} - } else if (nestingPrefixes.contains(name)) { - getNested(p, value, name + "."); - } - } - } - -} diff --git a/vipra-rest/src/main/java/de/vipra/rest/serializer/GenericSerializer.java b/vipra-rest/src/main/java/de/vipra/rest/serializer/GenericSerializer.java deleted file mode 100644 index 801c3d894d5ef78b001679861b295de63df8ce46..0000000000000000000000000000000000000000 --- a/vipra-rest/src/main/java/de/vipra/rest/serializer/GenericSerializer.java +++ /dev/null @@ -1,98 +0,0 @@ -package de.vipra.rest.serializer; - -import java.io.IOException; -import java.lang.reflect.Field; -import java.lang.reflect.Modifier; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; - -import de.vipra.util.NestedMap; -import de.vipra.util.StringUtils; -import de.vipra.util.an.JsonType; -import de.vipra.util.an.JsonWrap; -import de.vipra.util.model.Model; - -public class GenericSerializer<T extends Model<?>> extends JsonSerializer<T> { - - private final String typeName; - private final List<Entry<String, Field>> allFields; - - public GenericSerializer(Class<T> clazz) { - JsonType aField = clazz.getDeclaredAnnotation(JsonType.class); - if (aField != null) - this.typeName = aField.value().toLowerCase(); - else - this.typeName = clazz.getSimpleName().toLowerCase(); - - Map<String, Field> foundFields = new HashMap<>(); - - Field[] fields = clazz.getDeclaredFields(); - for (Field field : fields) { - int modifiers = field.getModifiers(); - if (Modifier.isPrivate(modifiers) && !Modifier.isStatic(modifiers)) { - field.setAccessible(true); - - JsonIgnore ji = field.getDeclaredAnnotation(JsonIgnore.class); - if (ji != null && ji.value()) - continue; - - String name = field.getName(); - - JsonProperty jp = field.getDeclaredAnnotation(JsonProperty.class); - if (jp != null) - name = jp.value(); - - JsonWrap jw = field.getDeclaredAnnotation(JsonWrap.class); - if (jw != null) - name = jw.value() + "." + name; - - name = StringUtils.camelToDashCase(name); - foundFields.put(name, field); - } - } - - this.allFields = new ArrayList<>(foundFields.entrySet()); - - Collections.sort(this.allFields, new Comparator<Entry<String, Field>>() { - @Override - public int compare(Entry<String, Field> o1, Entry<String, Field> o2) { - return o1.getKey().compareTo(o2.getKey()); - } - }); - } - - @Override - public void serialize(T value, JsonGenerator gen, SerializerProvider serializers) - throws IOException, JsonProcessingException { - - NestedMap map = new NestedMap(); - map.put("type", typeName); - - for (Entry<String, Field> entry : allFields) { - Object v = null; - try { - v = entry.getValue().get(value); - } catch (IllegalArgumentException | IllegalAccessException e) { - e.printStackTrace(); - } - - if (v != null) - map.put(entry.getKey(), v); - } - - serializers.defaultSerializeValue(map, gen); - } - -} diff --git a/vipra-ui/.bowerrc b/vipra-ui/.bowerrc deleted file mode 100644 index 959e1696e7b2c970005c35ec8a0f94aea5df36ac..0000000000000000000000000000000000000000 --- a/vipra-ui/.bowerrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "directory": "bower_components", - "analytics": false -} diff --git a/vipra-ui/.classpath b/vipra-ui/.classpath deleted file mode 100644 index d6da2a8521a35152027ff4ca29cc9fdfeab04d42..0000000000000000000000000000000000000000 --- a/vipra-ui/.classpath +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"> - <attributes> - <attribute name="owner.project.facets" value="java"/> - </attributes> - </classpathentry> - <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/> - <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/> - <classpathentry kind="output" path="build/classes"/> -</classpath> diff --git a/vipra-ui/.editorconfig b/vipra-ui/.editorconfig deleted file mode 100644 index 47c5438403ca875f170db2aa07d1bfa3689406e3..0000000000000000000000000000000000000000 --- a/vipra-ui/.editorconfig +++ /dev/null @@ -1,34 +0,0 @@ -# EditorConfig helps developers define and maintain consistent -# coding styles between different editors and IDEs -# editorconfig.org - -root = true - - -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true -indent_style = space -indent_size = 2 - -[*.js] -indent_style = space -indent_size = 2 - -[*.hbs] -insert_final_newline = false -indent_style = space -indent_size = 2 - -[*.css] -indent_style = space -indent_size = 2 - -[*.html] -indent_style = space -indent_size = 2 - -[*.{diff,md}] -trim_trailing_whitespace = false diff --git a/vipra-ui/.ember-cli b/vipra-ui/.ember-cli deleted file mode 100644 index ee64cfed2a8905dc23506af1060ec80cf887582d..0000000000000000000000000000000000000000 --- a/vipra-ui/.ember-cli +++ /dev/null @@ -1,9 +0,0 @@ -{ - /** - Ember CLI sends analytics information by default. The data is completely - anonymous, but there are times when you might want to disable this behavior. - - Setting `disableAnalytics` to true will prevent any data from being sent. - */ - "disableAnalytics": false -} diff --git a/vipra-ui/.gitignore b/vipra-ui/.gitignore index 86fceae7af4fb5a8de2c3c125e7f9a64c3ffbe0c..68b9e27759d7ca5877d5a46b29f674ec48e3c62c 100644 --- a/vipra-ui/.gitignore +++ b/vipra-ui/.gitignore @@ -1,17 +1,2 @@ -# See http://help.github.com/ignore-files/ for more about ignoring files. - -# compiled output -/dist -/tmp - -# dependencies -/node_modules -/bower_components - -# misc -/.sass-cache -/connect.lock -/coverage/* -/libpeerconnection.log -npm-debug.log -testem.log +node_modules/ +bower_components/ diff --git a/vipra-ui/.jshintrc b/vipra-ui/.jshintrc deleted file mode 100644 index 08096effaab374994adcb3578e988675a4befa82..0000000000000000000000000000000000000000 --- a/vipra-ui/.jshintrc +++ /dev/null @@ -1,32 +0,0 @@ -{ - "predef": [ - "document", - "window", - "-Promise" - ], - "browser": true, - "boss": true, - "curly": true, - "debug": false, - "devel": true, - "eqeqeq": true, - "evil": true, - "forin": false, - "immed": false, - "laxbreak": false, - "newcap": true, - "noarg": true, - "noempty": false, - "nonew": false, - "nomen": false, - "onevar": false, - "plusplus": false, - "regexp": false, - "undef": true, - "sub": true, - "strict": false, - "white": false, - "eqnull": true, - "esnext": true, - "unused": true -} diff --git a/vipra-ui/.project b/vipra-ui/.project deleted file mode 100644 index eee3426428df05147acccd89868b1434efb4157c..0000000000000000000000000000000000000000 --- a/vipra-ui/.project +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>vipra-ui</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.wst.jsdt.core.javascriptValidator</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.wst.common.project.facet.core.builder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.wst.validation.validationbuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jem.workbench.JavaEMFNature</nature> - <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> - <nature>org.eclipse.wst.common.project.facet.core.nature</nature> - <nature>org.eclipse.wst.jsdt.core.jsNature</nature> - <nature>org.eclipse.jdt.core.javanature</nature> - </natures> -</projectDescription> diff --git a/vipra-ui/.settings/.jsdtscope b/vipra-ui/.settings/.jsdtscope deleted file mode 100644 index 92e666d77dd95f33f7fc056a45049f2034b90ab8..0000000000000000000000000000000000000000 --- a/vipra-ui/.settings/.jsdtscope +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry excluding="**/bower_components/*|**/node_modules/*|**/*.min.js" kind="src" path="WebContent"/> - <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/> - <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject"> - <attributes> - <attribute name="hide" value="true"/> - </attributes> - </classpathentry> - <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/> - <classpathentry kind="output" path=""/> -</classpath> diff --git a/vipra-ui/.settings/org.eclipse.jdt.core.prefs b/vipra-ui/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 0c68a61dca867ceb49e79d2402935261ec3e3809..0000000000000000000000000000000000000000 --- a/vipra-ui/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,7 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 diff --git a/vipra-ui/.settings/org.eclipse.wst.common.component b/vipra-ui/.settings/org.eclipse.wst.common.component deleted file mode 100644 index 1f5413a37ea6089f61ba44e214e248c8514aadf5..0000000000000000000000000000000000000000 --- a/vipra-ui/.settings/org.eclipse.wst.common.component +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0"> - <wb-module deploy-name="vipra-ui"> - <wb-resource deploy-path="/" source-path="/dist"/> - <wb-resource deploy-path="/" source-path="/webapp" tag="defaultRootSource"/> - <property name="context-root" value="vipra-ui"/> - <property name="java-output-path" value="/vipra-ui/build/classes"/> - </wb-module> -</project-modules> diff --git a/vipra-ui/.settings/org.eclipse.wst.common.project.facet.core.xml b/vipra-ui/.settings/org.eclipse.wst.common.project.facet.core.xml deleted file mode 100644 index 5523f3219616f2cb009139882bc5716b68f58365..0000000000000000000000000000000000000000 --- a/vipra-ui/.settings/org.eclipse.wst.common.project.facet.core.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<faceted-project> - <fixed facet="jst.web"/> - <fixed facet="wst.jsdt.web"/> - <fixed facet="java"/> - <installed facet="wst.jsdt.web" version="1.0"/> - <installed facet="java" version="1.8"/> - <installed facet="jst.web" version="3.1"/> -</faceted-project> diff --git a/vipra-ui/.settings/org.eclipse.wst.jsdt.ui.superType.container b/vipra-ui/.settings/org.eclipse.wst.jsdt.ui.superType.container deleted file mode 100644 index 3bd5d0a4803967bc0bf72a7dd66d7e292ed2e586..0000000000000000000000000000000000000000 --- a/vipra-ui/.settings/org.eclipse.wst.jsdt.ui.superType.container +++ /dev/null @@ -1 +0,0 @@ -org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file diff --git a/vipra-ui/.settings/org.eclipse.wst.jsdt.ui.superType.name b/vipra-ui/.settings/org.eclipse.wst.jsdt.ui.superType.name deleted file mode 100644 index 05bd71b6ec2c1982d1e8a5653073281994564ae8..0000000000000000000000000000000000000000 --- a/vipra-ui/.settings/org.eclipse.wst.jsdt.ui.superType.name +++ /dev/null @@ -1 +0,0 @@ -Window \ No newline at end of file diff --git a/vipra-ui/.settings/org.eclipse.wst.validation.prefs b/vipra-ui/.settings/org.eclipse.wst.validation.prefs deleted file mode 100644 index 508e5864e22b94faa2fd10dd376630d050fb3c7e..0000000000000000000000000000000000000000 --- a/vipra-ui/.settings/org.eclipse.wst.validation.prefs +++ /dev/null @@ -1,12 +0,0 @@ -DELEGATES_PREFERENCE=delegateValidatorList -USER_BUILD_PREFERENCE=enabledBuildValidatorListorg.eclipse.wst.wsi.ui.internal.WSIMessageValidator; -USER_MANUAL_PREFERENCE=enabledManualValidatorListorg.eclipse.wst.wsi.ui.internal.WSIMessageValidator; -USER_PREFERENCE=overrideGlobalPreferencestruedisableAllValidationfalseversion1.2.700.v201508251749 -eclipse.preferences.version=1 -override=true -suspend=false -vals/org.eclipse.wst.html.core.HTMLValidator/global=FF01 -vals/org.eclipse.wst.xml.core.xml/global=FF03 -vals/org.eclipse.wst.xsd.core.xsd/global=FF02162org.eclipse.wst.xsd.core.internal.validation.eclipse.Validator -vals/org.eclipse.wst.xsl.core.xsl/global=FF02 -vf.version=3 diff --git a/vipra-ui/.travis.yml b/vipra-ui/.travis.yml deleted file mode 100644 index 66dd1076931b767dd6c5680bc289d29ea2dd9013..0000000000000000000000000000000000000000 --- a/vipra-ui/.travis.yml +++ /dev/null @@ -1,23 +0,0 @@ ---- -language: node_js -node_js: - - "0.12" - -sudo: false - -cache: - directories: - - node_modules - -before_install: - - export PATH=/usr/local/phantomjs-2.0.0/bin:$PATH - - "npm config set spin false" - - "npm install -g npm@^2" - -install: - - npm install -g bower - - npm install - - bower install - -script: - - npm test diff --git a/vipra-ui/.watchmanconfig b/vipra-ui/.watchmanconfig deleted file mode 100644 index e7834e3e4f39c1a745942dfe90891708593e0ea6..0000000000000000000000000000000000000000 --- a/vipra-ui/.watchmanconfig +++ /dev/null @@ -1,3 +0,0 @@ -{ - "ignore_dirs": ["tmp", "dist"] -} diff --git a/vipra-ui/README.md b/vipra-ui/README.md deleted file mode 100644 index 0a2e3896dc3a90df34fd6b222b2700fefff217c8..0000000000000000000000000000000000000000 --- a/vipra-ui/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# Vipra-UI - -This is the user interface of Vipra. It provides the front end application, served from a static webserver, and connects to the vipra-rest REST backend application. - -## Development - -To compile/debug, install dependencies. Vipra-UI was built using Ember.js with ember-cli, which requires nodejs >= 4.x, npm >= 2.x, and bower - -In the project root, run: - -* `npm install` -* `bower install` - -to install dependencies. Notice that bower dependencies are pinned to specific versions to work around a bug in Ember. - -Serve a development server with: - -* `ember s` - -### Common problems - -If ember throws errors about highcharts, remove highcharts from package.json and reinstall: - -* npm uninstall --save-dev ember-highcharts -* ember install ember-highcharts - -it seems that ember install does more than just installing dependencies. \ No newline at end of file diff --git a/vipra-ui/app/adapters/application.js b/vipra-ui/app/adapters/application.js deleted file mode 100644 index 0d442b61c170d4fa40db3aae849cc2e0cc783dc3..0000000000000000000000000000000000000000 --- a/vipra-ui/app/adapters/application.js +++ /dev/null @@ -1,17 +0,0 @@ -import DS from 'ember-data'; - -export default DS.JSONAPIAdapter.extend({ - host: `http://${window.location.hostname}:8080`, - namespace: 'vipra-rest', - updateRecord(store, type, snapshot) { - var data = {}; - var serializer = store.serializerFor(type.modelName); - - serializer.serializeIntoHash(data, type, snapshot, { includeId: true }); - - var id = snapshot.id; - var url = this.buildURL(type.modelName, id, snapshot, 'updateRecord'); - - return this.ajax(url, 'PUT', { data: data }); - } -}); diff --git a/vipra-ui/app/app.js b/vipra-ui/app/app.js deleted file mode 100644 index 8b234d6d57b1cad624f1b71bec589b714afb593a..0000000000000000000000000000000000000000 --- a/vipra-ui/app/app.js +++ /dev/null @@ -1,18 +0,0 @@ -import Ember from 'ember'; -import Resolver from 'ember/resolver'; -import loadInitializers from 'ember/load-initializers'; -import config from './config/environment'; - -let App; - -Ember.MODEL_FACTORY_INJECTIONS = true; - -App = Ember.Application.extend({ - modulePrefix: config.modulePrefix, - podModulePrefix: config.podModulePrefix, - Resolver -}); - -loadInitializers(App, config.modulePrefix); - -export default App; diff --git a/vipra-ui/app/components/.gitkeep b/vipra-ui/app/components/.gitkeep deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/vipra-ui/app/components/debounced-input.js b/vipra-ui/app/components/debounced-input.js deleted file mode 100644 index ba23db7e352f89169776916bb0eb698a7a6fe40d..0000000000000000000000000000000000000000 --- a/vipra-ui/app/components/debounced-input.js +++ /dev/null @@ -1,19 +0,0 @@ -import Ember from 'ember'; - -export default Ember.TextField.extend({ - debounce: 500, - fireAtStart: false, - - _elementValueDidChange() { - let val = this.$().val(); - if(val) { - Ember.run.debounce(this, this._setValue, this.debounce, this.fireAtStart); - } else { - this._setValue(); - } - }, - - _setValue() { - this.set('value', this.$().val()); - } -}); diff --git a/vipra-ui/app/components/dynamic-high-charts.js b/vipra-ui/app/components/dynamic-high-charts.js deleted file mode 100644 index 746faf9d4f4af4590cc72257e260f895ac9e4470..0000000000000000000000000000000000000000 --- a/vipra-ui/app/components/dynamic-high-charts.js +++ /dev/null @@ -1,14 +0,0 @@ -import EmberHighChartsComponent from 'ember-highcharts/components/high-charts'; - -export default EmberHighChartsComponent.extend({ - - redrawChart: function() { - // add redraw logic here. ex: - var chart = this.get('chart'); - var seriesName = this.get('content')[0].name; - chart.series[0].update({ name: seriesName, data: this.get('content')[0].data }, false); - chart.setTitle(null, { text: seriesName }, false); - chart.redraw(); - }.observes('content.@each.isLoaded') - -}); diff --git a/vipra-ui/app/components/items-list.js b/vipra-ui/app/components/items-list.js deleted file mode 100644 index 48125bb8fd29bfc046ecca7f91301dc21061f8f5..0000000000000000000000000000000000000000 --- a/vipra-ui/app/components/items-list.js +++ /dev/null @@ -1,17 +0,0 @@ -import Ember from 'ember'; - -export default Ember.Component.extend({ - - route: '', - - filteredItems: Ember.computed('items', 'filter', function() { - var keyword = this.get('filter'); - var filtered = this.get('items'); - if (keyword) { - keyword = keyword.toLowerCase().trim(); - filtered = this.get('items').filter((item) => item.get('_name').toLowerCase().includes(keyword)); - } - return filtered; - }) - -}); \ No newline at end of file diff --git a/vipra-ui/app/components/pagination-bar.js b/vipra-ui/app/components/pagination-bar.js deleted file mode 100644 index 42d7c324b9653e624ad1c0fff8362bd868258c03..0000000000000000000000000000000000000000 --- a/vipra-ui/app/components/pagination-bar.js +++ /dev/null @@ -1,65 +0,0 @@ -import Ember from 'ember'; - -export default Ember.Component.extend({ - - elements: 2, - - currentPage: Ember.computed('page', function() { - return parseInt(this.get('page') || 1); - }), - - prev: Ember.computed('page', function() { - return this.get('currentPage') > 1; - }), - - prevPrev: Ember.computed('page', function() { - return this.get('currentPage') > this.elements + 1; - }), - - prevPage: Ember.computed('page', function() { - return this.get('currentPage') - 1; - }), - - next: Ember.computed('page', function() { - return this.get('currentPage') < Math.ceil(this.total/this.limit*1.0); - }), - - nextNext: Ember.computed('page', function() { - return this.get('currentPage') < Math.ceil(this.total/this.limit*1.0) - this.elements; - }), - - nextPage: Ember.computed('page', function() { - return this.get('currentPage') + 1; - }), - - lastPage: Ember.computed('page', function() { - return Math.ceil(this.total/this.limit*1.0); - }), - - pages: Ember.computed('total', 'page', 'limit', 'elements', function() { - let pages = [], - page = this.get('currentPage'), - max = Math.ceil(this.total/this.limit*1.0), - start = Math.max(page - this.elements, 1), - end = Math.min(Math.max(page + this.elements, start + this.elements * 2), max); - for(let i = start; i <= end; i++) { - pages.push({page:i, active:i===page}); - } - return pages; - }), - - enabled: Ember.computed('total', 'limit', function() { - return this.total > this.limit; - }), - - actions: { - prompt() { - let lastPage = this.get('lastPage'), - page = parseInt(window.prompt(`Enter a page number (between 1 and ${lastPage})`) || 0); - if(!isNaN(page) && page > 0 && page < lastPage) { - this.set('page', page); - } - } - } - -}); diff --git a/vipra-ui/app/components/scroll-top.js b/vipra-ui/app/components/scroll-top.js deleted file mode 100644 index 5701f5aa07c52dbc7e01c40c6741d83dc4196a07..0000000000000000000000000000000000000000 --- a/vipra-ui/app/components/scroll-top.js +++ /dev/null @@ -1,17 +0,0 @@ -import Ember from 'ember'; - -export default Ember.Component.extend({ - tagName: 'a', - attributeBindings: ['href'], - href: '#', - classNames: ['scroll-top'], - - click(e) { - e.preventDefault(); - window.scrollTo(0, 0); - }, - - _text: Ember.computed(function() { - return this.get('text') || 'Top'; - }) -}); diff --git a/vipra-ui/app/components/text-marker.js b/vipra-ui/app/components/text-marker.js deleted file mode 100644 index 0e0518bb943456c9325837bd59c848b9f5f4d435..0000000000000000000000000000000000000000 --- a/vipra-ui/app/components/text-marker.js +++ /dev/null @@ -1,18 +0,0 @@ -import Ember from 'ember'; - -export default Ember.Component.extend({ - - setup: function() { - this.updateTextMarker(); - }.on('init'), - - updateTextMarker: function() { - var text = this.get('text'); - var mark = this.get('mark'); - if(mark) { - text = text.replace(new RegExp(mark, 'ig'), '<b>$&</b>'); - } - this.set('marked', text); - }.observes('text', 'mark') - -}); diff --git a/vipra-ui/app/components/topic-link.js b/vipra-ui/app/components/topic-link.js deleted file mode 100644 index b165541920b5bba5ad9cb64e0dc96d2c21093809..0000000000000000000000000000000000000000 --- a/vipra-ui/app/components/topic-link.js +++ /dev/null @@ -1,12 +0,0 @@ -import Ember from 'ember'; - -export default Ember.Component.extend({ - - tagName: 'span', - - text: Ember.computed('topic', function() { - var topic = this.get('topic'); - return topic.name ? topic.name : topic.id; - }) - -}); diff --git a/vipra-ui/app/controllers/.gitkeep b/vipra-ui/app/controllers/.gitkeep deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/vipra-ui/app/controllers/articles/index.js b/vipra-ui/app/controllers/articles/index.js deleted file mode 100644 index f73630c178935d15174a8ed30314d996e113320a..0000000000000000000000000000000000000000 --- a/vipra-ui/app/controllers/articles/index.js +++ /dev/null @@ -1,8 +0,0 @@ -import Ember from 'ember'; - -export default Ember.Controller.extend({ - - queryParams: 'page', - page: 1 - -}); diff --git a/vipra-ui/app/controllers/index.js b/vipra-ui/app/controllers/index.js deleted file mode 100644 index faf5a820e1f079474c77da2a85a741d33ed1e89a..0000000000000000000000000000000000000000 --- a/vipra-ui/app/controllers/index.js +++ /dev/null @@ -1,16 +0,0 @@ -export default Ember.Controller.extend({ - - queryParams: 'q', - q: '', - - search: Ember.computed('q', function() { - let query = this.get('q'); - if(query) { - return this.store.query('article', { - query: query, - limit: 10 - }); - } - }) - -}); \ No newline at end of file diff --git a/vipra-ui/app/controllers/topics/index.js b/vipra-ui/app/controllers/topics/index.js deleted file mode 100644 index d215b2d1a223f15ecdca82eb2a3bf67583b80cf7..0000000000000000000000000000000000000000 --- a/vipra-ui/app/controllers/topics/index.js +++ /dev/null @@ -1,6 +0,0 @@ -import Ember from 'ember'; - -export default Ember.Controller.extend({ - queryParams: 'page', - page: 1 -}); diff --git a/vipra-ui/app/controllers/words/index.js b/vipra-ui/app/controllers/words/index.js deleted file mode 100644 index d215b2d1a223f15ecdca82eb2a3bf67583b80cf7..0000000000000000000000000000000000000000 --- a/vipra-ui/app/controllers/words/index.js +++ /dev/null @@ -1,6 +0,0 @@ -import Ember from 'ember'; - -export default Ember.Controller.extend({ - queryParams: 'page', - page: 1 -}); diff --git a/vipra-ui/app/helpers/.gitkeep b/vipra-ui/app/helpers/.gitkeep deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/vipra-ui/app/helpers/is-empty.js b/vipra-ui/app/helpers/is-empty.js deleted file mode 100644 index 19ca8d4420d0b7f9c39ff145866f2b4f18222dda..0000000000000000000000000000000000000000 --- a/vipra-ui/app/helpers/is-empty.js +++ /dev/null @@ -1,12 +0,0 @@ -import Ember from 'ember'; - -export function isEmpty(params/*, hash*/) { - let ary = params[0], - text = params[1]; - if(!ary || typeof ary.length === "undefined" || !ary.length) { - return text; - } - return null; -} - -export default Ember.Helper.helper(isEmpty); diff --git a/vipra-ui/app/helpers/pluralize.js b/vipra-ui/app/helpers/pluralize.js deleted file mode 100644 index 56141b218fd1167469292a067fb4d9828d9b687a..0000000000000000000000000000000000000000 --- a/vipra-ui/app/helpers/pluralize.js +++ /dev/null @@ -1,10 +0,0 @@ -import Ember from 'ember'; - -export function pluralize(params) { - let number = params[0], - singular = params[1], - plural = params[2] || singular + 's'; - return number === 1 ? singular : plural; -} - -export default Ember.Helper.helper(pluralize); diff --git a/vipra-ui/app/helpers/topic-share.js b/vipra-ui/app/helpers/topic-share.js deleted file mode 100644 index 65c0e9dd5747bc6cda664d6f9dfbe5f87033bb9f..0000000000000000000000000000000000000000 --- a/vipra-ui/app/helpers/topic-share.js +++ /dev/null @@ -1,7 +0,0 @@ -import Ember from 'ember'; - -export function topicShare(args) { - return Math.round(args[0] / args[1] * 100); -} - -export default Ember.Helper.helper(topicShare); diff --git a/vipra-ui/app/index.html b/vipra-ui/app/index.html deleted file mode 100644 index bc38d0b0838bb75559b3d7df61ec77d55409f833..0000000000000000000000000000000000000000 --- a/vipra-ui/app/index.html +++ /dev/null @@ -1,44 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <meta charset="utf-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <title>Vipra</title> - - <link rel="apple-touch-icon" sizes="57x57" href="/apple-touch-icon-57x57.png"> - <link rel="apple-touch-icon" sizes="60x60" href="/apple-touch-icon-60x60.png"> - <link rel="apple-touch-icon" sizes="72x72" href="/apple-touch-icon-72x72.png"> - <link rel="apple-touch-icon" sizes="76x76" href="/apple-touch-icon-76x76.png"> - <link rel="apple-touch-icon" sizes="114x114" href="/apple-touch-icon-114x114.png"> - <link rel="apple-touch-icon" sizes="120x120" href="/apple-touch-icon-120x120.png"> - <link rel="apple-touch-icon" sizes="144x144" href="/apple-touch-icon-144x144.png"> - <link rel="apple-touch-icon" sizes="152x152" href="/apple-touch-icon-152x152.png"> - <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon-180x180.png"> - <link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32"> - <link rel="icon" type="image/png" href="/favicon-194x194.png" sizes="194x194"> - <link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96"> - <link rel="icon" type="image/png" href="/android-chrome-192x192.png" sizes="192x192"> - <link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16"> - <link rel="manifest" href="/manifest.json"> - <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5"> - <meta name="msapplication-TileColor" content="#da532c"> - <meta name="msapplication-TileImage" content="/mstile-144x144.png"> - <meta name="theme-color" content="#ffffff"> - - {{content-for 'head'}} - - <link rel="stylesheet" href="assets/vendor.css"> - <link rel="stylesheet" href="assets/vipra-ui.css"> - - {{content-for 'head-footer'}} - </head> - <body> - {{content-for 'body'}} - - <script src="assets/vendor.js"></script> - <script src="assets/vipra-ui.js"></script> - - {{content-for 'body-footer'}} - </body> -</html> diff --git a/vipra-ui/app/models/.gitkeep b/vipra-ui/app/models/.gitkeep deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/vipra-ui/app/models/article.js b/vipra-ui/app/models/article.js deleted file mode 100644 index fc38e0953d2df40b7c1ca83dec430ed494561ed0..0000000000000000000000000000000000000000 --- a/vipra-ui/app/models/article.js +++ /dev/null @@ -1,17 +0,0 @@ -import DS from 'ember-data'; - -export default DS.Model.extend({ - title: DS.attr(), - text: DS.attr(), - url: DS.attr(), - date: DS.attr('date'), - stats: DS.attr(), - topics: DS.attr(), - created: DS.attr('date'), - modified: DS.attr('date'), - - _name: function() { - var title = this.get('title'); - return title ? title : this.get('id'); - }.property('title') -}); diff --git a/vipra-ui/app/models/import.js b/vipra-ui/app/models/import.js deleted file mode 100644 index f7cbb7b5cb04fe01d4e9a52d89c898921f26308d..0000000000000000000000000000000000000000 --- a/vipra-ui/app/models/import.js +++ /dev/null @@ -1,12 +0,0 @@ -import DS from 'ember-data'; - -export default DS.Model.extend({ - date: DS.attr('date'), - duration: DS.attr(), - articles: DS.attr(), - articlesCount: DS.attr(), - topics: DS.attr(), - topicsCount: DS.attr(), - words: DS.attr(), - wordsCount: DS.attr() -}); diff --git a/vipra-ui/app/models/search.js b/vipra-ui/app/models/search.js deleted file mode 100644 index fc38e0953d2df40b7c1ca83dec430ed494561ed0..0000000000000000000000000000000000000000 --- a/vipra-ui/app/models/search.js +++ /dev/null @@ -1,17 +0,0 @@ -import DS from 'ember-data'; - -export default DS.Model.extend({ - title: DS.attr(), - text: DS.attr(), - url: DS.attr(), - date: DS.attr('date'), - stats: DS.attr(), - topics: DS.attr(), - created: DS.attr('date'), - modified: DS.attr('date'), - - _name: function() { - var title = this.get('title'); - return title ? title : this.get('id'); - }.property('title') -}); diff --git a/vipra-ui/app/models/topic.js b/vipra-ui/app/models/topic.js deleted file mode 100644 index f1aa4bc57d08ff198ea7fdd730e15892298f2d4f..0000000000000000000000000000000000000000 --- a/vipra-ui/app/models/topic.js +++ /dev/null @@ -1,14 +0,0 @@ -import DS from 'ember-data'; - -export default DS.Model.extend({ - name: DS.attr(), - index: DS.attr(), - words: DS.attr(), - created: DS.attr('date'), - modified: DS.attr('date'), - - _name: function() { - var name = this.get('name'); - return name ? name : this.get('id'); - }.property('name') -}); diff --git a/vipra-ui/app/models/word.js b/vipra-ui/app/models/word.js deleted file mode 100644 index 4d7296307825dd836622dc1f00a831baccf3da70..0000000000000000000000000000000000000000 --- a/vipra-ui/app/models/word.js +++ /dev/null @@ -1,7 +0,0 @@ -import DS from 'ember-data'; - -export default DS.Model.extend({ - _name: function() { - return this.get('id'); - }.property('id') -}); \ No newline at end of file diff --git a/vipra-ui/app/router.js b/vipra-ui/app/router.js deleted file mode 100644 index c4a21fcfb6da02587e95569888298d157f857484..0000000000000000000000000000000000000000 --- a/vipra-ui/app/router.js +++ /dev/null @@ -1,26 +0,0 @@ -import Ember from 'ember'; -import config from './config/environment'; - -const Router = Ember.Router.extend({ - location: config.locationType -}); - -Router.map(function() { - this.route('articles', function() { - this.route('show', { path: '/:article_id' }); - }); - - this.route('topics', function() { - this.route('show', { path: '/:topic_id' }, function() { - this.route('edit'); - }); - }); - - this.route('words', function() { - this.route('show', { path: '/:word_id' }); - }); - - this.route('not-found', { path: '/*:' }); -}); - -export default Router; diff --git a/vipra-ui/app/routes/.gitkeep b/vipra-ui/app/routes/.gitkeep deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/vipra-ui/app/routes/articles/index.js b/vipra-ui/app/routes/articles/index.js deleted file mode 100644 index b5920fb2470e2885b03b1a7467f212074d4ba34e..0000000000000000000000000000000000000000 --- a/vipra-ui/app/routes/articles/index.js +++ /dev/null @@ -1,87 +0,0 @@ -import Ember from 'ember'; - -let limit = 100, - chartData = [], - chartOptions = { - chart: { - zoomType: 'x' - }, - title: { - text: 'Articles per month' - }, - legend: { - enabled: false - }, - xAxis: { - type: 'datetime', - title: { - text: 'Dates' - } - }, - yAxis: { - title: { - text: 'Articles' - } - }, - tooltip: { - headerFormat: '', - pointFormat: '{point.x:%b %Y}: {point.y} article(s)' - } - }; - -export default Ember.Route.extend({ - queryParams: { - page: { - refreshModel: true - } - }, - - model(params) { - window.scrollTo(0, 0); - - let query = { - skip: 0, - limit: limit - }; - - if(Ember.isPresent(params.page)) { - query.skip = (params.page - 1) * query.limit; - } - - return Ember.RSVP.hash({ - limit: limit, - articles: this.store.query('article', query), - chartOptions: chartOptions, - chartData: chartData - }); - }, - - afterModel(model) { - var count = {}; - model.articles.forEach(article => { - var date = article.get('date'); - var month = date.getMonth()+1; - var dstr = date.getFullYear() + '-' + (month < 10 ? '0' + month : month); - if(count.hasOwnProperty(dstr)) { - count[dstr][1] += 1; - } else { - count[dstr] = [Date.UTC(date.getFullYear(), month), 1]; - } - }); - var data = []; - for(var key in count) { - data.push(count[key]); - } - model.chartData = [{ - name: 'Articles', - data: data - }]; - }, - - resetController(controller, isExiting, transition) { - if(isExiting) { - controller.set('page', 1); - } - } - -}); diff --git a/vipra-ui/app/routes/articles/show.js b/vipra-ui/app/routes/articles/show.js deleted file mode 100644 index ce7f5d05452b96d35ccc8fcf14c713738a63987c..0000000000000000000000000000000000000000 --- a/vipra-ui/app/routes/articles/show.js +++ /dev/null @@ -1,29 +0,0 @@ -import Ember from 'ember'; - -export default Ember.Route.extend({ - renderTemplate() { - this.render(); - }, - - model(params) { - return Ember.RSVP.hash({ - article: this.store.find('article', params.article_id), - statsData: [] - }); - }, - - afterModel(model) { - var words = [], - stats = model.article.get('stats'); - if(stats && stats.uniqueWords) { - for(var word in stats.uniqueWords) { - var o = stats.uniqueWords[word]; - words.push({word: word, count: o.termFrequency, norm: o.normalizedTermFrequency}); - } - words.sort(function(a,b) { - return b.count - a.count; - }); - model.statsData = words.slice(0,20); - } - } -}); \ No newline at end of file diff --git a/vipra-ui/app/routes/index.js b/vipra-ui/app/routes/index.js deleted file mode 100644 index bfef9997950853bfa1b6c05635c92a736f5f79a6..0000000000000000000000000000000000000000 --- a/vipra-ui/app/routes/index.js +++ /dev/null @@ -1,13 +0,0 @@ -import Ember from 'ember'; - -export default Ember.Route.extend({ - - model() { - return { - latestarticles: this.store.query('article', {limit: 5, sort: '-created'}), - latesttopics: this.store.query('topic', {limit: 5, sort: '-created'}), - latestwords: this.store.query('word', {limit: 5, sort: '-created'}), - }; - } - -}); \ No newline at end of file diff --git a/vipra-ui/app/routes/not-found.js b/vipra-ui/app/routes/not-found.js deleted file mode 100644 index 26d9f3124ec6aa902b1a208b6d4cbfb62083a3ea..0000000000000000000000000000000000000000 --- a/vipra-ui/app/routes/not-found.js +++ /dev/null @@ -1,4 +0,0 @@ -import Ember from 'ember'; - -export default Ember.Route.extend({ -}); diff --git a/vipra-ui/app/routes/topics/index.js b/vipra-ui/app/routes/topics/index.js deleted file mode 100644 index 1540346be4cfb40bb3489809f242ae14778e0d8d..0000000000000000000000000000000000000000 --- a/vipra-ui/app/routes/topics/index.js +++ /dev/null @@ -1,37 +0,0 @@ -import Ember from 'ember'; - -let limit = 100; - -export default Ember.Route.extend({ - - queryParams: { - page: { - refreshModel: true - } - }, - - model(params) { - window.scrollTo(0, 0); - - let query = { - skip: 0, - limit: limit - }; - - if(Ember.isPresent(params.page)) { - query.skip = (params.page - 1) * query.limit; - } - - return Ember.RSVP.hash({ - limit: limit, - topics: this.store.query('topic', query) - }); - }, - - resetController(controller, isExiting, transition) { - if(isExiting) { - controller.set('page', 1); - } - } - -}); \ No newline at end of file diff --git a/vipra-ui/app/routes/topics/show.js b/vipra-ui/app/routes/topics/show.js deleted file mode 100644 index 2f0623aa8c5458105139dacd5a0434fd0c991aa7..0000000000000000000000000000000000000000 --- a/vipra-ui/app/routes/topics/show.js +++ /dev/null @@ -1,9 +0,0 @@ -import Ember from 'ember'; - -export default Ember.Route.extend({ - model(params) { - return Ember.RSVP.hash({ - topic: this.store.find('topic', params.topic_id) - }); - } -}); \ No newline at end of file diff --git a/vipra-ui/app/routes/topics/show/edit.js b/vipra-ui/app/routes/topics/show/edit.js deleted file mode 100644 index 75fd778b30658a41dbd02a7f32ba958178a4dddb..0000000000000000000000000000000000000000 --- a/vipra-ui/app/routes/topics/show/edit.js +++ /dev/null @@ -1,10 +0,0 @@ -import Ember from 'ember'; - -export default Ember.Route.extend({ - actions: { - save(model) { - model.save(); - return true; - } - } -}); \ No newline at end of file diff --git a/vipra-ui/app/routes/words/index.js b/vipra-ui/app/routes/words/index.js deleted file mode 100644 index c714a5d180fa36b400621c5ec3558b96f42aa269..0000000000000000000000000000000000000000 --- a/vipra-ui/app/routes/words/index.js +++ /dev/null @@ -1,38 +0,0 @@ -import Ember from 'ember'; - -let limit = 200; - -export default Ember.Route.extend({ - - queryParams: { - page: { - refreshModel: true - } - }, - - model(params) { - window.scrollTo(0, 0); - - let query = { - sort: 'word', - skip: 0, - limit: limit - }; - - if(Ember.isPresent(params.page)) { - query.skip = (params.page - 1) * query.limit; - } - - return Ember.RSVP.hash({ - limit: limit, - words: this.store.query('word', query) - }); - }, - - resetController(controller, isExiting, transition) { - if(isExiting) { - controller.set('page', 1); - } - } - -}); \ No newline at end of file diff --git a/vipra-ui/app/routes/words/show.js b/vipra-ui/app/routes/words/show.js deleted file mode 100644 index e545d25b72fa7d093ab8a13e2ac7ffd5b9edcf63..0000000000000000000000000000000000000000 --- a/vipra-ui/app/routes/words/show.js +++ /dev/null @@ -1,9 +0,0 @@ -import Ember from 'ember'; - -export default Ember.Route.extend({ - model(params) { - return Ember.RSVP.hash({ - word: this.store.find('word', params.word_id) - }); - } -}); \ No newline at end of file diff --git a/vipra-ui/app/styles/app.scss b/vipra-ui/app/styles/app.scss deleted file mode 100644 index 418dbba8db7c112b3437da8c7770f0c10fd16777..0000000000000000000000000000000000000000 --- a/vipra-ui/app/styles/app.scss +++ /dev/null @@ -1,62 +0,0 @@ -@mixin noselect { - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: default; -} - -body { - padding-bottom: 20px; -} - -.word { - cursor: pointer; - padding-right: 5px; -} - -.center { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); -} - -.loading { - background: url(/assets/images/squares.gif) no-repeat center center; - width: 120px; - height: 120px; -} - -.heading { - @include noselect; - font-size: 82px; - margin: 30px 0; -} - -.ellipsize { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -.search-result { - padding: 5px; - margin-bottom: 5px; -} - -.navbar-default { - .collapse:not(.in) { - .navbar-nav > .active { - &> a, - &> a:hover, - &> a:focus { - border-bottom: 3px solid; - padding-bottom: 12px; - } - } - } -} - -@import 'sticky-footer' \ No newline at end of file diff --git a/vipra-ui/app/styles/sticky-footer.scss b/vipra-ui/app/styles/sticky-footer.scss deleted file mode 100644 index 6d26ce5f61744486e7816616afcac95c1dddec3b..0000000000000000000000000000000000000000 --- a/vipra-ui/app/styles/sticky-footer.scss +++ /dev/null @@ -1,19 +0,0 @@ -html { - position: relative; - min-height: 100%; -} - -body { - /* Margin bottom by footer height */ - margin-bottom: 60px; -} - -.footer { - position: absolute; - bottom: 0; - width: 100%; - /* Set the fixed height of the footer here */ - height: 50px; - border-top-width: 1px; - border-top-style: solid; -} \ No newline at end of file diff --git a/vipra-ui/app/templates/application.hbs b/vipra-ui/app/templates/application.hbs deleted file mode 100644 index 6e2bf2f7d4cc0d5814c144da332641dabf30ef4b..0000000000000000000000000000000000000000 --- a/vipra-ui/app/templates/application.hbs +++ /dev/null @@ -1,35 +0,0 @@ -<nav class="navbar navbar-default navbar-static-top"> - <div class="container-fluid"> - <!-- Brand and toggle get grouped for better mobile display --> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#vipra-navbar-collapse-1" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - {{link-to 'vipra' 'index' class='navbar-brand'}} - </div> - - <!-- Collect the nav links, forms, and other content for toggling --> - <div class="collapse navbar-collapse" id="vipra-navbar-collapse-1"> - <ul class="nav navbar-nav"> - {{#link-to 'articles' tagName='li'}}{{link-to 'Articles' 'articles' (query-params page=1)}}{{/link-to}} - {{#link-to 'topics' tagName='li'}}{{link-to 'Topics' 'topics' (query-params page=1)}}{{/link-to}} - {{#link-to 'words' tagName='li'}}{{link-to 'Words' 'words' (query-params page=1)}}{{/link-to}} - {{outlet 'menu-left'}} - <div id="testi"></div> - </ul> - </div><!-- /.navbar-collapse --> - </div><!-- /.container-fluid --> -</nav> - -<div class="container"> - {{outlet}} -</div> - -<footer class="footer navbar-default"> - <div class="container-fluid"> - - </div> -</footer> \ No newline at end of file diff --git a/vipra-ui/app/templates/articles.hbs b/vipra-ui/app/templates/articles.hbs deleted file mode 100644 index e2147cab02d61b24bccf33f448609ff7bf5ad470..0000000000000000000000000000000000000000 --- a/vipra-ui/app/templates/articles.hbs +++ /dev/null @@ -1 +0,0 @@ -{{outlet}} \ No newline at end of file diff --git a/vipra-ui/app/templates/articles/index.hbs b/vipra-ui/app/templates/articles/index.hbs deleted file mode 100644 index 8009aa8f82a3c29fe7b516e0665a3a39a6ad7929..0000000000000000000000000000000000000000 --- a/vipra-ui/app/templates/articles/index.hbs +++ /dev/null @@ -1,10 +0,0 @@ -<h1>Articles</h1> - -{{dynamic-high-charts content=model.chartData chartOptions=model.chartOptions}} - -{{model.articles.meta.total}} {{pluralize model.articles.meta.total 'article'}} in total, {{model.articles.length}} shown. - -<br><br> -{{items-list items=model.articles filter=filter route='articles.show'}} - -{{pagination-bar total=model.articles.meta.total page=page limit=model.limit}} \ No newline at end of file diff --git a/vipra-ui/app/templates/articles/show.hbs b/vipra-ui/app/templates/articles/show.hbs deleted file mode 100644 index b4d7a82fe3ef6df6aeb5ba517e31fc23545331e7..0000000000000000000000000000000000000000 --- a/vipra-ui/app/templates/articles/show.hbs +++ /dev/null @@ -1,39 +0,0 @@ -<h2>«{{model.article.title}}»</h2> - -<table class="table table-bordered table-condensed"> - <tbody> - <tr> - <td>Date</td> - <td>{{model.article.date}}</td> - </tr> - <tr> - <td>Created</td> - <td>{{model.article.created}}</td> - </tr> - <tr> - <td>Last modified</td> - <td>{{model.article.modified}}</td> - </tr> - <tr> - <td>URL</td> - <td><a href="{{model.article.url}}">{{model.article.url}}</a></td> - </tr> - <tr> - <td>Topics</td> - <td> - {{#each model.article.topics as |topicRef|}} - [{{#topic-link topic=topicRef.topic}} ({{topic-share topicRef.count model.article.stats.wordCount}}%){{/topic-link}}] - {{/each}} - </td> - </tr> - <tr> - <td>Word count</td> - <td>{{model.article.stats.wordCount}}</td> - </tr> - </tbody> -</table> - -{{model.article.text}} - -<br><br> -{{scroll-top}} \ No newline at end of file diff --git a/vipra-ui/app/templates/components/.gitkeep b/vipra-ui/app/templates/components/.gitkeep deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/vipra-ui/app/templates/components/debounced-input.hbs b/vipra-ui/app/templates/components/debounced-input.hbs deleted file mode 100644 index 889d9eeadc1012bdf474d7ea123f9bff23e9d8f5..0000000000000000000000000000000000000000 --- a/vipra-ui/app/templates/components/debounced-input.hbs +++ /dev/null @@ -1 +0,0 @@ -{{yield}} diff --git a/vipra-ui/app/templates/components/dynamic-high-charts.hbs b/vipra-ui/app/templates/components/dynamic-high-charts.hbs deleted file mode 100644 index 889d9eeadc1012bdf474d7ea123f9bff23e9d8f5..0000000000000000000000000000000000000000 --- a/vipra-ui/app/templates/components/dynamic-high-charts.hbs +++ /dev/null @@ -1 +0,0 @@ -{{yield}} diff --git a/vipra-ui/app/templates/components/items-list.hbs b/vipra-ui/app/templates/components/items-list.hbs deleted file mode 100644 index 259c5fd719842aac37065b8785713ae70ac56fd8..0000000000000000000000000000000000000000 --- a/vipra-ui/app/templates/components/items-list.hbs +++ /dev/null @@ -1,5 +0,0 @@ -<ul class="list-unstyled"> - {{#each filteredItems as |item|}} - <li>{{#link-to route item.id}}{{text-marker text=item._name mark=filter}}{{/link-to}}</li> - {{/each}} -</ul> \ No newline at end of file diff --git a/vipra-ui/app/templates/components/pagination-bar.hbs b/vipra-ui/app/templates/components/pagination-bar.hbs deleted file mode 100644 index cf9bcc82eaaba746cb1eddf8ab4a36e255240e38..0000000000000000000000000000000000000000 --- a/vipra-ui/app/templates/components/pagination-bar.hbs +++ /dev/null @@ -1,45 +0,0 @@ -{{#if enabled}} - <nav> - <ul class="pagination"> - <li class="{{unless prev "disabled"}}"> - {{#if prev}} - {{#link-to (query-params page=prevPage)}}«{{/link-to}} - {{else}} - <span>«</span> - {{/if}} - </li> - - {{#if prevPrev}} - <li> - {{link-to 1 (query-params page=1)}} - </li> - <li {{action 'prompt'}}> - <span>..</span> - </li> - {{/if}} - - {{#each pages as |p|}} - <li class="{{if p.active "active"}}"> - {{link-to p.page (query-params page=p.page)}} - </li> - {{/each}} - - {{#if nextNext}} - <li {{action 'prompt'}}> - <span>..</span> - </li> - <li> - {{link-to lastPage (query-params page=lastPage)}} - </li> - {{/if}} - - <li class="{{unless next "disabled"}}"> - {{#if next}} - {{#link-to (query-params page=nextPage)}}»{{/link-to}} - {{else}} - <span>»</span> - {{/if}} - </li> - </ul> - </nav> -{{/if}} \ No newline at end of file diff --git a/vipra-ui/app/templates/components/scroll-top.hbs b/vipra-ui/app/templates/components/scroll-top.hbs deleted file mode 100644 index 04bed982c84513c9e059320f8d89af981483b68f..0000000000000000000000000000000000000000 --- a/vipra-ui/app/templates/components/scroll-top.hbs +++ /dev/null @@ -1,5 +0,0 @@ -{{#if hasBlock}} - {{yield}} -{{else}} - {{_text}} -{{/if}} \ No newline at end of file diff --git a/vipra-ui/app/templates/components/text-marker.hbs b/vipra-ui/app/templates/components/text-marker.hbs deleted file mode 100644 index 5fb15880633ca60fd96531b511b79b62127997ba..0000000000000000000000000000000000000000 --- a/vipra-ui/app/templates/components/text-marker.hbs +++ /dev/null @@ -1 +0,0 @@ -{{{marked}}} \ No newline at end of file diff --git a/vipra-ui/app/templates/components/topic-link.hbs b/vipra-ui/app/templates/components/topic-link.hbs deleted file mode 100644 index 1ba3c2c7cb12c1ce0c3a9c502f2e7f6077d7536e..0000000000000000000000000000000000000000 --- a/vipra-ui/app/templates/components/topic-link.hbs +++ /dev/null @@ -1 +0,0 @@ -{{#link-to 'topics.show' topic.id}}{{text}}{{yield}}{{/link-to}} \ No newline at end of file diff --git a/vipra-ui/app/templates/index.hbs b/vipra-ui/app/templates/index.hbs deleted file mode 100644 index 5332d1397014f5c682b540f64ca4a870810bdf28..0000000000000000000000000000000000000000 --- a/vipra-ui/app/templates/index.hbs +++ /dev/null @@ -1,55 +0,0 @@ -<div class="container"> - <div class="row"> - <div class="col-md-12"> - <div class="text-center"> - <h1 class="heading">'vɪprə</h1> - </div> - - <br> - {{debounced-input value=q class="form-control input-lg" placeholder="Search..."}} - </div> - </div> - - <br><br> - <div class="row"> - <div class="col-md-6 text-center"> - <h4>Latest articles</h4> - <ul class="list-unstyled"> - {{#each model.latestarticles as |article|}} - <li class="ellipsize">{{#link-to 'articles.show' article.id title=article.title}}{{article.title}}{{/link-to}}</li> - {{/each}} - </ul> - </div> - <div class="col-md-3 text-center"> - <h4>Latest topics</h4> - <ul class="list-unstyled"> - {{#each model.latesttopics as |topic|}} - <li class="ellipsize">{{#link-to 'topics.show' topic.id}}{{topic.name}}{{/link-to}}</li> - {{/each}} - </ul> - </div> - <div class="col-md-3 text-center"> - <h4>Latest words</h4> - <ul class="list-unstyled"> - {{#each model.latestwords as |word|}} - <li class="ellipsize">{{#link-to 'words.show' word.id}}{{word.id}}{{/link-to}}</li> - {{/each}} - </ul> - </div> - </div> - - {{#if search}} - <hr> - <h4>Search results</h4> - <ol> - {{#each search as |article|}} - <li class="search-result"> - {{link-to article.title 'articles.show' article.id}}<br> - └ <small>{{article.text}}</small> - </li> - {{/each}} - </ol> - - {{/if}} - -</div> \ No newline at end of file diff --git a/vipra-ui/app/templates/loading.hbs b/vipra-ui/app/templates/loading.hbs deleted file mode 100644 index 119bd4728eb34759978edbdd0e81f04f7cd8fbe1..0000000000000000000000000000000000000000 --- a/vipra-ui/app/templates/loading.hbs +++ /dev/null @@ -1,4 +0,0 @@ -<div class="center"> - <div class="loading"> - </div> -</div> \ No newline at end of file diff --git a/vipra-ui/app/templates/not-found.hbs b/vipra-ui/app/templates/not-found.hbs deleted file mode 100644 index 4ca64b93827b10496afabced2f19afef3a6111ed..0000000000000000000000000000000000000000 --- a/vipra-ui/app/templates/not-found.hbs +++ /dev/null @@ -1,3 +0,0 @@ -<h1>404 - Not found</h1> - -<p>The requested resource was not found on this server</p> \ No newline at end of file diff --git a/vipra-ui/app/templates/topics.hbs b/vipra-ui/app/templates/topics.hbs deleted file mode 100644 index e2147cab02d61b24bccf33f448609ff7bf5ad470..0000000000000000000000000000000000000000 --- a/vipra-ui/app/templates/topics.hbs +++ /dev/null @@ -1 +0,0 @@ -{{outlet}} \ No newline at end of file diff --git a/vipra-ui/app/templates/topics/index.hbs b/vipra-ui/app/templates/topics/index.hbs deleted file mode 100644 index 67ca6107d74432768dad94270d47adbe529590a4..0000000000000000000000000000000000000000 --- a/vipra-ui/app/templates/topics/index.hbs +++ /dev/null @@ -1,8 +0,0 @@ -<h1>Topics</h1> - -{{debounced-input class='form-control' placeholder='Filter' size='50' value=filter debounce='150'}} - -<br> -{{items-list items=model.topics filter=filter route='topics.show'}} - -{{pagination-bar total=model.topics.meta.total page=page limit=model.limit}} \ No newline at end of file diff --git a/vipra-ui/app/templates/topics/show/edit.hbs b/vipra-ui/app/templates/topics/show/edit.hbs deleted file mode 100644 index 86d634803a9ea9b7a7e0f6c036ff23130c176c91..0000000000000000000000000000000000000000 --- a/vipra-ui/app/templates/topics/show/edit.hbs +++ /dev/null @@ -1,9 +0,0 @@ -{{#link-to 'topics.show' model.topic.id}}Back{{/link-to}} - -<h2>{{model.topic._name}}</h2> - -{{input value=model.topic.name placeholder='Name'}} - -<div> - <button {{action 'save' model.topic}}>Save</button> -</div> \ No newline at end of file diff --git a/vipra-ui/app/templates/topics/show/index.hbs b/vipra-ui/app/templates/topics/show/index.hbs deleted file mode 100644 index 4b793c056a379b00dec38bfe58f3bd805d7ff3dc..0000000000000000000000000000000000000000 --- a/vipra-ui/app/templates/topics/show/index.hbs +++ /dev/null @@ -1,18 +0,0 @@ -<h2>{{model.topic._name}}</h2> - -<table class="table table-striped table-bordered table-condensed"> - <thead> - <tr> - <th>Word</th> - <th>Likeliness</th> - </tr> - </thead> - <tbody> - {{#each model.topic.words as |word|}} - <tr> - <td>{{#link-to 'words.show' word.word}}{{word.word}}{{/link-to}}</td> - <td>{{word.likeliness}}</td> - </tr> - {{/each}} - </tbody> -</table> \ No newline at end of file diff --git a/vipra-ui/app/templates/words.hbs b/vipra-ui/app/templates/words.hbs deleted file mode 100644 index e2147cab02d61b24bccf33f448609ff7bf5ad470..0000000000000000000000000000000000000000 --- a/vipra-ui/app/templates/words.hbs +++ /dev/null @@ -1 +0,0 @@ -{{outlet}} \ No newline at end of file diff --git a/vipra-ui/app/templates/words/index.hbs b/vipra-ui/app/templates/words/index.hbs deleted file mode 100644 index 75321f4027c69f10c35e09ff2e168af7ec8fb975..0000000000000000000000000000000000000000 --- a/vipra-ui/app/templates/words/index.hbs +++ /dev/null @@ -1,12 +0,0 @@ -<h1>Words</h1> - -<br> -<p> - {{model.words.meta.total}} {{pluralize model.words.meta.total 'Word'}} in the database -</p> - -{{#each model.words as |word|}} - {{#link-to 'words.show' word.id}}{{word.id}}{{/link-to}} -{{/each}} - -{{pagination-bar total=model.words.meta.total page=page limit=model.limit}} \ No newline at end of file diff --git a/vipra-ui/app/templates/words/show.hbs b/vipra-ui/app/templates/words/show.hbs deleted file mode 100644 index 2778b0d59f24207fea2f91cb0fd4b04872266044..0000000000000000000000000000000000000000 --- a/vipra-ui/app/templates/words/show.hbs +++ /dev/null @@ -1 +0,0 @@ -<h2>{{model.word.id}}</h2> \ No newline at end of file diff --git a/vipra-ui/bower.json b/vipra-ui/bower.json index 150691531fd4640e623516fc8b7bf6dd6a8cf64d..6104b60a698abadab8bf78da635179af4ee58d4a 100644 --- a/vipra-ui/bower.json +++ b/vipra-ui/bower.json @@ -1,18 +1,26 @@ { "name": "vipra-ui", + "authors": [ + "Eike Cochu <eike@cochu.com>" + ], + "description": "vipra ui", + "main": "", + "moduleType": [], + "license": "MIT", + "homepage": "", + "private": true, + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "tests" + ], "dependencies": { - "ember": "2.3.0", - "ember-cli-shims": "0.0.6", - "ember-cli-test-loader": "0.2.1", - "ember-data": "2.2.1", - "ember-load-initializers": "0.1.7", - "ember-qunit": "0.4.16", - "ember-qunit-notifications": "0.1.0", - "ember-resolver": "0.1.20", - "jquery": "1.11.3", - "loader.js": "ember-cli/loader.js#3.5.0", - "qunit": "1.20.0", - "highcharts": "4.2.1", - "bootstrap": "~3.3.6" + "bootstrap": "~3.3.6", + "jquery": "^2.2.0", + "angular": "^1.4.9", + "angular-resource": "^1.4.9", + "angular-ui-router": "^0.2.17" } } diff --git a/vipra-ui/config/environment.js b/vipra-ui/config/environment.js deleted file mode 100644 index 01ab460bfdfa2e55023a6c59921d7c1c7f866905..0000000000000000000000000000000000000000 --- a/vipra-ui/config/environment.js +++ /dev/null @@ -1,47 +0,0 @@ -/* jshint node: true */ - -module.exports = function(environment) { - var ENV = { - modulePrefix: 'vipra-ui', - environment: environment, - baseURL: '/', - locationType: 'auto', - EmberENV: { - FEATURES: { - // Here you can enable experimental features on an ember canary build - // e.g. 'with-controller': true - } - }, - - APP: { - // Here you can pass flags/options to your application instance - // when it is created - } - }; - - if (environment === 'development') { - // ENV.APP.LOG_RESOLVER = true; - // ENV.APP.LOG_ACTIVE_GENERATION = true; - // ENV.APP.LOG_TRANSITIONS = true; - // ENV.APP.LOG_TRANSITIONS_INTERNAL = true; - // ENV.APP.LOG_VIEW_LOOKUPS = true; - } - - if (environment === 'test') { - // Testem prefers this... - ENV.baseURL = '/'; - ENV.locationType = 'none'; - - // keep test console output quieter - ENV.APP.LOG_ACTIVE_GENERATION = false; - ENV.APP.LOG_VIEW_LOOKUPS = false; - - ENV.APP.rootElement = '#ember-testing'; - } - - if (environment === 'production') { - - } - - return ENV; -}; diff --git a/vipra-ui/css/main.less b/vipra-ui/css/main.less new file mode 100644 index 0000000000000000000000000000000000000000..27e5a0030710240b902e7c51598704f57ba2bdff --- /dev/null +++ b/vipra-ui/css/main.less @@ -0,0 +1,3 @@ +html, body { + background: red; +} \ No newline at end of file diff --git a/vipra-ui/ember-cli-build.js b/vipra-ui/ember-cli-build.js deleted file mode 100644 index dccfb16e1233e222024114fc185b49a375532ce7..0000000000000000000000000000000000000000 --- a/vipra-ui/ember-cli-build.js +++ /dev/null @@ -1,26 +0,0 @@ -/*jshint node:true*/ -/* global require, module */ -var EmberApp = require('ember-cli/lib/broccoli/ember-app'); - -module.exports = function(defaults) { - var app = new EmberApp(defaults, { - sourcemaps: { - enabled: EmberApp.env() !== 'production', - extensions: ['js'] - }, - sassOptions: { - extension: 'scss' - } - }); - - var bootstrapPath = 'bower_components/bootstrap/dist'; - app.import(bootstrapPath + '/js/bootstrap.js'); - app.import(bootstrapPath + '/css/bootstrap.css'); - app.import(bootstrapPath + '/fonts/glyphicons-halflings-regular.eot', { destDir: 'fonts' }); - app.import(bootstrapPath + '/fonts/glyphicons-halflings-regular.svg', { destDir: 'fonts' }); - app.import(bootstrapPath + '/fonts/glyphicons-halflings-regular.ttf', { destDir: 'fonts' }); - app.import(bootstrapPath + '/fonts/glyphicons-halflings-regular.woff', { destDir: 'fonts' }); - app.import(bootstrapPath + '/fonts/glyphicons-halflings-regular.woff2', { destDir: 'fonts' }); - - return app.toTree(); -}; diff --git a/vipra-ui/gulpfile.js b/vipra-ui/gulpfile.js new file mode 100644 index 0000000000000000000000000000000000000000..79093a23e0e9d315a8ff3fe6867487dfeb70574a --- /dev/null +++ b/vipra-ui/gulpfile.js @@ -0,0 +1,27 @@ +var gulp = require('gulp'), + less = require('gulp-less'), + cssnano = require('gulp-cssnano'), + webserver = require('gulp-webserver'), + sourcemaps = require('gulp-sourcemaps'); + +gulp.task('less', function() { + gulp.src('css/**/*.less') + .pipe(sourcemaps.init()) + .pipe(less()) + .pipe(cssnano()) + .pipe(gulp.dest('css/main.css')); +}); + +gulp.task('watch', function() { + gulp.watch('css/**/*.less', ['less']); +}); + +gulp.task('server', function() { + gulp.src('.') + .pipe(webserver({ + livereload: true, + open: true, + port: 4200, + fallback: 'index.html' + })); +}); \ No newline at end of file diff --git a/vipra-ui/html/index.html b/vipra-ui/html/index.html new file mode 100644 index 0000000000000000000000000000000000000000..357dd48952bc1b93508f0b0bebb790f09e0730be --- /dev/null +++ b/vipra-ui/html/index.html @@ -0,0 +1 @@ +Home \ No newline at end of file diff --git a/vipra-ui/index.html b/vipra-ui/index.html new file mode 100644 index 0000000000000000000000000000000000000000..ecf5817a249b9a428015eed532b7958b5eda1612 --- /dev/null +++ b/vipra-ui/index.html @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<html lang="en" ng-app="vipra"> + <head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <title>Vipra</title> + + <!-- stylesheets --> + <link href="bower_components/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"> + + <!-- javascript --> + <script src="bower_components/jquery/dist/jquery.min.js"></script> + <script src="bower_components/bootstrap/dist/js/bootstrap.min.js"></script> + <script src="bower_components/angular/angular.min.js"></script> + <script src="bower_components/angular-resource/angular-resource.min.js"></script> + <script src="bower_components/angular-ui-router/release/angular-ui-router.min.js"></script> + <script src="js/app.js"></script> + <script src="js/controllers.js"></script> + <script src="js/directives.js"></script> + <script src="js/services.js"></script> + </head> + <body> + <div ui-view></div> + </body> +</html> \ No newline at end of file diff --git a/vipra-ui/js/app.js b/vipra-ui/js/app.js new file mode 100644 index 0000000000000000000000000000000000000000..60d74aac2bde976726600ee6fab20284db6942ec --- /dev/null +++ b/vipra-ui/js/app.js @@ -0,0 +1,18 @@ +var app = angular.module('vipra', [ + 'ngResource', + 'ui.router', + 'vipra.controllers', + 'vipra.directives', + 'vipra.services' +]); + +app.config(function($stateProvider, $urlRouterProvider) { + + $urlRouterProvider.otherwise('/'); + + $stateProvider.state('index', { + url: '/', + templateUrl: 'html/index.html' + }); + +}); \ No newline at end of file diff --git a/vipra-ui/js/controllers.js b/vipra-ui/js/controllers.js new file mode 100644 index 0000000000000000000000000000000000000000..63b99a10c99c34ed7b8889295aacd0c68f2a0612 --- /dev/null +++ b/vipra-ui/js/controllers.js @@ -0,0 +1,5 @@ +var app = angular.module('vipra.controllers', []); + +app.controller('MainCtrl', function($scope) { + +}); \ No newline at end of file diff --git a/vipra-ui/js/directives.js b/vipra-ui/js/directives.js new file mode 100644 index 0000000000000000000000000000000000000000..07291e39bee63c79e85193bef7729ef3083687b9 --- /dev/null +++ b/vipra-ui/js/directives.js @@ -0,0 +1 @@ +var app = angular.module('vipra.directives', []); \ No newline at end of file diff --git a/vipra-ui/js/services.js b/vipra-ui/js/services.js new file mode 100644 index 0000000000000000000000000000000000000000..998e2cefe83939d8e5e3de9f5383fcac6cdf23cc --- /dev/null +++ b/vipra-ui/js/services.js @@ -0,0 +1 @@ +var app = angular.module('vipra.services', []); \ No newline at end of file diff --git a/vipra-ui/package.json b/vipra-ui/package.json index d1b51b9f483805111bbac94a84298123f28ed6c5..1b966c29474c3e17500c4b36b4cf0312585b6153 100644 --- a/vipra-ui/package.json +++ b/vipra-ui/package.json @@ -1,42 +1,14 @@ { "name": "vipra-ui", - "version": "0.0.0", - "description": "Small description for vipra-ui goes here", + "version": "1.0.0", + "description": "vipra ui", + "author": "Eike Cochu", "private": true, - "directories": { - "doc": "doc", - "test": "tests" - }, - "scripts": { - "build": "ember build", - "start": "ember server", - "test": "ember test" - }, - "repository": "", - "engines": { - "node": ">= 0.10.0" - }, - "author": "", - "license": "MIT", "devDependencies": { - "broccoli-asset-rev": "^2.2.0", - "ember-cli": "1.13.13", - "ember-cli-app-version": "^1.0.0", - "ember-cli-babel": "^5.1.5", - "ember-cli-dependency-checker": "^1.1.0", - "ember-cli-htmlbars": "^1.0.1", - "ember-cli-htmlbars-inline-precompile": "^0.3.1", - "ember-cli-ic-ajax": "0.2.4", - "ember-cli-inject-live-reload": "^1.3.1", - "ember-cli-qunit": "^1.0.4", - "ember-cli-release": "0.2.8", - "ember-cli-sass": "5.2.1", - "ember-cli-sri": "^1.2.0", - "ember-cli-uglify": "^1.2.0", - "ember-data": "1.13.15", - "ember-disable-proxy-controllers": "^1.0.1", - "ember-export-application-global": "^1.0.4", - "ember-highcharts": "0.3.0", - "ember-wormhole": "0.3.4" + "gulp": "^3.9.0", + "gulp-cssnano": "^2.1.0", + "gulp-less": "^3.0.5", + "gulp-sourcemaps": "^1.6.0", + "gulp-webserver": "^0.9.1" } } diff --git a/vipra-ui/public/android-chrome-144x144.png b/vipra-ui/public/android-chrome-144x144.png deleted file mode 100644 index a75a06d5e6943aee4c175213f6cf98b03fa3f85c..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/android-chrome-144x144.png and /dev/null differ diff --git a/vipra-ui/public/android-chrome-192x192.png b/vipra-ui/public/android-chrome-192x192.png deleted file mode 100644 index 38a70604dcb27a9ee3fbf79d71360c5d1bb30def..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/android-chrome-192x192.png and /dev/null differ diff --git a/vipra-ui/public/android-chrome-36x36.png b/vipra-ui/public/android-chrome-36x36.png deleted file mode 100644 index fa55583e69edd38b9b9dc4b344610ce40f076014..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/android-chrome-36x36.png and /dev/null differ diff --git a/vipra-ui/public/android-chrome-48x48.png b/vipra-ui/public/android-chrome-48x48.png deleted file mode 100644 index 053cc4ed735d16d23ca7f7bfc06b8b419c5da221..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/android-chrome-48x48.png and /dev/null differ diff --git a/vipra-ui/public/android-chrome-72x72.png b/vipra-ui/public/android-chrome-72x72.png deleted file mode 100644 index 98c240493437e4f97f0c6e08d10ab1c174d792f2..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/android-chrome-72x72.png and /dev/null differ diff --git a/vipra-ui/public/android-chrome-96x96.png b/vipra-ui/public/android-chrome-96x96.png deleted file mode 100644 index 2d2202ca6ba65fba1402708be385110c13ca4606..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/android-chrome-96x96.png and /dev/null differ diff --git a/vipra-ui/public/apple-touch-icon-114x114.png b/vipra-ui/public/apple-touch-icon-114x114.png deleted file mode 100644 index bc2a612c2e7e6a66e1f82d42722943a90e00e25f..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/apple-touch-icon-114x114.png and /dev/null differ diff --git a/vipra-ui/public/apple-touch-icon-120x120.png b/vipra-ui/public/apple-touch-icon-120x120.png deleted file mode 100644 index fdaabce77f0024103256d92f819694892752aa5a..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/apple-touch-icon-120x120.png and /dev/null differ diff --git a/vipra-ui/public/apple-touch-icon-144x144.png b/vipra-ui/public/apple-touch-icon-144x144.png deleted file mode 100644 index 1d46bf72898e7a1d57e584e33166b4ab93ad1913..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/apple-touch-icon-144x144.png and /dev/null differ diff --git a/vipra-ui/public/apple-touch-icon-152x152.png b/vipra-ui/public/apple-touch-icon-152x152.png deleted file mode 100644 index cf4fe5c4d8e00ade403c398bf6354c66dcb6f419..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/apple-touch-icon-152x152.png and /dev/null differ diff --git a/vipra-ui/public/apple-touch-icon-180x180.png b/vipra-ui/public/apple-touch-icon-180x180.png deleted file mode 100644 index 9349bc3006cbeae993227c4247526a2f5331bca3..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/apple-touch-icon-180x180.png and /dev/null differ diff --git a/vipra-ui/public/apple-touch-icon-57x57.png b/vipra-ui/public/apple-touch-icon-57x57.png deleted file mode 100644 index 404609005a57d079d934aeafb60e9f41c777303d..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/apple-touch-icon-57x57.png and /dev/null differ diff --git a/vipra-ui/public/apple-touch-icon-60x60.png b/vipra-ui/public/apple-touch-icon-60x60.png deleted file mode 100644 index 69090a0b6c4948749effbb3fe956c3caf72b6154..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/apple-touch-icon-60x60.png and /dev/null differ diff --git a/vipra-ui/public/apple-touch-icon-72x72.png b/vipra-ui/public/apple-touch-icon-72x72.png deleted file mode 100644 index 7e41b0928a7ca05b405ed7bce68b8e2099de6e03..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/apple-touch-icon-72x72.png and /dev/null differ diff --git a/vipra-ui/public/apple-touch-icon-76x76.png b/vipra-ui/public/apple-touch-icon-76x76.png deleted file mode 100644 index 29d14b903247e28ff96f6ea34bf3a38d50f5482e..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/apple-touch-icon-76x76.png and /dev/null differ diff --git a/vipra-ui/public/apple-touch-icon-precomposed.png b/vipra-ui/public/apple-touch-icon-precomposed.png deleted file mode 100644 index 4d110e9874af7700780f80bfeec4a287fa6d49b1..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/apple-touch-icon-precomposed.png and /dev/null differ diff --git a/vipra-ui/public/apple-touch-icon.png b/vipra-ui/public/apple-touch-icon.png deleted file mode 100644 index 9349bc3006cbeae993227c4247526a2f5331bca3..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/apple-touch-icon.png and /dev/null differ diff --git a/vipra-ui/public/assets/images/squares.gif b/vipra-ui/public/assets/images/squares.gif deleted file mode 100644 index 15739a5e3e23301ea73683e760f57fcc58b0b275..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/assets/images/squares.gif and /dev/null differ diff --git a/vipra-ui/public/browserconfig.xml b/vipra-ui/public/browserconfig.xml deleted file mode 100644 index 65380f3873df0b1efc837c390c3a91bd2c2c6a14..0000000000000000000000000000000000000000 --- a/vipra-ui/public/browserconfig.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<browserconfig> - <msapplication> - <tile> - <square70x70logo src="/mstile-70x70.png"/> - <square150x150logo src="/mstile-150x150.png"/> - <square310x310logo src="/mstile-310x310.png"/> - <wide310x150logo src="/mstile-310x150.png"/> - <TileColor>#da532c</TileColor> - </tile> - </msapplication> -</browserconfig> diff --git a/vipra-ui/public/crossdomain.xml b/vipra-ui/public/crossdomain.xml deleted file mode 100644 index 0c16a7a07b37e5d5f7e0e56c829f720067458403..0000000000000000000000000000000000000000 --- a/vipra-ui/public/crossdomain.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> -<cross-domain-policy> - <!-- Read this: www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html --> - - <!-- Most restrictive policy: --> - <site-control permitted-cross-domain-policies="none"/> - - <!-- Least restrictive policy: --> - <!-- - <site-control permitted-cross-domain-policies="all"/> - <allow-access-from domain="*" to-ports="*" secure="false"/> - <allow-http-request-headers-from domain="*" headers="*" secure="false"/> - --> -</cross-domain-policy> diff --git a/vipra-ui/public/favicon-16x16.png b/vipra-ui/public/favicon-16x16.png deleted file mode 100644 index 2142db750ebddec14220299d9b135ef67c086a8a..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/favicon-16x16.png and /dev/null differ diff --git a/vipra-ui/public/favicon-194x194.png b/vipra-ui/public/favicon-194x194.png deleted file mode 100644 index 21aebd21587c3e1e8ead181661abfd5c63b7520f..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/favicon-194x194.png and /dev/null differ diff --git a/vipra-ui/public/favicon-32x32.png b/vipra-ui/public/favicon-32x32.png deleted file mode 100644 index 5f02b4eddf4ea6a56bfcd19c8b61a406f99d9129..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/favicon-32x32.png and /dev/null differ diff --git a/vipra-ui/public/favicon-96x96.png b/vipra-ui/public/favicon-96x96.png deleted file mode 100644 index db921e4ed2dcd5d09ed8c3feda59dbecdb4f6493..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/favicon-96x96.png and /dev/null differ diff --git a/vipra-ui/public/favicon.ico b/vipra-ui/public/favicon.ico deleted file mode 100644 index 5732db6037b1f85a34fb650544f2c844313a2855..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/favicon.ico and /dev/null differ diff --git a/vipra-ui/public/manifest.json b/vipra-ui/public/manifest.json deleted file mode 100644 index fd248ba860774e85815f340dca3d7a91b00fc794..0000000000000000000000000000000000000000 --- a/vipra-ui/public/manifest.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "Vipra", - "icons": [ - { - "src": "\/android-chrome-36x36.png", - "sizes": "36x36", - "type": "image\/png", - "density": 0.75 - }, - { - "src": "\/android-chrome-48x48.png", - "sizes": "48x48", - "type": "image\/png", - "density": 1 - }, - { - "src": "\/android-chrome-72x72.png", - "sizes": "72x72", - "type": "image\/png", - "density": 1.5 - }, - { - "src": "\/android-chrome-96x96.png", - "sizes": "96x96", - "type": "image\/png", - "density": 2 - }, - { - "src": "\/android-chrome-144x144.png", - "sizes": "144x144", - "type": "image\/png", - "density": 3 - }, - { - "src": "\/android-chrome-192x192.png", - "sizes": "192x192", - "type": "image\/png", - "density": 4 - } - ] -} diff --git a/vipra-ui/public/mstile-144x144.png b/vipra-ui/public/mstile-144x144.png deleted file mode 100644 index f8bbf5181ec917852ccc7d485261c378ccbc7585..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/mstile-144x144.png and /dev/null differ diff --git a/vipra-ui/public/mstile-150x150.png b/vipra-ui/public/mstile-150x150.png deleted file mode 100644 index 695de5e588f6771411672a7ab77d11ff9f7b19c0..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/mstile-150x150.png and /dev/null differ diff --git a/vipra-ui/public/mstile-310x150.png b/vipra-ui/public/mstile-310x150.png deleted file mode 100644 index 31d0d95b73f37cb775eaa1fbe11152400f961d5f..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/mstile-310x150.png and /dev/null differ diff --git a/vipra-ui/public/mstile-310x310.png b/vipra-ui/public/mstile-310x310.png deleted file mode 100644 index 632930e827817f36965e2402748adef9b9311d96..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/mstile-310x310.png and /dev/null differ diff --git a/vipra-ui/public/mstile-70x70.png b/vipra-ui/public/mstile-70x70.png deleted file mode 100644 index e6ece63cb1b9caa78fc2cebb370e07d9f2e5db04..0000000000000000000000000000000000000000 Binary files a/vipra-ui/public/mstile-70x70.png and /dev/null differ diff --git a/vipra-ui/public/robots.txt b/vipra-ui/public/robots.txt deleted file mode 100644 index f5916452e5ff6c8b43d6d7c73d00153d34ac35de..0000000000000000000000000000000000000000 --- a/vipra-ui/public/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -# http://www.robotstxt.org -User-agent: * -Disallow: diff --git a/vipra-ui/public/safari-pinned-tab.svg b/vipra-ui/public/safari-pinned-tab.svg deleted file mode 100644 index 93d972a555c1c94f9e87b83f856d2dfb05b9c5ab..0000000000000000000000000000000000000000 --- a/vipra-ui/public/safari-pinned-tab.svg +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" - "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> -<svg version="1.0" xmlns="http://www.w3.org/2000/svg" - width="512.000000pt" height="512.000000pt" viewBox="0 0 512.000000 512.000000" - preserveAspectRatio="xMidYMid meet"> -<metadata> -Created by potrace 1.11, written by Peter Selinger 2001-2013 -</metadata> -<g transform="translate(0.000000,512.000000) scale(0.100000,-0.100000)" -fill="#000000" stroke="none"> -<path d="M3010 5110 c-129 -17 -159 -22 -240 -40 -112 -26 -104 -24 -196 -55 --184 -63 -388 -173 -539 -289 -82 -64 -103 -83 -202 -183 -298 -302 -477 -668 --537 -1098 -14 -100 -15 -399 -1 -495 28 -199 96 -426 177 -586 l31 -61 -691 --692 c-559 -559 -700 -705 -731 -759 -167 -282 -60 -647 233 -791 188 -93 409 --76 576 42 14 10 337 329 718 709 l692 691 98 -46 c170 -80 379 -140 569 -165 -73 -9 367 -9 453 0 266 28 570 135 800 281 169 107 372 290 487 437 213 274 -356 613 399 945 9 72 11 387 3 458 -39 336 -165 653 -374 938 -63 87 -237 269 --320 336 -155 126 -414 270 -586 327 -107 35 -259 72 -359 86 -97 14 -377 20 --460 10z m455 -333 c391 -73 703 -251 961 -552 127 -147 236 -347 298 -544 58 --185 75 -314 71 -526 -4 -161 -6 -176 -36 -305 -43 -185 -95 -316 -188 -472 --233 -392 -621 -661 -1085 -754 -101 -20 -394 -26 -506 -11 -237 33 -509 142 --709 285 -122 86 -288 252 -373 372 -121 171 -223 403 -262 596 -8 43 -18 93 --21 109 -21 104 -8 467 20 554 3 11 8 31 10 43 3 13 15 59 29 103 147 483 534 -879 1016 1039 58 19 116 37 130 40 14 2 50 10 80 16 30 6 80 13 110 17 30 3 -57 7 58 9 10 8 329 -7 397 -19z m-1730 -2814 c70 -85 212 -223 279 -271 20 --14 36 -28 36 -32 0 -10 -1285 -1295 -1325 -1326 -45 -34 -120 -54 -183 -49 --100 7 -191 72 -235 165 -31 65 -29 168 4 235 19 38 177 203 680 707 360 361 -659 657 664 657 6 0 42 -39 80 -86z"/> -<path d="M2995 4299 c-351 -67 -642 -288 -800 -607 -39 -80 -80 -197 -89 -256 --4 -21 -8 -42 -11 -46 -3 -4 -8 -55 -11 -113 -6 -104 -6 -106 19 -131 45 -45 -119 -27 131 32 3 15 8 59 11 99 17 273 178 553 408 712 78 53 219 119 293 136 -10 2 37 9 59 14 45 10 130 20 188 21 72 0 110 74 67 130 -17 23 -26 25 -97 26 --43 0 -118 -7 -168 -17z"/> -</g> -</svg> diff --git a/vipra-ui/testem.json b/vipra-ui/testem.json deleted file mode 100644 index 0f35392cf2ef372d55ba695ddf3de54659481c07..0000000000000000000000000000000000000000 --- a/vipra-ui/testem.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "framework": "qunit", - "test_page": "tests/index.html?hidepassed", - "disable_watching": true, - "launch_in_ci": [ - "PhantomJS" - ], - "launch_in_dev": [ - "PhantomJS", - "Chrome" - ] -} diff --git a/vipra-ui/tests/.jshintrc b/vipra-ui/tests/.jshintrc deleted file mode 100644 index 6ec0b7c154b09337291c5d736e99d5928d560549..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/.jshintrc +++ /dev/null @@ -1,52 +0,0 @@ -{ - "predef": [ - "document", - "window", - "location", - "setTimeout", - "$", - "-Promise", - "define", - "console", - "visit", - "exists", - "fillIn", - "click", - "keyEvent", - "triggerEvent", - "find", - "findWithAssert", - "wait", - "DS", - "andThen", - "currentURL", - "currentPath", - "currentRouteName" - ], - "node": false, - "browser": false, - "boss": true, - "curly": true, - "debug": false, - "devel": false, - "eqeqeq": true, - "evil": true, - "forin": false, - "immed": false, - "laxbreak": false, - "newcap": true, - "noarg": true, - "noempty": false, - "nonew": false, - "nomen": false, - "onevar": false, - "plusplus": false, - "regexp": false, - "undef": true, - "sub": true, - "strict": false, - "white": false, - "eqnull": true, - "esnext": true, - "unused": true -} diff --git a/vipra-ui/tests/helpers/destroy-app.js b/vipra-ui/tests/helpers/destroy-app.js deleted file mode 100644 index c3d4d1abb5d467ddf5f9a0b8f814c8d99d20db6d..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/helpers/destroy-app.js +++ /dev/null @@ -1,5 +0,0 @@ -import Ember from 'ember'; - -export default function destroyApp(application) { - Ember.run(application, 'destroy'); -} diff --git a/vipra-ui/tests/helpers/module-for-acceptance.js b/vipra-ui/tests/helpers/module-for-acceptance.js deleted file mode 100644 index ed23003db408fd9b0c69f914e9e552e0657bc7f8..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/helpers/module-for-acceptance.js +++ /dev/null @@ -1,23 +0,0 @@ -import { module } from 'qunit'; -import startApp from '../helpers/start-app'; -import destroyApp from '../helpers/destroy-app'; - -export default function(name, options = {}) { - module(name, { - beforeEach() { - this.application = startApp(); - - if (options.beforeEach) { - options.beforeEach.apply(this, arguments); - } - }, - - afterEach() { - destroyApp(this.application); - - if (options.afterEach) { - options.afterEach.apply(this, arguments); - } - } - }); -} diff --git a/vipra-ui/tests/helpers/resolver.js b/vipra-ui/tests/helpers/resolver.js deleted file mode 100644 index ebfb4e4d4552ed0c90ac9b925860a38acbaffa8a..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/helpers/resolver.js +++ /dev/null @@ -1,11 +0,0 @@ -import Resolver from 'ember/resolver'; -import config from '../../config/environment'; - -const resolver = Resolver.create(); - -resolver.namespace = { - modulePrefix: config.modulePrefix, - podModulePrefix: config.podModulePrefix -}; - -export default resolver; diff --git a/vipra-ui/tests/helpers/start-app.js b/vipra-ui/tests/helpers/start-app.js deleted file mode 100644 index e098f1d5be605e462c63145c2c50572aac6c4303..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/helpers/start-app.js +++ /dev/null @@ -1,18 +0,0 @@ -import Ember from 'ember'; -import Application from '../../app'; -import config from '../../config/environment'; - -export default function startApp(attrs) { - let application; - - let attributes = Ember.merge({}, config.APP); - attributes = Ember.merge(attributes, attrs); // use defaults, but you can override; - - Ember.run(() => { - application = Application.create(attributes); - application.setupForTesting(); - application.injectTestHelpers(); - }); - - return application; -} diff --git a/vipra-ui/tests/index.html b/vipra-ui/tests/index.html deleted file mode 100644 index ffe2debf1d95d079b613588ff00a963f210e6019..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/index.html +++ /dev/null @@ -1,34 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <meta charset="utf-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <title>VipraUi Tests</title> - <meta name="description" content=""> - <meta name="viewport" content="width=device-width, initial-scale=1"> - - {{content-for 'head'}} - {{content-for 'test-head'}} - - <link rel="stylesheet" href="assets/vendor.css"> - <link rel="stylesheet" href="assets/vipra-ui.css"> - <link rel="stylesheet" href="assets/test-support.css"> - - {{content-for 'head-footer'}} - {{content-for 'test-head-footer'}} - </head> - <body> - {{content-for 'body'}} - {{content-for 'test-body'}} - - <script src="assets/vendor.js"></script> - <script src="assets/test-support.js"></script> - <script src="assets/vipra-ui.js"></script> - <script src="testem.js" integrity=""></script> - <script src="assets/tests.js"></script> - <script src="assets/test-loader.js"></script> - - {{content-for 'body-footer'}} - {{content-for 'test-body-footer'}} - </body> -</html> diff --git a/vipra-ui/tests/integration/.gitkeep b/vipra-ui/tests/integration/.gitkeep deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/vipra-ui/tests/integration/components/debounced-input-test.js b/vipra-ui/tests/integration/components/debounced-input-test.js deleted file mode 100644 index 323028be87c1069b493b592cbfd34e0f0ee65ea1..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/integration/components/debounced-input-test.js +++ /dev/null @@ -1,25 +0,0 @@ -import { moduleForComponent, test } from 'ember-qunit'; -import hbs from 'htmlbars-inline-precompile'; - -moduleForComponent('debounced-input', 'Integration | Component | debounced input', { - integration: true -}); - -test('it renders', function(assert) { - - // Set any properties with this.set('myProperty', 'value'); - // Handle any actions with this.on('myAction', function(val) { ... });" + EOL + EOL + - - this.render(hbs`{{debounced-input}}`); - - assert.equal(this.$().text().trim(), ''); - - // Template block usage:" + EOL + - this.render(hbs` - {{#debounced-input}} - template block text - {{/debounced-input}} - `); - - assert.equal(this.$().text().trim(), 'template block text'); -}); diff --git a/vipra-ui/tests/integration/components/dynamic-high-charts-test.js b/vipra-ui/tests/integration/components/dynamic-high-charts-test.js deleted file mode 100644 index 07810b85074cac1214cd04b68efccc4eb6ef1794..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/integration/components/dynamic-high-charts-test.js +++ /dev/null @@ -1,25 +0,0 @@ -import { moduleForComponent, test } from 'ember-qunit'; -import hbs from 'htmlbars-inline-precompile'; - -moduleForComponent('dynamic-high-charts', 'Integration | Component | dynamic high charts', { - integration: true -}); - -test('it renders', function(assert) { - - // Set any properties with this.set('myProperty', 'value'); - // Handle any actions with this.on('myAction', function(val) { ... });" + EOL + EOL + - - this.render(hbs`{{dynamic-high-charts}}`); - - assert.equal(this.$().text().trim(), ''); - - // Template block usage:" + EOL + - this.render(hbs` - {{#dynamic-high-charts}} - template block text - {{/dynamic-high-charts}} - `); - - assert.equal(this.$().text().trim(), 'template block text'); -}); diff --git a/vipra-ui/tests/integration/components/item-list-test.js b/vipra-ui/tests/integration/components/item-list-test.js deleted file mode 100644 index bcc52965fc674e9690c7834e179c13b38bfe5caf..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/integration/components/item-list-test.js +++ /dev/null @@ -1,25 +0,0 @@ -import { moduleForComponent, test } from 'ember-qunit'; -import hbs from 'htmlbars-inline-precompile'; - -moduleForComponent('article-list', 'Integration | Component | article list', { - integration: true -}); - -test('it renders', function(assert) { - - // Set any properties with this.set('myProperty', 'value'); - // Handle any actions with this.on('myAction', function(val) { ... });" + EOL + EOL + - - this.render(hbs`{{article-list}}`); - - assert.equal(this.$().text().trim(), ''); - - // Template block usage:" + EOL + - this.render(hbs` - {{#article-list}} - template block text - {{/article-list}} - `); - - assert.equal(this.$().text().trim(), 'template block text'); -}); diff --git a/vipra-ui/tests/integration/components/pagination-bar-test.js b/vipra-ui/tests/integration/components/pagination-bar-test.js deleted file mode 100644 index d61ba100b35dd7a929eb01f1500c5b6a78c54487..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/integration/components/pagination-bar-test.js +++ /dev/null @@ -1,25 +0,0 @@ -import { moduleForComponent, test } from 'ember-qunit'; -import hbs from 'htmlbars-inline-precompile'; - -moduleForComponent('pagination-bar', 'Integration | Component | pagination bar', { - integration: true -}); - -test('it renders', function(assert) { - - // Set any properties with this.set('myProperty', 'value'); - // Handle any actions with this.on('myAction', function(val) { ... });" + EOL + EOL + - - this.render(hbs`{{pagination-bar}}`); - - assert.equal(this.$().text().trim(), ''); - - // Template block usage:" + EOL + - this.render(hbs` - {{#pagination-bar}} - template block text - {{/pagination-bar}} - `); - - assert.equal(this.$().text().trim(), 'template block text'); -}); diff --git a/vipra-ui/tests/integration/components/scroll-top-test.js b/vipra-ui/tests/integration/components/scroll-top-test.js deleted file mode 100644 index 26cf1dc6c8992cc76b547be300f7cbd38e982839..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/integration/components/scroll-top-test.js +++ /dev/null @@ -1,25 +0,0 @@ -import { moduleForComponent, test } from 'ember-qunit'; -import hbs from 'htmlbars-inline-precompile'; - -moduleForComponent('scroll-top', 'Integration | Component | scroll top', { - integration: true -}); - -test('it renders', function(assert) { - - // Set any properties with this.set('myProperty', 'value'); - // Handle any actions with this.on('myAction', function(val) { ... });" + EOL + EOL + - - this.render(hbs`{{scroll-top}}`); - - assert.equal(this.$().text().trim(), ''); - - // Template block usage:" + EOL + - this.render(hbs` - {{#scroll-top}} - template block text - {{/scroll-top}} - `); - - assert.equal(this.$().text().trim(), 'template block text'); -}); diff --git a/vipra-ui/tests/integration/components/text-marker-test.js b/vipra-ui/tests/integration/components/text-marker-test.js deleted file mode 100644 index 1af17c61bc9e6b08df64bdaa001f22802d69825a..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/integration/components/text-marker-test.js +++ /dev/null @@ -1,25 +0,0 @@ -import { moduleForComponent, test } from 'ember-qunit'; -import hbs from 'htmlbars-inline-precompile'; - -moduleForComponent('text-marker', 'Integration | Component | text marker', { - integration: true -}); - -test('it renders', function(assert) { - - // Set any properties with this.set('myProperty', 'value'); - // Handle any actions with this.on('myAction', function(val) { ... });" + EOL + EOL + - - this.render(hbs`{{text-marker}}`); - - assert.equal(this.$().text().trim(), ''); - - // Template block usage:" + EOL + - this.render(hbs` - {{#text-marker}} - template block text - {{/text-marker}} - `); - - assert.equal(this.$().text().trim(), 'template block text'); -}); diff --git a/vipra-ui/tests/integration/components/topic-link-test.js b/vipra-ui/tests/integration/components/topic-link-test.js deleted file mode 100644 index d3ea4cf9e5aac1a12db07f7813d91d626bdf74cd..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/integration/components/topic-link-test.js +++ /dev/null @@ -1,25 +0,0 @@ -import { moduleForComponent, test } from 'ember-qunit'; -import hbs from 'htmlbars-inline-precompile'; - -moduleForComponent('topic-link', 'Integration | Component | topic link', { - integration: true -}); - -test('it renders', function(assert) { - - // Set any properties with this.set('myProperty', 'value'); - // Handle any actions with this.on('myAction', function(val) { ... });" + EOL + EOL + - - this.render(hbs`{{topic-link}}`); - - assert.equal(this.$().text().trim(), ''); - - // Template block usage:" + EOL + - this.render(hbs` - {{#topic-link}} - template block text - {{/topic-link}} - `); - - assert.equal(this.$().text().trim(), 'template block text'); -}); diff --git a/vipra-ui/tests/test-helper.js b/vipra-ui/tests/test-helper.js deleted file mode 100644 index e6cfb70fe806b564111203f2f0a97b41bc43a608..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/test-helper.js +++ /dev/null @@ -1,6 +0,0 @@ -import resolver from './helpers/resolver'; -import { - setResolver -} from 'ember-qunit'; - -setResolver(resolver); diff --git a/vipra-ui/tests/unit/.gitkeep b/vipra-ui/tests/unit/.gitkeep deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/vipra-ui/tests/unit/adapters/application-test.js b/vipra-ui/tests/unit/adapters/application-test.js deleted file mode 100644 index f0a2101e7a8422290f4421be88af10fb6b155bfe..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/unit/adapters/application-test.js +++ /dev/null @@ -1,12 +0,0 @@ -import { moduleFor, test } from 'ember-qunit'; - -moduleFor('adapter:application', 'Unit | Adapter | application', { - // Specify the other units that are required for this test. - // needs: ['serializer:foo'] -}); - -// Replace this with your real tests. -test('it exists', function(assert) { - let adapter = this.subject(); - assert.ok(adapter); -}); diff --git a/vipra-ui/tests/unit/controllers/articles-test.js b/vipra-ui/tests/unit/controllers/articles-test.js deleted file mode 100644 index 2f09e3a9cfb428f7762f161885385c8da50f5983..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/unit/controllers/articles-test.js +++ /dev/null @@ -1,12 +0,0 @@ -import { moduleFor, test } from 'ember-qunit'; - -moduleFor('controller:articles', 'Unit | Controller | articles', { - // Specify the other units that are required for this test. - // needs: ['controller:foo'] -}); - -// Replace this with your real tests. -test('it exists', function(assert) { - let controller = this.subject(); - assert.ok(controller); -}); diff --git a/vipra-ui/tests/unit/controllers/words-test.js b/vipra-ui/tests/unit/controllers/words-test.js deleted file mode 100644 index f4014164cf8485680e1b6fe2f5d118e816867fa7..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/unit/controllers/words-test.js +++ /dev/null @@ -1,12 +0,0 @@ -import { moduleFor, test } from 'ember-qunit'; - -moduleFor('controller:words', 'Unit | Controller | words', { - // Specify the other units that are required for this test. - // needs: ['controller:foo'] -}); - -// Replace this with your real tests. -test('it exists', function(assert) { - let controller = this.subject(); - assert.ok(controller); -}); diff --git a/vipra-ui/tests/unit/helpers/is-empty-test.js b/vipra-ui/tests/unit/helpers/is-empty-test.js deleted file mode 100644 index cc3fb38e1669a4936266a963aeba7ff2b339498a..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/unit/helpers/is-empty-test.js +++ /dev/null @@ -1,10 +0,0 @@ -import { isEmpty } from '../../../helpers/is-empty'; -import { module, test } from 'qunit'; - -module('Unit | Helper | is empty'); - -// Replace this with your real tests. -test('it works', function(assert) { - let result = isEmpty(42); - assert.ok(result); -}); diff --git a/vipra-ui/tests/unit/helpers/pluralize-test.js b/vipra-ui/tests/unit/helpers/pluralize-test.js deleted file mode 100644 index 12ce3b9da4b368646e85364459ac3b05a6c19e4c..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/unit/helpers/pluralize-test.js +++ /dev/null @@ -1,10 +0,0 @@ -import { pluralize } from '../../../helpers/pluralize'; -import { module, test } from 'qunit'; - -module('Unit | Helper | pluralize'); - -// Replace this with your real tests. -test('it works', function(assert) { - let result = pluralize(42); - assert.ok(result); -}); diff --git a/vipra-ui/tests/unit/helpers/topic-share-test.js b/vipra-ui/tests/unit/helpers/topic-share-test.js deleted file mode 100644 index a7e8b95a4987d5e44c71e51d86f56513210c3479..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/unit/helpers/topic-share-test.js +++ /dev/null @@ -1,10 +0,0 @@ -import { topicShare } from '../../../helpers/topic-share'; -import { module, test } from 'qunit'; - -module('Unit | Helper | topic share'); - -// Replace this with your real tests. -test('it works', function(assert) { - let result = topicShare(42); - assert.ok(result); -}); diff --git a/vipra-ui/tests/unit/models/article-test.js b/vipra-ui/tests/unit/models/article-test.js deleted file mode 100644 index 0afadacc92c6654ec5318b7f26638729fb38805d..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/unit/models/article-test.js +++ /dev/null @@ -1,12 +0,0 @@ -import { moduleForModel, test } from 'ember-qunit'; - -moduleForModel('article', 'Unit | Model | article', { - // Specify the other units that are required for this test. - needs: [] -}); - -test('it exists', function(assert) { - let model = this.subject(); - // let store = this.store(); - assert.ok(!!model); -}); diff --git a/vipra-ui/tests/unit/models/import-test.js b/vipra-ui/tests/unit/models/import-test.js deleted file mode 100644 index 569cba6097faa1b5604feb662961cb455fad4eb0..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/unit/models/import-test.js +++ /dev/null @@ -1,12 +0,0 @@ -import { moduleForModel, test } from 'ember-qunit'; - -moduleForModel('import', 'Unit | Model | import', { - // Specify the other units that are required for this test. - needs: [] -}); - -test('it exists', function(assert) { - let model = this.subject(); - // let store = this.store(); - assert.ok(!!model); -}); diff --git a/vipra-ui/tests/unit/models/topic-test.js b/vipra-ui/tests/unit/models/topic-test.js deleted file mode 100644 index 8d71d76e0ea46c2b4c5ad1e3a3596c63fad6d213..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/unit/models/topic-test.js +++ /dev/null @@ -1,12 +0,0 @@ -import { moduleForModel, test } from 'ember-qunit'; - -moduleForModel('topic', 'Unit | Model | topic', { - // Specify the other units that are required for this test. - needs: [] -}); - -test('it exists', function(assert) { - let model = this.subject(); - // let store = this.store(); - assert.ok(!!model); -}); diff --git a/vipra-ui/tests/unit/routes/article-test.js b/vipra-ui/tests/unit/routes/article-test.js deleted file mode 100644 index a9185964f142f77bed47257f75926240c781b292..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/unit/routes/article-test.js +++ /dev/null @@ -1,11 +0,0 @@ -import { moduleFor, test } from 'ember-qunit'; - -moduleFor('route:article', 'Unit | Route | article', { - // Specify the other units that are required for this test. - // needs: ['controller:foo'] -}); - -test('it exists', function(assert) { - let route = this.subject(); - assert.ok(route); -}); diff --git a/vipra-ui/tests/unit/routes/index-test.js b/vipra-ui/tests/unit/routes/index-test.js deleted file mode 100644 index 5d0f50da6ac857bbfddf507f781d58b895b0deed..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/unit/routes/index-test.js +++ /dev/null @@ -1,11 +0,0 @@ -import { moduleFor, test } from 'ember-qunit'; - -moduleFor('route:index', 'Unit | Route | index', { - // Specify the other units that are required for this test. - // needs: ['controller:foo'] -}); - -test('it exists', function(assert) { - let route = this.subject(); - assert.ok(route); -}); diff --git a/vipra-ui/tests/unit/routes/not-found-test.js b/vipra-ui/tests/unit/routes/not-found-test.js deleted file mode 100644 index 2375b9bb75fd6d375431e81f000b518cc2ee6e8c..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/unit/routes/not-found-test.js +++ /dev/null @@ -1,11 +0,0 @@ -import { moduleFor, test } from 'ember-qunit'; - -moduleFor('route:not-found', 'Unit | Route | not found', { - // Specify the other units that are required for this test. - // needs: ['controller:foo'] -}); - -test('it exists', function(assert) { - let route = this.subject(); - assert.ok(route); -}); diff --git a/vipra-ui/tests/unit/routes/topics-test.js b/vipra-ui/tests/unit/routes/topics-test.js deleted file mode 100644 index c0218b7379c24b5a84ab827245558be174cb2b20..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/unit/routes/topics-test.js +++ /dev/null @@ -1,11 +0,0 @@ -import { moduleFor, test } from 'ember-qunit'; - -moduleFor('route:topics', 'Unit | Route | topics', { - // Specify the other units that are required for this test. - // needs: ['controller:foo'] -}); - -test('it exists', function(assert) { - let route = this.subject(); - assert.ok(route); -}); diff --git a/vipra-ui/tests/unit/routes/words-test.js b/vipra-ui/tests/unit/routes/words-test.js deleted file mode 100644 index ce62d399b4395bcff99bcbe5dc1129fb13c089bc..0000000000000000000000000000000000000000 --- a/vipra-ui/tests/unit/routes/words-test.js +++ /dev/null @@ -1,11 +0,0 @@ -import { moduleFor, test } from 'ember-qunit'; - -moduleFor('route:words', 'Unit | Route | words', { - // Specify the other units that are required for this test. - // needs: ['controller:foo'] -}); - -test('it exists', function(assert) { - let route = this.subject(); - assert.ok(route); -}); diff --git a/vipra-ui/vendor/.gitkeep b/vipra-ui/vendor/.gitkeep deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/vipra-ui/webapp/WEB-INF/web.xml b/vipra-ui/webapp/WEB-INF/web.xml deleted file mode 100644 index 55266664a2f8afd5345542489f7916d4add11991..0000000000000000000000000000000000000000 --- a/vipra-ui/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" - version="3.1"> - <welcome-file-list> - <welcome-file>index.html</welcome-file> - </welcome-file-list> -</web-app> \ No newline at end of file diff --git a/vipra-util/src/main/java/de/vipra/util/an/JsonType.java b/vipra-util/src/main/java/de/vipra/util/an/JsonType.java deleted file mode 100644 index e3a30187c8c6ffa0ec4d83d0a53dd92fe302bcb5..0000000000000000000000000000000000000000 --- a/vipra-util/src/main/java/de/vipra/util/an/JsonType.java +++ /dev/null @@ -1,14 +0,0 @@ -package de.vipra.util.an; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.TYPE) -public @interface JsonType { - - public String value(); - -} diff --git a/vipra-util/src/main/java/de/vipra/util/an/JsonWrap.java b/vipra-util/src/main/java/de/vipra/util/an/JsonWrap.java deleted file mode 100644 index bfeea312be1f171fa8c2918b9411b492698bb196..0000000000000000000000000000000000000000 --- a/vipra-util/src/main/java/de/vipra/util/an/JsonWrap.java +++ /dev/null @@ -1,14 +0,0 @@ -package de.vipra.util.an; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.FIELD) -public @interface JsonWrap { - - public String value() default ""; - -} diff --git a/vipra-util/src/main/java/de/vipra/util/model/Article.java b/vipra-util/src/main/java/de/vipra/util/model/Article.java index 892dcbadb6d88b9acc5f94d1bd7c035f1caffa9d..fc65f56b500b6d1229d99a4af88d036a44706a63 100644 --- a/vipra-util/src/main/java/de/vipra/util/model/Article.java +++ b/vipra-util/src/main/java/de/vipra/util/model/Article.java @@ -8,10 +8,7 @@ import org.mongodb.morphia.annotations.Id; import org.mongodb.morphia.annotations.Index; import org.mongodb.morphia.annotations.Indexes; -import de.vipra.util.an.JsonType; - @SuppressWarnings("serial") -@JsonType("article") @Entity(value = "articles", noClassnameStored = true) @Indexes({ @Index("title"), @Index("date"), @Index("-created") }) public class Article implements Model<ObjectId>, Serializable { diff --git a/vipra-util/src/main/java/de/vipra/util/model/ArticleFull.java b/vipra-util/src/main/java/de/vipra/util/model/ArticleFull.java index 26b42d388b96aa1359172dc3a7eb2683afc5be54..5dc4c422e16db29516df5fee2791659206a42c09 100644 --- a/vipra-util/src/main/java/de/vipra/util/model/ArticleFull.java +++ b/vipra-util/src/main/java/de/vipra/util/model/ArticleFull.java @@ -20,12 +20,9 @@ import de.vipra.util.Constants; import de.vipra.util.FileUtils; import de.vipra.util.MongoUtils; import de.vipra.util.StringUtils; -import de.vipra.util.an.JsonType; -import de.vipra.util.an.JsonWrap; import de.vipra.util.an.QueryIgnore; @SuppressWarnings("serial") -@JsonType("article") @Entity(value = "articles", noClassnameStored = true) @Indexes({ @Index("title"), @Index("date"), @Index("-created") }) public class ArticleFull extends FileModel<ObjectId> implements Serializable { @@ -33,33 +30,25 @@ public class ArticleFull extends FileModel<ObjectId> implements Serializable { @Id private ObjectId id; - @JsonWrap("attributes") private String title; - @JsonWrap("attributes") @QueryIgnore(multi = true) private String text; - @JsonWrap("attributes") private String url; - @JsonWrap("attributes") private Date date; @Embedded - @JsonWrap("attributes") @QueryIgnore(multi = true) private List<TopicRef> topics; @Embedded - @JsonWrap("attributes") @QueryIgnore(multi = true) private ArticleStats stats; - @JsonWrap("attributes") private Date created; - @JsonWrap("attributes") private Date modified; @Override diff --git a/vipra-util/src/main/java/de/vipra/util/model/Import.java b/vipra-util/src/main/java/de/vipra/util/model/Import.java index d5da6a81c55b3127d908429afa48586547bf42cc..a89697388f89d02f78b042d0dfa14e795ad6d4ff 100644 --- a/vipra-util/src/main/java/de/vipra/util/model/Import.java +++ b/vipra-util/src/main/java/de/vipra/util/model/Import.java @@ -12,12 +12,9 @@ import org.mongodb.morphia.annotations.Indexes; import org.mongodb.morphia.annotations.PrePersist; import org.mongodb.morphia.annotations.Reference; -import de.vipra.util.an.JsonType; -import de.vipra.util.an.JsonWrap; import de.vipra.util.an.QueryIgnore; @SuppressWarnings("serial") -@JsonType("import") @Entity(value = "imports", noClassnameStored = true) @Indexes({ @Index("date") }) public class Import implements Model<ObjectId>, Serializable { @@ -25,34 +22,26 @@ public class Import implements Model<ObjectId>, Serializable { @Id private ObjectId id; - @JsonWrap("attributes") private Date date; - @JsonWrap("attributes") private long duration; - @JsonWrap("attributes") @QueryIgnore(multi = true) @Reference(ignoreMissing = true) private List<Article> articles; - @JsonWrap("attributes") private int articlesCount; - @JsonWrap("attributes") @QueryIgnore(multi = true) @Reference(ignoreMissing = true) private List<Topic> topics; - @JsonWrap("attributes") private int topicsCount; - @JsonWrap("attributes") @QueryIgnore(multi = true) @Reference(ignoreMissing = true) private List<Word> words; - @JsonWrap("attributes") private int wordsCount; @Override diff --git a/vipra-util/src/main/java/de/vipra/util/model/Topic.java b/vipra-util/src/main/java/de/vipra/util/model/Topic.java index 8678b4684f16370756335eb5d46181235ffb3486..5f097b90dbbc40de39a7e85b810dfba25989fab3 100644 --- a/vipra-util/src/main/java/de/vipra/util/model/Topic.java +++ b/vipra-util/src/main/java/de/vipra/util/model/Topic.java @@ -9,10 +9,8 @@ import org.mongodb.morphia.annotations.Index; import org.mongodb.morphia.annotations.Indexes; import de.vipra.util.MongoUtils; -import de.vipra.util.an.JsonType; @SuppressWarnings("serial") -@JsonType("topic") @Entity(value = "topics", noClassnameStored = true) @Indexes({ @Index("name"), @Index("-created") }) public class Topic implements Model<ObjectId>, Serializable { diff --git a/vipra-util/src/main/java/de/vipra/util/model/TopicFull.java b/vipra-util/src/main/java/de/vipra/util/model/TopicFull.java index 8797b6b6fdc0da85fc5c0298b5339c663fdc3089..63750c08c94d55f69d34bd5bdc893da663359fbd 100644 --- a/vipra-util/src/main/java/de/vipra/util/model/TopicFull.java +++ b/vipra-util/src/main/java/de/vipra/util/model/TopicFull.java @@ -14,33 +14,25 @@ import org.mongodb.morphia.annotations.PrePersist; import de.vipra.util.Constants; import de.vipra.util.MongoUtils; import de.vipra.util.StringUtils; -import de.vipra.util.an.JsonType; -import de.vipra.util.an.JsonWrap; import de.vipra.util.an.QueryIgnore; @SuppressWarnings("serial") -@JsonType("topic") @Entity(value = "topics", noClassnameStored = true) public class TopicFull implements Model<ObjectId>, Serializable { @Id private ObjectId id; - @JsonWrap("attributes") private String name; - @JsonWrap("attributes") private int index; @Embedded - @JsonWrap("attributes") @QueryIgnore(multi = true) private List<TopicWord> words; - @JsonWrap("attributes") private Date created; - @JsonWrap("attributes") private Date modified; @Override diff --git a/vipra-util/src/main/java/de/vipra/util/model/Word.java b/vipra-util/src/main/java/de/vipra/util/model/Word.java index 954eb4150da821a1fb45125dd624baff84483f8e..06758a80987ac6a13e99019ea9846a74aa57e24c 100644 --- a/vipra-util/src/main/java/de/vipra/util/model/Word.java +++ b/vipra-util/src/main/java/de/vipra/util/model/Word.java @@ -14,12 +14,9 @@ import org.mongodb.morphia.annotations.Transient; import com.fasterxml.jackson.annotation.JsonIgnore; -import de.vipra.util.an.JsonType; -import de.vipra.util.an.JsonWrap; import de.vipra.util.an.QueryIgnore; @SuppressWarnings("serial") -@JsonType("word") @Entity(value = "words", noClassnameStored = true) @Indexes(@Index("-created")) public class Word implements Model<String>, Serializable { @@ -40,7 +37,6 @@ public class Word implements Model<String>, Serializable { private String word; @QueryIgnore(multi = true) - @JsonWrap("attributes") private Date created; /**