diff --git a/.gitignore b/.gitignore index ecc51db..d532bcb 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,13 @@ # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* +# Java Files # +*.jar + +# Intellij Idea +.idea + # Gradle stuff build/ .gradle/ +gradle diff --git a/README.md b/README.md index 9f32fd3..708b7d1 100644 --- a/README.md +++ b/README.md @@ -96,10 +96,28 @@ You can clone the code, compile, and build the JAR file the regular command-line way. We use [Gradle](https://gradle.org/) for connvenience. -- [install Gradle](https://gradle.org/install) +- **(on Linux or Mac)** run `chmod +x gradlew` - run `gradle test` for unit tests (currently correctness tests) - run `gradle build` to find the `apted.jar` file in `build/libs/` +## Deploying to local maven repository + +You can publish the project into your local maven repository to import into other projects. + +- run `gradle publishToMavenLocal` + +To use APTED in another project: + +``` +repositories { + mavenLocal() +} + +dependencies { + compile 'at.unisalzburg:apted:1.0' +} + ``` + ## Javadoc documentation Run `gradle javadoc` to generate documentation. Then, open in your browser diff --git a/build.gradle b/build.gradle index 224c3b9..a07d330 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,8 @@ +group 'at.unisalzburg' +version '1.0' + apply plugin: 'java' +apply plugin: "maven-publish" // Dependency repository. repositories { @@ -11,13 +15,6 @@ dependencies { 'com.google.code.gson:gson:2.8.0' } -// Specify main class for the JAR file. -jar { - manifest { - attributes 'Main-Class': 'util.CommandLine' - } -} - // Include test classes and private members into javadoc. javadoc { classpath += sourceSets.test.compileClasspath @@ -29,3 +26,27 @@ javadoc { test { testLogging.showStandardStreams = true } + +// For publishing in MavenLocal +task sourcesJar(type: Jar, dependsOn: "classes") { + classifier = 'sources' + + from sourceSets.main.allSource + from sourceSets.test.allSource +} + +publishing { + publications { + mavenJava(MavenPublication) { + groupId 'at.unisalzburg' + artifactId 'apted' + version '1.0' + + from components.java + + artifact sourcesJar { + classifier "sources" + } + } + } +} diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..51288f9 Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..c3d7e51 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Thu May 18 15:43:57 CEST 2017 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-3.2.1-all.zip diff --git a/gradlew b/gradlew new file mode 100755 index 0000000..4453cce --- /dev/null +++ b/gradlew @@ -0,0 +1,172 @@ +#!/usr/bin/env sh + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save ( ) { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/src/main/java/costmodel/CostModel.java b/src/main/java/at/unisalzburg/apted/costmodel/CostModel.java similarity index 96% rename from src/main/java/costmodel/CostModel.java rename to src/main/java/at/unisalzburg/apted/costmodel/CostModel.java index 4aa077c..eac28c6 100644 --- a/src/main/java/costmodel/CostModel.java +++ b/src/main/java/at/unisalzburg/apted/costmodel/CostModel.java @@ -21,9 +21,9 @@ * SOFTWARE. */ -package costmodel; +package at.unisalzburg.apted.costmodel; -import node.Node; +import at.unisalzburg.apted.node.Node; /** * This interface specifies the methods to implement for a custom cost model. diff --git a/src/main/java/costmodel/PerEditOperationStringNodeDataCostModel.java b/src/main/java/at/unisalzburg/apted/costmodel/PerEditOperationStringNodeDataCostModel.java similarity index 92% rename from src/main/java/costmodel/PerEditOperationStringNodeDataCostModel.java rename to src/main/java/at/unisalzburg/apted/costmodel/PerEditOperationStringNodeDataCostModel.java index f45b9f4..ce71d94 100644 --- a/src/main/java/costmodel/PerEditOperationStringNodeDataCostModel.java +++ b/src/main/java/at/unisalzburg/apted/costmodel/PerEditOperationStringNodeDataCostModel.java @@ -21,14 +21,13 @@ * SOFTWARE. */ -package costmodel; +package at.unisalzburg.apted.costmodel; -import costmodel.CostModel; -import node.Node; -import node.StringNodeData; +import at.unisalzburg.apted.node.Node; +import at.unisalzburg.apted.node.StringNodeData; /** - * This is a cost model defined on {@link node.StringNodeData} with a fixed cost + * This is a cost model defined on {@link at.unisalzburg.apted.node.StringNodeData} with a fixed cost * per edit operation. */ public class PerEditOperationStringNodeDataCostModel implements CostModel { diff --git a/src/main/java/costmodel/StringUnitCostModel.java b/src/main/java/at/unisalzburg/apted/costmodel/StringUnitCostModel.java similarity index 94% rename from src/main/java/costmodel/StringUnitCostModel.java rename to src/main/java/at/unisalzburg/apted/costmodel/StringUnitCostModel.java index 0ce1fb3..8f33a17 100644 --- a/src/main/java/costmodel/StringUnitCostModel.java +++ b/src/main/java/at/unisalzburg/apted/costmodel/StringUnitCostModel.java @@ -21,11 +21,10 @@ * SOFTWARE. */ -package costmodel; +package at.unisalzburg.apted.costmodel; -import costmodel.CostModel; -import node.Node; -import node.StringNodeData; +import at.unisalzburg.apted.node.Node; +import at.unisalzburg.apted.node.StringNodeData; /** * This is a unit-nost model defined on string labels. diff --git a/src/main/java/distance/APTED.java b/src/main/java/at/unisalzburg/apted/distance/APTED.java similarity index 99% rename from src/main/java/distance/APTED.java rename to src/main/java/at/unisalzburg/apted/distance/APTED.java index 8b1b46a..18f0c64 100644 --- a/src/main/java/distance/APTED.java +++ b/src/main/java/at/unisalzburg/apted/distance/APTED.java @@ -21,14 +21,14 @@ * SOFTWARE. */ -package distance; +package at.unisalzburg.apted.distance; import java.util.Arrays; import java.util.LinkedList; import java.util.Stack; -import node.Node; -import node.NodeIndexer; -import costmodel.CostModel; +import at.unisalzburg.apted.node.Node; +import at.unisalzburg.apted.node.NodeIndexer; +import at.unisalzburg.apted.costmodel.CostModel; /** * Implements APTED algorithm [1,2]. @@ -76,14 +76,14 @@ public class APTED { /** * Indexer of the source tree. * - * @see node.NodeIndexer + * @see at.unisalzburg.apted.node.NodeIndexer */ private NodeIndexer it1; /** * Indexer of the destination tree. * - * @see node.NodeIndexer + * @see at.unisalzburg.apted.node.NodeIndexer */ private NodeIndexer it2; diff --git a/src/main/java/distance/AllPossibleMappingsTED.java b/src/main/java/at/unisalzburg/apted/distance/AllPossibleMappingsTED.java similarity index 97% rename from src/main/java/distance/AllPossibleMappingsTED.java rename to src/main/java/at/unisalzburg/apted/distance/AllPossibleMappingsTED.java index 04be3e9..b5e5764 100644 --- a/src/main/java/distance/AllPossibleMappingsTED.java +++ b/src/main/java/at/unisalzburg/apted/distance/AllPossibleMappingsTED.java @@ -21,14 +21,14 @@ * SOFTWARE. */ -package distance; +package at.unisalzburg.apted.distance; import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; -import node.Node; -import node.NodeIndexer; -import costmodel.CostModel; +import at.unisalzburg.apted.node.Node; +import at.unisalzburg.apted.node.NodeIndexer; +import at.unisalzburg.apted.costmodel.CostModel; /** * Implements an exponential algorithm for the tree edit distance. It computes @@ -43,14 +43,14 @@ public class AllPossibleMappingsTED { /** * Indexer of the source tree. * - * @see node.NodeIndexer + * @see at.unisalzburg.apted.node.NodeIndexer */ private NodeIndexer it1; /** * Indexer of the destination tree. * - * @see node.NodeIndexer + * @see at.unisalzburg.apted.node.NodeIndexer */ private NodeIndexer it2; diff --git a/src/main/java/node/Node.java b/src/main/java/at/unisalzburg/apted/node/Node.java similarity index 94% rename from src/main/java/node/Node.java rename to src/main/java/at/unisalzburg/apted/node/Node.java index d52f329..3d83379 100644 --- a/src/main/java/node/Node.java +++ b/src/main/java/at/unisalzburg/apted/node/Node.java @@ -21,7 +21,7 @@ * SOFTWARE. */ -package node; +package at.unisalzburg.apted.node; import java.util.Vector; @@ -86,8 +86,8 @@ public void addChild(Node c) { /** * Returns a string representation of the tree in bracket notation. * - *

