diff --git a/jgibblda/.classpath b/jgibblda/.classpath index c87e70ade5a179d3496942a09afcc1ec4fbeebf4..cf6dc8577b7a1ef815c8060b30722361a43c9e05 100644 --- a/jgibblda/.classpath +++ b/jgibblda/.classpath @@ -1,14 +1,24 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> - <classpathentry kind="src" path="src/main/java"/> + <classpathentry kind="src" output="target/classes" path="src/main/java"> + <attributes> + <attribute name="optional" value="true"/> + <attribute name="maven.pomderived" value="true"/> + </attributes> + </classpathentry> <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> <attributes> <attribute name="maven.pomderived" value="true"/> <attribute name="org.eclipse.jst.component.nondependency" value=""/> </attributes> </classpathentry> - <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"> + <classpathentry kind="src" output="target/test-classes" path="src/test/java"> + <attributes> + <attribute name="optional" value="true"/> + <attribute name="maven.pomderived" value="true"/> + </attributes> + </classpathentry> + <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> diff --git a/jgibblda/.project b/jgibblda/.project index aa3283580b1268ad7fd2c20e08e89bc706934a4a..9686b2ae5623076a3cc9959c3a28754015fba333 100644 --- a/jgibblda/.project +++ b/jgibblda/.project @@ -16,12 +16,12 @@ </arguments> </buildCommand> <buildCommand> - <name>org.eclipse.m2e.core.maven2Builder</name> + <name>org.eclipse.wst.validation.validationbuilder</name> <arguments> </arguments> </buildCommand> <buildCommand> - <name>org.eclipse.wst.validation.validationbuilder</name> + <name>org.eclipse.m2e.core.maven2Builder</name> <arguments> </arguments> </buildCommand> diff --git a/jgibblda/.settings/org.eclipse.core.resources.prefs b/jgibblda/.settings/org.eclipse.core.resources.prefs index 99f26c0203a7844de00dbfc56e6a35d8ed3c022c..e9441bb123ec3e1ab029c7eac896bc45681d9a71 100644 --- a/jgibblda/.settings/org.eclipse.core.resources.prefs +++ b/jgibblda/.settings/org.eclipse.core.resources.prefs @@ -1,2 +1,3 @@ eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 encoding/<project>=UTF-8 diff --git a/jgibblda/.settings/org.eclipse.jdt.core.prefs b/jgibblda/.settings/org.eclipse.jdt.core.prefs index 92f8042339f69fb00c768e5ed3c83ebd89f2efb9..1913b2950e234e853ad0dcb12bb5014f858e9f40 100644 --- a/jgibblda/.settings/org.eclipse.jdt.core.prefs +++ b/jgibblda/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,16 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.7 +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.source=1.8 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 diff --git a/jgibblda/.settings/org.eclipse.wst.common.project.facet.core.xml b/jgibblda/.settings/org.eclipse.wst.common.project.facet.core.xml index 70e9d8a35a5f422ae00c692c08349c1a5469a84b..fd0227a68279180b3dd187cfc58335b8a0914833 100644 --- a/jgibblda/.settings/org.eclipse.wst.common.project.facet.core.xml +++ b/jgibblda/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -3,5 +3,5 @@ <fixed facet="java"/> <fixed facet="jst.utility"/> <installed facet="jst.utility" version="1.0"/> - <installed facet="java" version="1.7"/> + <installed facet="java" version="1.8"/> </faceted-project> diff --git a/jgibblda/.settings/org.eclipse.wst.validation.prefs b/jgibblda/.settings/org.eclipse.wst.validation.prefs new file mode 100644 index 0000000000000000000000000000000000000000..04cad8cb752a9761c4e5167d0301d3a27674430f --- /dev/null +++ b/jgibblda/.settings/org.eclipse.wst.validation.prefs @@ -0,0 +1,2 @@ +disabled=06target +eclipse.preferences.version=1 diff --git a/jgibblda/pom.xml b/jgibblda/pom.xml index 52b1475e13f9c4d5b7e7c6275a50cfd998a7d775..ba0e1587bd1a4c2a70c8b7b2d91ba5427142604f 100644 --- a/jgibblda/pom.xml +++ b/jgibblda/pom.xml @@ -7,8 +7,8 @@ <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <maven.compiler.target>1.7</maven.compiler.target> - <maven.compiler.source>1.7</maven.compiler.source> + <maven.compiler.target>1.8</maven.compiler.target> + <maven.compiler.source>1.8</maven.compiler.source> <log4jVersion>2.4.1</log4jVersion> </properties> diff --git a/ma-impl.sublime-workspace b/ma-impl.sublime-workspace index 5297a4a50b886f76788c2b79ea89629489267106..2ad0d78bc5aa08b99c6a5d9f82752218ab47eb08 100644 --- a/ma-impl.sublime-workspace +++ b/ma-impl.sublime-workspace @@ -275,38 +275,6 @@ }, "buffers": [ - { - "file": "vipra-ui/app/templates/topics/show.hbs", - "settings": - { - "buffer_size": 196, - "line_ending": "Unix" - } - }, - { - "file": "vipra-ui/app/routes/articles/show.js", - "settings": - { - "buffer_size": 646, - "line_ending": "Unix" - } - }, - { - "file": "vipra-ui/app/styles/app.css", - "settings": - { - "buffer_size": 81, - "line_ending": "Unix" - } - }, - { - "file": "vipra-ui/app/models/topic.js", - "settings": - { - "buffer_size": 244, - "line_ending": "Unix" - } - } ], "build_system": "", "build_system_choices": @@ -315,10 +283,14 @@ "build_varint": "", "command_palette": { - "height": 148.0, - "last_filter": "insta", + "height": 102.0, + "last_filter": "remove", "selected_items": [ + [ + "remove", + "Package Control: Remove Package" + ], [ "insta", "Package Control: Install Package" @@ -347,10 +319,6 @@ "install", "Package Control: Install Package" ], - [ - "remove", - "Package Control: Remove Package" - ], [ "pyth", "Set Syntax: Python" @@ -488,44 +456,59 @@ "/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", + "/home/eike/repos/master/ma-impl/vipra-ui/app/helpers", "/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/topics/show", "/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/topics" + "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/topics", + "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/topics/show" ], "file_history": [ - "/home/eike/repos/master/ma-impl/vipra-ui/app/routes/topics/show.js", - "/home/eike/repos/master/ma-impl/vipra-ui/app/routes/topics/list.js", - "/home/eike/repos/master/ma-impl/vipra-ui/app/components/topic-link.js", + "/home/eike/repos/master/ma-impl/vipra-ui/app/adapters/application.js", "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/articles.hbs", "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/topics.hbs", + "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/index.hbs", + "/home/eike/repos/master/ma-impl/vipra-ui/app/models/topic.js", + "/home/eike/repos/master/ma-impl/vipra-ui/app/routes/topics/show/edit.js", + "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/components/topics-list.hbs", + "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/topics/index.hbs", + "/home/eike/repos/master/ma-impl/vipra-ui/app/router.js", + "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/topics/show/index.hbs", + "/home/eike/repos/master/ma-impl/vipra-ui/app/routes/topics/index.js", + "/home/eike/repos/master/ma-impl/vipra-ui/app/routes/topics/show.js", + "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/topics/show/edit.hbs", + "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/topics/show.hbs", + "/home/eike/repos/master/ma-impl/vipra-ui/app/helpers/topic-share.js", + "/home/eike/repos/master/ma-impl/vipra-ui/app/styles/app.css", + "/home/eike/repos/master/ma-impl/vipra-ui/app/components/topic-link.js", + "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/components/topic-link.hbs", + "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/topics/edit.hbs", + "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/articles/show.hbs", + "/home/eike/repos/master/ma-impl/vipra-ui/app/routes/articles/show.js", + "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/articles/edit.hbs", + "/home/eike/repos/master/ma-impl/vipra-ui/app/routes/topics/edit.js", + "/home/eike/repos/master/ma-impl/vipra-ui/app/routes/articles/edit.js", + "/home/eike/repos/master/ma-impl/vipra-ui/app/routes/topics/list.js", "/home/eike/repos/master/ma-impl/vipra-ui/app/components/topics-list.js", "/home/eike/repos/master/ma-impl/vipra-ui/app/components/articles-list.js", "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/articles/list.hbs", "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/components/articles-list.hbs", "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/topics/list.hbs", - "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/components/topics-list.hbs", "/home/eike/repos/master/ma-impl/vipra-ui/app/models/article.js", - "/home/eike/repos/master/ma-impl/vipra-ui/app/models/topic.js", "/home/eike/repos/master/ma-impl/vipra-ui/app/components/filter-list.js", - "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/articles/show.hbs", "/home/eike/repos/master/ma-impl/vipra-ui/app/helpers/topic-numi.js", - "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/components/topic-link.hbs", - "/home/eike/repos/master/ma-impl/vipra-ui/app/routes/articles/show.js", "/home/eike/repos/master/ma-impl/vipra-ui/app/helpers/topicname.js", "/home/eike/repos/master/ma-impl/vipra-ui/app/helpers/topic-name.js", - "/home/eike/repos/master/ma-impl/vipra-ui/app/styles/app.css", "/home/eike/repos/master/ma-impl/vm/bootstrap.sh", - "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/topics/show.hbs", - "/home/eike/repos/master/ma-impl/vipra-ui/app/router.js", - "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/index.hbs", "/home/eike/.config/sublime-text-3/Packages/User/Preferences.sublime-settings", "/home/eike/.config/sublime-text-3/Packages/Default/Preferences.sublime-settings", "/home/eike/repos/master/ma-impl/vipra-ui/app/components/dynamic-high-charts.js", @@ -617,18 +600,7 @@ "/home/eike/Repositories/fu/ss15/ma/impl/vm/rc.sh", "/home/eike/Repositories/fu/ss15/ma/impl/vm/config/rc.local", "/home/eike/Repositories/fu/ss15/ma/impl/vm/env.sh", - "/home/eike/Repositories/fu/ss15/ma/impl/ui/backend/pom.xml", - "/home/eike/Repositories/fu/ss15/ma/impl/vm/config/mongo-express.config.js", - "/home/eike/Repositories/fu/ss15/ma/impl/data/data.json", - "/home/eike/Repositories/fu/ss15/ma/impl/vm/Vagrantfile", - "/home/eike/Repositories/fu/ss15/ma/impl/data/data.sql", - "/home/eike/Repositories/fu/ws1415/ntdb/Vagrantfile", - "/home/eike/Repositories/fu/ws1415/ntdb/puppet/manifests/default.pp", - "/home/eike/Repositories/fu/ss15/ma/impl/vm/manifests/default.pp", - "/home/eike/Repositories/niels_website/web/src/index.html", - "/home/eike/Repositories/niels_website/web/src/intergeo-2015.html", - "/home/eike/Repositories/niels_website/web/src/less/main.less", - "/home/eike/Downloads/intellij/idea-IU-141.2735.5/Install-Linux-tar.txt" + "/home/eike/Repositories/fu/ss15/ma/impl/ui/backend/pom.xml" ], "find": { @@ -950,123 +922,8 @@ "groups": [ { - "selected": 1, "sheets": [ - { - "buffer": 0, - "file": "vipra-ui/app/templates/topics/show.hbs", - "semi_transient": false, - "settings": - { - "buffer_size": 196, - "regions": - { - }, - "selection": - [ - [ - 196, - 196 - ] - ], - "settings": - { - "syntax": "Packages/Handlebars/grammars/Handlebars.tmLanguage" - }, - "translation.x": 0.0, - "translation.y": 0.0, - "zoom_level": 1.0 - }, - "stack_index": 1, - "type": "text" - }, - { - "buffer": 1, - "file": "vipra-ui/app/routes/articles/show.js", - "semi_transient": false, - "settings": - { - "buffer_size": 646, - "regions": - { - }, - "selection": - [ - [ - 395, - 395 - ] - ], - "settings": - { - "syntax": "Packages/JavaScript/JavaScript.tmLanguage", - "tab_size": 2, - "translate_tabs_to_spaces": true - }, - "translation.x": 0.0, - "translation.y": 0.0, - "zoom_level": 1.0 - }, - "stack_index": 0, - "type": "text" - }, - { - "buffer": 2, - "file": "vipra-ui/app/styles/app.css", - "semi_transient": false, - "settings": - { - "buffer_size": 81, - "regions": - { - }, - "selection": - [ - [ - 79, - 79 - ] - ], - "settings": - { - "syntax": "Packages/CSS/CSS.tmLanguage" - }, - "translation.x": 0.0, - "translation.y": 0.0, - "zoom_level": 1.0 - }, - "stack_index": 2, - "type": "text" - }, - { - "buffer": 3, - "file": "vipra-ui/app/models/topic.js", - "semi_transient": false, - "settings": - { - "buffer_size": 244, - "regions": - { - }, - "selection": - [ - [ - 121, - 121 - ] - ], - "settings": - { - "syntax": "Packages/JavaScript/JavaScript.tmLanguage" - }, - "translation.x": 0.0, - "translation.y": 0.0, - "zoom_level": 1.0 - }, - "stack_index": 3, - "type": "text" - } ] } ], @@ -1233,7 +1090,7 @@ "show_open_files": true, "show_tabs": true, "side_bar_visible": true, - "side_bar_width": 254.0, + "side_bar_width": 295.0, "status_bar_visible": true, "template_settings": { diff --git a/vipra-cmd/.classpath b/vipra-cmd/.classpath index 959f104cedd0691fb01d669d14c7bcf48fa63b63..32530decee8107dc6d40648091978c83c2f89629 100644 --- a/vipra-cmd/.classpath +++ b/vipra-cmd/.classpath @@ -22,14 +22,20 @@ <attribute name="org.eclipse.jst.component.nondependency" value=""/> </attributes> </classpathentry> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"> + <classpathentry combineaccessrules="false" kind="src" path="/JGibbLDA"> + <attributes> + <attribute name="org.eclipse.jst.component.nondependency" value=""/> + </attributes> + </classpathentry> + <classpathentry kind="src" output="target/test-classes" path="src/test/java"> <attributes> + <attribute name="optional" value="true"/> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> - <classpathentry combineaccessrules="false" kind="src" path="/JGibbLDA"> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"> <attributes> - <attribute name="org.eclipse.jst.component.nondependency" value=""/> + <attribute name="owner.project.facets" value="java"/> </attributes> </classpathentry> <classpathentry kind="output" path="target/classes"/> diff --git a/vipra-cmd/.settings/org.eclipse.jdt.core.prefs b/vipra-cmd/.settings/org.eclipse.jdt.core.prefs index 8995f4d00e9a6841edfa63849de383ea0fefa088..1913b2950e234e853ad0dcb12bb5014f858e9f40 100644 --- a/vipra-cmd/.settings/org.eclipse.jdt.core.prefs +++ b/vipra-cmd/.settings/org.eclipse.jdt.core.prefs @@ -1,16 +1,16 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.source=1.7 +org.eclipse.jdt.core.compiler.source=1.8 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 diff --git a/vipra-cmd/.settings/org.eclipse.wst.common.project.facet.core.xml b/vipra-cmd/.settings/org.eclipse.wst.common.project.facet.core.xml index 70e9d8a35a5f422ae00c692c08349c1a5469a84b..fd0227a68279180b3dd187cfc58335b8a0914833 100644 --- a/vipra-cmd/.settings/org.eclipse.wst.common.project.facet.core.xml +++ b/vipra-cmd/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -3,5 +3,5 @@ <fixed facet="java"/> <fixed facet="jst.utility"/> <installed facet="jst.utility" version="1.0"/> - <installed facet="java" version="1.7"/> + <installed facet="java" version="1.8"/> </faceted-project> diff --git a/vipra-cmd/pom.xml b/vipra-cmd/pom.xml index 9d81925e96b2c8886fc20f3690f20a305ccf6ce8..591333397e2de67d754d220ad6bf14da9457ca98 100644 --- a/vipra-cmd/pom.xml +++ b/vipra-cmd/pom.xml @@ -12,8 +12,8 @@ <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <maven.compiler.target>1.7</maven.compiler.target> - <maven.compiler.source>1.7</maven.compiler.source> + <maven.compiler.target>1.8</maven.compiler.target> + <maven.compiler.source>1.8</maven.compiler.source> <log4jVersion>2.4.1</log4jVersion> <luceneVersion>5.4.0</luceneVersion> </properties> diff --git a/vipra-rest/.classpath b/vipra-rest/.classpath index 3d2bb26617600d59704c87bd3ac5f184450c98b0..b72ccd2037671de82b5e71abdfd97fa650b68150 100644 --- a/vipra-rest/.classpath +++ b/vipra-rest/.classpath @@ -17,15 +17,15 @@ <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> </attributes> </classpathentry> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"> + <classpathentry kind="src" output="target/test-classes" path="src/test/java"> <attributes> + <attribute name="optional" value="true"/> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> - <classpathentry kind="src" output="target/test-classes" path="src/test/java"> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"> <attributes> - <attribute name="optional" value="true"/> - <attribute name="maven.pomderived" value="true"/> + <attribute name="owner.project.facets" value="java"/> </attributes> </classpathentry> <classpathentry kind="output" path="target/classes"/> diff --git a/vipra-rest/.settings/org.eclipse.jdt.core.prefs b/vipra-rest/.settings/org.eclipse.jdt.core.prefs index 7677f45f763923b768652ded0a1422b2b83c6d77..c07c252bc5d05edd0375e06b1d52f0a921ae65a0 100644 --- a/vipra-rest/.settings/org.eclipse.jdt.core.prefs +++ b/vipra-rest/.settings/org.eclipse.jdt.core.prefs @@ -1,16 +1,16 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.source=1.7 +org.eclipse.jdt.core.compiler.source=1.8 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 diff --git a/vipra-rest/.settings/org.eclipse.wst.common.project.facet.core.xml b/vipra-rest/.settings/org.eclipse.wst.common.project.facet.core.xml index 984341746468874acc75524c80a2579ccee81217..d59fb58d14dd57692727e9b2e695dd99cd5929ce 100644 --- a/vipra-rest/.settings/org.eclipse.wst.common.project.facet.core.xml +++ b/vipra-rest/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -4,5 +4,5 @@ <installed facet="wst.jsdt.web" version="1.0"/> <installed facet="jst.jaxrs" version="2.0"/> <installed facet="jst.web" version="3.1"/> - <installed facet="java" version="1.7"/> + <installed facet="java" version="1.8"/> </faceted-project> diff --git a/vipra-rest/pom.xml b/vipra-rest/pom.xml index 97251852e16040e9e9c1abfbc37f59ee7ad5f0ca..415ff18fa35cb35bb8c3476dfef36167207fc665 100644 --- a/vipra-rest/pom.xml +++ b/vipra-rest/pom.xml @@ -12,8 +12,8 @@ <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <maven.compiler.target>1.7</maven.compiler.target> - <maven.compiler.source>1.7</maven.compiler.source> + <maven.compiler.target>1.8</maven.compiler.target> + <maven.compiler.source>1.8</maven.compiler.source> <jerseyVersion>2.22.1</jerseyVersion> <jettyVersion>9.3.6.v20151106</jettyVersion> <servletVersion>3.1.0</servletVersion> diff --git a/vipra-rest/src/main/java/de/vipra/rest/PATCH.java b/vipra-rest/src/main/java/de/vipra/rest/PATCH.java new file mode 100644 index 0000000000000000000000000000000000000000..3003f70fd8a6a604a5ef123adfa1e555854d1702 --- /dev/null +++ b/vipra-rest/src/main/java/de/vipra/rest/PATCH.java @@ -0,0 +1,17 @@ +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/ResponseWrapper.java b/vipra-rest/src/main/java/de/vipra/rest/model/Wrapper.java similarity index 84% rename from vipra-rest/src/main/java/de/vipra/rest/model/ResponseWrapper.java rename to vipra-rest/src/main/java/de/vipra/rest/model/Wrapper.java index 8b0e5a3280006cc41b2762379a56bad76c4f8604..5c43b033c42c976546cf8bce3b43b56836f78021 100644 --- a/vipra-rest/src/main/java/de/vipra/rest/model/ResponseWrapper.java +++ b/vipra-rest/src/main/java/de/vipra/rest/model/Wrapper.java @@ -3,19 +3,19 @@ package de.vipra.rest.model; import java.util.ArrayList; import java.util.List; -public class ResponseWrapper<T> { +public class Wrapper<T> { private T data; private List<APIError> errors; private final APIVersion jsonapi = new APIVersion(); - public ResponseWrapper() {} + public Wrapper() {} - public ResponseWrapper(T data) { + public Wrapper(T data) { setData(data); } - public ResponseWrapper(APIError error) { + public Wrapper(APIError error) { addError(error); } diff --git a/vipra-rest/src/main/java/de/vipra/rest/provider/CORSResponseFilter.java b/vipra-rest/src/main/java/de/vipra/rest/provider/CORSResponseFilter.java index f1a79f215b70121112176002edb25eb24c9274b3..93c6084b63760a9fee2e64462d1948b8ba9ee6d0 100644 --- a/vipra-rest/src/main/java/de/vipra/rest/provider/CORSResponseFilter.java +++ b/vipra-rest/src/main/java/de/vipra/rest/provider/CORSResponseFilter.java @@ -24,6 +24,6 @@ public class CORSResponseFilter implements ContainerResponseFilter { response.getHeaders().add("Access-Control-Allow-Origin", "*"); response.getHeaders().add("Access-Control-Allow-Headers", "origin, content-type, accept, authorization"); response.getHeaders().add("Access-Control-Allow-Credentials", "true"); - response.getHeaders().add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, HEAD"); + response.getHeaders().add("Access-Control-Allow-Methods", "GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD"); } } \ No newline at end of file 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 be869472cbee97ae09b610466ac1c18e69e68a41..a993eef4839af59d6460fb496b2ecbc2695bd8db 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 @@ -20,8 +20,9 @@ import javax.ws.rs.core.UriInfo; import de.vipra.rest.APIMediaType; import de.vipra.rest.Messages; +import de.vipra.rest.PATCH; import de.vipra.rest.model.APIError; -import de.vipra.rest.model.ResponseWrapper; +import de.vipra.rest.model.Wrapper; import de.vipra.rest.service.ArticleService; import de.vipra.util.Config; import de.vipra.util.Mongo; @@ -49,7 +50,7 @@ public class ArticleResource { @QueryParam("limit") @DefaultValue("0") int limit, @QueryParam("sort") @DefaultValue("date") String sortBy) { List<Article> articles = service.getMultiple(uri.getAbsolutePath(), skip, limit, sortBy); - ResponseWrapper<List<Article>> res = new ResponseWrapper<>(articles); + Wrapper<List<Article>> res = new Wrapper<>(articles); return Response.ok().entity(res).tag(res.tag()).build(); } @@ -58,7 +59,7 @@ public class ArticleResource { @Consumes(APIMediaType.APPLICATION_JSONAPI) @Path("{id}") public Response getArticle(@PathParam("id") String id) { - ResponseWrapper<Article> res = new ResponseWrapper<>(); + Wrapper<Article> res = new Wrapper<>(); if (id == null || id.trim().length() == 0) { res.addError(new APIError(Response.Status.BAD_REQUEST, "ID is empty", String.format(Messages.BAD_REQUEST, "id cannot be empty"))); @@ -79,13 +80,13 @@ public class ArticleResource { @Consumes(APIMediaType.APPLICATION_JSONAPI) @Produces(APIMediaType.APPLICATION_JSONAPI) public Response createArticle(Article article) { - ResponseWrapper<Article> res; + Wrapper<Article> res; try { article = service.createSingle(article); - res = new ResponseWrapper<>(article); + res = new Wrapper<>(article); return Response.created(article.uri(uri.getAbsolutePath())).entity(res).tag(res.tag()).build(); } catch (DatabaseException e) { - res = new ResponseWrapper<>(new APIError(Response.Status.INTERNAL_SERVER_ERROR, "item could not be created", + res = new Wrapper<>(new APIError(Response.Status.INTERNAL_SERVER_ERROR, "item could not be created", "item could not be created due to an internal server error")); return Response.serverError().entity(res).build(); } @@ -94,12 +95,12 @@ public class ArticleResource { @DELETE @Path("{id}") public Response deleteArticle(@PathParam("id") String id) { - ResponseWrapper<Article> res = new ResponseWrapper<>(); + Wrapper<Article> res = new Wrapper<>(); long deleted; try { deleted = service.deleteSingle(id); } catch (DatabaseException e) { - res = new ResponseWrapper<>(new APIError(Response.Status.INTERNAL_SERVER_ERROR, "item could not be deleted", + res = new Wrapper<>(new APIError(Response.Status.INTERNAL_SERVER_ERROR, "item could not be deleted", "item could not be created due to an internal server error")); return Response.serverError().entity(res).build(); } @@ -120,8 +121,9 @@ public class ArticleResource { @Consumes(APIMediaType.APPLICATION_JSONAPI) @Produces(APIMediaType.APPLICATION_JSONAPI) @Path("{id}") - public Response updateArticle(@PathParam("id") String id, Article article) { - ResponseWrapper<Article> res = new ResponseWrapper<>(); + public Response replaceArticle(@PathParam("id") String id, Wrapper<Article> wrapper) { + Article article = wrapper.getData(); + Wrapper<Article> res = new Wrapper<>(); try { long updated = service.updateSingle(article); int updatedInt = updated > Integer.MAX_VALUE ? Integer.MAX_VALUE : (int) updated; @@ -137,10 +139,20 @@ public class ArticleResource { return Response.serverError().build(); } } catch (DatabaseException e) { - res = new ResponseWrapper<>(new APIError(Response.Status.INTERNAL_SERVER_ERROR, "item could not be updated", + res = new Wrapper<>(new APIError(Response.Status.INTERNAL_SERVER_ERROR, "item could not be updated", "item could not be updated due to an internal server error")); return Response.serverError().entity(res).build(); } } + @PATCH + @Consumes(APIMediaType.APPLICATION_JSONAPI) + @Produces(APIMediaType.APPLICATION_JSONAPI) + @Path("{id}") + public Response updateArticle(@PathParam("id") String id, Wrapper<Article> wrapper) { + Article article = wrapper.getData(); + // TODO implement + return null; + } + } 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 028116570f891b4cf103987fb30699eaa770da44..ada3548380e8d43197d8aa57cb6b930bf5f45643 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 @@ -18,8 +18,9 @@ import javax.ws.rs.core.UriInfo; import de.vipra.rest.APIMediaType; import de.vipra.rest.Messages; +import de.vipra.rest.PATCH; import de.vipra.rest.model.APIError; -import de.vipra.rest.model.ResponseWrapper; +import de.vipra.rest.model.Wrapper; import de.vipra.rest.service.TopicService; import de.vipra.util.Config; import de.vipra.util.Mongo; @@ -46,7 +47,7 @@ public class TopicResource { public Response getTopics(@QueryParam("skip") @DefaultValue("0") int skip, @QueryParam("limit") @DefaultValue("0") int limit) { List<Topic> topics = service.getMultiple(uri.getAbsolutePath(), skip, limit, null); - ResponseWrapper<List<Topic>> res = new ResponseWrapper<>(topics); + Wrapper<List<Topic>> res = new Wrapper<>(topics); return Response.ok().entity(res).tag(res.tag()).build(); } @@ -55,7 +56,7 @@ public class TopicResource { @Consumes(APIMediaType.APPLICATION_JSONAPI) @Path("{id}") public Response getTopic(@PathParam("id") String id) { - ResponseWrapper<Topic> res = new ResponseWrapper<>(); + Wrapper<Topic> res = new Wrapper<>(); if (id == null || id.trim().length() == 0) { res.addError(new APIError(Response.Status.BAD_REQUEST, "ID is empty", String.format(Messages.BAD_REQUEST, "id cannot be empty"))); @@ -76,8 +77,9 @@ public class TopicResource { @Consumes(APIMediaType.APPLICATION_JSONAPI) @Produces(APIMediaType.APPLICATION_JSONAPI) @Path("{id}") - public Response updateTopic(@PathParam("id") String id, Topic topic) { - ResponseWrapper<Topic> res = new ResponseWrapper<>(); + public Response replaceTopic(@PathParam("id") String id, Wrapper<Topic> wrapper) { + Topic topic = wrapper.getData(); + Wrapper<Topic> res = new Wrapper<>(); try { long updated = service.updateSingle(topic); int updatedInt = updated > Integer.MAX_VALUE ? Integer.MAX_VALUE : (int) updated; @@ -93,10 +95,20 @@ public class TopicResource { return Response.serverError().build(); } } catch (DatabaseException e) { - res = new ResponseWrapper<>(new APIError(Response.Status.INTERNAL_SERVER_ERROR, "item could not be updated", + res = new Wrapper<>(new APIError(Response.Status.INTERNAL_SERVER_ERROR, "item could not be updated", "item could not be updated due to an internal server error")); return Response.serverError().entity(res).build(); } } + + @PATCH + @Consumes(APIMediaType.APPLICATION_JSONAPI) + @Produces(APIMediaType.APPLICATION_JSONAPI) + @Path("{id}") + public Response updateTopic(@PathParam("id") String id, Wrapper<Topic> wrapper) { + Topic topic = wrapper.getData(); + // TODO implement + return null; + } } diff --git a/vipra-rest/src/main/java/de/vipra/rest/serializer/ArticleSerializer.java b/vipra-rest/src/main/java/de/vipra/rest/serializer/ArticleSerializer.java index f754208511a0118fffa255b64ab4b7c95d4c0f9e..2c266b9354837bcd5285c41e6127a0d1a16e2a22 100644 --- a/vipra-rest/src/main/java/de/vipra/rest/serializer/ArticleSerializer.java +++ b/vipra-rest/src/main/java/de/vipra/rest/serializer/ArticleSerializer.java @@ -15,7 +15,7 @@ public class ArticleSerializer extends JsonSerializer<Article> { @Override public void serialize(Article value, JsonGenerator gen, SerializerProvider serializers) - throws IOException, JsonProcessingException { + throws IOException, JsonProcessingException { gen.writeStartObject(); gen.writeStringField("id", value.getId()); gen.writeStringField("type", "article"); diff --git a/vipra-rest/src/main/java/de/vipra/rest/serializer/TopicDeserializer.java b/vipra-rest/src/main/java/de/vipra/rest/serializer/TopicDeserializer.java index 3e01e6ac61bca23f9a2e5956b24642db67a925d3..cb908e17e9723feaf895ee8c2da7f22df66a5a93 100644 --- a/vipra-rest/src/main/java/de/vipra/rest/serializer/TopicDeserializer.java +++ b/vipra-rest/src/main/java/de/vipra/rest/serializer/TopicDeserializer.java @@ -32,7 +32,6 @@ public class TopicDeserializer extends JsonDeserializer<Topic> { if (attrs.has("index")) topic.setIndex(getInt(attrs, "index")); if (attrs.has("words")) { - JsonNode wordsNode = attrs.get("words"); // TODO implement } } diff --git a/vipra-ui/app/adapters/application.js b/vipra-ui/app/adapters/application.js index 701dadac29a043297224620597aa145d32c1a728..0d442b61c170d4fa40db3aae849cc2e0cc783dc3 100644 --- a/vipra-ui/app/adapters/application.js +++ b/vipra-ui/app/adapters/application.js @@ -1,6 +1,17 @@ import DS from 'ember-data'; export default DS.JSONAPIAdapter.extend({ - host: `http://${window.location.hostname}:8000`, - namespace: 'vipra-rest' + 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/components/topic-link.js b/vipra-ui/app/components/topic-link.js index 9d31203266a630ba785074786edb3a22371e9f36..b165541920b5bba5ad9cb64e0dc96d2c21093809 100644 --- a/vipra-ui/app/components/topic-link.js +++ b/vipra-ui/app/components/topic-link.js @@ -6,11 +6,7 @@ export default Ember.Component.extend({ text: Ember.computed('topic', function() { var topic = this.get('topic'); - var text = topic.name ? topic.name : topic.id; - if(topic.hasOwnProperty('count')) { - text += ` (${topic.count})`; - } - return text; + return topic.name ? topic.name : topic.id; }) }); diff --git a/vipra-ui/app/helpers/topic-share.js b/vipra-ui/app/helpers/topic-share.js new file mode 100644 index 0000000000000000000000000000000000000000..65c0e9dd5747bc6cda664d6f9dfbe5f87033bb9f --- /dev/null +++ b/vipra-ui/app/helpers/topic-share.js @@ -0,0 +1,7 @@ +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/router.js b/vipra-ui/app/router.js index 8ba6e2d47afaff7a3a03dcfcfed41fcabbdc8b5d..e856b1103fc1d241fcc738fdd3fbd9c30ecb939b 100644 --- a/vipra-ui/app/router.js +++ b/vipra-ui/app/router.js @@ -7,12 +7,12 @@ const Router = Ember.Router.extend({ Router.map(function() { this.route('articles', function() { - this.route('list', { path: '/' }); this.route('show', { path: '/:article_id' }); }); this.route('topics', function() { - this.route('list', { path: '/' }); - this.route('show', { path: '/:topic_id' }); + this.route('show', { path: '/:topic_id' }, function() { + this.route('edit'); + }); }); this.route('not-found', { path: '/*:' }); }); diff --git a/vipra-ui/app/routes/articles/list.js b/vipra-ui/app/routes/articles/index.js similarity index 100% rename from vipra-ui/app/routes/articles/list.js rename to vipra-ui/app/routes/articles/index.js diff --git a/vipra-ui/app/routes/topics/list.js b/vipra-ui/app/routes/topics/index.js similarity index 84% rename from vipra-ui/app/routes/topics/list.js rename to vipra-ui/app/routes/topics/index.js index 0e1edf569710acb5c60bc7305f443dca29f22353..3d419f443ad90df4c82b79ce87abc09bbe481a77 100644 --- a/vipra-ui/app/routes/topics/list.js +++ b/vipra-ui/app/routes/topics/index.js @@ -1,9 +1,9 @@ import Ember from 'ember'; export default Ember.Route.extend({ - model() { + model(params) { return Ember.RSVP.hash({ topics: this.store.findAll('topic') - }) + }); } }); \ 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 new file mode 100644 index 0000000000000000000000000000000000000000..75fd778b30658a41dbd02a7f32ba958178a4dddb --- /dev/null +++ b/vipra-ui/app/routes/topics/show/edit.js @@ -0,0 +1,10 @@ +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/templates/articles.hbs b/vipra-ui/app/templates/articles.hbs index c4ddd8803c909fc67c701ac09d62f5819cf07a6c..0eb9f06bf25571584dd42a1eb2509b6e6985ca73 100644 --- a/vipra-ui/app/templates/articles.hbs +++ b/vipra-ui/app/templates/articles.hbs @@ -1,6 +1,6 @@ <h1>Articles</h1> {{#link-to 'index'}}Top{{/link-to}} -{{#link-to 'articles.list'}}All{{/link-to}} +{{#link-to 'articles'}}All{{/link-to}} <hr> {{outlet}} \ No newline at end of file diff --git a/vipra-ui/app/templates/articles/list.hbs b/vipra-ui/app/templates/articles/index.hbs similarity index 100% rename from vipra-ui/app/templates/articles/list.hbs rename to vipra-ui/app/templates/articles/index.hbs diff --git a/vipra-ui/app/templates/articles/show.hbs b/vipra-ui/app/templates/articles/show.hbs index 564d86f7b331578e1082e57e89a821f686233e44..9ee5c2bc361cde649cfa35427a519bb54788a600 100644 --- a/vipra-ui/app/templates/articles/show.hbs +++ b/vipra-ui/app/templates/articles/show.hbs @@ -12,7 +12,7 @@ <h3>Topics</h3> {{#each model.article.topics as |topic|}} - {{topic-link topic=topic}} + {{#topic-link topic=topic}} ({{topic-share topic.count model.article.stats.wordCount}}%){{/topic-link}} {{/each}} <h3>Statistics</h3> diff --git a/vipra-ui/app/templates/components/topic-link.hbs b/vipra-ui/app/templates/components/topic-link.hbs index 69c3ccb06acf50d57cf09f92b47e23354236b400..1ba3c2c7cb12c1ce0c3a9c502f2e7f6077d7536e 100644 --- a/vipra-ui/app/templates/components/topic-link.hbs +++ b/vipra-ui/app/templates/components/topic-link.hbs @@ -1 +1 @@ -{{#link-to 'topics.show' topic.id}}{{text}}{{/link-to}} \ No newline at end of file +{{#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 index 3d941a81a2bfea16957c6bd216087f15965630ed..e0aaedcbe2d94fc3a581d4c30c193f4d3c7ca7ff 100644 --- a/vipra-ui/app/templates/index.hbs +++ b/vipra-ui/app/templates/index.hbs @@ -1,5 +1,5 @@ <h1>Vipra</h1> -{{#link-to 'articles.list'}}Articles{{/link-to}} +{{#link-to 'articles'}}Articles{{/link-to}} -{{#link-to 'topics.list'}}Topics{{/link-to}} \ No newline at end of file +{{#link-to 'topics'}}Topics{{/link-to}} \ No newline at end of file diff --git a/vipra-ui/app/templates/topics.hbs b/vipra-ui/app/templates/topics.hbs index 3da2b0f7f70e3b9551d248f2839177405469ab0f..9ae6d0517b2055c8d3babf6e5b0391fc132f4858 100644 --- a/vipra-ui/app/templates/topics.hbs +++ b/vipra-ui/app/templates/topics.hbs @@ -1,6 +1,6 @@ <h1>Topics</h1> {{#link-to 'index'}}Top{{/link-to}} -{{#link-to 'topics.list'}}All{{/link-to}} +{{#link-to 'topics'}}All{{/link-to}} <hr> {{outlet}} \ No newline at end of file diff --git a/vipra-ui/app/templates/topics/list.hbs b/vipra-ui/app/templates/topics/index.hbs similarity index 100% rename from vipra-ui/app/templates/topics/list.hbs rename to vipra-ui/app/templates/topics/index.hbs diff --git a/vipra-ui/app/templates/topics/show/edit.hbs b/vipra-ui/app/templates/topics/show/edit.hbs new file mode 100644 index 0000000000000000000000000000000000000000..86d634803a9ea9b7a7e0f6c036ff23130c176c91 --- /dev/null +++ b/vipra-ui/app/templates/topics/show/edit.hbs @@ -0,0 +1,9 @@ +{{#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.hbs b/vipra-ui/app/templates/topics/show/index.hbs similarity index 80% rename from vipra-ui/app/templates/topics/show.hbs rename to vipra-ui/app/templates/topics/show/index.hbs index d36b7e1b2ef6a4d2b4679188e761124afe016754..0a8dcf51f60d093085587ee44c815954a09f5d6f 100644 --- a/vipra-ui/app/templates/topics/show.hbs +++ b/vipra-ui/app/templates/topics/show/index.hbs @@ -1,3 +1,5 @@ +{{#link-to 'topics.show.edit'}}Edit{{/link-to}} + <h2>{{model.topic._name}}</h2> <h3>Words</h3> diff --git a/vipra-ui/tests/unit/helpers/topic-share-test.js b/vipra-ui/tests/unit/helpers/topic-share-test.js new file mode 100644 index 0000000000000000000000000000000000000000..a7e8b95a4987d5e44c71e51d86f56513210c3479 --- /dev/null +++ b/vipra-ui/tests/unit/helpers/topic-share-test.js @@ -0,0 +1,10 @@ +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-util/.classpath b/vipra-util/.classpath index f0cbe96b457b57ffa31e74d3c0f87d16bb366423..cf6dc8577b7a1ef815c8060b30722361a43c9e05 100644 --- a/vipra-util/.classpath +++ b/vipra-util/.classpath @@ -12,10 +12,16 @@ <attribute name="org.eclipse.jst.component.nondependency" value=""/> </attributes> </classpathentry> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"> + <classpathentry kind="src" output="target/test-classes" path="src/test/java"> <attributes> + <attribute name="optional" value="true"/> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> + <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="output" path="target/classes"/> </classpath> diff --git a/vipra-util/.settings/org.eclipse.jdt.core.prefs b/vipra-util/.settings/org.eclipse.jdt.core.prefs index dad9ba744c62155e74fd7c03364f031f47fe4d70..52003d93b882e0735573b1ca1241484bf74cfb2f 100644 --- a/vipra-util/.settings/org.eclipse.jdt.core.prefs +++ b/vipra-util/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,15 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.source=1.7 +org.eclipse.jdt.core.compiler.source=1.8 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 diff --git a/vipra-util/.settings/org.eclipse.wst.common.project.facet.core.xml b/vipra-util/.settings/org.eclipse.wst.common.project.facet.core.xml index e4a5a385a27fe00926c9c4f46d697547f5e5f783..78e8ebb782bd149152a876e5c227156f0192bd2a 100644 --- a/vipra-util/.settings/org.eclipse.wst.common.project.facet.core.xml +++ b/vipra-util/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -3,5 +3,5 @@ <fixed facet="jst.utility"/> <fixed facet="java"/> <installed facet="jst.utility" version="1.0"/> - <installed facet="java" version="1.7"/> + <installed facet="java" version="1.8"/> </faceted-project> diff --git a/vipra-util/pom.xml b/vipra-util/pom.xml index 47b1f9f9e1f4962219eef5f6adab2e663e2ec43b..515e97df12b1b03388212b06d14bb94a8b53ad4b 100644 --- a/vipra-util/pom.xml +++ b/vipra-util/pom.xml @@ -8,8 +8,8 @@ <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <maven.compiler.target>1.7</maven.compiler.target> - <maven.compiler.source>1.7</maven.compiler.source> + <maven.compiler.target>1.8</maven.compiler.target> + <maven.compiler.source>1.8</maven.compiler.source> <log4jVersion>2.4.1</log4jVersion> </properties>