diff --git a/.gitignore b/.gitignore index 65c48f7f..62a1b8f9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,7 @@ +.project +.classpath +.gitignore + /bin/ /target/ /build/ diff --git a/.settings/.gitignore b/.settings/.gitignore deleted file mode 100644 index 342a127a..00000000 --- a/.settings/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/org.eclipse.buildship.core.prefs -/.gitignore diff --git a/.settings/org.eclipse.buildship.core.prefs b/.settings/org.eclipse.buildship.core.prefs deleted file mode 100644 index 32816336..00000000 --- a/.settings/org.eclipse.buildship.core.prefs +++ /dev/null @@ -1,8 +0,0 @@ -build.commands=org.eclipse.jdt.core.javabuilder -connection.arguments= -connection.gradle.user.home=null -connection.java.home=null -connection.jvm.arguments= -connection.project.dir= -derived.resources=.gradle,build -eclipse.preferences.version=1 diff --git a/.travis.yml b/.travis.yml index f5c99a7f..a1eeb19a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1 +1,26 @@ -language: java \ No newline at end of file +sudo: required + +language: ruby + +services: + - docker + +before_install: + - echo "Testing Docker Hub credentials" + - docker login -u=$DOCKER_LOGIN -p=$DOCKER_PWD + - echo "Docker Hub credentials are working" + - docker build -t nherbaut/variamos . + +script: + - docker ps -a + +after_success: + - echo "Test Success - Branch($TRAVIS_BRANCH) Pull Request($TRAVIS_PULL_REQUEST) Tag($TRAVIS_TAG)" + - if [[ "$TRAVIS_BRANCH" == "master" ]]; then echo -e "Push Container to Docker Hub"; fi + - docker login -u=$DOCKER_LOGIN -p=$DOCKER_PWD + - export REPO=nherbaut/variamos + - export TAG=`if [ "$TRAVIS_BRANCH" == "master" ]; then echo "latest"; else echo $TRAVIS_BRANCH ; fi` + - docker build -f Dockerfile -t $REPO:$COMMIT . + - docker tag $REPO:$COMMIT $REPO:$TAG + - docker tag $REPO:$COMMIT $REPO:travis-$TRAVIS_BUILD_NUMBER + - docker push $REPO diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..775b7e55 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,10 @@ +FROM openjdk:11 +RUN apt-get update +RUN apt-get install gradle software-properties-common --yes +RUN apt-add-repository ppa:swi-prolog/stable +RUN apt-get install swi-prolog --yes +RUN mkdir -p /opt/local/VARIAMOS +COPY ./docker-assets/libjpl.so /usr/lib/x86_64-linux-gnu/jni/libjpl.so +COPY . /opt/local/VARIAMOS/ +WORKDIR /opt/local/VARIAMOS +RUN gradle build diff --git a/README.md b/README.md index c26e79a5..0c0c34aa 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,11 @@ -VARIAMOS -======== +# VARIAMOS # + + +## Native Dependencies ## + +SWI-PROLOG >= 7.7.10 + +## Configuration ## + +specify the libjpl.so or libjpl.dll folder in the gradle.properties + diff --git a/build.gradle b/build.gradle index 0308fad7..ade8f0e3 100644 --- a/build.gradle +++ b/build.gradle @@ -5,6 +5,16 @@ group = 'com.variamos' version = '1.1.0.1' compileJava.options.encoding = 'UTF-8' +allprojects { + gradle.projectsEvaluated { + tasks.withType(JavaCompile) { + //options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" + } + } +} + + + subprojects { /* the Java plugin adds several tasks like clean, assemble, build, etc, which make it easy to work with the build process when we follow conventions such as src/main/java and src/main/test as main folders*/ @@ -12,10 +22,15 @@ subprojects { apply plugin: 'eclipse' repositories { - jcenter() - } + mavenCentral() } dependencies { - testCompile "junit:junit:4+" + compile group: 'jpl', name: 'jpl', version: '7.4.0' + testCompile group: 'junit', name: 'junit', version: '4.12' + } } + + + + diff --git a/build.gradle.orig b/build.gradle.orig new file mode 100644 index 00000000..1ce91915 --- /dev/null +++ b/build.gradle.orig @@ -0,0 +1,41 @@ +/* Configurations here represents common characteristics shared for each of the sub projects*/ +apply plugin: "java" +apply plugin: 'eclipse' +group = 'com.variamos' +version = '1.1.0.1' +compileJava.options.encoding = 'UTF-8' + +allprojects { + gradle.projectsEvaluated { + tasks.withType(JavaCompile) { + //options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" + } + } +} + +<<<<<<< HEAD +======= + + +>>>>>>> de0ebfe4... fix build on the master branch +subprojects { + /* the Java plugin adds several tasks like clean, assemble, + build, etc, which make it easy to work with the build process when we follow conventions such as src/main/java and src/main/test as main folders*/ + apply plugin: "java" + apply plugin: 'eclipse' + + repositories { + mavenCentral() } + + dependencies { + compile group: 'jpl', name: 'jpl', version: '7.4.0' + testCompile group: 'junit', name: 'junit', version: '4.12' + + } +} + + +ext { + JplLibraryPath = "/usr/lib/x86_64-linux-gnu/jni/" +} + diff --git a/com.variamos.common/.settings/org.eclipse.buildship.core.prefs b/com.variamos.common/.settings/org.eclipse.buildship.core.prefs deleted file mode 100644 index 6eab7003..00000000 --- a/com.variamos.common/.settings/org.eclipse.buildship.core.prefs +++ /dev/null @@ -1,2 +0,0 @@ -#Wed Jul 18 21:59:23 COT 2018 -connection.project.dir=.. diff --git a/com.variamos.common/.settings/org.eclipse.jdt.core.prefs b/com.variamos.common/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 3a215370..00000000 --- a/com.variamos.common/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,11 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 diff --git a/com.variamos.common/src/main/java/com/variamos/common/core/utilities/FileUtils.java b/com.variamos.common/src/main/java/com/variamos/common/core/utilities/FileUtils.java index c652b250..ace8db35 100644 --- a/com.variamos.common/src/main/java/com/variamos/common/core/utilities/FileUtils.java +++ b/com.variamos.common/src/main/java/com/variamos/common/core/utilities/FileUtils.java @@ -89,7 +89,7 @@ public static void writeFile(String path, String content) { public static String writeFile(File file, String content) throws TechnicalException { - // Se guarda la representaci�n en el archivo temporal de prolog + // Se guarda la representaci�n en el archivo temporal de prolog FileUtils.writeFile(file.getAbsolutePath(), content); return file.getAbsolutePath(); diff --git a/com.variamos.common/src/main/java/com/variamos/common/core/utilities/SetUtil.java b/com.variamos.common/src/main/java/com/variamos/common/core/utilities/SetUtil.java index 1710acc5..76557ff1 100644 --- a/com.variamos.common/src/main/java/com/variamos/common/core/utilities/SetUtil.java +++ b/com.variamos.common/src/main/java/com/variamos/common/core/utilities/SetUtil.java @@ -210,7 +210,7 @@ public static boolean verifyCollectionSetContainsSet(List inputSet, * @return true:Set is superset of some set of collection of sets. * Otherwise False Ejm inputSet es {a,b,c} y not collectionOfSets * tiene un elemento con el valor de {a,c}. En este caso el inputSet - * es superset pq tiene los mismos elementos( o más ) que el set de + * es superset pq tiene los mismos elementos( o más ) que el set de * collectionOfSets */ public static boolean verifySetIsSuperSetOfCollectionSets( @@ -303,7 +303,7 @@ public static List> maintainNoSupersets( List inputSet = null; Set> setsToRemove = new HashSet>(); - // Se ordenan los conjuntos por tamaño de menor mayor + // Se ordenan los conjuntos por tamaño de menor mayor Collections .sort(inputCollectionOfSets, new CollectionsSizeComparator()); @@ -326,7 +326,7 @@ public static List> maintainNoSupersets( } }// Cierra while que recorre lista desde la segunda posicion - }// Cierra while que recorre la lista desde la primera posición + }// Cierra while que recorre la lista desde la primera posición // Se eliminan los elementos if (!setsToRemove.isEmpty()) { @@ -372,7 +372,7 @@ public static List> maintainNoSubsets( } }// Cierra while que recorre lista de MCS desde la segunda posicion - }// Cierra while que recorre la lista de MCS desde la primera posición + }// Cierra while que recorre la lista de MCS desde la primera posición // Se eliminan los elementos // Se eliminan los elementos diff --git a/com.variamos.compiler/.settings/org.eclipse.buildship.core.prefs b/com.variamos.compiler/.settings/org.eclipse.buildship.core.prefs deleted file mode 100644 index 97b7cc51..00000000 --- a/com.variamos.compiler/.settings/org.eclipse.buildship.core.prefs +++ /dev/null @@ -1,9 +0,0 @@ -connection.arguments= -connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER) -connection.gradle.user.home=null -connection.java.home=null -connection.jvm.arguments= -connection.project.dir= -derived.resources=.gradle,build -eclipse.preferences.version=1 -project.path=\: diff --git a/com.variamos.componentparser/.settings/org.eclipse.buildship.core.prefs b/com.variamos.componentparser/.settings/org.eclipse.buildship.core.prefs deleted file mode 100644 index 3d53916a..00000000 --- a/com.variamos.componentparser/.settings/org.eclipse.buildship.core.prefs +++ /dev/null @@ -1,2 +0,0 @@ -#Wed Jan 31 10:08:06 COT 2018 -connection.project.dir= diff --git a/com.variamos.dynsup/.settings/org.eclipse.jdt.core.prefs b/com.variamos.dynsup/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 838bd9d6..00000000 --- a/com.variamos.dynsup/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,11 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.7 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.7 diff --git a/com.variamos.dynsup/src/com/variamos/dynsup/instance/InstCell.java b/com.variamos.dynsup/src/com/variamos/dynsup/instance/InstCell.java index 38ac2185..cd94dac9 100644 --- a/com.variamos.dynsup/src/com/variamos/dynsup/instance/InstCell.java +++ b/com.variamos.dynsup/src/com/variamos/dynsup/instance/InstCell.java @@ -8,7 +8,7 @@ * A class to support clones of instance elements with shared values. Part of * PhD work at University of Paris 1 * - * @author Juan C. Mu�oz Fern�ndez + * @author Juan C. Mu�oz Fern�ndez * * @version 1.1 * @since 2015-01-29 * diff --git a/com.variamos.dynsup/src/com/variamos/dynsup/model/OpersSubOperation.java b/com.variamos.dynsup/src/com/variamos/dynsup/model/OpersSubOperation.java index 63fa5907..35944c23 100644 --- a/com.variamos.dynsup/src/com/variamos/dynsup/model/OpersSubOperation.java +++ b/com.variamos.dynsup/src/com/variamos/dynsup/model/OpersSubOperation.java @@ -11,7 +11,7 @@ * operationalization with GUI edition. Part of PhD work at University of Paris * 1 * - * @author Juan C. Mu�oz Fern�ndez + * @author Juan C. Mu�oz Fern�ndez * * @version 1.1 * @since 2014-02-05 diff --git a/com.variamos.dynsup/src/com/variamos/dynsup/translation/SolverOpersTask.java b/com.variamos.dynsup/src/com/variamos/dynsup/translation/SolverOpersTask.java index 0328cf4e..05ed1461 100644 --- a/com.variamos.dynsup/src/com/variamos/dynsup/translation/SolverOpersTask.java +++ b/com.variamos.dynsup/src/com/variamos/dynsup/translation/SolverOpersTask.java @@ -848,7 +848,7 @@ public int medicExecution(InstElement operation, InstElement subOper, String ver //inconsistentPath.add(split[0]); - // añadir la variable a la lista y después una por una las retsricciones + // añadir la variable a la lista y después una por una las retsricciones // unarias asociadas. for (NodeConstraintHLCL cons : ((NodeVariableHLCL) vertex).getUnary()) { String [] object = getIdFromTable(cons.getConstraint(), table).split("_"); //this lines allow to obtain the id of the object diff --git a/com.variamos.gui/.settings/org.eclipse.jdt.core.prefs b/com.variamos.gui/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index b7e5955d..00000000 --- a/com.variamos.gui/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,15 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -<<<<<<< HEAD -======= -org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate ->>>>>>> development -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.7 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.7 diff --git a/com.variamos.gui/src/com/variamos/gui/maineditor/ParadigmChooserPane.java b/com.variamos.gui/src/com/variamos/gui/maineditor/ParadigmChooserPane.java index 8c481f29..7c04249d 100644 --- a/com.variamos.gui/src/com/variamos/gui/maineditor/ParadigmChooserPane.java +++ b/com.variamos.gui/src/com/variamos/gui/maineditor/ParadigmChooserPane.java @@ -222,6 +222,6 @@ public static ParadigmTypeEnum showInputDialog(Frame f,String openModelOption) { public static void main(String[] args) { ParadigmTypeEnum optionChoosed = ParadigmChooserPane.showInputDialog(); - System.out.println("La opción elegida es: "+optionChoosed); + System.out.println("La opción elegida es: "+optionChoosed); } } diff --git a/com.variamos.gui/src/com/variamos/gui/perspeditor/panels/AboutDialog.java b/com.variamos.gui/src/com/variamos/gui/perspeditor/panels/AboutDialog.java index 9e041809..6192b947 100644 --- a/com.variamos.gui/src/com/variamos/gui/perspeditor/panels/AboutDialog.java +++ b/com.variamos.gui/src/com/variamos/gui/perspeditor/panels/AboutDialog.java @@ -116,7 +116,7 @@ public AboutDialog(VariamosGraphEditor editor, ElemAttribute... arguments) "http://www.flaticon.com/free-icon/settings_23408#term=configuration&page=1&position=3")); panel.add(new JLabel( "Organization of notification for elements and some icons:")); - panel.add(new JLabel("Jose Andr�s Moncada")); + panel.add(new JLabel("Jose Andr�s Moncada")); SpringUtilities.makeCompactGrid(panel, 14, 1, 4, 4, 4, 4); diff --git a/com.variamos.gui/src/com/variamos/gui/perspeditor/widgets/RefasWidgetFactory.java b/com.variamos.gui/src/com/variamos/gui/perspeditor/widgets/RefasWidgetFactory.java index 7cad027c..74d0e72c 100644 --- a/com.variamos.gui/src/com/variamos/gui/perspeditor/widgets/RefasWidgetFactory.java +++ b/com.variamos.gui/src/com/variamos/gui/perspeditor/widgets/RefasWidgetFactory.java @@ -22,7 +22,7 @@ * A class to dynamically load appropriate widget. Based on WidgetFactory from * ProductLine. Part of PhD work at University of Paris 1 * - * @author Juan C. Muñoz Fernández + * @author Juan C. Muñoz Fernández * * @version 1.1 * @since 2014-11-10 diff --git a/com.variamos.hlcl/.settings/org.eclipse.buildship.core.prefs b/com.variamos.hlcl/.settings/org.eclipse.buildship.core.prefs deleted file mode 100644 index c9a18d1c..00000000 --- a/com.variamos.hlcl/.settings/org.eclipse.buildship.core.prefs +++ /dev/null @@ -1,14 +0,0 @@ -#Wed Jul 18 20:51:52 COT 2018 -connection.arguments= ->>>>>>>=refs/remotes/upstream/master -connection.jvm.arguments= -build.commands=org.eclipse.jdt.core.javabuilder -connection.project.dir=.. -natures=org.eclipse.jdt.core.javanature -<<<<<<<=HEAD -connection.gradle.user.home=null -eclipse.preferences.version=1 -connection.java.home=null -derived.resources=.gradle,build -project.path=\:com.variamos.hlcl -=\=\=\=\=\=\= diff --git a/com.variamos.hlcl/.settings/org.eclipse.jdt.core.prefs b/com.variamos.hlcl/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index bb35fa0a..00000000 --- a/com.variamos.hlcl/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,11 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 diff --git a/com.variamos.io/.settings/org.eclipse.buildship.core.prefs b/com.variamos.io/.settings/org.eclipse.buildship.core.prefs deleted file mode 100644 index 9d3feadc..00000000 --- a/com.variamos.io/.settings/org.eclipse.buildship.core.prefs +++ /dev/null @@ -1,3 +0,0 @@ -#Wed Jul 18 20:51:52 COT 2018 -eclipse.preferences.version=1 -connection.project.dir=.. diff --git a/com.variamos.io/.settings/org.eclipse.jdt.core.prefs b/com.variamos.io/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 3a215370..00000000 --- a/com.variamos.io/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,11 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 diff --git a/com.variamos.io/src/main/java/com/variamos/io/core/importExport/ExportDefectAnalyzer.java b/com.variamos.io/src/main/java/com/variamos/io/core/importExport/ExportDefectAnalyzer.java index 4ccb4108..b1fd0f95 100644 --- a/com.variamos.io/src/main/java/com/variamos/io/core/importExport/ExportDefectAnalyzer.java +++ b/com.variamos.io/src/main/java/com/variamos/io/core/importExport/ExportDefectAnalyzer.java @@ -29,7 +29,7 @@ public static void exportarListaModelosResumidaxTamCorrecc( List> resultadosAnalisis = new ArrayList>(); HSSFWorkbook resultadosLibro = new HSSFWorkbook(); int cont = 1; - // Informaci�n para guardar + // Informacion para guardar String titulos[] = { "Modelo", "#carac", "#depen", "#NonTraversal", "%NonTraversal", "#traver", "%traver", "tipDef", "def", "#caus", "#corr", "tiemp" }; @@ -55,7 +55,7 @@ private static void validatePath(String outputDirectoryPath) throws FunctionalException { File file = new File(outputDirectoryPath); if (!file.exists()) { - // Si no existe el directorio se lanza una excepci�n + // Si no existe el directorio se lanza una excepcion throw new FunctionalException("El directorio de salida " + outputDirectoryPath + " no existe"); } diff --git a/com.variamos.io/src/main/java/com/variamos/io/core/importExport/ExportUtil.java b/com.variamos.io/src/main/java/com/variamos/io/core/importExport/ExportUtil.java index 8a339b5a..1914b962 100644 --- a/com.variamos.io/src/main/java/com/variamos/io/core/importExport/ExportUtil.java +++ b/com.variamos.io/src/main/java/com/variamos/io/core/importExport/ExportUtil.java @@ -68,8 +68,8 @@ public static void addInfoToSheet(List heads1List, int contadorCelda = 0; int filaInicialHoja = 0; - // Informaci�n con los tiempos - // Fila con las estad�sticas + // Informaci�n con los tiempos + // Fila con las estad�sticas HSSFRow estadisticasTitle = sheet.createRow(filaInicialHoja); HSSFCell celda0 = estadisticasTitle.createCell(0); celda0.setCellValue("Statistics"); diff --git a/com.variamos.reasoning/.classpath b/com.variamos.reasoning/.classpath index c2a009ff..82ca0a37 100644 --- a/com.variamos.reasoning/.classpath +++ b/com.variamos.reasoning/.classpath @@ -1,10 +1,9 @@ - - - - - - - - - - + + + + + + + + + diff --git a/com.variamos.reasoning/.settings/org.eclipse.buildship.core.prefs b/com.variamos.reasoning/.settings/org.eclipse.buildship.core.prefs deleted file mode 100644 index f52eb26f..00000000 --- a/com.variamos.reasoning/.settings/org.eclipse.buildship.core.prefs +++ /dev/null @@ -1,15 +0,0 @@ -#Wed Jul 18 20:51:52 COT 2018 -connection.arguments= ->>>>>>>=refs/remotes/upstream/master -connection.jvm.arguments= -build.commands=org.eclipse.jdt.core.javabuilder -connection.project.dir=.. -natures=org.eclipse.jdt.core.javanature -<<<<<<<=HEAD -connection.gradle.user.home=null -eclipse.preferences.version=1 -connection.java.home=null -derived.resources=.gradle,build -project.path=\:com.variamos.reasoning -connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER) -=\=\=\=\=\=\= diff --git a/com.variamos.reasoning/.settings/org.eclipse.jdt.core.prefs b/com.variamos.reasoning/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index bb35fa0a..00000000 --- a/com.variamos.reasoning/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,11 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 diff --git a/com.variamos.reasoning/build.gradle b/com.variamos.reasoning/build.gradle index 95bef9a6..55cf4326 100644 --- a/com.variamos.reasoning/build.gradle +++ b/com.variamos.reasoning/build.gradle @@ -4,8 +4,26 @@ archivesBaseName = 'com.variamos.reasoner' version = '1.0-SNAPSHOT' dependencies { - compile fileTree(dir: 'lib', include: ['*.jar']) - compile project(':com.variamos.common') - compile project(':com.variamos.hlcl') - compile project(':com.variamos.solver') -} \ No newline at end of file +compile group: 'jpl', name: 'jpl', version: '7.4.0' +compile 'org.json:json:20180813' + compile files('lib/sxfm-1.0.0.jar') +compile project(':com.variamos.common') +compile project(':com.variamos.hlcl') +compile project(':com.variamos.solver') + +} + +dependencies { + testCompile 'junit:junit:4.12' +} + +test { + environment "LD_LIBRARY_PATH", project.JPL_LIB_PATH + +} + +repositories { + + mavenCentral() +} + diff --git a/com.variamos.reasoning/lib/java-json.jar b/com.variamos.reasoning/lib/java-json.jar deleted file mode 100644 index 2f211e36..00000000 Binary files a/com.variamos.reasoning/lib/java-json.jar and /dev/null differ diff --git a/com.variamos.reasoning/lib/sxfm.jar b/com.variamos.reasoning/lib/sxfm-1.0.0.jar similarity index 100% rename from com.variamos.reasoning/lib/sxfm.jar rename to com.variamos.reasoning/lib/sxfm-1.0.0.jar diff --git a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/core/transformer/FeatureModelSPLOTransformer.java b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/core/transformer/FeatureModelSPLOTransformer.java index dc1aef54..eae26f21 100644 --- a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/core/transformer/FeatureModelSPLOTransformer.java +++ b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/core/transformer/FeatureModelSPLOTransformer.java @@ -75,7 +75,7 @@ private void init(VMTransformerInDTO inDTO) { } /** - * Lee el xml para identificar las caracter�sticas raices + * Lee el xml para identificar las caracter�sticas raices * * @param node * @param tab @@ -209,10 +209,18 @@ else if (node instanceof FeatureGroup) { // Se recorre los hijos de la cardinalidad para construir la // restriccion - Enumeration childrenNodes = node.children(); + + // One should not use deprecated types + @SuppressWarnings("rawtypes") + Enumeration dummies = node.children(); + List childrenNodes = new ArrayList<>(); + while(dummies.hasMoreElements()) { + childrenNodes.add((FeatureTreeNode) dummies.nextElement()); + } + + - while (childrenNodes.hasMoreElements()) { - FeatureTreeNode childNode = childrenNodes.nextElement(); + for(FeatureTreeNode childNode : childrenNodes){ String childFeatureName = transformName(childNode.getName()); VariabilityElementDefAna variabilityElementDefAna = new VariabilityElementDefAna( childFeatureName); diff --git a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/core/transformer/FeatureModelTransformerRules.java b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/core/transformer/FeatureModelTransformerRules.java index 4792086e..61f2676f 100644 --- a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/core/transformer/FeatureModelTransformerRules.java +++ b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/core/transformer/FeatureModelTransformerRules.java @@ -36,7 +36,7 @@ public IntBooleanExpression getMandatoryRule(VariabilityElementDefAna element1, } /** - * M�todo para negar una restricci�n mandatory + * M�todo para negar una restricci�n mandatory * * @param element1 * @param element2 diff --git a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/core/CauCosAnayzer.java b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/core/CauCosAnayzer.java index 7bfaf20a..1db63555 100644 --- a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/core/CauCosAnayzer.java +++ b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/core/CauCosAnayzer.java @@ -85,8 +85,8 @@ private List getNextSet(List> d int indexDependencyToRemove = 0; if (!dependenciesToChange.isEmpty()) { // Antes de cambiar se verifica que no sea subconjunto de las - // cláusulas bloquedas, si es subconjunto no se analiza esa - // combinación + // cláusulas bloquedas, si es subconjunto no se analiza esa + // combinación for (int i = 0; i < dependenciesToChange.size(); i++) { if (blockedClausesSets == null || !SetUtil .verifySetIsSubSetOfCollectionSets(dependenciesToChange.get(i), blockedClausesSets)) { @@ -107,13 +107,13 @@ private List getNextSet(List> d } /** - * Identifica los MCS para un conjunto de dependencies según el mode - * ingresado ( Todos los MCS o los más pequeños) + * Identifica los MCS para un conjunto de dependencies según el mode + * ingresado ( Todos los MCS o los más pequeños) * * @param mode * @param maxK - * : Tamaño máximo del conjunto corrección cuando se desea - * restringir el tamaño del espacio de búsqueda + * : Tamaño máximo del conjunto corrección cuando se desea + * restringir el tamaño del espacio de búsqueda * @return * @throws FunctionalException * @throws PrologException @@ -129,7 +129,7 @@ private List> getMCSes(Defect defectToAnalyze, HlclPr List> allMCSes = new ArrayList>(); // Combinaciones de potenciales MCS que no deben ser analizadas pq se - // sabe previamente que no van a generar ningún resultado + // sabe previamente que no van a generar ningún resultado List> blockedConstraints = new ArrayList>(); HlclProgram modelExpressions = new HlclProgram(); @@ -143,16 +143,16 @@ private List> getMCSes(Defect defectToAnalyze, HlclPr } System.out.println("Defecto" + defectToAnalyze); System.out.println("McsIdentificados" + allMCSes); - System.out.println("Construyendo combinationes tamaño " + r + " ... "); + System.out.println("Construyendo combinationes tamaño " + r + " ... "); // Se construye el powerset de relaciones a ajustar se podan los - // elementos del MCS ya identificados y las cláusulas que se + // elementos del MCS ya identificados y las cláusulas que se // deben bloquear. List> subSets = PowerSetUtil.calculateSets(new ArrayList(), modelExpressions, new ArrayList>(), r, allMCSes, blockedConstraints); if (subSets.isEmpty()) { - // No se pudieron hacer combinaciones de tamaño k con los + // No se pudieron hacer combinaciones de tamaño k con los // elementos de entrada, entonces se termina el algoritmo advance = Boolean.FALSE; } else { @@ -182,7 +182,7 @@ private List> getMCSes(Defect defectToAnalyze, HlclPr allMCSes = unsatisfiableSets; } - // Se incrementa el tamaño del nivel de búsqueda + // Se incrementa el tamaño del nivel de búsqueda r++; } } @@ -238,7 +238,7 @@ private List getCauses(Defect defectToAnalyze, HlclProgram fixedConstrai * Reemplaza en el programa de restricciones de entrada una a una las * restricciones que se encuentran en dependenciesToChange y verifica si el * nuevo programa es satisfacible, si es satisfacible entonces esa - * restricción es un MCS + * restricción es un MCS * * @param expressionsToTest * @param modelToTest @@ -262,7 +262,7 @@ private List> identifyMCSBySize(List> MCSes = new ArrayList>(); List> newUnsatisfiableSet = new ArrayList>(); - // System.out.println("INICIO IDENTIFICACIÓN NIVEL " + r); + // System.out.println("INICIO IDENTIFICACIÓN NIVEL " + r); while (advance) { @@ -276,8 +276,8 @@ private List> identifyMCSBySize(List> identifyMCSBySize(List> identifyMCSBySize(List> identifyMCSBySize(List originalSetOfClauses max = center; } } - // Se resta 1 pq en java los vectores comienzan con la posición cero y + // Se resta 1 pq en java los vectores comienzan con la posición cero y // llegan hasta n-1 return (min - 1); @@ -429,7 +429,7 @@ private List blockConstraints(List e List modelToTestCopy = new ArrayList(); List newUnsatisfiableSetComplement = new ArrayList(); - // Guardará la copia que queda al final de cláusulas insatisfacibles ( + // Guardará la copia que queda al final de cláusulas insatisfacibles ( // sin el defecto a analizar) unsatisifableSetCopy.addAll(expressionsToTest); @@ -443,7 +443,7 @@ private List blockConstraints(List e "Error with the dicothomic approach.Please verify that fixed restrictions do not conflict with verification constraints"); } - // Se adiciona a la colección general de clausulas + // Se adiciona a la colección general de clausulas // unsatisfiables addedColllection = addUnsatisfiableConstraints(unsatisfiableSets, newUnsatisfiableSet); @@ -452,14 +452,14 @@ private List blockConstraints(List e // original, para // obtener el complemento correctamente. Sino como // el - // paso es por referencia se afecta la colección + // paso es por referencia se afecta la colección // original modelToTestCopy.clear(); modelToTestCopy.addAll(modelToTest); newUnsatisfiableSetComplement.clear(); newUnsatisfiableSetComplement.addAll(SetUtil.difference(modelToTestCopy, newUnsatisfiableSet)); - // Se adiciona al conjunto de cláusulas + // Se adiciona al conjunto de cláusulas // insatisfacibles // completo blockedConstraints = addConstraintsToBlock(blockedConstraints, newUnsatisfiableSetComplement, k); @@ -471,7 +471,7 @@ private List blockConstraints(List e } /** - * Adiciona a la collección de sets los sets insatisfacibles. Verificando + * Adiciona a la collección de sets los sets insatisfacibles. Verificando * que no existan subsets * * @param blockedSets @@ -481,12 +481,12 @@ private List blockConstraints(List e private List> addConstraintsToBlock(List> blockedSets, List setToBlock, int minimalSize) { - // Se adiciona la cláusula y luego se eliminan los subsets que existan - // dentro de la lista de cláusulas a bloquear, pq son innecesarios + // Se adiciona la cláusula y luego se eliminan los subsets que existan + // dentro de la lista de cláusulas a bloquear, pq son innecesarios if (setToBlock != null && !setToBlock.isEmpty()) { - // Si la cláusula a bloquear es mayor al tamaño de las cláusulas que - // se están analizando se adiciona. Sino no, pues ya se habría + // Si la cláusula a bloquear es mayor al tamaño de las cláusulas que + // se están analizando se adiciona. Sino no, pues ya se habría // analizado esa coleccion if (blockedSets != null) { if (setToBlock.size() >= minimalSize) { @@ -494,11 +494,11 @@ private List> addConstraintsToBlock(List> addConstraintsToBlock(List> addConstraintsToBlock(List> unsatisfiableCollectionOfSets, List clausesToAdd) { - // Se adiciona la cláusula y luego se eliminan los supersets que existan - // dentro de la lista de cláusulas a bloquear, pq son innecesarios + // Se adiciona la cláusula y luego se eliminan los supersets que existan + // dentro de la lista de cláusulas a bloquear, pq son innecesarios boolean addedCollection = false; if (clausesToAdd != null && !clausesToAdd.isEmpty()) { if (unsatisfiableCollectionOfSets != null) { @@ -528,7 +528,7 @@ private boolean addUnsatisfiableConstraints(List> uns unsatisfiableCollectionOfSets.add(clausesToAdd); addedCollection = true; } else { - System.out.println("Unsatisfiable set ya existía"); + System.out.println("Unsatisfiable set ya existía"); } } } @@ -631,7 +631,7 @@ public Diagnosis getCauCos(Defect defect, HlclProgram model, HlclProgram fixedCo @Override public List getCorrections(Defect defect, HlclProgram model, HlclProgram fixedConstraints, DefectAnalyzerModeEnum mode) throws FunctionalException { - // La lista vacía se envía para guardar los conjuntos irresolubles. Esto + // La lista vacía se envía para guardar los conjuntos irresolubles. Esto // es importante cuando se hallan causas y correcciones juntas List corrections = getCorrections(defect, model, fixedConstraints, new ArrayList>(), mode); @@ -647,10 +647,10 @@ private List getCorrections(Defect defect, HlclProgram model, HlclProgra progressMonitor.setProgress(1); } if (defect instanceof Redundancy) { - // Se quita de la lista la expresión que se considera - // redundante para que pueda ponerse su instrucción de verificación. - // Si ambas se dejan juntas se estaría generando una contradicción - // en el que la solución es quitar la misma restricción redundante y + // Se quita de la lista la expresión que se considera + // redundante para que pueda ponerse su instrucción de verificación. + // Si ambas se dejan juntas se estaría generando una contradicción + // en el que la solución es quitar la misma restricción redundante y // eso // no tiene sentido en este caso HlclProgram modelCopy = new HlclProgram(); diff --git a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/core/DefectAnalyzerController.java b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/core/DefectAnalyzerController.java index 245913a9..e083d79b 100644 --- a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/core/DefectAnalyzerController.java +++ b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/core/DefectAnalyzerController.java @@ -33,7 +33,7 @@ public DefectAnalyzerController() { // Se valida que existan los directorios antes de continuar File file = new File(outputDirectoryPath); if (!file.exists()) { - // Si no existe el directorio se lanza una excepción + // Si no existe el directorio se lanza una excepción throw new FunctionalException("output directory " + outputDirectoryPath + " does not exist"); } @@ -83,7 +83,7 @@ public DefectAnalyzerController() { ClassificationType.CORRECTIONS); printAllClassifiedDiagnosis(classifiedCauses, ClassificationType.CAUSES); - // Información DTO de salida que sirve para analizar xls resumidos + // Información DTO de salida que sirve para analizar xls resumidos defectAnalyzerControllerOut.setAllDiagnostics(causeAnalizerOutDTO .getAllDiagnosis()); defectAnalyzerControllerOut.setTime(totalCorrectionSetTestTime); @@ -128,7 +128,7 @@ public DefectAnalyzerController() { ClassifiedElement classifiedDiagnosis, ClassificationType classificationType) { - System.out.println(" \n CLASIFICACIÓN:" + classificationType.name()); + System.out.println(" \n CLASIFICACIÓN:" + classificationType.name()); System.out.println("_______________________________________"); System.out.println("A.Comunes"); System.out.println("Cantidad: " @@ -199,7 +199,7 @@ public void printDiagnosis(List allDiagnosis) { List> defectos = new ArrayList>(); - // Estadistícas + // Estadistícas List numCaracteristicas = new ArrayList(); numCaracteristicas.add("#Caracteristicas"); numCaracteristicas.add(Integer.toString(defectAnalyzerInDTO @@ -263,12 +263,12 @@ public void printDiagnosis(List allDiagnosis) { general.add(Integer.toString(cantidadDefectos)); defectos.add(general); List defectoVoidModelo = new ArrayList(); - defectoVoidModelo.add("Modelo vacío"); + defectoVoidModelo.add("Modelo vacío"); defectoVoidModelo.add(Boolean.toString(vmVerifierOutDTO.isVoidModel())); defectos.add(defectoVoidModelo); List defectoFalseProductLine = new ArrayList(); - defectoFalseProductLine.add("Falsa Línea de productos"); + defectoFalseProductLine.add("Falsa Línea de productos"); defectoFalseProductLine.add(Boolean.toString(vmVerifierOutDTO .isFalseProductLineModel())); defectos.add(defectoFalseProductLine); @@ -280,14 +280,14 @@ public void printDiagnosis(List allDiagnosis) { defectos.addAll(saveDefects("Redundancies", vmVerifierOutDTO.getRedundanciesList())); - // Se pone información en la hoja + // Se pone información en la hoja ExportUtil.adicionarInfoHoja(Arrays.asList(titulosDefectos), 0, hojaDefectos, defectos, tiempoTest, cont); // CAUSAS Y CORECCIONES - // Información para guardar + // Información para guardar String titulos[] = { "Defecto", "#elementos relajados", - "Solución número", "correcionsets" }; + "Solución número", "correcionsets" }; HSSFSheet hoja = resultadosLibro.createSheet(); List allDiagnostics = causeAnalyzerOutDTO @@ -344,11 +344,11 @@ public void printDiagnosis(List allDiagnosis) { resultadosAnalisis.add(new ArrayList()); } - // Se pone información en la hoja + // Se pone información en la hoja ExportUtil.adicionarInfoHoja(Arrays.asList(titulos), 0, hoja, resultadosAnalisis, tiempoTest, cont); - // Se crea una nueva hoja para poner la clasificación de las causas y + // Se crea una nueva hoja para poner la clasificación de las causas y // las correciones HSSFSheet hojaClasificacion = resultadosLibro.createSheet(); @@ -368,7 +368,7 @@ public void printDiagnosis(List allDiagnosis) { clasificacion.addAll(saveClassification("correcciones no Comunes", classifiedCorrections.getNoCommonDiagnosis())); - // Se pone información en la hoja + // Se pone información en la hoja ExportUtil.adicionarInfoHoja(Arrays.asList(titulosClasificacion), 0, hojaClasificacion, clasificacion, tiempoTest, cont); @@ -405,7 +405,7 @@ private List> saveDefects(String encabezado, } /** - * Crea la información para guardar la clasificación en una hoja de excel + * Crea la información para guardar la clasificación en una hoja de excel * * @param encabezado * @param classifiedCausesCorrectionsList @@ -488,7 +488,7 @@ private VerificationResultDTO verifyDefects( } /** - * Identifica las causas de los defectos identificados según los criterios + * Identifica las causas de los defectos identificados según los criterios * definidos en el DTO de entrada * * @param defectAnalyzerInDTO @@ -500,7 +500,7 @@ private DefectAnalyzerResultDTO causesAnalyzer( DefectAnalyzerControllerInDTO defectAnalyzerInDTO, VerificationResultDTO verifierOutDTO) throws FunctionalException { - // Información del DTO + // Información del DTO VMAnalyzerInDTO vmAnalyzerInDTO = new VMAnalyzerInDTO(); vmAnalyzerInDTO.setVariabilityModel(defectAnalyzerInDTO .getVariabilityModel()); diff --git a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/core/DefectsVerifier.java b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/core/DefectsVerifier.java index 98ccc5e1..274255e1 100644 --- a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/core/DefectsVerifier.java +++ b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/core/DefectsVerifier.java @@ -37,8 +37,8 @@ public class DefectsVerifier implements IntDefectsVerifier { - // Variables usadas para almacenar información que es útil cuando se hacen - // otras operaciones de verificación + // Variables usadas para almacenar información que es útil cuando se hacen + // otras operaciones de verificación private Map> verifiedValuesMap; private SolverOperationsUtil solver; private HlclProgram model; @@ -145,7 +145,7 @@ public List getVoids( } private boolean existValue(Identifier identifier, int valueToTest) { - // Cada vez que se hace una configuración se bloquean valores no tener + // Cada vez que se hace una configuración se bloquean valores no tener // que verificar luego estos valores Set attainableDomains = verifiedValuesMap.get(identifier); if (attainableDomains == null @@ -168,7 +168,7 @@ public List getNonAttainableDomains(Identifier identifier) IntBooleanExpression verificationExpression = null; - // Se verifica si el modelo es vacío + // Se verifica si el modelo es vacío boolean isSatisfiable = solver.isSatisfiable(model); if (isSatisfiable) { @@ -186,12 +186,12 @@ public List getNonAttainableDomains(Identifier identifier) .verifyAssignValueToVariabilityElementExpression( identifier, valueToTest); - // Se adiciona la restricción al conjunto de restricciones + // Se adiciona la restricción al conjunto de restricciones // que representa el modelo de variabilidad ConfigurationOptionsDTO options = new ConfigurationOptionsDTO(); options.addAdditionalExpression(verificationExpression); - // Se obtiene una configuración del solver + // Se obtiene una configuración del solver SolverSolution configurationResult = solver .getConfiguration(model, new SolverSolution(), options); @@ -230,7 +230,7 @@ private void updateEvaluatedDomainsMap(SolverSolution configuration) { for (Identifier identifier : identifiersList) { - // Se busca en la configuración el id del identificador + // Se busca en la configuración el id del identificador if (configurationValues.containsKey(identifier.getId())) { number = configurationValues.get(identifier.getId()); @@ -367,7 +367,7 @@ public Defect isDeadElement(Identifier identifier, // constraintToAdd = VerifierUtilExpression // .verifyAssignValueToVariabilityElementExpression( // identifier, definedDomainValue); - // // Se adiciona la restricción al conjunto de restricciones + // // Se adiciona la restricción al conjunto de restricciones // // que representa el modelo de variabilidad // ConfigurationOptions options = new ConfigurationOptions(); // options.addAdditionalExpression(constraintToAdd); @@ -446,7 +446,7 @@ public Defect isDeadElement(Identifier identifier, // // verificationExpression = VerifierUtilExpression // .verifyFalseOptionalExpression(identifier); - // // Se adiciona la restricción de verificacion al conjunto de + // // Se adiciona la restricción de verificacion al conjunto de // // restricciones // // que representa el modelo de variabilidad // ConfigurationOptions options = new ConfigurationOptions(); @@ -577,12 +577,12 @@ public Defect isRedundant(IntBooleanExpression expressionToVerify) isSatisfiable = solver.isSatisfiable(modelWithoutRedundancy); if (!isSatisfiable) { - // La relación no es redundante, pq se requiere para que el + // La relación no es redundante, pq se requiere para que el // modelo funcione return null; } else { // Si el nuevo modelo es resoluble entonces se adicionan las - // instrucciones que corresponen a la negación de la restricción + // instrucciones que corresponen a la negación de la restricción // que se cree redundante HlclFactory f = new HlclFactory(); @@ -590,8 +590,8 @@ public Defect isRedundant(IntBooleanExpression expressionToVerify) Identifier reification; IntBooleanExpression reifedExpression; List negationList = new ArrayList(); - // Se reifica la expresión a negar en una variable, luego se - // aplica la negación sobre esa variable que es ( 1- Variable) + // Se reifica la expresión a negar en una variable, luego se + // aplica la negación sobre esa variable que es ( 1- Variable) // #> 0 reification = f.newIdentifier("ReifRedundancy"); reifedExpression = f.doubleImplies(reification, @@ -607,7 +607,7 @@ public Defect isRedundant(IntBooleanExpression expressionToVerify) new SolverSolution(), options); if (!isSatisfiable) { - // La restricción si es redundante pq el modelo se volvió + // La restricción si es redundante pq el modelo se volvió // irresoluble Defect redundancy = new Redundancy(negationList, expressionToVerify); diff --git a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/core/HittingSetIdentifier.java b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/core/HittingSetIdentifier.java index 02b94c50..285e608b 100644 --- a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/core/HittingSetIdentifier.java +++ b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/core/HittingSetIdentifier.java @@ -12,7 +12,7 @@ /** - * Contiene los métodos relacionados con la identificación de los MUSes + * Contiene los métodos relacionados con la identificación de los MUSes * @author LuFe * */ @@ -21,14 +21,14 @@ public class HittingSetIdentifier { /* - * Implementa la lógica propuesta en Lifton(2009) pero se modifica pq el - * algoritmo original omitía algunos subconjuntos + * Implementa la lógica propuesta en Lifton(2009) pero se modifica pq el + * algoritmo original omitía algunos subconjuntos */ public static void allMUSes(List> minimalCorrectionSubsets, List actualHittingSet, List> hittingSets) { - // Adiciona al MUS actual los conjutos de la lista que tengan tamaño + // Adiciona al MUS actual los conjutos de la lista que tengan tamaño // 1. // Estos siempre tienen que ir y permite ganar en velocidad. Elimina // luego estos conjuntos de la lista, y si hay mas conjuntos que @@ -45,7 +45,7 @@ public static void allMUSes(List> minimalCorrectionSubsets, return; } else { - // Unión de elementos que formarán los hitting sets + // Unión de elementos que formarán los hitting sets Collection allClausesMCSes = SetUtil .getUnionCollectionOfSets(minimalCorrectionSubsets); boolean stop = Boolean.FALSE; @@ -99,7 +99,7 @@ private static void propagateSingletons( // List> newMCSes = new ArrayList>(); Collection> minimalCorrectionSubsetsToRemove = new ArrayList>(); - // Se ordenan los conjuntos por tamaño de menor mayor + // Se ordenan los conjuntos por tamaño de menor mayor Collections.sort(minimalCorrectionSubsets, new CollectionsSizeComparator()); @@ -109,12 +109,12 @@ private static void propagateSingletons( if (list.size() == 1) { actualMUS.addAll(list); minimalCorrectionSubsetsToRemove.add(list); - // Se eliminan de los otros conjuntos las cláusulas que contiene + // Se eliminan de los otros conjuntos las cláusulas que contiene // el conjunto con un solo elemento clausesToRemove.addAll(list); } else { - // Como esta ordenado por tamaño, si la lista no es de tamaño 1 - // es pq no hay más de ese tamaño y se puede terminar el ciclo + // Como esta ordenado por tamaño, si la lista no es de tamaño 1 + // es pq no hay más de ese tamaño y se puede terminar el ciclo break; } } @@ -127,7 +127,7 @@ private static void propagateSingletons( testMCS.remove(clause); } if (testMCS.isEmpty()) { - // Si la lista es vacía se elimina del la lista de MCSes + // Si la lista es vacía se elimina del la lista de MCSes minimalCorrectionSubsetsToRemove.add(testMCS); } @@ -138,7 +138,7 @@ private static void propagateSingletons( minimalCorrectionSubsets.removeAll(minimalCorrectionSubsetsToRemove); // La lista modificada de minimalCorrectionsSUbsets y el actualMUS sale - // de aqui modificado pq los parámetros fueron pasados por referencia + // de aqui modificado pq los parámetros fueron pasados por referencia } @@ -146,7 +146,7 @@ private static void propagateSingletons( /** * Verifica que no existan superconjuntos en los hitting sets generados para - * garantizar que cada hitting set es mínimo + * garantizar que cada hitting set es mínimo * * @param minimalCorrectionSubsets * @param actualMUS @@ -158,15 +158,15 @@ public static List> filterMUSes( List> hittingSubsets) { // En caso de que la lista de entrada tenga supersets se eliminan ( - // Para la formación de un hitting set esto no debería pasar, pero se + // Para la formación de un hitting set esto no debería pasar, pero se // hace por seguridad) List> collectionOfSetCopy = cloneSet(minimalCorrectionSubsets); collectionOfSetCopy = SetUtil.maintainNoSupersets(collectionOfSetCopy); allMUSes(collectionOfSetCopy, actualMUS, hittingSubsets); // Se eliminan los supersets de los hitting sets. Esto para garantizar - // que los hittings sets identificados sean mínimo - // Un hitting set es mínimo si sus subconjuntos propios no son hitting + // que los hittings sets identificados sean mínimo + // Un hitting set es mínimo si sus subconjuntos propios no son hitting // sets, por lo tanto, no pueden haber supersets entre los conjuntos // para cumplir con esta propiedad SetUtil.maintainNoSupersets(hittingSubsets); @@ -192,7 +192,7 @@ private static List> cloneSet(List> collectionToClone) { /** - * Selecciona la siguiente cláusula con la cuál probar la generación del MUS + * Selecciona la siguiente cláusula con la cuál probar la generación del MUS * * @param collectionOfSets * @param blockedClauses @@ -212,7 +212,7 @@ private static E selectRemainingClause(List> collectionOfSets, } } - // Se retorna el primer elemento si la lista no es vacía + // Se retorna el primer elemento si la lista no es vacía if (!set.isEmpty()) { return set.get(0); } @@ -222,9 +222,9 @@ private static E selectRemainingClause(List> collectionOfSets, /** - * Implementa la lógica propuesta en Lifton(2009). Pero modifica la parte en + * Implementa la lógica propuesta en Lifton(2009). Pero modifica la parte en * la que elimina las clausulas del MCS seleccionado de otros conjuntos pq - * estaba descartando hitting set mínimos + * estaba descartando hitting set mínimos * * @param mCSes * @param clauseToAdd @@ -236,16 +236,16 @@ private static void propagateChoiceSinEliminarClausulas( Collection> minimalCorrectionSubsetsToRemove = new ArrayList>(); if (!mCSes.isEmpty()) { - // Se eliminan los subconjuntos que tienen la cláusula que se - // seleccionó + // Se eliminan los subconjuntos que tienen la cláusula que se + // seleccionó for (List testMCS : mCSes) { // Remove any other MCSes hit by choosing thisClause, because - // they have now been “satisfied” by the partial + // they have now been “satisfied” by the partial // solution(Lifton,2009) if (testMCS.contains(clauseToAdd)) { minimalCorrectionSubsetsToRemove.add(testMCS); - // Se deben eliminar las cláusulas de este MCS de los otros - // MCS pq no son cláusulas válidas + // Se deben eliminar las cláusulas de este MCS de los otros + // MCS pq no son cláusulas válidas // clausesToRemove.addAll(testMCS); } } @@ -264,7 +264,7 @@ private static E searchMoreRelatedElement(Collection elements, if (!elements.isEmpty()) { - // Se guarda la colección en una lista + // Se guarda la colección en una lista List elementsToCount = new ArrayList(); for (E element : elements) { elementsToCount.add(element); @@ -275,7 +275,7 @@ private static E searchMoreRelatedElement(Collection elements, return elementsToCount.get(0); } - // Vector que almacena el número de ocurrencias que tiene cada + // Vector que almacena el número de ocurrencias que tiene cada // elemento del set elements en la collectionOfSets int recordCount[] = new int[elements.size()]; @@ -291,7 +291,7 @@ private static E searchMoreRelatedElement(Collection elements, recordCount[i] = count; } - // Se verifica cuál es la posición del array que tiene el número más + // Se verifica cuál es la posición del array que tiene el número más // grande int position = 0; for (int i = 1; i < recordCount.length; i++) { @@ -300,8 +300,8 @@ private static E searchMoreRelatedElement(Collection elements, } } - // Se retorna la dependencia de la lista que este en la posición que - // tenía el mayor número de ocurrencias y se elimina de la lista + // Se retorna la dependencia de la lista que este en la posición que + // tenía el mayor número de ocurrencias y se elimina de la lista // original para que avance el ciclo elements.remove(elementsToCount.get(position)); return elementsToCount.get(position); diff --git a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/core/VariabilityModelCausesCorrectionsSorter.java b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/core/VariabilityModelCausesCorrectionsSorter.java index 0a88725d..bef1e813 100644 --- a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/core/VariabilityModelCausesCorrectionsSorter.java +++ b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/core/VariabilityModelCausesCorrectionsSorter.java @@ -24,15 +24,15 @@ public VariabilityModelCausesCorrectionsSorter() { public ClassifiedElement classifyDiagnosis(List allDiagnoses, ClassificationTypeEnum classsificationType) { - // Almacena la colección completa de todos los MUSes o de todos los - // MCSes según el parámetro de entrada + // Almacena la colección completa de todos los MUSes o de todos los + // MCSes según el parámetro de entrada List cauCosAllElements = new ArrayList(); Set caucosAllElementsSet = new HashSet(); List commonDiagnosis = new ArrayList(); List noCommonDiagnosis = new ArrayList(); - // Se obtiene la colección de todos las causas o correcciones - // según el classificationType + // Se obtiene la colección de todos las causas o correcciones + // según el classificationType for (Diagnosis diagnosis : allDiagnoses) { if (classsificationType.equals(ClassificationTypeEnum.CAUSES)) { cauCosAllElements.addAll(diagnosis.getCauses()); @@ -48,7 +48,7 @@ public ClassifiedElement classifyDiagnosis(List allDiagnoses, caucosAllElementsSet.add(cauCos); } int setSize=caucosAllElementsSet.size(); - // Se eliminan los repetidos que tenían orden distinto y no eran + // Se eliminan los repetidos que tenían orden distinto y no eran // detectados por el equals de la clase CauCos List> cauCosExpressionsList = new ArrayList>(); for (CauCos cauCos : caucosAllElementsSet) { @@ -59,8 +59,8 @@ public ClassifiedElement classifyDiagnosis(List allDiagnoses, SetUtil.maintainNoSupersets(cauCosExpressionsList); //FIXME terminar el filtro para que no tenga valores repetidos - // Se recorre la unión anteriormente obtenida ( es una causa una - // correción) + // Se recorre la unión anteriormente obtenida ( es una causa una + // correción) long id = 1; for (CauCos cauCos : cauCosAllElements) { @@ -93,12 +93,12 @@ public ClassifiedElement classifyDiagnosis(List allDiagnoses, private List searchDiagnosisByDefects(List allDiagnoses, CauCos cauCos, ClassificationTypeEnum classsificationType) { - // Lista de defectos en los que se encuentra la causa o corrección + // Lista de defectos en los que se encuentra la causa o corrección List defects = new ArrayList(); for (Diagnosis diagnosis : allDiagnoses) { if (classsificationType.equals(ClassificationTypeEnum.CAUSES)) { - // Se verifica si en la colección de causas de este diagnostico + // Se verifica si en la colección de causas de este diagnostico // esta la causa o correccion a revisar List causes = diagnosis.getCauses(); if (causes.contains(cauCos)) { @@ -107,7 +107,7 @@ private List searchDiagnosisByDefects(List allDiagnoses, } else if (classsificationType .equals(ClassificationTypeEnum.CORRECTIONS)) { - // Se verifica si en la colección de correcciones de este + // Se verifica si en la colección de correcciones de este // diagnostico // esta ese conjunto List corrections = diagnosis.getCorrections(); diff --git a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/defects/Defect.java b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/defects/Defect.java index 3fbcfe20..f1cdbc4f 100644 --- a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/defects/Defect.java +++ b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/defects/Defect.java @@ -10,7 +10,7 @@ public class Defect { protected String id; protected DefectTypeEnum defectType; // Guarda la lista de restricciones que se usan para identificar el defecto - // con las operaciones de verificación + // con las operaciones de verificación protected List verificationExpressions; public Defect() { diff --git a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/diagnosis/ClassifiableDiagnosis.java b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/diagnosis/ClassifiableDiagnosis.java index 0e367ea4..0bcd36ef 100644 --- a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/diagnosis/ClassifiableDiagnosis.java +++ b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/diagnosis/ClassifiableDiagnosis.java @@ -6,7 +6,7 @@ public class ClassifiableDiagnosis { - // Puede ser una causa o una corrección según como se use + // Puede ser una causa o una corrección según como se use private CauCos cauCos; private Long id; diff --git a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/diagnosis/Diagnosis.java b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/diagnosis/Diagnosis.java index 0bb73ec3..d53e4875 100644 --- a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/diagnosis/Diagnosis.java +++ b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/diagnosis/Diagnosis.java @@ -7,8 +7,8 @@ import com.variamos.reasoning.defectAnalyzer.model.defects.Defect; /** - * Objeto que representa el defecto, las causas y los subconjuntos corrección - * que podrían solucionar el defecto + * Objeto que representa el defecto, las causas y los subconjuntos corrección + * que podrían solucionar el defecto * * @author LuFe * @@ -51,7 +51,7 @@ public void printCorrections() { int i = 1; System.out.println("Defecto" + defect.getId()); for (CauCos correction : corrections) { - System.out.println("Corrección: " + i); + System.out.println("Corrección: " + i); printCorrectionSet(correction.getElements()); i++; } diff --git a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/diagnosis/VariabilityElementDefAna.java b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/diagnosis/VariabilityElementDefAna.java index f88c2d95..53e9c947 100644 --- a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/diagnosis/VariabilityElementDefAna.java +++ b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/diagnosis/VariabilityElementDefAna.java @@ -51,15 +51,15 @@ public void setDomain(IntDefectAnalyzerDomain domain) { } /** - * // Se agrega a la lista de características, la actual (se pone sus // - * letras en mayúscula, se intercambian los espacios por _ y // se + * // Se agrega a la lista de características, la actual (se pone sus // + * letras en mayúscula, se intercambian los espacios por _ y // se * reemplazan los simbolos de + y - por Plus y Minus, // respectivamente) * * @param name * @return */ private String transformName(String name) { - // Se pasa a mayúsculas la primera letra para garantizar + // Se pasa a mayúsculas la primera letra para garantizar // que sea interpretada como variable en los solvers por ejemplo en // Prolog String changedName = evaluateFirstCharacter(name.charAt(0)) diff --git a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/dto/DefectAnalyzerResultDTO.java b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/dto/DefectAnalyzerResultDTO.java index 1982d6e2..c7e6c361 100644 --- a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/dto/DefectAnalyzerResultDTO.java +++ b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/dto/DefectAnalyzerResultDTO.java @@ -8,7 +8,7 @@ import com.variamos.reasoning.defectAnalyzer.model.diagnosis.Diagnosis; /** - * Entrega los resultados del análisis del defecto causas y correcciones + * Entrega los resultados del análisis del defecto causas y correcciones * * @author LuFe * diff --git a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/dto/VMTransformerInDTO.java b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/dto/VMTransformerInDTO.java index b979aee3..0b67f347 100644 --- a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/dto/VMTransformerInDTO.java +++ b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/dto/VMTransformerInDTO.java @@ -12,7 +12,7 @@ public class VMTransformerInDTO { private NotationType notationType; - //Para transformar desde Prolog Indica en que notación esta el modelo a transformar + //Para transformar desde Prolog Indica en que notación esta el modelo a transformar private SolverEditorType prologEditorTypeFileToTransform; /** diff --git a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/transformation/Dependency.java b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/transformation/Dependency.java index c4285a40..ebcd9501 100644 --- a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/transformation/Dependency.java +++ b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/transformation/Dependency.java @@ -9,9 +9,9 @@ public class Dependency implements Cloneable { private IntBooleanExpression constraintExpression; - // Negación de la expresión. Sirve para identificar las redundancias - // automáticamente en modelos de caraacteristicas. En las otras notaciones - // si se debe escribir la expresión manualmente + // Negación de la expresión. Sirve para identificar las redundancias + // automáticamente en modelos de caraacteristicas. En las otras notaciones + // si se debe escribir la expresión manualmente private IntBooleanExpression negationExpression; diff --git a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/transformation/VariabilityModel.java b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/transformation/VariabilityModel.java index 16739829..13be2084 100644 --- a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/transformation/VariabilityModel.java +++ b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/defectAnalyzer/model/transformation/VariabilityModel.java @@ -16,8 +16,8 @@ public class VariabilityModel { private Map dependencies; private String name; - // Dependencias propias de la notaci�n que se est� utilizando y que no - // pueden ser modificables pq hacen parte de la sem�ntica del modelo de + // Dependencias propias de la notaci�n que se est� utilizando y que no + // pueden ser modificables pq hacen parte de la sem�ntica del modelo de // variabilidad private Map fixedDependencies; @@ -25,7 +25,7 @@ public class VariabilityModel { // opcionales private Map optionalVariabilityElements; - // Dependencias de inclusi�n o exclusion. Son la dependencias para las que + // Dependencias de inclusi�n o exclusion. Son la dependencias para las que // se buscan redundancias si el modelo es un feature model private Map inclusionExclusionDependencies; diff --git a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/medic/model/diagnoseAlgorithm/MinimalSetsDFSIterationsHLCL.java b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/medic/model/diagnoseAlgorithm/MinimalSetsDFSIterationsHLCL.java index 0e1610bd..b0c9e8c5 100644 --- a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/medic/model/diagnoseAlgorithm/MinimalSetsDFSIterationsHLCL.java +++ b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/medic/model/diagnoseAlgorithm/MinimalSetsDFSIterationsHLCL.java @@ -220,7 +220,7 @@ public LinkedList sourceOfInconsistentConstraints(String source, int * This method performs a DFS until an insatisfiable constraint is found * @param source is a string with the id of the vertex source of the search * @param csp is a copy of the inconsistent CSP with the variables and domains of the problem, - * no se esta usando por ahora, sirve cuando se haga la ejecución incremental + * no se esta usando por ahora, sirve cuando se haga la ejecución incremental * @param cc is the list of inconsistent constraints * @return path is a linked-list containing the sequence of visited vertices. * The last vertex in path is the inconsistent contains the inconsistent constraint diff --git a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/medic/model/graph/ConstraintGraphHLCL.java b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/medic/model/graph/ConstraintGraphHLCL.java index 63720b54..afb0d374 100644 --- a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/medic/model/graph/ConstraintGraphHLCL.java +++ b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/medic/model/graph/ConstraintGraphHLCL.java @@ -22,7 +22,7 @@ /** * Esta es la clase que implementa una constraint network * using an adjacencies list. - * Un vértice en esta clase es una variable o una constraint + * Un vértice en esta clase es una variable o una constraint * Edges in this class represent the aparition of a constraint containing a variable * @author Angela Villota * @@ -108,9 +108,9 @@ public void addEdge(VertexHLCL v1, VertexHLCL v2) throws Exception{ /** * - * @param expression, es una expresion con la restricción. En la versión 0 es un string. + * @param expression, es una expresion con la restricción. En la versión 0 es un string. * @param vars debe ser una lista o arreglo de expresiones de variables. - * En la versión 0 las expresiones variable son objetos de la clase Variable + * En la versión 0 las expresiones variable son objetos de la clase Variable */ public void addConstraint(IntBooleanExpression cons){ constraintsCount++; //number of constraints in the problem, could be different than the number of nodes @@ -218,7 +218,7 @@ public int variablesSize(){ } - //Cambios aquí------------------------------------------------------- + //Cambios aquí------------------------------------------------------- public Collection getNeighbors(String id, boolean type){ Collection tmp= null; if (type==VertexHLCL.CONSTRAINT_TYPE) diff --git a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/util/ConstraintRepresentationUtil.java b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/util/ConstraintRepresentationUtil.java index 729bd121..9fcc49d2 100644 --- a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/util/ConstraintRepresentationUtil.java +++ b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/util/ConstraintRepresentationUtil.java @@ -21,7 +21,7 @@ public class ConstraintRepresentationUtil { /** - * Realiza la lógica de convertir la representación de constraints agnostica + * Realiza la lógica de convertir la representación de constraints agnostica * a el solver que corresponda y guardarlo en un archivo temporal que luego * es analizado * @@ -37,7 +37,7 @@ public static void savePrologRepresentationProgram(String prologTempPath, String constraintProgramString = constraintToPrologProgram( constraintRepresentation, solverEditorType); - // Se guarda la representación en el archivo temporal de prolog + // Se guarda la representación en el archivo temporal de prolog FileUtils.writeFile(prologTempPath, constraintProgramString); } @@ -49,7 +49,7 @@ public static void savePrologRepresentationProgram(String prologTempPath, String constraintProgramString = constraintToPrologProgram( constraintRepresentation, domainList,solverEditorType); - // Se guarda la representación en el archivo temporal de prolog + // Se guarda la representación en el archivo temporal de prolog FileUtils.writeFile(prologTempPath, constraintProgramString); } @@ -163,7 +163,7 @@ public static Collection dependencyToExpressionList( } /** - * Se hace este método para que el resto del código no tenga que preocuparse + * Se hace este método para que el resto del código no tenga que preocuparse * por volver las expressions hlclcPrograms * * @param constraintRepresentation diff --git a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/util/ExportDefectAnalyzer.java b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/util/ExportDefectAnalyzer.java index de9bc377..e90df97c 100644 --- a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/util/ExportDefectAnalyzer.java +++ b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/util/ExportDefectAnalyzer.java @@ -33,7 +33,7 @@ public class ExportDefectAnalyzer { List> resultadosAnalisis = new ArrayList>(); HSSFWorkbook resultadosLibro = new HSSFWorkbook(); int cont = 1; - // Información para guardar + // Información para guardar String titulos[] = { "Modelo", "#feat", "#depen", "#NonTraversal", "%NonTraversal", "#traver", "%traver", "tipoDefecto", "Defecto", "TamCorrec", "#Causas", "Tiempo", "Correc", @@ -145,7 +145,7 @@ public class ExportDefectAnalyzer { } - // Se pone información en la hoja + // Se pone información en la hoja ExportUtil.adicionarInfoHoja(Arrays.asList(titulos), 0, hoja, resultadosAnalisis, 0, cont); @@ -157,7 +157,7 @@ public class ExportDefectAnalyzer { /** * Entrega para cada modelo analizado para cada defecto cuantas causas y - * correcciones encontró + * correcciones encontró * * @param defectAnalyzerControllerOutDTOList * @param directoryName @@ -173,7 +173,7 @@ public class ExportDefectAnalyzer { List> resultadosAnalisis = new ArrayList>(); HSSFWorkbook resultadosLibro = new HSSFWorkbook(); int cont = 1; - // Información para guardar + // Información para guardar String titulos[] = { "Modelo", "#carac", "#depen", "#NonTraversal", "%NonTraversal", "#traver", "%traver", "tipDef", "def", "#caus", "#corr", "tiemp" }; @@ -230,7 +230,7 @@ public class ExportDefectAnalyzer { } - // Se pone información en la hoja + // Se pone información en la hoja ExportUtil.adicionarInfoHoja(Arrays.asList(titulos), 0, hoja, resultadosAnalisis, 0, cont); @@ -258,7 +258,7 @@ public class ExportDefectAnalyzer { List> resultadosAnalisis = new ArrayList>(); HSSFWorkbook resultadosLibro = new HSSFWorkbook(); int cont = 1; - // Información para guardar + // Información para guardar String titulos[] = { "modelo", "#caract", "#depen", "#NonTraversal", "%NonTraversal", "#traver", "%traver", "#def", "vac", "FPL", "CM", "FO", "Redun", "#caus", "#corr", "#causCom", @@ -349,7 +349,7 @@ public class ExportDefectAnalyzer { } - // Se pone información en la hoja + // Se pone información en la hoja ExportUtil.adicionarInfoHoja(Arrays.asList(titulos), 0, hoja, resultadosAnalisis, 0, cont); @@ -370,7 +370,7 @@ public static void exportarListaModelosComparacionFama( List> resultadosAnalisis = new ArrayList>(); HSSFWorkbook resultadosLibro = new HSSFWorkbook(); int cont = 1; - // Información para guardar + // Información para guardar String titulos[] = { "modelo", "#caract", "#depen", "#NonTraversal", "%NonTraversal", "#traver", "%traver", "#def", "vac", "CM", "FO", "#corr", "tiempo", "correccionesMayores" }; @@ -436,7 +436,7 @@ public static void exportarListaModelosComparacionFama( } - // Se pone información en la hoja + // Se pone información en la hoja ExportUtil.adicionarInfoHoja(Arrays.asList(titulos), 0, hoja, resultadosAnalisis, 0, cont); @@ -450,7 +450,7 @@ private static void validatePath(String outputDirectoryPath) throws FunctionalException { File file = new File(outputDirectoryPath); if (!file.exists()) { - // Si no existe el directorio se lanza una excepción + // Si no existe el directorio se lanza una excepción throw new FunctionalException("El directorio de salida " + outputDirectoryPath + " no existe"); } diff --git a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/util/PowerSetUtil.java b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/util/PowerSetUtil.java index bd488544..44a1c1eb 100644 --- a/com.variamos.reasoning/src/main/java/com/variamos/reasoning/util/PowerSetUtil.java +++ b/com.variamos.reasoning/src/main/java/com/variamos/reasoning/util/PowerSetUtil.java @@ -11,7 +11,7 @@ public class PowerSetUtil { /** - * Crea las combinaciones de k elementos de un conjunto de tamaño n + * Crea las combinaciones de k elementos de un conjunto de tamaño n * * @param prefix * @param elements @@ -60,9 +60,9 @@ public static List> doCombinations(List prefix, } /** - * Invoca el algoritmo que hace las combinaciones válidas. + * Invoca el algoritmo que hace las combinaciones válidas. * - * Construye las combinaciones de tamaño r de elementos que no son + * Construye las combinaciones de tamaño r de elementos que no son * superconjuntos de los conjuntos bloqueados, ni superconjuntos de los * conjuntos no permitidos * @param prefix @@ -94,7 +94,7 @@ public static List> calculateSets(List prefix, } /** - * Crea las combinaciones de k elementos de un conjunto de tamaño n + * Crea las combinaciones de k elementos de un conjunto de tamaño n * * @param prefix * @param elements @@ -145,12 +145,12 @@ public static List> doCombinations2(List prefix, List> resultListValids = new ArrayList>(); resultListValids = doCombinations(prefix2, validElements, resultListValids, notAllowedListSuperSets, r); - // Si hay elementos válidos + // Si hay elementos válidos if (!resultListValids.isEmpty()) { resultList.addAll(resultListValids); } } - // Ciclo con los que no se pueden ( debe ser menor al tamaño mínimo de r + // Ciclo con los que no se pueden ( debe ser menor al tamaño mínimo de r // en al menos 1) if (!elementsToBlock.isEmpty() && r > 1) { for (int j = 0; j < elementsToBlock.size(); j++) { @@ -163,7 +163,7 @@ public static List> doCombinations2(List prefix, . verifySetIsSuperSetOfCollectionSets(prefix2, notAllowedListSuperSets))) { - // Se obtiene la posición del elemento a bloquear en la + // Se obtiene la posición del elemento a bloquear en la // lista de entrada int actualPosition = elements.indexOf(elementsToBlock .get(j)); @@ -175,7 +175,7 @@ public static List> doCombinations2(List prefix, elements.size()), resultListValids, r - 1, notAllowedListSuperSets, notAllowedCollectionOfSets); - // Si hay elementos válidos + // Si hay elementos válidos if (!resultListValids.isEmpty()) { resultList.addAll(resultListValids); } @@ -199,7 +199,7 @@ private static Set getImpliedElements(List prefix, cont = 0; for (E prefixElement : prefix) { // Si el subconjunto a bloquear no tiene el elemento, entonces - // se continúa con el siguiente + // se continúa con el siguiente if (!notAllowedList.contains(prefixElement)) { break; } else { diff --git a/com.variamos.reasoning/src/test/java/com/variamos/reasoning/defectAnalyzer/core/CauseAnalyzerApplicationCaseTest.java b/com.variamos.reasoning/src/test/java/com/variamos/reasoning/defectAnalyzer/core/CauseAnalyzerApplicationCaseTest.java index 7cc8dd5c..104e2160 100644 --- a/com.variamos.reasoning/src/test/java/com/variamos/reasoning/defectAnalyzer/core/CauseAnalyzerApplicationCaseTest.java +++ b/com.variamos.reasoning/src/test/java/com/variamos/reasoning/defectAnalyzer/core/CauseAnalyzerApplicationCaseTest.java @@ -55,12 +55,12 @@ public class CauseAnalyzerApplicationCaseTest { // // try { // boolean isVoid = verifier.isVoid(); - // System.out.println("El modelo es vacío"); + // System.out.println("El modelo es vacío"); // // VoidModel voidModelDefect = new VoidModel( // variabilityModel.getModelName()); // - // // Información del DTO + // // Información del DTO // VMCauseAnalyzerInDTO causeAnalyzerInDTO = new VMCauseAnalyzerInDTO(); // // causeAnalyzerInDTO.setVariabilityModel(variabilityModel); @@ -142,7 +142,7 @@ public class CauseAnalyzerApplicationCaseTest { // .identifyDeadFeatures(verifierInDTO // .getVariabilityModel().getElements()); // - // // Información del DTO + // // Información del DTO // VMCauseAnalyzerInDTO causeAnalyzerInDTO = new VMCauseAnalyzerInDTO(); // // causeAnalyzerInDTO.setVariabilityModel(variabilityModel); @@ -237,7 +237,7 @@ public class CauseAnalyzerApplicationCaseTest { // verifierInDTO // .getVariabilityModel().getElements(); // - // // Se quitan de la lista las características que son full + // // Se quitan de la lista las características que son full // // mandatory, pq de esas se sabe que no pueden tener el valor de // // cero // elementsToVerifyDomainNoneAttainable.remove("Web_Portal"); @@ -305,7 +305,7 @@ public class CauseAnalyzerApplicationCaseTest { // verifierInDTO); // try { // - // // Se prueba con una relación que sí sea redundante + // // Se prueba con una relación que sí sea redundante // // Dependency: Flash-Image // // id 25 (1-Flash)+ Image #>0 // // negacion (1-Flash)+ Image #=<0 @@ -332,7 +332,7 @@ public class CauseAnalyzerApplicationCaseTest { // redundacyDefects.add(redundancy1); // redundacyDefects.add(redundancy2); // - // // Información del DTO + // // Información del DTO // VMCauseAnalyzerInDTO causeAnalyzerInDTO = new VMCauseAnalyzerInDTO(); // // causeAnalyzerInDTO.setVariabilityModel(variabilityModel); @@ -415,7 +415,7 @@ public class CauseAnalyzerApplicationCaseTest { // // private void analyzeMCS(VariabilityModelCauseAnalyzer causesAnalyzer, // List allDiagnostics) throws FunctionalException { - // System.out.println("ANALIZANDO LOS SUBCONJUNTOS CORRECCIÓN"); + // System.out.println("ANALIZANDO LOS SUBCONJUNTOS CORRECCIÓN"); // long startAnalysisTime = System.currentTimeMillis(); // List analyzedCorrectionSetList = new // ArrayList(); @@ -430,7 +430,7 @@ public class CauseAnalyzerApplicationCaseTest { // } // } // - // System.out.println(" Resultado análisis causas"); + // System.out.println(" Resultado análisis causas"); // for (AnalyzedCorrectionSet analizedCorrectionSet : // analyzedCorrectionSetList) { // System.out.println("Defect " diff --git a/com.variamos.solver/.classpath b/com.variamos.solver/.classpath deleted file mode 100644 index 755c8124..00000000 --- a/com.variamos.solver/.classpath +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/com.variamos.solver/.settings/org.eclipse.buildship.core.prefs b/com.variamos.solver/.settings/org.eclipse.buildship.core.prefs deleted file mode 100644 index 9d3feadc..00000000 --- a/com.variamos.solver/.settings/org.eclipse.buildship.core.prefs +++ /dev/null @@ -1,3 +0,0 @@ -#Wed Jul 18 20:51:52 COT 2018 -eclipse.preferences.version=1 -connection.project.dir=.. diff --git a/com.variamos.solver/.settings/org.eclipse.jdt.core.prefs b/com.variamos.solver/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 3a215370..00000000 --- a/com.variamos.solver/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,11 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 diff --git a/com.variamos.solver/build.gradle b/com.variamos.solver/build.gradle index aaacb2b7..727c4f11 100644 --- a/com.variamos.solver/build.gradle +++ b/com.variamos.solver/build.gradle @@ -4,8 +4,12 @@ archivesBaseName = 'com.variamos.solver' version = '1.0-SNAPSHOT' dependencies { - compile fileTree(dir: 'lib/SWIProlog', include: ['*.jar']) + compile project(':com.variamos.common') compile project(':com.variamos.hlcl') } +test { + environment "LD_LIBRARY_PATH", project.JPL_LIB_PATH + +} \ No newline at end of file diff --git a/com.variamos.solver/lib/SWIProlog/jpl723.jar b/com.variamos.solver/lib/SWIProlog/jpl723.jar deleted file mode 100644 index b0d71dd2..00000000 Binary files a/com.variamos.solver/lib/SWIProlog/jpl723.jar and /dev/null differ diff --git a/com.variamos.solver/src/main/java/com/variamos/solver/core/IntSolver.java b/com.variamos.solver/src/main/java/com/variamos/solver/core/IntSolver.java index c46c4fb7..3a02f712 100644 --- a/com.variamos.solver/src/main/java/com/variamos/solver/core/IntSolver.java +++ b/com.variamos.solver/src/main/java/com/variamos/solver/core/IntSolver.java @@ -41,7 +41,7 @@ public interface IntSolver { public Map> reduceDomain(SolverSolution config, ConfigurationOptionsDTO params); - // Esto para qué sirve?: jcmunoz para que la ejecución ya no continue sobre - // la iteración anterior, no funciona igual que en la version anterior + // Esto para qué sirve?: jcmunoz para que la ejecución ya no continue sobre + // la iteración anterior, no funciona igual que en la version anterior public void clearQueryMonitor(); } diff --git a/com.variamos.solver/src/main/java/com/variamos/solver/core/compiler/Hlcl2SWIProlog.java b/com.variamos.solver/src/main/java/com/variamos/solver/core/compiler/Hlcl2SWIProlog.java index 149c56b4..d1955105 100644 --- a/com.variamos.solver/src/main/java/com/variamos/solver/core/compiler/Hlcl2SWIProlog.java +++ b/com.variamos.solver/src/main/java/com/variamos/solver/core/compiler/Hlcl2SWIProlog.java @@ -233,7 +233,7 @@ protected void writeHeader(HlclProgram program, StringBuilder out) { } private StringBuilder makeDomainsAndVariables(Set ids) { - // Se contruye la lista de caracter�sticas y de dominios + // Se contruye la lista de caracter�sticas y de dominios StringBuilder dommainAndVariables = new StringBuilder("L=["); StringBuilder variablesList = new StringBuilder(); StringBuilder domainString = new StringBuilder(); diff --git a/com.variamos.solver/src/main/java/com/variamos/solver/model/ConfigurationOptionsDTO.java b/com.variamos.solver/src/main/java/com/variamos/solver/model/ConfigurationOptionsDTO.java index ca641249..4d828a28 100644 --- a/com.variamos.solver/src/main/java/com/variamos/solver/model/ConfigurationOptionsDTO.java +++ b/com.variamos.solver/src/main/java/com/variamos/solver/model/ConfigurationOptionsDTO.java @@ -26,7 +26,7 @@ public class ConfigurationOptionsDTO { private List labelingOrder; private List orderExpressions; - // Sirve para saber cuando cerrar la conexión anterior para abrir una nueva + // Sirve para saber cuando cerrar la conexión anterior para abrir una nueva public boolean startFromZero; public String programName; diff --git a/docker-assets/gradle.properties b/docker-assets/gradle.properties new file mode 100644 index 00000000..825d1e53 --- /dev/null +++ b/docker-assets/gradle.properties @@ -0,0 +1 @@ +JPL_LIB_PATH=/usr/lib/x86_64-linux-gnu/jni/ diff --git a/docker-assets/libjpl.so b/docker-assets/libjpl.so new file mode 100644 index 00000000..764ef4dd Binary files /dev/null and b/docker-assets/libjpl.so differ diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 00000000..825d1e53 --- /dev/null +++ b/gradle.properties @@ -0,0 +1 @@ +JPL_LIB_PATH=/usr/lib/x86_64-linux-gnu/jni/ diff --git a/settings.gradle b/settings.gradle index ab592706..7a65f7a5 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1 @@ -include ":com.variamos.common",":com.variamos.hlcl",":com.variamos.solver",":com.variamos.reasoning", ":com.variamos.io" \ No newline at end of file +include ":com.variamos.common",":com.variamos.hlcl",":com.variamos.solver",":com.variamos.reasoning", ":com.variamos.io"