Commit 6b522d72319849e6ba144f77ed18ce044551d0d3
1 parent
40b2761e
Exists in
master
Adicionando estrutura inicial no backend
Showing
67 changed files
with
2610 additions
and
35 deletions
Show diff stats
codigos/backend/.gitignore
| 1 | -# Created by https://www.gitignore.io/api/java,netbeans | ||
| 2 | -# Edit at https://www.gitignore.io/?templates=java,netbeans | ||
| 3 | - | ||
| 4 | -### Java ### | ||
| 5 | -# Compiled class file | ||
| 6 | -*.class | ||
| 7 | - | ||
| 8 | -# Log file | ||
| 9 | -*.log | ||
| 10 | - | ||
| 11 | -# BlueJ files | ||
| 12 | -*.ctxt | ||
| 13 | - | ||
| 14 | -# Mobile Tools for Java (J2ME) | ||
| 15 | -.mtj.tmp/ | ||
| 16 | - | ||
| 17 | -# Package Files # | ||
| 18 | -*.jar | ||
| 19 | -*.war | ||
| 20 | -*.nar | ||
| 21 | -*.ear | ||
| 22 | -*.zip | ||
| 23 | -*.tar.gz | ||
| 24 | -*.rar | ||
| 25 | - | ||
| 26 | -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml | ||
| 27 | -hs_err_pid* | 1 | +HELP.md |
| 2 | +target/ | ||
| 3 | +!.mvn/wrapper/maven-wrapper.jar | ||
| 4 | +!**/src/main/** | ||
| 5 | +!**/src/test/** | ||
| 6 | + | ||
| 7 | +### STS ### | ||
| 8 | +.apt_generated | ||
| 9 | +.classpath | ||
| 10 | +.factorypath | ||
| 11 | +.project | ||
| 12 | +.settings | ||
| 13 | +.springBeans | ||
| 14 | +.sts4-cache | ||
| 15 | + | ||
| 16 | +### IntelliJ IDEA ### | ||
| 17 | +.idea | ||
| 18 | +*.iws | ||
| 19 | +*.iml | ||
| 20 | +*.ipr | ||
| 28 | 21 | ||
| 29 | ### NetBeans ### | 22 | ### NetBeans ### |
| 30 | -**/nbproject/private/ | ||
| 31 | -**/nbproject/Makefile-*.mk | ||
| 32 | -**/nbproject/Package-*.bash | 23 | +/nbproject/private/ |
| 24 | +/nbbuild/ | ||
| 25 | +/dist/ | ||
| 26 | +/nbdist/ | ||
| 27 | +/.nb-gradle/ | ||
| 33 | build/ | 28 | build/ |
| 34 | -nbbuild/ | ||
| 35 | -dist/ | ||
| 36 | -nbdist/ | ||
| 37 | -.nb-gradle/ | ||
| 38 | 29 | ||
| 39 | -# End of https://www.gitignore.io/api/java,netbeans | 30 | +### VS Code ### |
| 31 | +.vscode/ |
codigos/backend/.mvn/wrapper/MavenWrapperDownloader.java
0 → 100644
| @@ -0,0 +1,117 @@ | @@ -0,0 +1,117 @@ | ||
| 1 | +/* | ||
| 2 | + * Copyright 2007-present the original author or authors. | ||
| 3 | + * | ||
| 4 | + * Licensed under the Apache License, Version 2.0 (the "License"); | ||
| 5 | + * you may not use this file except in compliance with the License. | ||
| 6 | + * You may obtain a copy of the License at | ||
| 7 | + * | ||
| 8 | + * https://www.apache.org/licenses/LICENSE-2.0 | ||
| 9 | + * | ||
| 10 | + * Unless required by applicable law or agreed to in writing, software | ||
| 11 | + * distributed under the License is distributed on an "AS IS" BASIS, | ||
| 12 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| 13 | + * See the License for the specific language governing permissions and | ||
| 14 | + * limitations under the License. | ||
| 15 | + */ | ||
| 16 | +import java.net.*; | ||
| 17 | +import java.io.*; | ||
| 18 | +import java.nio.channels.*; | ||
| 19 | +import java.util.Properties; | ||
| 20 | + | ||
| 21 | +public class MavenWrapperDownloader { | ||
| 22 | + | ||
| 23 | + private static final String WRAPPER_VERSION = "0.5.6"; | ||
| 24 | + /** | ||
| 25 | + * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. | ||
| 26 | + */ | ||
| 27 | + private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" | ||
| 28 | + + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; | ||
| 29 | + | ||
| 30 | + /** | ||
| 31 | + * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to | ||
| 32 | + * use instead of the default one. | ||
| 33 | + */ | ||
| 34 | + private static final String MAVEN_WRAPPER_PROPERTIES_PATH = | ||
| 35 | + ".mvn/wrapper/maven-wrapper.properties"; | ||
| 36 | + | ||
| 37 | + /** | ||
| 38 | + * Path where the maven-wrapper.jar will be saved to. | ||
| 39 | + */ | ||
| 40 | + private static final String MAVEN_WRAPPER_JAR_PATH = | ||
| 41 | + ".mvn/wrapper/maven-wrapper.jar"; | ||
| 42 | + | ||
| 43 | + /** | ||
| 44 | + * Name of the property which should be used to override the default download url for the wrapper. | ||
| 45 | + */ | ||
| 46 | + private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; | ||
| 47 | + | ||
| 48 | + public static void main(String args[]) { | ||
| 49 | + System.out.println("- Downloader started"); | ||
| 50 | + File baseDirectory = new File(args[0]); | ||
| 51 | + System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); | ||
| 52 | + | ||
| 53 | + // If the maven-wrapper.properties exists, read it and check if it contains a custom | ||
| 54 | + // wrapperUrl parameter. | ||
| 55 | + File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); | ||
| 56 | + String url = DEFAULT_DOWNLOAD_URL; | ||
| 57 | + if(mavenWrapperPropertyFile.exists()) { | ||
| 58 | + FileInputStream mavenWrapperPropertyFileInputStream = null; | ||
| 59 | + try { | ||
| 60 | + mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); | ||
| 61 | + Properties mavenWrapperProperties = new Properties(); | ||
| 62 | + mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); | ||
| 63 | + url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); | ||
| 64 | + } catch (IOException e) { | ||
| 65 | + System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); | ||
| 66 | + } finally { | ||
| 67 | + try { | ||
| 68 | + if(mavenWrapperPropertyFileInputStream != null) { | ||
| 69 | + mavenWrapperPropertyFileInputStream.close(); | ||
| 70 | + } | ||
| 71 | + } catch (IOException e) { | ||
| 72 | + // Ignore ... | ||
| 73 | + } | ||
| 74 | + } | ||
| 75 | + } | ||
| 76 | + System.out.println("- Downloading from: " + url); | ||
| 77 | + | ||
| 78 | + File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); | ||
| 79 | + if(!outputFile.getParentFile().exists()) { | ||
| 80 | + if(!outputFile.getParentFile().mkdirs()) { | ||
| 81 | + System.out.println( | ||
| 82 | + "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); | ||
| 83 | + } | ||
| 84 | + } | ||
| 85 | + System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); | ||
| 86 | + try { | ||
| 87 | + downloadFileFromURL(url, outputFile); | ||
| 88 | + System.out.println("Done"); | ||
| 89 | + System.exit(0); | ||
| 90 | + } catch (Throwable e) { | ||
| 91 | + System.out.println("- Error downloading"); | ||
| 92 | + e.printStackTrace(); | ||
| 93 | + System.exit(1); | ||
| 94 | + } | ||
| 95 | + } | ||
| 96 | + | ||
| 97 | + private static void downloadFileFromURL(String urlString, File destination) throws Exception { | ||
| 98 | + if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { | ||
| 99 | + String username = System.getenv("MVNW_USERNAME"); | ||
| 100 | + char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); | ||
| 101 | + Authenticator.setDefault(new Authenticator() { | ||
| 102 | + @Override | ||
| 103 | + protected PasswordAuthentication getPasswordAuthentication() { | ||
| 104 | + return new PasswordAuthentication(username, password); | ||
| 105 | + } | ||
| 106 | + }); | ||
| 107 | + } | ||
| 108 | + URL website = new URL(urlString); | ||
| 109 | + ReadableByteChannel rbc; | ||
| 110 | + rbc = Channels.newChannel(website.openStream()); | ||
| 111 | + FileOutputStream fos = new FileOutputStream(destination); | ||
| 112 | + fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); | ||
| 113 | + fos.close(); | ||
| 114 | + rbc.close(); | ||
| 115 | + } | ||
| 116 | + | ||
| 117 | +} |
No preview for this file type
| @@ -0,0 +1,310 @@ | @@ -0,0 +1,310 @@ | ||
| 1 | +#!/bin/sh | ||
| 2 | +# ---------------------------------------------------------------------------- | ||
| 3 | +# Licensed to the Apache Software Foundation (ASF) under one | ||
| 4 | +# or more contributor license agreements. See the NOTICE file | ||
| 5 | +# distributed with this work for additional information | ||
| 6 | +# regarding copyright ownership. The ASF licenses this file | ||
| 7 | +# to you under the Apache License, Version 2.0 (the | ||
| 8 | +# "License"); you may not use this file except in compliance | ||
| 9 | +# with the License. You may obtain a copy of the License at | ||
| 10 | +# | ||
| 11 | +# https://www.apache.org/licenses/LICENSE-2.0 | ||
| 12 | +# | ||
| 13 | +# Unless required by applicable law or agreed to in writing, | ||
| 14 | +# software distributed under the License is distributed on an | ||
| 15 | +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
| 16 | +# KIND, either express or implied. See the License for the | ||
| 17 | +# specific language governing permissions and limitations | ||
| 18 | +# under the License. | ||
| 19 | +# ---------------------------------------------------------------------------- | ||
| 20 | + | ||
| 21 | +# ---------------------------------------------------------------------------- | ||
| 22 | +# Maven Start Up Batch script | ||
| 23 | +# | ||
| 24 | +# Required ENV vars: | ||
| 25 | +# ------------------ | ||
| 26 | +# JAVA_HOME - location of a JDK home dir | ||
| 27 | +# | ||
| 28 | +# Optional ENV vars | ||
| 29 | +# ----------------- | ||
| 30 | +# M2_HOME - location of maven2's installed home dir | ||
| 31 | +# MAVEN_OPTS - parameters passed to the Java VM when running Maven | ||
| 32 | +# e.g. to debug Maven itself, use | ||
| 33 | +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 | ||
| 34 | +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files | ||
| 35 | +# ---------------------------------------------------------------------------- | ||
| 36 | + | ||
| 37 | +if [ -z "$MAVEN_SKIP_RC" ] ; then | ||
| 38 | + | ||
| 39 | + if [ -f /etc/mavenrc ] ; then | ||
| 40 | + . /etc/mavenrc | ||
| 41 | + fi | ||
| 42 | + | ||
| 43 | + if [ -f "$HOME/.mavenrc" ] ; then | ||
| 44 | + . "$HOME/.mavenrc" | ||
| 45 | + fi | ||
| 46 | + | ||
| 47 | +fi | ||
| 48 | + | ||
| 49 | +# OS specific support. $var _must_ be set to either true or false. | ||
| 50 | +cygwin=false; | ||
| 51 | +darwin=false; | ||
| 52 | +mingw=false | ||
| 53 | +case "`uname`" in | ||
| 54 | + CYGWIN*) cygwin=true ;; | ||
| 55 | + MINGW*) mingw=true;; | ||
| 56 | + Darwin*) darwin=true | ||
| 57 | + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home | ||
| 58 | + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html | ||
| 59 | + if [ -z "$JAVA_HOME" ]; then | ||
| 60 | + if [ -x "/usr/libexec/java_home" ]; then | ||
| 61 | + export JAVA_HOME="`/usr/libexec/java_home`" | ||
| 62 | + else | ||
| 63 | + export JAVA_HOME="/Library/Java/Home" | ||
| 64 | + fi | ||
| 65 | + fi | ||
| 66 | + ;; | ||
| 67 | +esac | ||
| 68 | + | ||
| 69 | +if [ -z "$JAVA_HOME" ] ; then | ||
| 70 | + if [ -r /etc/gentoo-release ] ; then | ||
| 71 | + JAVA_HOME=`java-config --jre-home` | ||
| 72 | + fi | ||
| 73 | +fi | ||
| 74 | + | ||
| 75 | +if [ -z "$M2_HOME" ] ; then | ||
| 76 | + ## resolve links - $0 may be a link to maven's home | ||
| 77 | + PRG="$0" | ||
| 78 | + | ||
| 79 | + # need this for relative symlinks | ||
| 80 | + while [ -h "$PRG" ] ; do | ||
| 81 | + ls=`ls -ld "$PRG"` | ||
| 82 | + link=`expr "$ls" : '.*-> \(.*\)$'` | ||
| 83 | + if expr "$link" : '/.*' > /dev/null; then | ||
| 84 | + PRG="$link" | ||
| 85 | + else | ||
| 86 | + PRG="`dirname "$PRG"`/$link" | ||
| 87 | + fi | ||
| 88 | + done | ||
| 89 | + | ||
| 90 | + saveddir=`pwd` | ||
| 91 | + | ||
| 92 | + M2_HOME=`dirname "$PRG"`/.. | ||
| 93 | + | ||
| 94 | + # make it fully qualified | ||
| 95 | + M2_HOME=`cd "$M2_HOME" && pwd` | ||
| 96 | + | ||
| 97 | + cd "$saveddir" | ||
| 98 | + # echo Using m2 at $M2_HOME | ||
| 99 | +fi | ||
| 100 | + | ||
| 101 | +# For Cygwin, ensure paths are in UNIX format before anything is touched | ||
| 102 | +if $cygwin ; then | ||
| 103 | + [ -n "$M2_HOME" ] && | ||
| 104 | + M2_HOME=`cygpath --unix "$M2_HOME"` | ||
| 105 | + [ -n "$JAVA_HOME" ] && | ||
| 106 | + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` | ||
| 107 | + [ -n "$CLASSPATH" ] && | ||
| 108 | + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` | ||
| 109 | +fi | ||
| 110 | + | ||
| 111 | +# For Mingw, ensure paths are in UNIX format before anything is touched | ||
| 112 | +if $mingw ; then | ||
| 113 | + [ -n "$M2_HOME" ] && | ||
| 114 | + M2_HOME="`(cd "$M2_HOME"; pwd)`" | ||
| 115 | + [ -n "$JAVA_HOME" ] && | ||
| 116 | + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" | ||
| 117 | +fi | ||
| 118 | + | ||
| 119 | +if [ -z "$JAVA_HOME" ]; then | ||
| 120 | + javaExecutable="`which javac`" | ||
| 121 | + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then | ||
| 122 | + # readlink(1) is not available as standard on Solaris 10. | ||
| 123 | + readLink=`which readlink` | ||
| 124 | + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then | ||
| 125 | + if $darwin ; then | ||
| 126 | + javaHome="`dirname \"$javaExecutable\"`" | ||
| 127 | + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" | ||
| 128 | + else | ||
| 129 | + javaExecutable="`readlink -f \"$javaExecutable\"`" | ||
| 130 | + fi | ||
| 131 | + javaHome="`dirname \"$javaExecutable\"`" | ||
| 132 | + javaHome=`expr "$javaHome" : '\(.*\)/bin'` | ||
| 133 | + JAVA_HOME="$javaHome" | ||
| 134 | + export JAVA_HOME | ||
| 135 | + fi | ||
| 136 | + fi | ||
| 137 | +fi | ||
| 138 | + | ||
| 139 | +if [ -z "$JAVACMD" ] ; then | ||
| 140 | + if [ -n "$JAVA_HOME" ] ; then | ||
| 141 | + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then | ||
| 142 | + # IBM's JDK on AIX uses strange locations for the executables | ||
| 143 | + JAVACMD="$JAVA_HOME/jre/sh/java" | ||
| 144 | + else | ||
| 145 | + JAVACMD="$JAVA_HOME/bin/java" | ||
| 146 | + fi | ||
| 147 | + else | ||
| 148 | + JAVACMD="`which java`" | ||
| 149 | + fi | ||
| 150 | +fi | ||
| 151 | + | ||
| 152 | +if [ ! -x "$JAVACMD" ] ; then | ||
| 153 | + echo "Error: JAVA_HOME is not defined correctly." >&2 | ||
| 154 | + echo " We cannot execute $JAVACMD" >&2 | ||
| 155 | + exit 1 | ||
| 156 | +fi | ||
| 157 | + | ||
| 158 | +if [ -z "$JAVA_HOME" ] ; then | ||
| 159 | + echo "Warning: JAVA_HOME environment variable is not set." | ||
| 160 | +fi | ||
| 161 | + | ||
| 162 | +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher | ||
| 163 | + | ||
| 164 | +# traverses directory structure from process work directory to filesystem root | ||
| 165 | +# first directory with .mvn subdirectory is considered project base directory | ||
| 166 | +find_maven_basedir() { | ||
| 167 | + | ||
| 168 | + if [ -z "$1" ] | ||
| 169 | + then | ||
| 170 | + echo "Path not specified to find_maven_basedir" | ||
| 171 | + return 1 | ||
| 172 | + fi | ||
| 173 | + | ||
| 174 | + basedir="$1" | ||
| 175 | + wdir="$1" | ||
| 176 | + while [ "$wdir" != '/' ] ; do | ||
| 177 | + if [ -d "$wdir"/.mvn ] ; then | ||
| 178 | + basedir=$wdir | ||
| 179 | + break | ||
| 180 | + fi | ||
| 181 | + # workaround for JBEAP-8937 (on Solaris 10/Sparc) | ||
| 182 | + if [ -d "${wdir}" ]; then | ||
| 183 | + wdir=`cd "$wdir/.."; pwd` | ||
| 184 | + fi | ||
| 185 | + # end of workaround | ||
| 186 | + done | ||
| 187 | + echo "${basedir}" | ||
| 188 | +} | ||
| 189 | + | ||
| 190 | +# concatenates all lines of a file | ||
| 191 | +concat_lines() { | ||
| 192 | + if [ -f "$1" ]; then | ||
| 193 | + echo "$(tr -s '\n' ' ' < "$1")" | ||
| 194 | + fi | ||
| 195 | +} | ||
| 196 | + | ||
| 197 | +BASE_DIR=`find_maven_basedir "$(pwd)"` | ||
| 198 | +if [ -z "$BASE_DIR" ]; then | ||
| 199 | + exit 1; | ||
| 200 | +fi | ||
| 201 | + | ||
| 202 | +########################################################################################## | ||
| 203 | +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central | ||
| 204 | +# This allows using the maven wrapper in projects that prohibit checking in binary data. | ||
| 205 | +########################################################################################## | ||
| 206 | +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then | ||
| 207 | + if [ "$MVNW_VERBOSE" = true ]; then | ||
| 208 | + echo "Found .mvn/wrapper/maven-wrapper.jar" | ||
| 209 | + fi | ||
| 210 | +else | ||
| 211 | + if [ "$MVNW_VERBOSE" = true ]; then | ||
| 212 | + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." | ||
| 213 | + fi | ||
| 214 | + if [ -n "$MVNW_REPOURL" ]; then | ||
| 215 | + jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" | ||
| 216 | + else | ||
| 217 | + jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" | ||
| 218 | + fi | ||
| 219 | + while IFS="=" read key value; do | ||
| 220 | + case "$key" in (wrapperUrl) jarUrl="$value"; break ;; | ||
| 221 | + esac | ||
| 222 | + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" | ||
| 223 | + if [ "$MVNW_VERBOSE" = true ]; then | ||
| 224 | + echo "Downloading from: $jarUrl" | ||
| 225 | + fi | ||
| 226 | + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" | ||
| 227 | + if $cygwin; then | ||
| 228 | + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` | ||
| 229 | + fi | ||
| 230 | + | ||
| 231 | + if command -v wget > /dev/null; then | ||
| 232 | + if [ "$MVNW_VERBOSE" = true ]; then | ||
| 233 | + echo "Found wget ... using wget" | ||
| 234 | + fi | ||
| 235 | + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then | ||
| 236 | + wget "$jarUrl" -O "$wrapperJarPath" | ||
| 237 | + else | ||
| 238 | + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" | ||
| 239 | + fi | ||
| 240 | + elif command -v curl > /dev/null; then | ||
| 241 | + if [ "$MVNW_VERBOSE" = true ]; then | ||
| 242 | + echo "Found curl ... using curl" | ||
| 243 | + fi | ||
| 244 | + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then | ||
| 245 | + curl -o "$wrapperJarPath" "$jarUrl" -f | ||
| 246 | + else | ||
| 247 | + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f | ||
| 248 | + fi | ||
| 249 | + | ||
| 250 | + else | ||
| 251 | + if [ "$MVNW_VERBOSE" = true ]; then | ||
| 252 | + echo "Falling back to using Java to download" | ||
| 253 | + fi | ||
| 254 | + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" | ||
| 255 | + # For Cygwin, switch paths to Windows format before running javac | ||
| 256 | + if $cygwin; then | ||
| 257 | + javaClass=`cygpath --path --windows "$javaClass"` | ||
| 258 | + fi | ||
| 259 | + if [ -e "$javaClass" ]; then | ||
| 260 | + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then | ||
| 261 | + if [ "$MVNW_VERBOSE" = true ]; then | ||
| 262 | + echo " - Compiling MavenWrapperDownloader.java ..." | ||
| 263 | + fi | ||
| 264 | + # Compiling the Java class | ||
| 265 | + ("$JAVA_HOME/bin/javac" "$javaClass") | ||
| 266 | + fi | ||
| 267 | + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then | ||
| 268 | + # Running the downloader | ||
| 269 | + if [ "$MVNW_VERBOSE" = true ]; then | ||
| 270 | + echo " - Running MavenWrapperDownloader.java ..." | ||
| 271 | + fi | ||
| 272 | + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") | ||
| 273 | + fi | ||
| 274 | + fi | ||
| 275 | + fi | ||
| 276 | +fi | ||
| 277 | +########################################################################################## | ||
| 278 | +# End of extension | ||
| 279 | +########################################################################################## | ||
| 280 | + | ||
| 281 | +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} | ||
| 282 | +if [ "$MVNW_VERBOSE" = true ]; then | ||
| 283 | + echo $MAVEN_PROJECTBASEDIR | ||
| 284 | +fi | ||
| 285 | +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" | ||
| 286 | + | ||
| 287 | +# For Cygwin, switch paths to Windows format before running java | ||
| 288 | +if $cygwin; then | ||
| 289 | + [ -n "$M2_HOME" ] && | ||
| 290 | + M2_HOME=`cygpath --path --windows "$M2_HOME"` | ||
| 291 | + [ -n "$JAVA_HOME" ] && | ||
| 292 | + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` | ||
| 293 | + [ -n "$CLASSPATH" ] && | ||
| 294 | + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` | ||
| 295 | + [ -n "$MAVEN_PROJECTBASEDIR" ] && | ||
| 296 | + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` | ||
| 297 | +fi | ||
| 298 | + | ||
| 299 | +# Provide a "standardized" way to retrieve the CLI args that will | ||
| 300 | +# work with both Windows and non-Windows executions. | ||
| 301 | +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" | ||
| 302 | +export MAVEN_CMD_LINE_ARGS | ||
| 303 | + | ||
| 304 | +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain | ||
| 305 | + | ||
| 306 | +exec "$JAVACMD" \ | ||
| 307 | + $MAVEN_OPTS \ | ||
| 308 | + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ | ||
| 309 | + "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ | ||
| 310 | + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" |
| @@ -0,0 +1,182 @@ | @@ -0,0 +1,182 @@ | ||
| 1 | +@REM ---------------------------------------------------------------------------- | ||
| 2 | +@REM Licensed to the Apache Software Foundation (ASF) under one | ||
| 3 | +@REM or more contributor license agreements. See the NOTICE file | ||
| 4 | +@REM distributed with this work for additional information | ||
| 5 | +@REM regarding copyright ownership. The ASF licenses this file | ||
| 6 | +@REM to you under the Apache License, Version 2.0 (the | ||
| 7 | +@REM "License"); you may not use this file except in compliance | ||
| 8 | +@REM with the License. You may obtain a copy of the License at | ||
| 9 | +@REM | ||
| 10 | +@REM https://www.apache.org/licenses/LICENSE-2.0 | ||
| 11 | +@REM | ||
| 12 | +@REM Unless required by applicable law or agreed to in writing, | ||
| 13 | +@REM software distributed under the License is distributed on an | ||
| 14 | +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
| 15 | +@REM KIND, either express or implied. See the License for the | ||
| 16 | +@REM specific language governing permissions and limitations | ||
| 17 | +@REM under the License. | ||
| 18 | +@REM ---------------------------------------------------------------------------- | ||
| 19 | + | ||
| 20 | +@REM ---------------------------------------------------------------------------- | ||
| 21 | +@REM Maven Start Up Batch script | ||
| 22 | +@REM | ||
| 23 | +@REM Required ENV vars: | ||
| 24 | +@REM JAVA_HOME - location of a JDK home dir | ||
| 25 | +@REM | ||
| 26 | +@REM Optional ENV vars | ||
| 27 | +@REM M2_HOME - location of maven2's installed home dir | ||
| 28 | +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands | ||
| 29 | +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending | ||
| 30 | +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven | ||
| 31 | +@REM e.g. to debug Maven itself, use | ||
| 32 | +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 | ||
| 33 | +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files | ||
| 34 | +@REM ---------------------------------------------------------------------------- | ||
| 35 | + | ||
| 36 | +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' | ||
| 37 | +@echo off | ||
| 38 | +@REM set title of command window | ||
| 39 | +title %0 | ||
| 40 | +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' | ||
| 41 | +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% | ||
| 42 | + | ||
| 43 | +@REM set %HOME% to equivalent of $HOME | ||
| 44 | +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") | ||
| 45 | + | ||
| 46 | +@REM Execute a user defined script before this one | ||
| 47 | +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre | ||
| 48 | +@REM check for pre script, once with legacy .bat ending and once with .cmd ending | ||
| 49 | +if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" | ||
| 50 | +if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" | ||
| 51 | +:skipRcPre | ||
| 52 | + | ||
| 53 | +@setlocal | ||
| 54 | + | ||
| 55 | +set ERROR_CODE=0 | ||
| 56 | + | ||
| 57 | +@REM To isolate internal variables from possible post scripts, we use another setlocal | ||
| 58 | +@setlocal | ||
| 59 | + | ||
| 60 | +@REM ==== START VALIDATION ==== | ||
| 61 | +if not "%JAVA_HOME%" == "" goto OkJHome | ||
| 62 | + | ||
| 63 | +echo. | ||
| 64 | +echo Error: JAVA_HOME not found in your environment. >&2 | ||
| 65 | +echo Please set the JAVA_HOME variable in your environment to match the >&2 | ||
| 66 | +echo location of your Java installation. >&2 | ||
| 67 | +echo. | ||
| 68 | +goto error | ||
| 69 | + | ||
| 70 | +:OkJHome | ||
| 71 | +if exist "%JAVA_HOME%\bin\java.exe" goto init | ||
| 72 | + | ||
| 73 | +echo. | ||
| 74 | +echo Error: JAVA_HOME is set to an invalid directory. >&2 | ||
| 75 | +echo JAVA_HOME = "%JAVA_HOME%" >&2 | ||
| 76 | +echo Please set the JAVA_HOME variable in your environment to match the >&2 | ||
| 77 | +echo location of your Java installation. >&2 | ||
| 78 | +echo. | ||
| 79 | +goto error | ||
| 80 | + | ||
| 81 | +@REM ==== END VALIDATION ==== | ||
| 82 | + | ||
| 83 | +:init | ||
| 84 | + | ||
| 85 | +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". | ||
| 86 | +@REM Fallback to current working directory if not found. | ||
| 87 | + | ||
| 88 | +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% | ||
| 89 | +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir | ||
| 90 | + | ||
| 91 | +set EXEC_DIR=%CD% | ||
| 92 | +set WDIR=%EXEC_DIR% | ||
| 93 | +:findBaseDir | ||
| 94 | +IF EXIST "%WDIR%"\.mvn goto baseDirFound | ||
| 95 | +cd .. | ||
| 96 | +IF "%WDIR%"=="%CD%" goto baseDirNotFound | ||
| 97 | +set WDIR=%CD% | ||
| 98 | +goto findBaseDir | ||
| 99 | + | ||
| 100 | +:baseDirFound | ||
| 101 | +set MAVEN_PROJECTBASEDIR=%WDIR% | ||
| 102 | +cd "%EXEC_DIR%" | ||
| 103 | +goto endDetectBaseDir | ||
| 104 | + | ||
| 105 | +:baseDirNotFound | ||
| 106 | +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% | ||
| 107 | +cd "%EXEC_DIR%" | ||
| 108 | + | ||
| 109 | +:endDetectBaseDir | ||
| 110 | + | ||
| 111 | +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig | ||
| 112 | + | ||
| 113 | +@setlocal EnableExtensions EnableDelayedExpansion | ||
| 114 | +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a | ||
| 115 | +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% | ||
| 116 | + | ||
| 117 | +:endReadAdditionalConfig | ||
| 118 | + | ||
| 119 | +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" | ||
| 120 | +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" | ||
| 121 | +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain | ||
| 122 | + | ||
| 123 | +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" | ||
| 124 | + | ||
| 125 | +FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( | ||
| 126 | + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B | ||
| 127 | +) | ||
| 128 | + | ||
| 129 | +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central | ||
| 130 | +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. | ||
| 131 | +if exist %WRAPPER_JAR% ( | ||
| 132 | + if "%MVNW_VERBOSE%" == "true" ( | ||
| 133 | + echo Found %WRAPPER_JAR% | ||
| 134 | + ) | ||
| 135 | +) else ( | ||
| 136 | + if not "%MVNW_REPOURL%" == "" ( | ||
| 137 | + SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" | ||
| 138 | + ) | ||
| 139 | + if "%MVNW_VERBOSE%" == "true" ( | ||
| 140 | + echo Couldn't find %WRAPPER_JAR%, downloading it ... | ||
| 141 | + echo Downloading from: %DOWNLOAD_URL% | ||
| 142 | + ) | ||
| 143 | + | ||
| 144 | + powershell -Command "&{"^ | ||
| 145 | + "$webclient = new-object System.Net.WebClient;"^ | ||
| 146 | + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ | ||
| 147 | + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ | ||
| 148 | + "}"^ | ||
| 149 | + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ | ||
| 150 | + "}" | ||
| 151 | + if "%MVNW_VERBOSE%" == "true" ( | ||
| 152 | + echo Finished downloading %WRAPPER_JAR% | ||
| 153 | + ) | ||
| 154 | +) | ||
| 155 | +@REM End of extension | ||
| 156 | + | ||
| 157 | +@REM Provide a "standardized" way to retrieve the CLI args that will | ||
| 158 | +@REM work with both Windows and non-Windows executions. | ||
| 159 | +set MAVEN_CMD_LINE_ARGS=%* | ||
| 160 | + | ||
| 161 | +%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* | ||
| 162 | +if ERRORLEVEL 1 goto error | ||
| 163 | +goto end | ||
| 164 | + | ||
| 165 | +:error | ||
| 166 | +set ERROR_CODE=1 | ||
| 167 | + | ||
| 168 | +:end | ||
| 169 | +@endlocal & set ERROR_CODE=%ERROR_CODE% | ||
| 170 | + | ||
| 171 | +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost | ||
| 172 | +@REM check for post script, once with legacy .bat ending and once with .cmd ending | ||
| 173 | +if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" | ||
| 174 | +if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" | ||
| 175 | +:skipRcPost | ||
| 176 | + | ||
| 177 | +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' | ||
| 178 | +if "%MAVEN_BATCH_PAUSE%" == "on" pause | ||
| 179 | + | ||
| 180 | +if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% | ||
| 181 | + | ||
| 182 | +exit /B %ERROR_CODE% |
| @@ -0,0 +1,79 @@ | @@ -0,0 +1,79 @@ | ||
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
| 3 | + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
| 4 | + <modelVersion>4.0.0</modelVersion> | ||
| 5 | + <parent> | ||
| 6 | + <groupId>org.springframework.boot</groupId> | ||
| 7 | + <artifactId>spring-boot-starter-parent</artifactId> | ||
| 8 | + <version>2.3.1.RELEASE</version> | ||
| 9 | + <relativePath/> <!-- lookup parent from repository --> | ||
| 10 | + </parent> | ||
| 11 | + <groupId>edu.ifes.ci.si.les.srh</groupId> | ||
| 12 | + <artifactId>srh</artifactId> | ||
| 13 | + <version>0.0.1-SNAPSHOT</version> | ||
| 14 | + <name>srh</name> | ||
| 15 | + <description>A Hybrid Recommendation System build with RESTful API</description> | ||
| 16 | + | ||
| 17 | + <properties> | ||
| 18 | + <java.version>14</java.version> | ||
| 19 | + </properties> | ||
| 20 | + | ||
| 21 | + <dependencies> | ||
| 22 | + <dependency> | ||
| 23 | + <groupId>org.springframework.boot</groupId> | ||
| 24 | + <artifactId>spring-boot-starter-web</artifactId> | ||
| 25 | + </dependency> | ||
| 26 | + | ||
| 27 | + <dependency> | ||
| 28 | + <groupId>org.springframework.boot</groupId> | ||
| 29 | + <artifactId>spring-boot-starter-data-jpa</artifactId> | ||
| 30 | + </dependency> | ||
| 31 | + | ||
| 32 | + <dependency> | ||
| 33 | + <groupId>org.springframework.boot</groupId> | ||
| 34 | + <artifactId>spring-boot-devtools</artifactId> | ||
| 35 | + <scope>runtime</scope> | ||
| 36 | + <optional>true</optional> | ||
| 37 | + </dependency> | ||
| 38 | + <dependency> | ||
| 39 | + <groupId>javax.validation</groupId> | ||
| 40 | + <artifactId>validation-api</artifactId> | ||
| 41 | + </dependency> | ||
| 42 | + <dependency> | ||
| 43 | + <groupId>com.h2database</groupId> | ||
| 44 | + <artifactId>h2</artifactId> | ||
| 45 | + <scope>runtime</scope> | ||
| 46 | + </dependency> | ||
| 47 | + <dependency> | ||
| 48 | + <groupId>org.projectlombok</groupId> | ||
| 49 | + <artifactId>lombok</artifactId> | ||
| 50 | + <optional>true</optional> | ||
| 51 | + </dependency> | ||
| 52 | + <dependency> | ||
| 53 | + <groupId>org.springframework.boot</groupId> | ||
| 54 | + <artifactId>spring-boot-starter-test</artifactId> | ||
| 55 | + <scope>test</scope> | ||
| 56 | + <exclusions> | ||
| 57 | + <exclusion> | ||
| 58 | + <groupId>org.junit.vintage</groupId> | ||
| 59 | + <artifactId>junit-vintage-engine</artifactId> | ||
| 60 | + </exclusion> | ||
| 61 | + </exclusions> | ||
| 62 | + </dependency> | ||
| 63 | + <dependency> | ||
| 64 | + <groupId>org.hibernate.validator</groupId> | ||
| 65 | + <artifactId>hibernate-validator</artifactId> | ||
| 66 | + <version>6.0.18.Final</version> | ||
| 67 | + </dependency> | ||
| 68 | + </dependencies> | ||
| 69 | + | ||
| 70 | + <build> | ||
| 71 | + <plugins> | ||
| 72 | + <plugin> | ||
| 73 | + <groupId>org.springframework.boot</groupId> | ||
| 74 | + <artifactId>spring-boot-maven-plugin</artifactId> | ||
| 75 | + </plugin> | ||
| 76 | + </plugins> | ||
| 77 | + </build> | ||
| 78 | + | ||
| 79 | +</project> |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/SrhApplication.java
0 → 100644
| @@ -0,0 +1,13 @@ | @@ -0,0 +1,13 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh; | ||
| 2 | + | ||
| 3 | +import org.springframework.boot.SpringApplication; | ||
| 4 | +import org.springframework.boot.autoconfigure.SpringBootApplication; | ||
| 5 | + | ||
| 6 | +@SpringBootApplication | ||
| 7 | +public class SrhApplication { | ||
| 8 | + | ||
| 9 | + public static void main(String[] args) { | ||
| 10 | + SpringApplication.run(SrhApplication.class, args); | ||
| 11 | + } | ||
| 12 | + | ||
| 13 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/AdminBuilder.java
0 → 100644
| @@ -0,0 +1,63 @@ | @@ -0,0 +1,63 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.builder; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.model.Admin; | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.model.Project; | ||
| 5 | + | ||
| 6 | +import java.util.List; | ||
| 7 | + | ||
| 8 | +public final class AdminBuilder { | ||
| 9 | + protected String login; | ||
| 10 | + protected String password; | ||
| 11 | + private List<Project> projects; | ||
| 12 | + private Integer id; | ||
| 13 | + private String name; | ||
| 14 | + private String email; | ||
| 15 | + | ||
| 16 | + private AdminBuilder() { | ||
| 17 | + } | ||
| 18 | + | ||
| 19 | + public static AdminBuilder anAdmin() { | ||
| 20 | + return new AdminBuilder(); | ||
| 21 | + } | ||
| 22 | + | ||
| 23 | + public AdminBuilder withProjects(List<Project> projects) { | ||
| 24 | + this.projects = projects; | ||
| 25 | + return this; | ||
| 26 | + } | ||
| 27 | + | ||
| 28 | + public AdminBuilder withId(Integer id) { | ||
| 29 | + this.id = id; | ||
| 30 | + return this; | ||
| 31 | + } | ||
| 32 | + | ||
| 33 | + public AdminBuilder withLogin(String login) { | ||
| 34 | + this.login = login; | ||
| 35 | + return this; | ||
| 36 | + } | ||
| 37 | + | ||
| 38 | + public AdminBuilder withName(String name) { | ||
| 39 | + this.name = name; | ||
| 40 | + return this; | ||
| 41 | + } | ||
| 42 | + | ||
| 43 | + public AdminBuilder withEmail(String email) { | ||
| 44 | + this.email = email; | ||
| 45 | + return this; | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + public AdminBuilder withPassword(String password) { | ||
| 49 | + this.password = password; | ||
| 50 | + return this; | ||
| 51 | + } | ||
| 52 | + | ||
| 53 | + public Admin build() { | ||
| 54 | + Admin admin = new Admin(); | ||
| 55 | + admin.setProjects(projects); | ||
| 56 | + admin.setId(id); | ||
| 57 | + admin.setLogin(login); | ||
| 58 | + admin.setName(name); | ||
| 59 | + admin.setEmail(email); | ||
| 60 | + admin.setPassword(password); | ||
| 61 | + return admin; | ||
| 62 | + } | ||
| 63 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/ApiUserBuilder.java
0 → 100644
| @@ -0,0 +1,63 @@ | @@ -0,0 +1,63 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.builder; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.model.ApiUser; | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.model.Profile; | ||
| 5 | + | ||
| 6 | +import java.util.List; | ||
| 7 | + | ||
| 8 | +public final class ApiUserBuilder { | ||
| 9 | + protected String login; | ||
| 10 | + protected String password; | ||
| 11 | + private List<Profile> profiles; | ||
| 12 | + private Integer id; | ||
| 13 | + private String name; | ||
| 14 | + private String email; | ||
| 15 | + | ||
| 16 | + private ApiUserBuilder() { | ||
| 17 | + } | ||
| 18 | + | ||
| 19 | + public static ApiUserBuilder anApiUser() { | ||
| 20 | + return new ApiUserBuilder(); | ||
| 21 | + } | ||
| 22 | + | ||
| 23 | + public ApiUserBuilder withProfiles(List<Profile> profiles) { | ||
| 24 | + this.profiles = profiles; | ||
| 25 | + return this; | ||
| 26 | + } | ||
| 27 | + | ||
| 28 | + public ApiUserBuilder withId(Integer id) { | ||
| 29 | + this.id = id; | ||
| 30 | + return this; | ||
| 31 | + } | ||
| 32 | + | ||
| 33 | + public ApiUserBuilder withLogin(String login) { | ||
| 34 | + this.login = login; | ||
| 35 | + return this; | ||
| 36 | + } | ||
| 37 | + | ||
| 38 | + public ApiUserBuilder withName(String name) { | ||
| 39 | + this.name = name; | ||
| 40 | + return this; | ||
| 41 | + } | ||
| 42 | + | ||
| 43 | + public ApiUserBuilder withEmail(String email) { | ||
| 44 | + this.email = email; | ||
| 45 | + return this; | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + public ApiUserBuilder withPassword(String password) { | ||
| 49 | + this.password = password; | ||
| 50 | + return this; | ||
| 51 | + } | ||
| 52 | + | ||
| 53 | + public ApiUser build() { | ||
| 54 | + ApiUser apiUser = new ApiUser(); | ||
| 55 | + apiUser.setProfiles(profiles); | ||
| 56 | + apiUser.setId(id); | ||
| 57 | + apiUser.setLogin(login); | ||
| 58 | + apiUser.setName(name); | ||
| 59 | + apiUser.setEmail(email); | ||
| 60 | + apiUser.setPassword(password); | ||
| 61 | + return apiUser; | ||
| 62 | + } | ||
| 63 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/EvaluatorBuilder.java
0 → 100644
| @@ -0,0 +1,79 @@ | @@ -0,0 +1,79 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.builder; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.model.Evaluator; | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.model.ItemRating; | ||
| 5 | +import edu.ifes.ci.si.les.srh.srh.model.Project; | ||
| 6 | +import edu.ifes.ci.si.les.srh.srh.model.RecommendationRating; | ||
| 7 | + | ||
| 8 | +import java.util.List; | ||
| 9 | + | ||
| 10 | +public final class EvaluatorBuilder { | ||
| 11 | + protected String login; | ||
| 12 | + protected String password; | ||
| 13 | + private List<Project> projects; | ||
| 14 | + private List<ItemRating> itemRatings; | ||
| 15 | + private List<RecommendationRating> recommendationRatings; | ||
| 16 | + private Integer id; | ||
| 17 | + private String name; | ||
| 18 | + private String email; | ||
| 19 | + | ||
| 20 | + private EvaluatorBuilder() { | ||
| 21 | + } | ||
| 22 | + | ||
| 23 | + public static EvaluatorBuilder anEvaluator() { | ||
| 24 | + return new EvaluatorBuilder(); | ||
| 25 | + } | ||
| 26 | + | ||
| 27 | + public EvaluatorBuilder withProjects(List<Project> projects) { | ||
| 28 | + this.projects = projects; | ||
| 29 | + return this; | ||
| 30 | + } | ||
| 31 | + | ||
| 32 | + public EvaluatorBuilder withItemRatings(List<ItemRating> itemRatings) { | ||
| 33 | + this.itemRatings = itemRatings; | ||
| 34 | + return this; | ||
| 35 | + } | ||
| 36 | + | ||
| 37 | + public EvaluatorBuilder withRecommendationRatings(List<RecommendationRating> recommendationRatings) { | ||
| 38 | + this.recommendationRatings = recommendationRatings; | ||
| 39 | + return this; | ||
| 40 | + } | ||
| 41 | + | ||
| 42 | + public EvaluatorBuilder withId(Integer id) { | ||
| 43 | + this.id = id; | ||
| 44 | + return this; | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | + public EvaluatorBuilder withLogin(String login) { | ||
| 48 | + this.login = login; | ||
| 49 | + return this; | ||
| 50 | + } | ||
| 51 | + | ||
| 52 | + public EvaluatorBuilder withName(String name) { | ||
| 53 | + this.name = name; | ||
| 54 | + return this; | ||
| 55 | + } | ||
| 56 | + | ||
| 57 | + public EvaluatorBuilder withEmail(String email) { | ||
| 58 | + this.email = email; | ||
| 59 | + return this; | ||
| 60 | + } | ||
| 61 | + | ||
| 62 | + public EvaluatorBuilder withPassword(String password) { | ||
| 63 | + this.password = password; | ||
| 64 | + return this; | ||
| 65 | + } | ||
| 66 | + | ||
| 67 | + public Evaluator build() { | ||
| 68 | + Evaluator evaluator = new Evaluator(); | ||
| 69 | + evaluator.setProjects(projects); | ||
| 70 | + evaluator.setItemRatings(itemRatings); | ||
| 71 | + evaluator.setRecommendationRatings(recommendationRatings); | ||
| 72 | + evaluator.setId(id); | ||
| 73 | + evaluator.setLogin(login); | ||
| 74 | + evaluator.setName(name); | ||
| 75 | + evaluator.setEmail(email); | ||
| 76 | + evaluator.setPassword(password); | ||
| 77 | + return evaluator; | ||
| 78 | + } | ||
| 79 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/ItemBuilder.java
0 → 100644
| @@ -0,0 +1,84 @@ | @@ -0,0 +1,84 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.builder; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.model.*; | ||
| 4 | + | ||
| 5 | +import java.util.HashMap; | ||
| 6 | +import java.util.List; | ||
| 7 | + | ||
| 8 | +public final class ItemBuilder { | ||
| 9 | + private Integer id; | ||
| 10 | + private String name; | ||
| 11 | + private String description; | ||
| 12 | + private HashMap<String, String> attributes; | ||
| 13 | + private List<ItemRating> itemRatings; | ||
| 14 | + private List<Recommendation> recommendations; | ||
| 15 | + private Project project; | ||
| 16 | + private TypeItem typeItem; | ||
| 17 | + private List<Tag> tags; | ||
| 18 | + | ||
| 19 | + private ItemBuilder() { | ||
| 20 | + } | ||
| 21 | + | ||
| 22 | + public static ItemBuilder anItem() { | ||
| 23 | + return new ItemBuilder(); | ||
| 24 | + } | ||
| 25 | + | ||
| 26 | + public ItemBuilder withId(Integer id) { | ||
| 27 | + this.id = id; | ||
| 28 | + return this; | ||
| 29 | + } | ||
| 30 | + | ||
| 31 | + public ItemBuilder withName(String name) { | ||
| 32 | + this.name = name; | ||
| 33 | + return this; | ||
| 34 | + } | ||
| 35 | + | ||
| 36 | + public ItemBuilder withDescription(String description) { | ||
| 37 | + this.description = description; | ||
| 38 | + return this; | ||
| 39 | + } | ||
| 40 | + | ||
| 41 | + public ItemBuilder withAttributes(HashMap<String, String> attributes) { | ||
| 42 | + this.attributes = attributes; | ||
| 43 | + return this; | ||
| 44 | + } | ||
| 45 | + | ||
| 46 | + public ItemBuilder withItemRatings(List<ItemRating> itemRatings) { | ||
| 47 | + this.itemRatings = itemRatings; | ||
| 48 | + return this; | ||
| 49 | + } | ||
| 50 | + | ||
| 51 | + public ItemBuilder withRecommendations(List<Recommendation> recommendations) { | ||
| 52 | + this.recommendations = recommendations; | ||
| 53 | + return this; | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + public ItemBuilder withProject(Project project) { | ||
| 57 | + this.project = project; | ||
| 58 | + return this; | ||
| 59 | + } | ||
| 60 | + | ||
| 61 | + public ItemBuilder withTypeItem(TypeItem typeItem) { | ||
| 62 | + this.typeItem = typeItem; | ||
| 63 | + return this; | ||
| 64 | + } | ||
| 65 | + | ||
| 66 | + public ItemBuilder withTags(List<Tag> tags) { | ||
| 67 | + this.tags = tags; | ||
| 68 | + return this; | ||
| 69 | + } | ||
| 70 | + | ||
| 71 | + public Item build() { | ||
| 72 | + Item item = new Item(); | ||
| 73 | + item.setId(id); | ||
| 74 | + item.setName(name); | ||
| 75 | + item.setDescription(description); | ||
| 76 | + item.setAttributes(attributes); | ||
| 77 | + item.setItemRatings(itemRatings); | ||
| 78 | + item.setRecommendations(recommendations); | ||
| 79 | + item.setProject(project); | ||
| 80 | + item.setTypeItem(typeItem); | ||
| 81 | + item.setTags(tags); | ||
| 82 | + return item; | ||
| 83 | + } | ||
| 84 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/ItemRatingBuilder.java
0 → 100644
| @@ -0,0 +1,57 @@ | @@ -0,0 +1,57 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.builder; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.model.Evaluator; | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.model.Item; | ||
| 5 | +import edu.ifes.ci.si.les.srh.srh.model.ItemRating; | ||
| 6 | + | ||
| 7 | +import java.time.LocalDateTime; | ||
| 8 | + | ||
| 9 | +public final class ItemRatingBuilder { | ||
| 10 | + private Evaluator user; | ||
| 11 | + private Item item; | ||
| 12 | + private Integer id; | ||
| 13 | + private Double score; | ||
| 14 | + private LocalDateTime date; | ||
| 15 | + | ||
| 16 | + private ItemRatingBuilder() { | ||
| 17 | + } | ||
| 18 | + | ||
| 19 | + public static ItemRatingBuilder anItemRating() { | ||
| 20 | + return new ItemRatingBuilder(); | ||
| 21 | + } | ||
| 22 | + | ||
| 23 | + public ItemRatingBuilder withUser(Evaluator user) { | ||
| 24 | + this.user = user; | ||
| 25 | + return this; | ||
| 26 | + } | ||
| 27 | + | ||
| 28 | + public ItemRatingBuilder withItem(Item item) { | ||
| 29 | + this.item = item; | ||
| 30 | + return this; | ||
| 31 | + } | ||
| 32 | + | ||
| 33 | + public ItemRatingBuilder withId(Integer id) { | ||
| 34 | + this.id = id; | ||
| 35 | + return this; | ||
| 36 | + } | ||
| 37 | + | ||
| 38 | + public ItemRatingBuilder withScore(Double score) { | ||
| 39 | + this.score = score; | ||
| 40 | + return this; | ||
| 41 | + } | ||
| 42 | + | ||
| 43 | + public ItemRatingBuilder withDate(LocalDateTime date) { | ||
| 44 | + this.date = date; | ||
| 45 | + return this; | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + public ItemRating build() { | ||
| 49 | + ItemRating itemRating = new ItemRating(); | ||
| 50 | + itemRating.setUser(user); | ||
| 51 | + itemRating.setItem(item); | ||
| 52 | + itemRating.setId(id); | ||
| 53 | + itemRating.setScore(score); | ||
| 54 | + itemRating.setDate(date); | ||
| 55 | + return itemRating; | ||
| 56 | + } | ||
| 57 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/ItemTagBuilder.java
0 → 100644
| @@ -0,0 +1,31 @@ | @@ -0,0 +1,31 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.builder; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.model.Item; | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.model.ItemTag; | ||
| 5 | +import edu.ifes.ci.si.les.srh.srh.model.Tag; | ||
| 6 | + | ||
| 7 | +public final class ItemTagBuilder { | ||
| 8 | + private Item item; | ||
| 9 | + private Tag tag; | ||
| 10 | + | ||
| 11 | + private ItemTagBuilder() { | ||
| 12 | + } | ||
| 13 | + | ||
| 14 | + public static ItemTagBuilder anItemTag() { | ||
| 15 | + return new ItemTagBuilder(); | ||
| 16 | + } | ||
| 17 | + | ||
| 18 | + public ItemTagBuilder withItem(Item item) { | ||
| 19 | + this.item = item; | ||
| 20 | + return this; | ||
| 21 | + } | ||
| 22 | + | ||
| 23 | + public ItemTagBuilder withTag(Tag tag) { | ||
| 24 | + this.tag = tag; | ||
| 25 | + return this; | ||
| 26 | + } | ||
| 27 | + | ||
| 28 | + public ItemTag build() { | ||
| 29 | + return new ItemTag(item, tag); | ||
| 30 | + } | ||
| 31 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/ProfileBuilder.java
0 → 100644
| @@ -0,0 +1,42 @@ | @@ -0,0 +1,42 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.builder; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.model.ApiUser; | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.model.Profile; | ||
| 5 | + | ||
| 6 | +import java.util.List; | ||
| 7 | + | ||
| 8 | +public final class ProfileBuilder { | ||
| 9 | + private Integer id; | ||
| 10 | + private String name; | ||
| 11 | + private List<ApiUser> apiUsers; | ||
| 12 | + | ||
| 13 | + private ProfileBuilder() { | ||
| 14 | + } | ||
| 15 | + | ||
| 16 | + public static ProfileBuilder aProfile() { | ||
| 17 | + return new ProfileBuilder(); | ||
| 18 | + } | ||
| 19 | + | ||
| 20 | + public ProfileBuilder withId(Integer id) { | ||
| 21 | + this.id = id; | ||
| 22 | + return this; | ||
| 23 | + } | ||
| 24 | + | ||
| 25 | + public ProfileBuilder withName(String name) { | ||
| 26 | + this.name = name; | ||
| 27 | + return this; | ||
| 28 | + } | ||
| 29 | + | ||
| 30 | + public ProfileBuilder withApiUsers(List<ApiUser> apiUsers) { | ||
| 31 | + this.apiUsers = apiUsers; | ||
| 32 | + return this; | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + public Profile build() { | ||
| 36 | + Profile profile = new Profile(); | ||
| 37 | + profile.setId(id); | ||
| 38 | + profile.setName(name); | ||
| 39 | + profile.setApiUsers(apiUsers); | ||
| 40 | + return profile; | ||
| 41 | + } | ||
| 42 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/ProjectBuilder.java
0 → 100644
| @@ -0,0 +1,84 @@ | @@ -0,0 +1,84 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.builder; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.model.*; | ||
| 4 | + | ||
| 5 | +import java.time.LocalDate; | ||
| 6 | +import java.util.List; | ||
| 7 | + | ||
| 8 | +public final class ProjectBuilder { | ||
| 9 | + private Integer id; | ||
| 10 | + private String name; | ||
| 11 | + private String description; | ||
| 12 | + private LocalDate date; | ||
| 13 | + private Boolean visible; | ||
| 14 | + private Situations situation; | ||
| 15 | + private Admin admin; | ||
| 16 | + private List<Evaluator> evaluators; | ||
| 17 | + private List<Item> itens; | ||
| 18 | + | ||
| 19 | + private ProjectBuilder() { | ||
| 20 | + } | ||
| 21 | + | ||
| 22 | + public static ProjectBuilder aProject() { | ||
| 23 | + return new ProjectBuilder(); | ||
| 24 | + } | ||
| 25 | + | ||
| 26 | + public ProjectBuilder withId(Integer id) { | ||
| 27 | + this.id = id; | ||
| 28 | + return this; | ||
| 29 | + } | ||
| 30 | + | ||
| 31 | + public ProjectBuilder withName(String name) { | ||
| 32 | + this.name = name; | ||
| 33 | + return this; | ||
| 34 | + } | ||
| 35 | + | ||
| 36 | + public ProjectBuilder withDescription(String description) { | ||
| 37 | + this.description = description; | ||
| 38 | + return this; | ||
| 39 | + } | ||
| 40 | + | ||
| 41 | + public ProjectBuilder withDate(LocalDate date) { | ||
| 42 | + this.date = date; | ||
| 43 | + return this; | ||
| 44 | + } | ||
| 45 | + | ||
| 46 | + public ProjectBuilder withVisible(Boolean visible) { | ||
| 47 | + this.visible = visible; | ||
| 48 | + return this; | ||
| 49 | + } | ||
| 50 | + | ||
| 51 | + public ProjectBuilder withSituation(Situations situation) { | ||
| 52 | + this.situation = situation; | ||
| 53 | + return this; | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + public ProjectBuilder withAdmin(Admin admin) { | ||
| 57 | + this.admin = admin; | ||
| 58 | + return this; | ||
| 59 | + } | ||
| 60 | + | ||
| 61 | + public ProjectBuilder withEvaluators(List<Evaluator> evaluators) { | ||
| 62 | + this.evaluators = evaluators; | ||
| 63 | + return this; | ||
| 64 | + } | ||
| 65 | + | ||
| 66 | + public ProjectBuilder withItens(List<Item> itens) { | ||
| 67 | + this.itens = itens; | ||
| 68 | + return this; | ||
| 69 | + } | ||
| 70 | + | ||
| 71 | + public Project build() { | ||
| 72 | + Project project = new Project(); | ||
| 73 | + project.setId(id); | ||
| 74 | + project.setName(name); | ||
| 75 | + project.setDescription(description); | ||
| 76 | + project.setDate(date); | ||
| 77 | + project.setVisible(visible); | ||
| 78 | + project.setSituation(situation); | ||
| 79 | + project.setAdmin(admin); | ||
| 80 | + project.setEvaluators(evaluators); | ||
| 81 | + project.setItens(itens); | ||
| 82 | + return project; | ||
| 83 | + } | ||
| 84 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/RecommendationBuilder.java
0 → 100644
| @@ -0,0 +1,77 @@ | @@ -0,0 +1,77 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.builder; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.model.*; | ||
| 4 | + | ||
| 5 | +import java.time.LocalDateTime; | ||
| 6 | +import java.util.List; | ||
| 7 | + | ||
| 8 | +public final class RecommendationBuilder { | ||
| 9 | + private Integer id; | ||
| 10 | + private Double weight; | ||
| 11 | + private LocalDateTime date; | ||
| 12 | + private Integer runtimeInSeconds; | ||
| 13 | + private TypeRecommendation typeRecommendation; | ||
| 14 | + private Evaluator evaluator; | ||
| 15 | + private Item item; | ||
| 16 | + private List<RecommendationRating> recommendationRatings; | ||
| 17 | + | ||
| 18 | + private RecommendationBuilder() { | ||
| 19 | + } | ||
| 20 | + | ||
| 21 | + public static RecommendationBuilder aRecommendation() { | ||
| 22 | + return new RecommendationBuilder(); | ||
| 23 | + } | ||
| 24 | + | ||
| 25 | + public RecommendationBuilder withId(Integer id) { | ||
| 26 | + this.id = id; | ||
| 27 | + return this; | ||
| 28 | + } | ||
| 29 | + | ||
| 30 | + public RecommendationBuilder withWeight(Double weight) { | ||
| 31 | + this.weight = weight; | ||
| 32 | + return this; | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + public RecommendationBuilder withDate(LocalDateTime date) { | ||
| 36 | + this.date = date; | ||
| 37 | + return this; | ||
| 38 | + } | ||
| 39 | + | ||
| 40 | + public RecommendationBuilder withRuntimeInSeconds(Integer runtimeInSeconds) { | ||
| 41 | + this.runtimeInSeconds = runtimeInSeconds; | ||
| 42 | + return this; | ||
| 43 | + } | ||
| 44 | + | ||
| 45 | + public RecommendationBuilder withTypeRecommendation(TypeRecommendation typeRecommendation) { | ||
| 46 | + this.typeRecommendation = typeRecommendation; | ||
| 47 | + return this; | ||
| 48 | + } | ||
| 49 | + | ||
| 50 | + public RecommendationBuilder withEvaluator(Evaluator evaluator) { | ||
| 51 | + this.evaluator = evaluator; | ||
| 52 | + return this; | ||
| 53 | + } | ||
| 54 | + | ||
| 55 | + public RecommendationBuilder withItem(Item item) { | ||
| 56 | + this.item = item; | ||
| 57 | + return this; | ||
| 58 | + } | ||
| 59 | + | ||
| 60 | + public RecommendationBuilder withRecommendationRatings(List<RecommendationRating> recommendationRatings) { | ||
| 61 | + this.recommendationRatings = recommendationRatings; | ||
| 62 | + return this; | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + public Recommendation build() { | ||
| 66 | + Recommendation recommendation = new Recommendation(); | ||
| 67 | + recommendation.setId(id); | ||
| 68 | + recommendation.setWeight(weight); | ||
| 69 | + recommendation.setDate(date); | ||
| 70 | + recommendation.setRuntimeInSeconds(runtimeInSeconds); | ||
| 71 | + recommendation.setTypeRecommendation(typeRecommendation); | ||
| 72 | + recommendation.setEvaluator(evaluator); | ||
| 73 | + recommendation.setItem(item); | ||
| 74 | + recommendation.setRecommendationRatings(recommendationRatings); | ||
| 75 | + return recommendation; | ||
| 76 | + } | ||
| 77 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/RecommendationRatingBuilder.java
0 → 100644
| @@ -0,0 +1,57 @@ | @@ -0,0 +1,57 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.builder; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.model.Evaluator; | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.model.Recommendation; | ||
| 5 | +import edu.ifes.ci.si.les.srh.srh.model.RecommendationRating; | ||
| 6 | + | ||
| 7 | +import java.time.LocalDateTime; | ||
| 8 | + | ||
| 9 | +public final class RecommendationRatingBuilder { | ||
| 10 | + private Recommendation recommendation; | ||
| 11 | + private Evaluator evaluator; | ||
| 12 | + private Integer id; | ||
| 13 | + private Double score; | ||
| 14 | + private LocalDateTime date; | ||
| 15 | + | ||
| 16 | + private RecommendationRatingBuilder() { | ||
| 17 | + } | ||
| 18 | + | ||
| 19 | + public static RecommendationRatingBuilder aRecommendationRating() { | ||
| 20 | + return new RecommendationRatingBuilder(); | ||
| 21 | + } | ||
| 22 | + | ||
| 23 | + public RecommendationRatingBuilder withRecommendation(Recommendation recommendation) { | ||
| 24 | + this.recommendation = recommendation; | ||
| 25 | + return this; | ||
| 26 | + } | ||
| 27 | + | ||
| 28 | + public RecommendationRatingBuilder withEvaluator(Evaluator evaluator) { | ||
| 29 | + this.evaluator = evaluator; | ||
| 30 | + return this; | ||
| 31 | + } | ||
| 32 | + | ||
| 33 | + public RecommendationRatingBuilder withId(Integer id) { | ||
| 34 | + this.id = id; | ||
| 35 | + return this; | ||
| 36 | + } | ||
| 37 | + | ||
| 38 | + public RecommendationRatingBuilder withScore(Double score) { | ||
| 39 | + this.score = score; | ||
| 40 | + return this; | ||
| 41 | + } | ||
| 42 | + | ||
| 43 | + public RecommendationRatingBuilder withDate(LocalDateTime date) { | ||
| 44 | + this.date = date; | ||
| 45 | + return this; | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + public RecommendationRating build() { | ||
| 49 | + RecommendationRating recommendationRating = new RecommendationRating(); | ||
| 50 | + recommendationRating.setRecommendation(recommendation); | ||
| 51 | + recommendationRating.setEvaluator(evaluator); | ||
| 52 | + recommendationRating.setId(id); | ||
| 53 | + recommendationRating.setScore(score); | ||
| 54 | + recommendationRating.setDate(date); | ||
| 55 | + return recommendationRating; | ||
| 56 | + } | ||
| 57 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/TagBuilder.java
0 → 100644
| @@ -0,0 +1,42 @@ | @@ -0,0 +1,42 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.builder; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.model.Item; | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.model.Tag; | ||
| 5 | + | ||
| 6 | +import java.util.List; | ||
| 7 | + | ||
| 8 | +public final class TagBuilder { | ||
| 9 | + private Integer id; | ||
| 10 | + private String name; | ||
| 11 | + private List<Item> itens; | ||
| 12 | + | ||
| 13 | + private TagBuilder() { | ||
| 14 | + } | ||
| 15 | + | ||
| 16 | + public static TagBuilder aTag() { | ||
| 17 | + return new TagBuilder(); | ||
| 18 | + } | ||
| 19 | + | ||
| 20 | + public TagBuilder withId(Integer id) { | ||
| 21 | + this.id = id; | ||
| 22 | + return this; | ||
| 23 | + } | ||
| 24 | + | ||
| 25 | + public TagBuilder withName(String name) { | ||
| 26 | + this.name = name; | ||
| 27 | + return this; | ||
| 28 | + } | ||
| 29 | + | ||
| 30 | + public TagBuilder withItens(List<Item> itens) { | ||
| 31 | + this.itens = itens; | ||
| 32 | + return this; | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + public Tag build() { | ||
| 36 | + Tag tag = new Tag(); | ||
| 37 | + tag.setId(id); | ||
| 38 | + tag.setName(name); | ||
| 39 | + tag.setItens(itens); | ||
| 40 | + return tag; | ||
| 41 | + } | ||
| 42 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/TypeItemBuilder.java
0 → 100644
| @@ -0,0 +1,49 @@ | @@ -0,0 +1,49 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.builder; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.model.Item; | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.model.TypeItem; | ||
| 5 | + | ||
| 6 | +import java.util.List; | ||
| 7 | + | ||
| 8 | +public final class TypeItemBuilder { | ||
| 9 | + private Integer id; | ||
| 10 | + private String name; | ||
| 11 | + private List<String> requiredAttributes; | ||
| 12 | + private List<Item> itens; | ||
| 13 | + | ||
| 14 | + private TypeItemBuilder() { | ||
| 15 | + } | ||
| 16 | + | ||
| 17 | + public static TypeItemBuilder aTypeItem() { | ||
| 18 | + return new TypeItemBuilder(); | ||
| 19 | + } | ||
| 20 | + | ||
| 21 | + public TypeItemBuilder withId(Integer id) { | ||
| 22 | + this.id = id; | ||
| 23 | + return this; | ||
| 24 | + } | ||
| 25 | + | ||
| 26 | + public TypeItemBuilder withName(String name) { | ||
| 27 | + this.name = name; | ||
| 28 | + return this; | ||
| 29 | + } | ||
| 30 | + | ||
| 31 | + public TypeItemBuilder withRequiredAttributes(List<String> requiredAttributes) { | ||
| 32 | + this.requiredAttributes = requiredAttributes; | ||
| 33 | + return this; | ||
| 34 | + } | ||
| 35 | + | ||
| 36 | + public TypeItemBuilder withItens(List<Item> itens) { | ||
| 37 | + this.itens = itens; | ||
| 38 | + return this; | ||
| 39 | + } | ||
| 40 | + | ||
| 41 | + public TypeItem build() { | ||
| 42 | + TypeItem typeItem = new TypeItem(); | ||
| 43 | + typeItem.setId(id); | ||
| 44 | + typeItem.setName(name); | ||
| 45 | + typeItem.setRequiredAttributes(requiredAttributes); | ||
| 46 | + typeItem.setItens(itens); | ||
| 47 | + return typeItem; | ||
| 48 | + } | ||
| 49 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/error/DefaultErrorDto.java
0 → 100644
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/error/FormErrorDto.java
0 → 100644
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/AdminDto.java
0 → 100644
| @@ -0,0 +1,19 @@ | @@ -0,0 +1,19 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.dto.resource; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.model.Admin; | ||
| 4 | +import lombok.Getter; | ||
| 5 | + | ||
| 6 | +@Getter | ||
| 7 | +public class AdminDto { | ||
| 8 | + private final Integer id; | ||
| 9 | + private final String name; | ||
| 10 | + private final String login; | ||
| 11 | + private final String email; | ||
| 12 | + | ||
| 13 | + public AdminDto(Admin admin) { | ||
| 14 | + this.id = admin.getId(); | ||
| 15 | + this.name = admin.getName(); | ||
| 16 | + this.login = admin.getLogin(); | ||
| 17 | + this.email = admin.getEmail(); | ||
| 18 | + } | ||
| 19 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/AdminForm.java
0 → 100644
| @@ -0,0 +1,44 @@ | @@ -0,0 +1,44 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.dto.resource; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.builder.AdminBuilder; | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.model.Admin; | ||
| 5 | +import lombok.AllArgsConstructor; | ||
| 6 | +import lombok.Getter; | ||
| 7 | +import lombok.NoArgsConstructor; | ||
| 8 | +import org.hibernate.validator.constraints.Length; | ||
| 9 | + | ||
| 10 | +import javax.validation.constraints.Email; | ||
| 11 | +import javax.validation.constraints.NotEmpty; | ||
| 12 | +import javax.validation.constraints.NotNull; | ||
| 13 | + | ||
| 14 | +@Getter | ||
| 15 | +@AllArgsConstructor | ||
| 16 | +@NoArgsConstructor | ||
| 17 | +public class AdminForm { | ||
| 18 | + @NotNull | ||
| 19 | + @NotEmpty | ||
| 20 | + private String name; | ||
| 21 | + | ||
| 22 | + @NotNull | ||
| 23 | + @NotEmpty | ||
| 24 | + private String login; | ||
| 25 | + | ||
| 26 | + @NotNull | ||
| 27 | + @NotEmpty | ||
| 28 | + @Length(min = 6) | ||
| 29 | + private String password; | ||
| 30 | + | ||
| 31 | + @NotNull | ||
| 32 | + @NotEmpty | ||
| 33 | |||
| 34 | + private String email; | ||
| 35 | + | ||
| 36 | + public Admin build() { | ||
| 37 | + return AdminBuilder.anAdmin() | ||
| 38 | + .withName(name) | ||
| 39 | + .withLogin(login) | ||
| 40 | + .withEmail(email) | ||
| 41 | + .withPassword(password) | ||
| 42 | + .build(); | ||
| 43 | + } | ||
| 44 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ApiUserForm.java
0 → 100644
| @@ -0,0 +1,45 @@ | @@ -0,0 +1,45 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.dto.resource; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.builder.ApiUserBuilder; | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.model.ApiUser; | ||
| 5 | +import lombok.AllArgsConstructor; | ||
| 6 | +import lombok.Getter; | ||
| 7 | +import lombok.NoArgsConstructor; | ||
| 8 | +import org.hibernate.validator.constraints.Length; | ||
| 9 | + | ||
| 10 | +import javax.validation.constraints.Email; | ||
| 11 | +import javax.validation.constraints.NotEmpty; | ||
| 12 | +import javax.validation.constraints.NotNull; | ||
| 13 | + | ||
| 14 | +@Getter | ||
| 15 | +@AllArgsConstructor | ||
| 16 | +@NoArgsConstructor | ||
| 17 | +public class ApiUserForm { | ||
| 18 | + @NotEmpty | ||
| 19 | + @NotNull | ||
| 20 | + @Length(min = 3) | ||
| 21 | + private String name; | ||
| 22 | + | ||
| 23 | + @NotEmpty | ||
| 24 | + @NotNull | ||
| 25 | + @Length(min = 3) | ||
| 26 | + private String login; | ||
| 27 | + | ||
| 28 | + @NotEmpty | ||
| 29 | + @NotNull | ||
| 30 | + @Length(min = 6) | ||
| 31 | + private String password; | ||
| 32 | + | ||
| 33 | + @NotNull | ||
| 34 | + @NotEmpty | ||
| 35 | |||
| 36 | + private String email; | ||
| 37 | + | ||
| 38 | + public ApiUser build() { | ||
| 39 | + return ApiUserBuilder.anApiUser() | ||
| 40 | + .withLogin(login) | ||
| 41 | + .withName(name) | ||
| 42 | + .withPassword(password) | ||
| 43 | + .build(); | ||
| 44 | + } | ||
| 45 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ApiUsersDto.java
0 → 100644
| @@ -0,0 +1,19 @@ | @@ -0,0 +1,19 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.dto.resource; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.model.ApiUser; | ||
| 4 | +import lombok.Getter; | ||
| 5 | + | ||
| 6 | +@Getter | ||
| 7 | +public class ApiUsersDto { | ||
| 8 | + private final Integer id; | ||
| 9 | + private final String name; | ||
| 10 | + private final String login; | ||
| 11 | + private final boolean isAdmin; | ||
| 12 | + | ||
| 13 | + public ApiUsersDto(ApiUser apiUser) { | ||
| 14 | + this.id = apiUser.getId(); | ||
| 15 | + this.name = apiUser.getName(); | ||
| 16 | + this.login = apiUser.getLogin(); | ||
| 17 | + this.isAdmin = apiUser.isAdmin(); | ||
| 18 | + } | ||
| 19 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/EvaluatorDto.java
0 → 100644
| @@ -0,0 +1,19 @@ | @@ -0,0 +1,19 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.dto.resource; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.model.Evaluator; | ||
| 4 | +import lombok.Getter; | ||
| 5 | + | ||
| 6 | +@Getter | ||
| 7 | +public class EvaluatorDto { | ||
| 8 | + private final Integer id; | ||
| 9 | + private final String name; | ||
| 10 | + private final String login; | ||
| 11 | + private final String email; | ||
| 12 | + | ||
| 13 | + public EvaluatorDto(Evaluator evaluator) { | ||
| 14 | + this.id = evaluator.getId(); | ||
| 15 | + this.name = evaluator.getName(); | ||
| 16 | + this.login = evaluator.getLogin(); | ||
| 17 | + this.email = evaluator.getEmail(); | ||
| 18 | + } | ||
| 19 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/EvaluatorForm.java
0 → 100644
| @@ -0,0 +1,44 @@ | @@ -0,0 +1,44 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.dto.resource; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.builder.EvaluatorBuilder; | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.model.Evaluator; | ||
| 5 | +import lombok.AllArgsConstructor; | ||
| 6 | +import lombok.Getter; | ||
| 7 | +import lombok.NoArgsConstructor; | ||
| 8 | +import org.hibernate.validator.constraints.Length; | ||
| 9 | + | ||
| 10 | +import javax.validation.constraints.Email; | ||
| 11 | +import javax.validation.constraints.NotEmpty; | ||
| 12 | +import javax.validation.constraints.NotNull; | ||
| 13 | + | ||
| 14 | +@Getter | ||
| 15 | +@AllArgsConstructor | ||
| 16 | +@NoArgsConstructor | ||
| 17 | +public class EvaluatorForm { | ||
| 18 | + @NotNull | ||
| 19 | + @NotEmpty | ||
| 20 | + private String name; | ||
| 21 | + | ||
| 22 | + @NotNull | ||
| 23 | + @NotEmpty | ||
| 24 | + private String login; | ||
| 25 | + | ||
| 26 | + @NotNull | ||
| 27 | + @NotEmpty | ||
| 28 | + @Length(min = 6) | ||
| 29 | + private String password; | ||
| 30 | + | ||
| 31 | + @NotNull | ||
| 32 | + @NotEmpty | ||
| 33 | |||
| 34 | + private String email; | ||
| 35 | + | ||
| 36 | + public Evaluator build() { | ||
| 37 | + return EvaluatorBuilder.anEvaluator() | ||
| 38 | + .withName(name) | ||
| 39 | + .withLogin(login) | ||
| 40 | + .withPassword(password) | ||
| 41 | + .withEmail(email) | ||
| 42 | + .build(); | ||
| 43 | + } | ||
| 44 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ItemDto.java
0 → 100644
| @@ -0,0 +1,20 @@ | @@ -0,0 +1,20 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.dto.resource; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.model.Item; | ||
| 4 | +import lombok.Getter; | ||
| 5 | +import java.util.HashMap; | ||
| 6 | + | ||
| 7 | +@Getter | ||
| 8 | +public class ItemDto { | ||
| 9 | + private final Integer id; | ||
| 10 | + private final String name; | ||
| 11 | + private final String description; | ||
| 12 | + private final HashMap<String, String> attributes; | ||
| 13 | + | ||
| 14 | + public ItemDto(Item item) { | ||
| 15 | + this.id = item.getId(); | ||
| 16 | + this.name = item.getName(); | ||
| 17 | + this.description = item.getDescription(); | ||
| 18 | + this.attributes = item.getAttributes(); | ||
| 19 | + } | ||
| 20 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ItemForm.java
0 → 100644
| @@ -0,0 +1,37 @@ | @@ -0,0 +1,37 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.dto.resource; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.builder.ItemBuilder; | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.model.Item; | ||
| 5 | +import lombok.AllArgsConstructor; | ||
| 6 | +import lombok.Getter; | ||
| 7 | +import lombok.NoArgsConstructor; | ||
| 8 | +import org.hibernate.validator.constraints.Length; | ||
| 9 | + | ||
| 10 | +import javax.validation.constraints.NotEmpty; | ||
| 11 | +import javax.validation.constraints.NotNull; | ||
| 12 | + | ||
| 13 | +@Getter | ||
| 14 | +@AllArgsConstructor | ||
| 15 | +@NoArgsConstructor | ||
| 16 | +public class ItemForm { | ||
| 17 | + @NotNull | ||
| 18 | + @NotEmpty | ||
| 19 | + @Length(min = 3) | ||
| 20 | + private String name; | ||
| 21 | + | ||
| 22 | + @NotNull | ||
| 23 | + @NotEmpty | ||
| 24 | + @Length(min = 3) | ||
| 25 | + private String description; | ||
| 26 | + | ||
| 27 | + @NotNull | ||
| 28 | + @NotEmpty | ||
| 29 | + private String attributes; | ||
| 30 | + | ||
| 31 | + public Item build() { | ||
| 32 | + return ItemBuilder.anItem() | ||
| 33 | + .withName(name) | ||
| 34 | + .withDescription(description) | ||
| 35 | + .build(); | ||
| 36 | + } | ||
| 37 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ItemRatingDto.java
0 → 100644
| @@ -0,0 +1,19 @@ | @@ -0,0 +1,19 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.dto.resource; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.model.ItemRating; | ||
| 4 | +import lombok.Getter; | ||
| 5 | + | ||
| 6 | +import java.time.LocalDateTime; | ||
| 7 | + | ||
| 8 | +@Getter | ||
| 9 | +public class ItemRatingDto { | ||
| 10 | + private final Integer id; | ||
| 11 | + private final Double score; | ||
| 12 | + private final LocalDateTime date; | ||
| 13 | + | ||
| 14 | + public ItemRatingDto(ItemRating itemRating) { | ||
| 15 | + this.id = itemRating.getId(); | ||
| 16 | + this.score = itemRating.getScore(); | ||
| 17 | + this.date = itemRating.getDate(); | ||
| 18 | + } | ||
| 19 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ItemRatingForm.java
0 → 100644
| @@ -0,0 +1,43 @@ | @@ -0,0 +1,43 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.dto.resource; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.builder.EvaluatorBuilder; | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.builder.ItemBuilder; | ||
| 5 | +import edu.ifes.ci.si.les.srh.srh.builder.ItemRatingBuilder; | ||
| 6 | +import edu.ifes.ci.si.les.srh.srh.model.Evaluator; | ||
| 7 | +import edu.ifes.ci.si.les.srh.srh.model.Item; | ||
| 8 | +import edu.ifes.ci.si.les.srh.srh.model.ItemRating; | ||
| 9 | +import lombok.AllArgsConstructor; | ||
| 10 | +import lombok.Getter; | ||
| 11 | +import lombok.NoArgsConstructor; | ||
| 12 | + | ||
| 13 | +import javax.validation.constraints.NotNull; | ||
| 14 | +import java.time.LocalDateTime; | ||
| 15 | + | ||
| 16 | +@Getter | ||
| 17 | +@AllArgsConstructor | ||
| 18 | +@NoArgsConstructor | ||
| 19 | +public class ItemRatingForm { | ||
| 20 | + @NotNull | ||
| 21 | + private Double score; | ||
| 22 | + @NotNull | ||
| 23 | + private Integer evaluatorId; | ||
| 24 | + @NotNull | ||
| 25 | + private Integer itemId; | ||
| 26 | + | ||
| 27 | + public ItemRating build() { | ||
| 28 | + Evaluator evaluator = EvaluatorBuilder.anEvaluator() | ||
| 29 | + .withId(evaluatorId) | ||
| 30 | + .build(); | ||
| 31 | + | ||
| 32 | + Item item = ItemBuilder.anItem() | ||
| 33 | + .withId(itemId) | ||
| 34 | + .build(); | ||
| 35 | + | ||
| 36 | + return ItemRatingBuilder.anItemRating() | ||
| 37 | + .withScore(score) | ||
| 38 | + .withItem(item) | ||
| 39 | + .withUser(evaluator) | ||
| 40 | + .withDate(LocalDateTime.now()) | ||
| 41 | + .build(); | ||
| 42 | + } | ||
| 43 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ItemTagDto.java
0 → 100644
| @@ -0,0 +1,15 @@ | @@ -0,0 +1,15 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.dto.resource; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.model.ItemTag; | ||
| 4 | +import lombok.Getter; | ||
| 5 | + | ||
| 6 | +@Getter | ||
| 7 | +public class ItemTagDto { | ||
| 8 | + private final Integer itemId; | ||
| 9 | + private final Integer tagId; | ||
| 10 | + | ||
| 11 | + public ItemTagDto(ItemTag itemTag) { | ||
| 12 | + this.itemId = itemTag.getItem().getId(); | ||
| 13 | + this.tagId = itemTag.getTag().getId(); | ||
| 14 | + } | ||
| 15 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ItemTagForm.java
0 → 100644
| @@ -0,0 +1,17 @@ | @@ -0,0 +1,17 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.dto.resource; | ||
| 2 | + | ||
| 3 | +import lombok.AllArgsConstructor; | ||
| 4 | +import lombok.Getter; | ||
| 5 | +import lombok.NoArgsConstructor; | ||
| 6 | + | ||
| 7 | +import javax.validation.constraints.NotNull; | ||
| 8 | + | ||
| 9 | +@Getter | ||
| 10 | +@AllArgsConstructor | ||
| 11 | +@NoArgsConstructor | ||
| 12 | +public class ItemTagForm { | ||
| 13 | + @NotNull | ||
| 14 | + private Integer itemId; | ||
| 15 | + @NotNull | ||
| 16 | + private Integer tagId; | ||
| 17 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ProjectDto.java
0 → 100644
| @@ -0,0 +1,26 @@ | @@ -0,0 +1,26 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.dto.resource; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.model.Project; | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.model.Situations; | ||
| 5 | +import lombok.Getter; | ||
| 6 | + | ||
| 7 | +import java.time.LocalDate; | ||
| 8 | + | ||
| 9 | +@Getter | ||
| 10 | +public class ProjectDto { | ||
| 11 | + private final Integer id; | ||
| 12 | + private final String name; | ||
| 13 | + private final String description; | ||
| 14 | + private Situations situation; | ||
| 15 | + private final LocalDate date; | ||
| 16 | + private final Boolean visible; | ||
| 17 | + | ||
| 18 | + public ProjectDto(Project project) { | ||
| 19 | + this.id = project.getId(); | ||
| 20 | + this.name = project.getName(); | ||
| 21 | + this.description = project.getDescription(); | ||
| 22 | + this.date = project.getDate(); | ||
| 23 | + this.situation = project.getSituation(); | ||
| 24 | + this.visible = project.getVisible(); | ||
| 25 | + } | ||
| 26 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ProjectEvaluatorDto.java
0 → 100644
| @@ -0,0 +1,15 @@ | @@ -0,0 +1,15 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.dto.resource; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.model.ProjectEvaluator; | ||
| 4 | +import lombok.Getter; | ||
| 5 | + | ||
| 6 | +@Getter | ||
| 7 | +public class ProjectEvaluatorDto { | ||
| 8 | + private final Integer projectId; | ||
| 9 | + private final Integer recommenderId; | ||
| 10 | + | ||
| 11 | + public ProjectEvaluatorDto(ProjectEvaluator projectEvaluator) { | ||
| 12 | + this.projectId = projectEvaluator.getProject().getId(); | ||
| 13 | + this.recommenderId = projectEvaluator.getEvaluator().getId(); | ||
| 14 | + } | ||
| 15 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ProjectEvaluatorForm.java
0 → 100644
| @@ -0,0 +1,17 @@ | @@ -0,0 +1,17 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.dto.resource; | ||
| 2 | + | ||
| 3 | +import lombok.AllArgsConstructor; | ||
| 4 | +import lombok.Getter; | ||
| 5 | +import lombok.NoArgsConstructor; | ||
| 6 | + | ||
| 7 | +import javax.validation.constraints.NotNull; | ||
| 8 | + | ||
| 9 | +@Getter | ||
| 10 | +@AllArgsConstructor | ||
| 11 | +@NoArgsConstructor | ||
| 12 | +public class ProjectEvaluatorForm { | ||
| 13 | + @NotNull | ||
| 14 | + private Integer projectId; | ||
| 15 | + @NotNull | ||
| 16 | + private Integer recommenderId; | ||
| 17 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ProjectForm.java
0 → 100644
| @@ -0,0 +1,56 @@ | @@ -0,0 +1,56 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.dto.resource; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.builder.AdminBuilder; | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.builder.ProjectBuilder; | ||
| 5 | +import edu.ifes.ci.si.les.srh.srh.model.Admin; | ||
| 6 | +import edu.ifes.ci.si.les.srh.srh.model.Project; | ||
| 7 | +import edu.ifes.ci.si.les.srh.srh.model.Situations; | ||
| 8 | +import lombok.AllArgsConstructor; | ||
| 9 | +import lombok.Getter; | ||
| 10 | +import lombok.NoArgsConstructor; | ||
| 11 | +import org.hibernate.validator.constraints.Length; | ||
| 12 | + | ||
| 13 | +import javax.validation.constraints.NotEmpty; | ||
| 14 | +import javax.validation.constraints.NotNull; | ||
| 15 | +import java.time.LocalDate; | ||
| 16 | + | ||
| 17 | +@Getter | ||
| 18 | +@AllArgsConstructor | ||
| 19 | +@NoArgsConstructor | ||
| 20 | +public class ProjectForm { | ||
| 21 | + | ||
| 22 | + @NotEmpty | ||
| 23 | + @NotNull | ||
| 24 | + @Length(min = 3) | ||
| 25 | + private String name; | ||
| 26 | + | ||
| 27 | + @NotEmpty | ||
| 28 | + @NotNull | ||
| 29 | + @Length(min = 3) | ||
| 30 | + private String description; | ||
| 31 | + | ||
| 32 | + @NotNull | ||
| 33 | + private Integer adminId; | ||
| 34 | + | ||
| 35 | + @NotNull | ||
| 36 | + @NotEmpty | ||
| 37 | + private String situation; | ||
| 38 | + | ||
| 39 | + @NotNull | ||
| 40 | + private Boolean visible; | ||
| 41 | + | ||
| 42 | + public Project build() { | ||
| 43 | + Admin admin = AdminBuilder.anAdmin() | ||
| 44 | + .withId(adminId) | ||
| 45 | + .build(); | ||
| 46 | + | ||
| 47 | + return ProjectBuilder.aProject() | ||
| 48 | + .withName(name) | ||
| 49 | + .withDescription(description) | ||
| 50 | + .withAdmin(admin) | ||
| 51 | + .withSituation(Situations.valueOf(situation)) | ||
| 52 | + .withDate(LocalDate.now()) | ||
| 53 | + .withVisible(visible) | ||
| 54 | + .build(); | ||
| 55 | + } | ||
| 56 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/RecommendationDto.java
0 → 100644
| @@ -0,0 +1,24 @@ | @@ -0,0 +1,24 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.dto.resource; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.model.Recommendation; | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.model.TypeRecommendation; | ||
| 5 | +import lombok.Getter; | ||
| 6 | + | ||
| 7 | +import java.time.LocalDateTime; | ||
| 8 | + | ||
| 9 | +@Getter | ||
| 10 | +public class RecommendationDto { | ||
| 11 | + private final Integer id; | ||
| 12 | + private final Double weight; | ||
| 13 | + private final LocalDateTime date; | ||
| 14 | + private final Integer runtimeInSeconds; | ||
| 15 | + private final TypeRecommendation typeRecommendation; | ||
| 16 | + | ||
| 17 | + public RecommendationDto(Recommendation recommendation) { | ||
| 18 | + this.id = recommendation.getId(); | ||
| 19 | + this.weight = recommendation.getWeight(); | ||
| 20 | + this.date = recommendation.getDate(); | ||
| 21 | + this.runtimeInSeconds = recommendation.getRuntimeInSeconds(); | ||
| 22 | + this.typeRecommendation = recommendation.getTypeRecommendation(); | ||
| 23 | + } | ||
| 24 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/RecommendationRatingDto.java
0 → 100644
| @@ -0,0 +1,20 @@ | @@ -0,0 +1,20 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.dto.resource; | ||
| 2 | + | ||
| 3 | + | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.model.RecommendationRating; | ||
| 5 | +import lombok.Getter; | ||
| 6 | + | ||
| 7 | +import java.time.LocalDateTime; | ||
| 8 | + | ||
| 9 | +@Getter | ||
| 10 | +public class RecommendationRatingDto { | ||
| 11 | + private final Integer id; | ||
| 12 | + private final Double score; | ||
| 13 | + private final LocalDateTime date; | ||
| 14 | + | ||
| 15 | + public RecommendationRatingDto(RecommendationRating recommendationRating) { | ||
| 16 | + this.id = recommendationRating.getId(); | ||
| 17 | + this.score = recommendationRating.getScore(); | ||
| 18 | + this.date = recommendationRating.getDate(); | ||
| 19 | + } | ||
| 20 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/RecommendationRatingForm.java
0 → 100644
| @@ -0,0 +1,35 @@ | @@ -0,0 +1,35 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.dto.resource; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.builder.EvaluatorBuilder; | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.builder.RecommendationBuilder; | ||
| 5 | +import edu.ifes.ci.si.les.srh.srh.builder.RecommendationRatingBuilder; | ||
| 6 | +import edu.ifes.ci.si.les.srh.srh.model.Evaluator; | ||
| 7 | +import edu.ifes.ci.si.les.srh.srh.model.Recommendation; | ||
| 8 | +import edu.ifes.ci.si.les.srh.srh.model.RecommendationRating; | ||
| 9 | + | ||
| 10 | +import javax.validation.constraints.NotNull; | ||
| 11 | + | ||
| 12 | +public class RecommendationRatingForm { | ||
| 13 | + @NotNull | ||
| 14 | + private Double score; | ||
| 15 | + @NotNull | ||
| 16 | + private Integer evaluatorId; | ||
| 17 | + @NotNull | ||
| 18 | + private Integer recommendationId; | ||
| 19 | + | ||
| 20 | + public RecommendationRating build() { | ||
| 21 | + Evaluator evaluator = EvaluatorBuilder.anEvaluator() | ||
| 22 | + .withId(evaluatorId) | ||
| 23 | + .build(); | ||
| 24 | + | ||
| 25 | + Recommendation recommendation = RecommendationBuilder.aRecommendation() | ||
| 26 | + .withId(recommendationId) | ||
| 27 | + .build(); | ||
| 28 | + | ||
| 29 | + return RecommendationRatingBuilder.aRecommendationRating() | ||
| 30 | + .withScore(score) | ||
| 31 | + .withEvaluator(evaluator) | ||
| 32 | + .withRecommendation(recommendation) | ||
| 33 | + .build(); | ||
| 34 | + } | ||
| 35 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/TagDto.java
0 → 100644
| @@ -0,0 +1,15 @@ | @@ -0,0 +1,15 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.dto.resource; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.model.Tag; | ||
| 4 | +import lombok.Getter; | ||
| 5 | + | ||
| 6 | +@Getter | ||
| 7 | +public class TagDto { | ||
| 8 | + private final Integer id; | ||
| 9 | + private final String name; | ||
| 10 | + | ||
| 11 | + public TagDto(Tag tag) { | ||
| 12 | + this.id = tag.getId(); | ||
| 13 | + this.name = tag.getName(); | ||
| 14 | + } | ||
| 15 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/TagForm.java
0 → 100644
| @@ -0,0 +1,25 @@ | @@ -0,0 +1,25 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.dto.resource; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.builder.TagBuilder; | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.model.Tag; | ||
| 5 | +import lombok.AllArgsConstructor; | ||
| 6 | +import lombok.Getter; | ||
| 7 | +import lombok.NoArgsConstructor; | ||
| 8 | + | ||
| 9 | +import javax.validation.constraints.NotEmpty; | ||
| 10 | +import javax.validation.constraints.NotNull; | ||
| 11 | + | ||
| 12 | +@Getter | ||
| 13 | +@AllArgsConstructor | ||
| 14 | +@NoArgsConstructor | ||
| 15 | +public class TagForm { | ||
| 16 | + @NotEmpty | ||
| 17 | + @NotNull | ||
| 18 | + private String name; | ||
| 19 | + | ||
| 20 | + public Tag build() { | ||
| 21 | + return TagBuilder.aTag() | ||
| 22 | + .withName(name) | ||
| 23 | + .build(); | ||
| 24 | + } | ||
| 25 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/error/exception/DuplicateValueException.java
0 → 100644
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/error/exception/RelationshipNotFoundException.java
0 → 100644
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/error/handler/DuplicateValueHandler.java
0 → 100644
| @@ -0,0 +1,20 @@ | @@ -0,0 +1,20 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.error.handler; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.dto.error.DefaultErrorDto; | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.error.exception.DuplicateValueException; | ||
| 5 | +import org.springframework.http.HttpStatus; | ||
| 6 | +import org.springframework.web.bind.annotation.ExceptionHandler; | ||
| 7 | +import org.springframework.web.bind.annotation.ResponseStatus; | ||
| 8 | +import org.springframework.web.bind.annotation.RestControllerAdvice; | ||
| 9 | + | ||
| 10 | +@RestControllerAdvice | ||
| 11 | +public class DuplicateValueHandler { | ||
| 12 | + @ResponseStatus(code = HttpStatus.INTERNAL_SERVER_ERROR) | ||
| 13 | + @ExceptionHandler(DuplicateValueException.class) | ||
| 14 | + public DefaultErrorDto handle(Exception exception) { | ||
| 15 | + return new DefaultErrorDto( | ||
| 16 | + "O vínculo entre os recursos não existe", | ||
| 17 | + exception.getMessage() | ||
| 18 | + ); | ||
| 19 | + } | ||
| 20 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/error/handler/FormHandler.java
0 → 100644
| @@ -0,0 +1,37 @@ | @@ -0,0 +1,37 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.error.handler; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.dto.error.FormErrorDto; | ||
| 4 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 5 | +import org.springframework.context.MessageSource; | ||
| 6 | +import org.springframework.context.i18n.LocaleContextHolder; | ||
| 7 | +import org.springframework.http.HttpStatus; | ||
| 8 | +import org.springframework.validation.FieldError; | ||
| 9 | +import org.springframework.web.bind.MethodArgumentNotValidException; | ||
| 10 | +import org.springframework.web.bind.annotation.ExceptionHandler; | ||
| 11 | +import org.springframework.web.bind.annotation.ResponseStatus; | ||
| 12 | +import org.springframework.web.bind.annotation.RestControllerAdvice; | ||
| 13 | + | ||
| 14 | +import java.util.ArrayList; | ||
| 15 | +import java.util.List; | ||
| 16 | + | ||
| 17 | +@RestControllerAdvice | ||
| 18 | +public class FormHandler { | ||
| 19 | + @Autowired | ||
| 20 | + private MessageSource messageSource; | ||
| 21 | + | ||
| 22 | + @ResponseStatus(code = HttpStatus.BAD_REQUEST) | ||
| 23 | + @ExceptionHandler(MethodArgumentNotValidException.class) | ||
| 24 | + public List<FormErrorDto> handle(MethodArgumentNotValidException exception) { | ||
| 25 | + List<FormErrorDto> dtos = new ArrayList<>(); | ||
| 26 | + | ||
| 27 | + List<FieldError> fieldErrors = exception.getBindingResult().getFieldErrors(); | ||
| 28 | + | ||
| 29 | + fieldErrors.forEach(e -> { | ||
| 30 | + String message = messageSource.getMessage(e, LocaleContextHolder.getLocale()); | ||
| 31 | + FormErrorDto formError = new FormErrorDto(e.getField(), message); | ||
| 32 | + dtos.add(formError); | ||
| 33 | + }); | ||
| 34 | + | ||
| 35 | + return dtos; | ||
| 36 | + } | ||
| 37 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/error/handler/RelationshipNotFoundHandler.java
0 → 100644
| @@ -0,0 +1,20 @@ | @@ -0,0 +1,20 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.error.handler; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.dto.error.DefaultErrorDto; | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.error.exception.RelationshipNotFoundException; | ||
| 5 | +import org.springframework.http.HttpStatus; | ||
| 6 | +import org.springframework.web.bind.annotation.ExceptionHandler; | ||
| 7 | +import org.springframework.web.bind.annotation.ResponseStatus; | ||
| 8 | +import org.springframework.web.bind.annotation.RestControllerAdvice; | ||
| 9 | + | ||
| 10 | +@RestControllerAdvice | ||
| 11 | +public class RelationshipNotFoundHandler { | ||
| 12 | + @ResponseStatus(code = HttpStatus.INTERNAL_SERVER_ERROR) | ||
| 13 | + @ExceptionHandler(RelationshipNotFoundException.class) | ||
| 14 | + public DefaultErrorDto handle(Exception exception) { | ||
| 15 | + return new DefaultErrorDto( | ||
| 16 | + "O relacionamento não existe", | ||
| 17 | + exception.getMessage() | ||
| 18 | + ); | ||
| 19 | + } | ||
| 20 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/Admin.java
0 → 100644
| @@ -0,0 +1,16 @@ | @@ -0,0 +1,16 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.model; | ||
| 2 | + | ||
| 3 | +import lombok.Data; | ||
| 4 | +import lombok.EqualsAndHashCode; | ||
| 5 | + | ||
| 6 | +import javax.persistence.Entity; | ||
| 7 | +import javax.persistence.OneToMany; | ||
| 8 | +import java.util.List; | ||
| 9 | + | ||
| 10 | +@Entity | ||
| 11 | +@Data | ||
| 12 | +@EqualsAndHashCode(callSuper = true) | ||
| 13 | +public class Admin extends User { | ||
| 14 | + @OneToMany(mappedBy = "admin") | ||
| 15 | + private List<Project> projects; | ||
| 16 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/ApiUser.java
0 → 100644
| @@ -0,0 +1,18 @@ | @@ -0,0 +1,18 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.model; | ||
| 2 | + | ||
| 3 | +import lombok.Data; | ||
| 4 | +import lombok.EqualsAndHashCode; | ||
| 5 | + | ||
| 6 | +import javax.persistence.Entity; | ||
| 7 | +import javax.persistence.FetchType; | ||
| 8 | +import javax.persistence.ManyToMany; | ||
| 9 | +import java.util.List; | ||
| 10 | + | ||
| 11 | +@Entity | ||
| 12 | +@Data | ||
| 13 | +@EqualsAndHashCode(callSuper = true) | ||
| 14 | +public class ApiUser extends User { | ||
| 15 | + @ManyToMany(fetch = FetchType.EAGER) | ||
| 16 | + private List<Profile> profiles; | ||
| 17 | + private boolean isAdmin; | ||
| 18 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/Evaluator.java
0 → 100644
| @@ -0,0 +1,23 @@ | @@ -0,0 +1,23 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.model; | ||
| 2 | + | ||
| 3 | +import lombok.Data; | ||
| 4 | +import lombok.EqualsAndHashCode; | ||
| 5 | + | ||
| 6 | +import javax.persistence.Entity; | ||
| 7 | +import javax.persistence.ManyToMany; | ||
| 8 | +import javax.persistence.OneToMany; | ||
| 9 | +import java.util.List; | ||
| 10 | + | ||
| 11 | +@Entity | ||
| 12 | +@Data | ||
| 13 | +@EqualsAndHashCode(callSuper = true) | ||
| 14 | +public class Evaluator extends User { | ||
| 15 | + @ManyToMany | ||
| 16 | + private List<Project> projects; | ||
| 17 | + | ||
| 18 | + @OneToMany(mappedBy = "user") | ||
| 19 | + private List<ItemRating> itemRatings; | ||
| 20 | + | ||
| 21 | + @OneToMany(mappedBy = "evaluator") | ||
| 22 | + private List<RecommendationRating> recommendationRatings; | ||
| 23 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/Item.java
0 → 100644
| @@ -0,0 +1,34 @@ | @@ -0,0 +1,34 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.model; | ||
| 2 | + | ||
| 3 | +import lombok.Data; | ||
| 4 | + | ||
| 5 | +import javax.persistence.*; | ||
| 6 | +import java.util.HashMap; | ||
| 7 | +import java.util.List; | ||
| 8 | + | ||
| 9 | +@Entity | ||
| 10 | +@Data | ||
| 11 | +public class Item { | ||
| 12 | + @Id | ||
| 13 | + @GeneratedValue(strategy = GenerationType.IDENTITY) | ||
| 14 | + private Integer id; | ||
| 15 | + | ||
| 16 | + private String name; | ||
| 17 | + private String description; | ||
| 18 | + private HashMap<String, String> attributes; | ||
| 19 | + | ||
| 20 | + @OneToMany(mappedBy = "item") | ||
| 21 | + private List<ItemRating> itemRatings; | ||
| 22 | + | ||
| 23 | + @OneToMany(mappedBy = "item") | ||
| 24 | + private List<Recommendation> recommendations; | ||
| 25 | + | ||
| 26 | + @ManyToOne | ||
| 27 | + private Project project; | ||
| 28 | + | ||
| 29 | + @ManyToOne | ||
| 30 | + private TypeItem typeItem; | ||
| 31 | + | ||
| 32 | + @ManyToMany(mappedBy = "itens") | ||
| 33 | + private List<Tag> tags; | ||
| 34 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/ItemRating.java
0 → 100644
| @@ -0,0 +1,18 @@ | @@ -0,0 +1,18 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.model; | ||
| 2 | + | ||
| 3 | +import lombok.Data; | ||
| 4 | +import lombok.EqualsAndHashCode; | ||
| 5 | + | ||
| 6 | +import javax.persistence.Entity; | ||
| 7 | +import javax.persistence.ManyToOne; | ||
| 8 | + | ||
| 9 | +@Entity | ||
| 10 | +@Data | ||
| 11 | +@EqualsAndHashCode(callSuper = true) | ||
| 12 | +public class ItemRating extends Rating { | ||
| 13 | + @ManyToOne | ||
| 14 | + private Evaluator user; | ||
| 15 | + | ||
| 16 | + @ManyToOne | ||
| 17 | + private Item item; | ||
| 18 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/ItemTag.java
0 → 100644
| @@ -0,0 +1,76 @@ | @@ -0,0 +1,76 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.model; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.error.exception.DuplicateValueException; | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.error.exception.RelationshipNotFoundException; | ||
| 5 | +import lombok.AllArgsConstructor; | ||
| 6 | +import lombok.Data; | ||
| 7 | +import lombok.SneakyThrows; | ||
| 8 | + | ||
| 9 | +import java.util.List; | ||
| 10 | + | ||
| 11 | +@Data | ||
| 12 | +@AllArgsConstructor | ||
| 13 | +public class ItemTag { | ||
| 14 | + private Item item; | ||
| 15 | + private Tag tag; | ||
| 16 | + | ||
| 17 | + @SneakyThrows | ||
| 18 | + public void addEntities() { | ||
| 19 | + addItemInTag(); | ||
| 20 | + addTagInItem(); | ||
| 21 | + } | ||
| 22 | + | ||
| 23 | + @SneakyThrows | ||
| 24 | + public void removeEntities() { | ||
| 25 | + removeItemInTag(); | ||
| 26 | + removeTagInItem(); | ||
| 27 | + } | ||
| 28 | + | ||
| 29 | + @SneakyThrows | ||
| 30 | + private void addItemInTag() { | ||
| 31 | + List<Item> itensInTag = getItensListInTag(); | ||
| 32 | + | ||
| 33 | + if (itensInTag.contains(item)) | ||
| 34 | + throw new DuplicateValueException("O item já possui vínculo com a tag"); | ||
| 35 | + | ||
| 36 | + itensInTag.add(item); | ||
| 37 | + } | ||
| 38 | + | ||
| 39 | + @SneakyThrows | ||
| 40 | + private void addTagInItem() { | ||
| 41 | + List<Tag> tagsInItem = getTagListInItem(); | ||
| 42 | + | ||
| 43 | + if (tagsInItem.contains(tag)) | ||
| 44 | + throw new DuplicateValueException("A tag já possui vínculo com o item"); | ||
| 45 | + | ||
| 46 | + tagsInItem.add(tag); | ||
| 47 | + } | ||
| 48 | + | ||
| 49 | + @SneakyThrows | ||
| 50 | + private void removeItemInTag() { | ||
| 51 | + List<Item> itensInTag = getItensListInTag(); | ||
| 52 | + | ||
| 53 | + if (!itensInTag.contains(item)) | ||
| 54 | + throw new RelationshipNotFoundException("Não existe vínculo entre o Item e a Tag"); | ||
| 55 | + | ||
| 56 | + itensInTag.remove(item); | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + @SneakyThrows | ||
| 60 | + private void removeTagInItem() { | ||
| 61 | + List<Tag> tagsInItem = getTagListInItem(); | ||
| 62 | + | ||
| 63 | + if (!tagsInItem.contains(tag)) | ||
| 64 | + throw new RelationshipNotFoundException("Não existe vínculo entre a Tag e o Item"); | ||
| 65 | + | ||
| 66 | + tagsInItem.remove(tag); | ||
| 67 | + } | ||
| 68 | + | ||
| 69 | + private List<Item> getItensListInTag() { | ||
| 70 | + return tag.getItens(); | ||
| 71 | + } | ||
| 72 | + | ||
| 73 | + private List<Tag> getTagListInItem() { | ||
| 74 | + return item.getTags(); | ||
| 75 | + } | ||
| 76 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/Profile.java
0 → 100644
| @@ -0,0 +1,19 @@ | @@ -0,0 +1,19 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.model; | ||
| 2 | + | ||
| 3 | +import lombok.Data; | ||
| 4 | + | ||
| 5 | +import javax.persistence.*; | ||
| 6 | +import java.util.List; | ||
| 7 | + | ||
| 8 | +@Entity | ||
| 9 | +@Data | ||
| 10 | +public class Profile { | ||
| 11 | + @Id | ||
| 12 | + @GeneratedValue(strategy = GenerationType.IDENTITY) | ||
| 13 | + private Integer id; | ||
| 14 | + | ||
| 15 | + private String name; | ||
| 16 | + | ||
| 17 | + @ManyToMany | ||
| 18 | + private List<ApiUser> apiUsers; | ||
| 19 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/Project.java
0 → 100644
| @@ -0,0 +1,32 @@ | @@ -0,0 +1,32 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.model; | ||
| 2 | + | ||
| 3 | +import lombok.Data; | ||
| 4 | + | ||
| 5 | +import javax.persistence.*; | ||
| 6 | +import java.time.LocalDate; | ||
| 7 | +import java.util.List; | ||
| 8 | + | ||
| 9 | +@Entity | ||
| 10 | +@Data | ||
| 11 | +public class Project { | ||
| 12 | + @Id | ||
| 13 | + @GeneratedValue(strategy = GenerationType.IDENTITY) | ||
| 14 | + private Integer id; | ||
| 15 | + | ||
| 16 | + private String name; | ||
| 17 | + private String description; | ||
| 18 | + private LocalDate date; | ||
| 19 | + private Boolean visible; | ||
| 20 | + | ||
| 21 | + @Enumerated(EnumType.STRING) | ||
| 22 | + private Situations situation; | ||
| 23 | + | ||
| 24 | + @ManyToOne | ||
| 25 | + private Admin admin; | ||
| 26 | + | ||
| 27 | + @ManyToMany(mappedBy = "projects") | ||
| 28 | + private List<Evaluator> evaluators; | ||
| 29 | + | ||
| 30 | + @OneToMany(mappedBy = "project") | ||
| 31 | + private List<Item> itens; | ||
| 32 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/ProjectEvaluator.java
0 → 100644
| @@ -0,0 +1,76 @@ | @@ -0,0 +1,76 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.model; | ||
| 2 | + | ||
| 3 | +import edu.ifes.ci.si.les.srh.srh.error.exception.DuplicateValueException; | ||
| 4 | +import edu.ifes.ci.si.les.srh.srh.error.exception.RelationshipNotFoundException; | ||
| 5 | +import lombok.AllArgsConstructor; | ||
| 6 | +import lombok.Data; | ||
| 7 | +import lombok.SneakyThrows; | ||
| 8 | + | ||
| 9 | +import java.util.List; | ||
| 10 | + | ||
| 11 | +@Data | ||
| 12 | +@AllArgsConstructor | ||
| 13 | +public class ProjectEvaluator { | ||
| 14 | + private Project project; | ||
| 15 | + private Evaluator evaluator; | ||
| 16 | + | ||
| 17 | + @SneakyThrows | ||
| 18 | + public void addEntities() { | ||
| 19 | + addProjectInRecommender(); | ||
| 20 | + addRecommenderInProject(); | ||
| 21 | + } | ||
| 22 | + | ||
| 23 | + @SneakyThrows | ||
| 24 | + public void removeEntities() { | ||
| 25 | + removeProjectInRecommender(); | ||
| 26 | + removeRecommenderInProject(); | ||
| 27 | + } | ||
| 28 | + | ||
| 29 | + @SneakyThrows | ||
| 30 | + private void addRecommenderInProject() { | ||
| 31 | + List<Evaluator> recommendersInProject = getRecommenderListInProject(); | ||
| 32 | + | ||
| 33 | + if (recommendersInProject.contains(evaluator)) | ||
| 34 | + throw new DuplicateValueException("Recommender link already exists"); | ||
| 35 | + | ||
| 36 | + recommendersInProject.add(evaluator); | ||
| 37 | + } | ||
| 38 | + | ||
| 39 | + @SneakyThrows | ||
| 40 | + private void addProjectInRecommender() { | ||
| 41 | + List<Project> projectsInRecommender = getProjectListInRecommender(); | ||
| 42 | + | ||
| 43 | + if (projectsInRecommender.contains(project)) | ||
| 44 | + throw new DuplicateValueException("Project link already exists"); | ||
| 45 | + | ||
| 46 | + projectsInRecommender.add(project); | ||
| 47 | + } | ||
| 48 | + | ||
| 49 | + @SneakyThrows | ||
| 50 | + private void removeRecommenderInProject() { | ||
| 51 | + List<Evaluator> recommendersInProject = getRecommenderListInProject(); | ||
| 52 | + | ||
| 53 | + if (!recommendersInProject.contains(evaluator)) | ||
| 54 | + throw new RelationshipNotFoundException("Project not exist in Recommender"); | ||
| 55 | + | ||
| 56 | + recommendersInProject.remove(evaluator); | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + @SneakyThrows | ||
| 60 | + private void removeProjectInRecommender() { | ||
| 61 | + List<Project> projectsInRecommender = getProjectListInRecommender(); | ||
| 62 | + | ||
| 63 | + if (!projectsInRecommender.contains(project)) | ||
| 64 | + throw new RelationshipNotFoundException("Recommender not exist in Project"); | ||
| 65 | + | ||
| 66 | + projectsInRecommender.remove(project); | ||
| 67 | + } | ||
| 68 | + | ||
| 69 | + private List<Evaluator> getRecommenderListInProject() { | ||
| 70 | + return project.getEvaluators(); | ||
| 71 | + } | ||
| 72 | + | ||
| 73 | + private List<Project> getProjectListInRecommender() { | ||
| 74 | + return evaluator.getProjects(); | ||
| 75 | + } | ||
| 76 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/Rating.java
0 → 100644
| @@ -0,0 +1,20 @@ | @@ -0,0 +1,20 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.model; | ||
| 2 | + | ||
| 3 | +import lombok.Data; | ||
| 4 | + | ||
| 5 | +import javax.persistence.GeneratedValue; | ||
| 6 | +import javax.persistence.GenerationType; | ||
| 7 | +import javax.persistence.Id; | ||
| 8 | +import javax.persistence.MappedSuperclass; | ||
| 9 | +import java.time.LocalDateTime; | ||
| 10 | + | ||
| 11 | +@MappedSuperclass | ||
| 12 | +@Data | ||
| 13 | +public abstract class Rating { | ||
| 14 | + @Id | ||
| 15 | + @GeneratedValue(strategy = GenerationType.IDENTITY) | ||
| 16 | + private Integer id; | ||
| 17 | + | ||
| 18 | + private Double score; | ||
| 19 | + private LocalDateTime date; | ||
| 20 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/Recommendation.java
0 → 100644
| @@ -0,0 +1,31 @@ | @@ -0,0 +1,31 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.model; | ||
| 2 | + | ||
| 3 | +import lombok.Data; | ||
| 4 | + | ||
| 5 | +import javax.persistence.*; | ||
| 6 | +import java.time.LocalDateTime; | ||
| 7 | +import java.util.List; | ||
| 8 | + | ||
| 9 | +@Entity | ||
| 10 | +@Data | ||
| 11 | +public class Recommendation { | ||
| 12 | + @Id | ||
| 13 | + @GeneratedValue(strategy = GenerationType.IDENTITY) | ||
| 14 | + private Integer id; | ||
| 15 | + | ||
| 16 | + private Double weight; | ||
| 17 | + private LocalDateTime date; | ||
| 18 | + private Integer runtimeInSeconds; | ||
| 19 | + | ||
| 20 | + @Enumerated(EnumType.STRING) | ||
| 21 | + private TypeRecommendation typeRecommendation; | ||
| 22 | + | ||
| 23 | + @ManyToOne | ||
| 24 | + private Evaluator evaluator; | ||
| 25 | + | ||
| 26 | + @ManyToOne | ||
| 27 | + private Item item; | ||
| 28 | + | ||
| 29 | + @OneToMany(mappedBy = "recommendation") | ||
| 30 | + private List<RecommendationRating> recommendationRatings; | ||
| 31 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/RecommendationRating.java
0 → 100644
| @@ -0,0 +1,18 @@ | @@ -0,0 +1,18 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.model; | ||
| 2 | + | ||
| 3 | +import lombok.Data; | ||
| 4 | +import lombok.EqualsAndHashCode; | ||
| 5 | + | ||
| 6 | +import javax.persistence.Entity; | ||
| 7 | +import javax.persistence.ManyToOne; | ||
| 8 | + | ||
| 9 | +@Entity | ||
| 10 | +@Data | ||
| 11 | +@EqualsAndHashCode(callSuper = true) | ||
| 12 | +public class RecommendationRating extends Rating { | ||
| 13 | + @ManyToOne | ||
| 14 | + private Recommendation recommendation; | ||
| 15 | + | ||
| 16 | + @ManyToOne | ||
| 17 | + private Evaluator evaluator; | ||
| 18 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/Situations.java
0 → 100644
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/Tag.java
0 → 100644
| @@ -0,0 +1,20 @@ | @@ -0,0 +1,20 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.model; | ||
| 2 | + | ||
| 3 | +import lombok.Data; | ||
| 4 | + | ||
| 5 | +import javax.persistence.*; | ||
| 6 | +import java.util.List; | ||
| 7 | + | ||
| 8 | +@Entity | ||
| 9 | +@Data | ||
| 10 | +public class Tag { | ||
| 11 | + @Id | ||
| 12 | + @GeneratedValue(strategy = GenerationType.IDENTITY) | ||
| 13 | + private Integer id; | ||
| 14 | + | ||
| 15 | + @Column(unique = true) | ||
| 16 | + private String name; | ||
| 17 | + | ||
| 18 | + @ManyToMany | ||
| 19 | + private List<Item> itens; | ||
| 20 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/TypeItem.java
0 → 100644
| @@ -0,0 +1,20 @@ | @@ -0,0 +1,20 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.model; | ||
| 2 | + | ||
| 3 | +import lombok.Data; | ||
| 4 | + | ||
| 5 | +import javax.persistence.*; | ||
| 6 | +import java.util.List; | ||
| 7 | + | ||
| 8 | +@Entity | ||
| 9 | +@Data | ||
| 10 | +public class TypeItem { | ||
| 11 | + @Id | ||
| 12 | + @GeneratedValue(strategy = GenerationType.IDENTITY) | ||
| 13 | + private Integer id; | ||
| 14 | + | ||
| 15 | + private String name; | ||
| 16 | + private List<String> requiredAttributes; | ||
| 17 | + | ||
| 18 | + @OneToMany(mappedBy = "typeItem") | ||
| 19 | + private List<Item> itens; | ||
| 20 | +} |
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/TypeRecommendation.java
0 → 100644
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/User.java
0 → 100644
| @@ -0,0 +1,20 @@ | @@ -0,0 +1,20 @@ | ||
| 1 | +package edu.ifes.ci.si.les.srh.srh.model; | ||
| 2 | + | ||
| 3 | +import lombok.Data; | ||
| 4 | + | ||
| 5 | +import javax.persistence.*; | ||
| 6 | + | ||
| 7 | +@MappedSuperclass | ||
| 8 | +@Data | ||
| 9 | +public abstract class User { | ||
| 10 | + @Id | ||
| 11 | + @GeneratedValue(strategy = GenerationType.IDENTITY) | ||
| 12 | + private Integer id; | ||
| 13 | + | ||
| 14 | + @Column(unique = true) | ||
| 15 | + protected String login; | ||
| 16 | + | ||
| 17 | + private String name; | ||
| 18 | + private String email; | ||
| 19 | + protected String password; | ||
| 20 | +} |
No preview for this file type
codigos/backend/src/test/java/edu/ifes/ci/si/les/srh/srh/SrhApplicationTests.java
0 → 100644