IMPORTANT: Works only for nodes storing {@link node.StringNodeData} - * due to using {@link node.StringNodeData#getLabel()}. + *

IMPORTANT: Works only for nodes storing {@link at.unisalzburg.apted.node.StringNodeData} + * due to using {@link at.unisalzburg.apted.node.StringNodeData#getLabel()}. * * @return tree in bracket notation. */ diff --git a/src/main/java/node/NodeIndexer.java b/src/main/java/at/unisalzburg/apted/node/NodeIndexer.java similarity index 97% rename from src/main/java/node/NodeIndexer.java rename to src/main/java/at/unisalzburg/apted/node/NodeIndexer.java index b8f3d01..f944eee 100644 --- a/src/main/java/node/NodeIndexer.java +++ b/src/main/java/at/unisalzburg/apted/node/NodeIndexer.java @@ -21,18 +21,16 @@ * SOFTWARE. */ -package node; +package at.unisalzburg.apted.node; import java.util.ArrayList; -import java.util.List; -import java.util.Arrays; import java.util.Iterator; -import node.Node; -import costmodel.CostModel; + +import at.unisalzburg.apted.costmodel.CostModel; /** * Indexes nodes of the input tree to the algorithm that is already parsed to - * tree structure using {@link node.Node} class. Stores various indices on + * tree structure using {@link at.unisalzburg.apted.node.Node} class. Stores various indices on * nodes required for efficient computation of APTED [1,2]. Additionally, it * stores * single-value properties of the tree. @@ -57,8 +55,8 @@ * * @param type of node data. * @param type of cost model. - * @see node.Node - * @see parser.InputParser + * @see at.unisalzburg.apted.node.Node + * @see at.unisalzburg.apted.parser.InputParser */ public class NodeIndexer { @@ -70,7 +68,7 @@ public class NodeIndexer { * Index from left-to-right preorder id of node n (starting with {@code 0}) * to Node object corresponding to n. Used for cost of edit operations. * - * @see node.Node + * @see at.unisalzburg.apted.node.Node */ public Node preL_to_node[]; @@ -507,22 +505,22 @@ public int preL_to_rld(int preL) { } /** - * An abbreviation that uses indices to retrieve pointer to {@link node.Node} + * An abbreviation that uses indices to retrieve pointer to {@link at.unisalzburg.apted.node.Node} * of the given node. * * @param postL left-to-right postorder id of a node. - * @return {@link node.Node} corresponding to postL. + * @return {@link at.unisalzburg.apted.node.Node} corresponding to postL. */ public Node postL_to_node(int postL) { return preL_to_node[postL_to_preL[postL]]; } /** - * An abbreviation that uses indices to retrieve pointer to {@link node.Node} + * An abbreviation that uses indices to retrieve pointer to {@link at.unisalzburg.apted.node.Node} * of the given node. * * @param postR right-to-left postorder id of a node. - * @return {@link node.Node} corresponding to postR. + * @return {@link at.unisalzburg.apted.node.Node} corresponding to postR. */ public Node postR_to_node(int postR) { return preL_to_node[postR_to_preL[postR]]; diff --git a/src/main/java/node/StringNodeData.java b/src/main/java/at/unisalzburg/apted/node/StringNodeData.java similarity index 97% rename from src/main/java/node/StringNodeData.java rename to src/main/java/at/unisalzburg/apted/node/StringNodeData.java index 2fb96a4..0824c40 100644 --- a/src/main/java/node/StringNodeData.java +++ b/src/main/java/at/unisalzburg/apted/node/StringNodeData.java @@ -21,7 +21,7 @@ * SOFTWARE. */ -package node; +package at.unisalzburg.apted.node; /** * Represents a node label that consists of a single string value. Such label diff --git a/src/main/java/parser/BracketStringInputParser.java b/src/main/java/at/unisalzburg/apted/parser/BracketStringInputParser.java similarity index 93% rename from src/main/java/parser/BracketStringInputParser.java rename to src/main/java/at/unisalzburg/apted/parser/BracketStringInputParser.java index 5b6a09c..7cdd72c 100644 --- a/src/main/java/parser/BracketStringInputParser.java +++ b/src/main/java/at/unisalzburg/apted/parser/BracketStringInputParser.java @@ -21,12 +21,12 @@ * SOFTWARE. */ -package parser; +package at.unisalzburg.apted.parser; import java.util.Vector; -import util.FormatUtilities; -import node.Node; -import node.StringNodeData; +import at.unisalzburg.apted.util.FormatUtilities; +import at.unisalzburg.apted.node.Node; +import at.unisalzburg.apted.node.StringNodeData; // [TODO] Make this parser independent from FormatUtilities - move here relevant elements. diff --git a/src/main/java/parser/InputParser.java b/src/main/java/at/unisalzburg/apted/parser/InputParser.java similarity index 95% rename from src/main/java/parser/InputParser.java rename to src/main/java/at/unisalzburg/apted/parser/InputParser.java index c010180..989aaf4 100644 --- a/src/main/java/parser/InputParser.java +++ b/src/main/java/at/unisalzburg/apted/parser/InputParser.java @@ -21,9 +21,9 @@ * SOFTWARE. */ -package parser; +package at.unisalzburg.apted.parser; -import node.Node; +import at.unisalzburg.apted.node.Node; /** * This interface specifies methods (currently only one) that must be diff --git a/src/main/java/util/CommandLine.java b/src/main/java/at/unisalzburg/apted/util/CommandLine.java similarity index 96% rename from src/main/java/util/CommandLine.java rename to src/main/java/at/unisalzburg/apted/util/CommandLine.java index 0dde0b7..f8ae7aa 100644 --- a/src/main/java/util/CommandLine.java +++ b/src/main/java/at/unisalzburg/apted/util/CommandLine.java @@ -21,19 +21,19 @@ * SOFTWARE. */ -package util; +package at.unisalzburg.apted.util; import java.io.BufferedReader; import java.io.FileReader; import java.util.Date; import java.util.LinkedList; -import distance.APTED; -import node.Node; -import node.StringNodeData; -import costmodel.CostModel; -import costmodel.StringUnitCostModel; -import parser.InputParser; -import parser.BracketStringInputParser; +import at.unisalzburg.apted.distance.APTED; +import at.unisalzburg.apted.node.Node; +import at.unisalzburg.apted.node.StringNodeData; +import at.unisalzburg.apted.costmodel.CostModel; +import at.unisalzburg.apted.costmodel.StringUnitCostModel; +import at.unisalzburg.apted.parser.InputParser; +import at.unisalzburg.apted.parser.BracketStringInputParser; /** * This is the command line interface for executing APTED algorithm. diff --git a/src/main/java/util/FormatUtilities.java b/src/main/java/at/unisalzburg/apted/util/FormatUtilities.java similarity index 99% rename from src/main/java/util/FormatUtilities.java rename to src/main/java/at/unisalzburg/apted/util/FormatUtilities.java index 55ec806..9f06dcb 100644 --- a/src/main/java/util/FormatUtilities.java +++ b/src/main/java/at/unisalzburg/apted/util/FormatUtilities.java @@ -21,7 +21,7 @@ * SOFTWARE. */ -package util; +package at.unisalzburg.apted.util; import java.util.Date; import java.util.LinkedList; diff --git a/src/main/java/util/LabelDictionary.java b/src/main/java/at/unisalzburg/apted/util/LabelDictionary.java similarity index 98% rename from src/main/java/util/LabelDictionary.java rename to src/main/java/at/unisalzburg/apted/util/LabelDictionary.java index b2ac407..510d636 100644 --- a/src/main/java/util/LabelDictionary.java +++ b/src/main/java/at/unisalzburg/apted/util/LabelDictionary.java @@ -21,7 +21,7 @@ * SOFTWARE. */ -package util; +package at.unisalzburg.apted.util; import java.util.ArrayList; import java.util.HashMap; diff --git a/src/test/java/CorrectnessTest.java b/src/test/java/CorrectnessTest.java index ca45369..0218d02 100644 --- a/src/test/java/CorrectnessTest.java +++ b/src/test/java/CorrectnessTest.java @@ -34,11 +34,11 @@ import org.junit.runners.Parameterized.Parameters; import com.google.gson.Gson; import static org.junit.Assert.assertEquals; -import distance.APTED; -import parser.BracketStringInputParser; -import node.Node; -import node.StringNodeData; -import costmodel.StringUnitCostModel; +import at.unisalzburg.apted.distance.APTED; +import at.unisalzburg.apted.parser.BracketStringInputParser; +import at.unisalzburg.apted.node.Node; +import at.unisalzburg.apted.node.StringNodeData; +import at.unisalzburg.apted.costmodel.StringUnitCostModel; /** * Correctness unit tests of distance and mapping computation. @@ -184,8 +184,8 @@ public void parsingBracketNotationToStringNodeData() { * Compute TED for a single test case and compare to the correct value. Uses * node labels with a single string value and unit cost model. * - * @see node.StringNodeData - * @see costmodel.StringUnitCostModel + * @see at.unisalzburg.apted.node.StringNodeData + * @see at.unisalzburg.apted.costmodel.StringUnitCostModel */ @Test public void distanceUnitCostStringNodeDataCostModel() { @@ -210,8 +210,8 @@ public void distanceUnitCostStringNodeDataCostModel() { *

Triggers spf_L to execute. The strategy is fixed to left paths in the * left-hand tree. * - * @see node.StringNodeData - * @see costmodel.StringUnitCostModel + * @see at.unisalzburg.apted.node.StringNodeData + * @see at.unisalzburg.apted.costmodel.StringUnitCostModel */ @Test public void distanceUnitCostStringNodeDataCostModelSpfL() { @@ -233,8 +233,8 @@ public void distanceUnitCostStringNodeDataCostModelSpfL() { *

Triggers spf_R to execute. The strategy is fixed to right paths in the * left-hand tree. * - * @see node.StringNodeData - * @see costmodel.StringUnitCostModel + * @see at.unisalzburg.apted.node.StringNodeData + * @see at.unisalzburg.apted.costmodel.StringUnitCostModel */ @Test public void distanceUnitCostStringNodeDataCostModelSpfR() { @@ -257,8 +257,8 @@ public void distanceUnitCostStringNodeDataCostModelSpfR() { * cost to the correct TED value. Uses node labels with a single string value * and unit cost model. * - * @see node.StringNodeData - * @see costmodel.StringUnitCostModel + * @see at.unisalzburg.apted.node.StringNodeData + * @see at.unisalzburg.apted.costmodel.StringUnitCostModel */ @Test public void mappingCostUnitCostStringNodeDataCostModel() { diff --git a/src/test/java/PerEditOperationCorrectnessTest.java b/src/test/java/PerEditOperationCorrectnessTest.java index d2d5b6b..d838cc4 100644 --- a/src/test/java/PerEditOperationCorrectnessTest.java +++ b/src/test/java/PerEditOperationCorrectnessTest.java @@ -34,19 +34,19 @@ import org.junit.runners.Parameterized.Parameters; import com.google.gson.Gson; import static org.junit.Assert.assertEquals; -import distance.APTED; -import distance.AllPossibleMappingsTED; -import parser.BracketStringInputParser; -import node.Node; -import node.StringNodeData; -import costmodel.PerEditOperationStringNodeDataCostModel; +import at.unisalzburg.apted.distance.APTED; +import at.unisalzburg.apted.distance.AllPossibleMappingsTED; +import at.unisalzburg.apted.parser.BracketStringInputParser; +import at.unisalzburg.apted.node.Node; +import at.unisalzburg.apted.node.StringNodeData; +import at.unisalzburg.apted.costmodel.PerEditOperationStringNodeDataCostModel; /** * Correctness unit tests of distance computation for node labels with a single * string value and per-edit-operation cost model. * - * @see node.StringNodeData - * @see costmodel.PerEditOperationStringNodeDataCostModel + * @see at.unisalzburg.apted.node.StringNodeData + * @see at.unisalzburg.apted.costmodel.PerEditOperationStringNodeDataCostModel */ @RunWith(Parameterized.class) public class PerEditOperationCorrectnessTest { @@ -171,9 +171,9 @@ public static Collection data() throws IOException { *

The costs of edit operations are set to some example values different * than in the unit cost model. * - * @see node.StringNodeData - * @see costmodel.PerEditOperationStringNodeDataCostModel - * @see distance.AllPossibleMappingsTED + * @see at.unisalzburg.apted.node.StringNodeData + * @see at.unisalzburg.apted.costmodel.PerEditOperationStringNodeDataCostModel + * @see at.unisalzburg.apted.distance.AllPossibleMappingsTED */ @Test public void distancePerEditOperationStringNodeDataCostModel() {