diff --git a/nbactions.xml b/nbactions.xml index 96b96af..24b750b 100644 --- a/nbactions.xml +++ b/nbactions.xml @@ -8,6 +8,7 @@ true -Xdebug -Xrunjdwp:transport=dt_socket,server=n,address=${jpda.address} + true run-on-protege diff --git a/pom.xml b/pom.xml index 3d44849..3dcd00b 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ br.ufes.inf.nemo ufo-protege-plugin - 0.0.6 + 0.0.7 bundle UFO Protégé Plugin diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateExtrinsicModeCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateExtrinsicModeCommand.java index eb36f99..41f05c4 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateExtrinsicModeCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateExtrinsicModeCommand.java @@ -29,7 +29,10 @@ public class InstantiateExtrinsicModeCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type four names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \"." + + System.lineSeparator() + + "Example: \"Love John'sLoveForMary John Mary\".") .trim(); String[] names = input.split(" "); IRI sortal = IRI.create(getOntologyPrefix(), names[0]); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateIntrinsicModeCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateIntrinsicModeCommand.java index a74b35f..6dc390d 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateIntrinsicModeCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateIntrinsicModeCommand.java @@ -29,7 +29,9 @@ public class InstantiateIntrinsicModeCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type three names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \"." + System.lineSeparator() + + "Example: \"Hapiness Susan'sHapiness Susan\".") .trim(); String[] names = input.split(" "); IRI sortal = IRI.create(getOntologyPrefix(), names[0]); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateNoReifiedQualityCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateNoReifiedQualityCommand.java index 7bd14a4..f4f4404 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateNoReifiedQualityCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateNoReifiedQualityCommand.java @@ -29,7 +29,9 @@ public class InstantiateNoReifiedQualityCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type three names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \"." + System.lineSeparator() + + "Example: \"hasMass 30-tons LittlePrincePlanet\".") .trim(); String[] names = input.split(" "); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateObjectCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateObjectCommand.java index 87a83e8..ecd4e52 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateObjectCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateObjectCommand.java @@ -29,7 +29,9 @@ public class InstantiateObjectCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type two names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \"." + System.lineSeparator() + + "Example: \"Dog Jack\".") .trim(); String[] names = input.split(" "); IRI sortal = IRI.create(getOntologyPrefix(), names[0]); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateQualityCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateQualityCommand.java index 3b92ac3..e1bd1b4 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateQualityCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateQualityCommand.java @@ -29,7 +29,10 @@ public class InstantiateQualityCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type four names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \"." + + System.lineSeparator() + + "Example: \"Age AgeOfJohn 35-years John\".") .trim(); String[] names = input.split(" "); IRI sortal = IRI.create(getOntologyPrefix(), names[0]); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateRelatorCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateRelatorCommand.java index 6966a95..859eccd 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateRelatorCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/instances/InstantiateRelatorCommand.java @@ -29,7 +29,10 @@ public class InstantiateRelatorCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type four names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \"." + + System.lineSeparator() + + "Example: \"Marriage FirstMarriage Adam Eve\".") .trim(); String[] names = input.split(" "); IRI sortal = IRI.create(getOntologyPrefix(), names[0]); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/ComparativeRelationshipTypeCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/ComparativeRelationshipTypeCommand.java index 10db7d8..7fd3e1c 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/ComparativeRelationshipTypeCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/ComparativeRelationshipTypeCommand.java @@ -29,7 +29,9 @@ public class ComparativeRelationshipTypeCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type three names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \"." + System.lineSeparator() + + "Example: \"Weight heavierThan PhysicalObject\".") .trim(); String[] names = input.split(" "); IRI isDerivedFrom = IRI.create(GufoIris.GUFO, "isDerivedFrom"); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/ComponentOfCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/ComponentOfCommand.java index 83d3df3..d328515 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/ComponentOfCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/ComponentOfCommand.java @@ -29,7 +29,9 @@ public class ComponentOfCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type two names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \"." + System.lineSeparator() + + "Example: \"Heart Person\".") .trim(); String[] names = input.split(" "); IRI component = IRI.create(getOntologyPrefix(), names[0]); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/MaterialRelationshipTypeCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/MaterialRelationshipTypeCommand.java index 2f9f077..133108c 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/MaterialRelationshipTypeCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/MaterialRelationshipTypeCommand.java @@ -29,7 +29,10 @@ public class MaterialRelationshipTypeCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type four names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \"." + + System.lineSeparator() + + "Example: \"Marriage wifeOf Woman Man\".") .trim(); String[] names = input.split(" "); IRI isDerivedFrom = IRI.create(GufoIris.GUFO, "isDerivedFrom"); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/MemberOfCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/MemberOfCommand.java index a23b21a..019141a 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/MemberOfCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/MemberOfCommand.java @@ -29,7 +29,9 @@ public class MemberOfCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type two names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \"." + System.lineSeparator() + + "Example: \"JonForeman Switchfoot\".") .trim(); String[] names = input.split(" "); IRI member = IRI.create(getOntologyPrefix(), names[0]); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/SubCollectionOfCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/SubCollectionOfCommand.java index bb6fcc0..0d7a2a3 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/SubCollectionOfCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/SubCollectionOfCommand.java @@ -29,7 +29,9 @@ public class SubCollectionOfCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type two names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \"." + System.lineSeparator() + + "Example: \"SpadeCards Deck\".") .trim(); String[] names = input.split(" "); IRI subcollection = IRI.create(getOntologyPrefix(), names[0]); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/SubQuantityOfCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/SubQuantityOfCommand.java index 1048c6d..e8686f6 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/SubQuantityOfCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/relations/SubQuantityOfCommand.java @@ -29,7 +29,9 @@ public class SubQuantityOfCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type two names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \"." + System.lineSeparator() + + "Example: \"AlcoholInCupOfWine CupOfWine\".") .trim(); String[] names = input.split(" "); IRI subquantity = IRI.create(getOntologyPrefix(), names[0]); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/AddRoleToRoleMixinCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/AddRoleToRoleMixinCommand.java index 256c13b..58e5d2c 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/AddRoleToRoleMixinCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/AddRoleToRoleMixinCommand.java @@ -29,7 +29,9 @@ public class AddRoleToRoleMixinCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type two names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \". " + System.lineSeparator() + + "Example: \"Customer CorporateCustomer\".") .trim(); String[] names = input.split(" "); IRI rolemixin = IRI.create(getOntologyPrefix(), names[0]); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/AddToCategoryCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/AddToCategoryCommand.java index 1794dc0..2a2c41c 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/AddToCategoryCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/AddToCategoryCommand.java @@ -31,7 +31,9 @@ public class AddToCategoryCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type two names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \". " + System.lineSeparator() + + "Example: \"Animal Dog\".") .trim(); String[] names = input.split(" "); IRI category = IRI.create(getOntologyPrefix(), names[0]); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/AddToMixinCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/AddToMixinCommand.java index a5a7fa2..0065783 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/AddToMixinCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/AddToMixinCommand.java @@ -31,7 +31,9 @@ public class AddToMixinCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type two names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \". " + System.lineSeparator() + + "Example: \"Sitable Chair\".") .trim(); String[] names = input.split(" "); IRI mixin = IRI.create(getOntologyPrefix(), names[0]); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/CategoryCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/CategoryCommand.java index a3fc06a..aa1c265 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/CategoryCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/CategoryCommand.java @@ -29,7 +29,9 @@ public class CategoryCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type two names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \". " + System.lineSeparator() + + "Example: \"FunctionalComplex Animal\".") .trim(); String[] names = input.split(" "); IRI endurantClass = IRI.create(GufoIris.GUFO, names[0]); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/KindCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/KindCommand.java index 86fff0f..fffc2c3 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/KindCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/KindCommand.java @@ -29,7 +29,9 @@ public class KindCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type two names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \". " + System.lineSeparator() + + "Example: \"Quality Age\".") .trim(); String[] names = input.split(" "); IRI endurantClass = IRI.create(GufoIris.GUFO, names[0]); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/MixinCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/MixinCommand.java index 10899a1..59fef4b 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/MixinCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/MixinCommand.java @@ -29,7 +29,9 @@ public class MixinCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type two names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \". " + System.lineSeparator() + + "Example: \"FunctionalComplex Sitable\".") .trim(); String[] names = input.split(" "); IRI endurantClass = IRI.create(GufoIris.GUFO, names[0]); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/NoReifiedQualityCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/NoReifiedQualityCommand.java index ab8134a..ecce261 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/NoReifiedQualityCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/NoReifiedQualityCommand.java @@ -29,7 +29,10 @@ public class NoReifiedQualityCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type two name: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \". " + + System.lineSeparator() + + "Example: \"Planet hasMass\".") .trim(); String[] names = input.split(" "); IRI domain = IRI.create(getOntologyPrefix(), names[0]); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/PhaseCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/PhaseCommand.java index 885b193..91000c0 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/PhaseCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/PhaseCommand.java @@ -29,7 +29,9 @@ public class PhaseCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type two names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \". " + System.lineSeparator() + + "Example: \"Person Child\".") .trim(); String[] names = input.split(" "); IRI sortal = IRI.create(getOntologyPrefix(), names[0]); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/PhaseMixinCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/PhaseMixinCommand.java index e5ae3fb..83cfe17 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/PhaseMixinCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/PhaseMixinCommand.java @@ -29,7 +29,9 @@ public class PhaseMixinCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type two names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \". " + System.lineSeparator() + + "Example: \"Animal Alive\".") .trim(); String[] names = input.split(" "); IRI nonsortal = IRI.create(getOntologyPrefix(), names[0]); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/RoleCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/RoleCommand.java index 4376cb0..1803d6d 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/RoleCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/RoleCommand.java @@ -29,7 +29,9 @@ public class RoleCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type two names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \". " + System.lineSeparator() + + "Example: \"Woman Wife\".") .trim(); String[] names = input.split(" "); IRI sortal = IRI.create(getOntologyPrefix(), names[0]); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/RoleMixinCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/RoleMixinCommand.java index 1003774..11d998e 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/RoleMixinCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/RoleMixinCommand.java @@ -29,7 +29,9 @@ public class RoleMixinCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type two names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \". " + System.lineSeparator() + + "Example: \"FunctionalComplex Provider\".") .trim(); String[] names = input.split(" "); IRI endurantClass = IRI.create(GufoIris.GUFO, names[0]); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/RoleMixinOfCategoryCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/RoleMixinOfCategoryCommand.java index 29b9d10..136271c 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/RoleMixinOfCategoryCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/RoleMixinOfCategoryCommand.java @@ -29,7 +29,9 @@ public class RoleMixinOfCategoryCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type two names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \". " + System.lineSeparator() + + "Example: \"LegalAgent Customer\".") .trim(); String[] names = input.split(" "); IRI category = IRI.create(getOntologyPrefix(), names[0]); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/RoleMixinOfRoleMixinCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/RoleMixinOfRoleMixinCommand.java index 257af9e..10c93ae 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/RoleMixinOfRoleMixinCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/RoleMixinOfRoleMixinCommand.java @@ -29,7 +29,9 @@ public class RoleMixinOfRoleMixinCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type two names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \"superClass: \". " + System.lineSeparator() + + "Example: \"Provider ServiceProvider\".") .trim(); String[] names = input.split(" "); IRI parent = IRI.create(getOntologyPrefix(), names[0]); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/SubKindCommand.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/SubKindCommand.java index 50ce2e0..a6371d0 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/SubKindCommand.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/pattern/types/SubKindCommand.java @@ -29,20 +29,22 @@ public class SubKindCommand extends PatternCommand { @Override public void actionPerformed(ActionEvent ae) { String input = - JOptionPane.showInputDialog(getOWLWorkspace(), "Type two names: ") + JOptionPane.showInputDialog(getOWLWorkspace(), + "Input: \" \". " + System.lineSeparator() + + "Example: \"Person Man\".") .trim(); String[] names = input.split(" "); - IRI parent = IRI.create(getOntologyPrefix(), names[0]); - IRI child = IRI.create(getOntologyPrefix(), names[1]); + IRI rigidSortal = IRI.create(getOntologyPrefix(), names[0]); + IRI subkind = IRI.create(getOntologyPrefix(), names[1]); try { PatternApplier applier = new PatternApplier(getOWLModelManager()); - if (applier.isInstanceOf(GufoIris.Kind, parent) || - applier.isInstanceOf(GufoIris.SubKind, parent)) { - applier.createNamedIndividual(child); - applier.makeInstanceOf(GufoIris.SubKind, child); - applier.createClass(child); - applier.addSubClassTo(parent, child); + if (applier.isInstanceOf(GufoIris.Kind, rigidSortal) || + applier.isInstanceOf(GufoIris.SubKind, rigidSortal)) { + applier.createNamedIndividual(subkind); + applier.makeInstanceOf(GufoIris.SubKind, subkind); + applier.createClass(subkind); + applier.addSubClassTo(rigidSortal, subkind); } else { showMessage("There are only subkinds of kinds or other subkinds!"); } diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/Rule.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/Rule.java index 4faf551..b388f88 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/Rule.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/Rule.java @@ -137,6 +137,15 @@ public String getLabel() { } } + public String getDescription() { + RuleInfo annotation = getClass().getAnnotation(RuleInfo.class); + if (annotation != null) { + return annotation.description(); + } else { + return ""; + } + } + public T get(Class helperClass) { return validation.get(helperClass); } diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/RuleLoader.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/RuleLoader.java index 1895af6..0348b6a 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/RuleLoader.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/RuleLoader.java @@ -12,18 +12,13 @@ import java.util.Collection; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.slf4j.helpers.MessageFormatter; /** * Helper class to deal with of loading rule classes. *

- * This class is instantiated only once during initialization of a - * {@link Validator} object. Its method {@link loadRules(List) loadRules} - * loads class names from 'rules.list' text file resource and creates an - * instance for each one of the classes. - *

- * The 'rules.list' resource is automatically generated during build time by - * maven-antrun-plugin. It makes a scan over the source code folder of - * package br.ufes.inf.nemo.ufo.protege.validation + * This class holds the boilerplate code involved in loading {@link Rule } + * subclasses and instantiating them, while generating sensible log messages. * * @author luciano */ @@ -50,7 +45,8 @@ final class RuleLoader { } private void logError(String message, Throwable ex) { - log.error(String.format(message, ruleClassName), ex); + message = MessageFormatter.format(message, ruleClassName).getMessage(); + log.error(message, ex); } private void quit(String message, Object... args) { @@ -105,7 +101,7 @@ private void processClassName(String ruleClassName) { if (quitException != ex) { logError("Unexpected error on loading rule class '%s'", ex); } - log.error("Not adding rule class '%s' due to previous errors.", ruleClassName); + log.error("Not adding rule class '{}' due to previous errors.", ruleClassName); } } diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/helpers/ObjectGraphNode.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/helpers/ObjectGraphNode.java index 17d028e..bf76101 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/helpers/ObjectGraphNode.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/helpers/ObjectGraphNode.java @@ -61,9 +61,8 @@ private static Predicate is(OWLObject owlObject) { return node -> node.owlObject.equals(objectOrIRI); } - @SuppressWarnings("unchecked") private static Predicate isIn(Set iris) { - return node -> iris.contains((IRI)node.owlObject); + return node -> iris.contains(node.getIRI()); } private Set getSet(int index) { diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/EndurantSubclassRule.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/EndurantSubclassRule.java index 66ac8ae..33bf8a7 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/EndurantSubclassRule.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/EndurantSubclassRule.java @@ -13,7 +13,9 @@ * @author luciano */ @RuleInfo( - label="Endurant specialization not instantiating EndurantType" + label="Endurant specializations not instantiating EndurantType", + description = + "Every Endurant specialization should instantiate EndurantType" ) public class EndurantSubclassRule extends ClassRule { diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/KindCannotSubclassSortalRule.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/KindCannotSubclassSortalRule.java index 07f0367..e3964e7 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/KindCannotSubclassSortalRule.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/KindCannotSubclassSortalRule.java @@ -15,7 +15,8 @@ * @author luciano */ @RuleInfo( - label = "An instance of Kind cannot specialize an instance of Sortal" + label = "Kinds specializing sortals", + description = "A kind cannot specialize a sortal" ) public class KindCannotSubclassSortalRule extends ClassRule { diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/NonSortalRule.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/NonSortalRule.java index 75593de..9af30ab 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/NonSortalRule.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/NonSortalRule.java @@ -14,7 +14,7 @@ * @author luciano */ @RuleInfo( - label="Not instantiable NonSortal", + label="Not instantiable nonsortals", description="Every NonSortal must be specialized by a Sortal or " + "specialize a NonSortal which is specialized by a Sortal" ) diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/OnlyAKindRule.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/OnlyAKindRule.java index 8e08126..bb3be68 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/OnlyAKindRule.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/OnlyAKindRule.java @@ -13,17 +13,24 @@ * @author jeferson */ @RuleInfo( - label = "Every sortal type must be a kind type or specialize exactly one kind type" + label = "Sortals not specializing exactly one kind", + description = "Every sortal must be a kind or specialize exactly one kind" ) public class OnlyAKindRule extends ClassRule { @Override public void validate() { + // Every sortal type... when(classNode().isInstanceOf(Sortal)) - .and(!classNode().isInstanceOf(Kind)) - .and(classNode().ancestors() + .and(!( + // ...must be a kind type... + classNode().isInstanceOf(Kind) + || // ...or... + // specialize exactly one kind type + classNode().properAncestors() .filter(node -> node.isInstanceOf(Kind)) - .count() != 1) + .count() == 1 + )) .registerViolation(); } } diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/OnlyPublicClassRule.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/OnlyPublicClassRule.java index 141c155..ca2ea47 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/OnlyPublicClassRule.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/OnlyPublicClassRule.java @@ -13,7 +13,9 @@ * @author luciano */ @RuleInfo( - label="Extending internal UFO type" + label="Classes extending internal UFO types", + description="Some UFO types are not meant to be specialized by " + + "domain ontologies." ) public class OnlyPublicClassRule extends ClassRule { diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/RigidityRule.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/RigidityRule.java index 24a9358..3922696 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/RigidityRule.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/RigidityRule.java @@ -13,7 +13,8 @@ * @author jeferson */ @RuleInfo( - label="No rigid type specializing anti-rigid type" + label="Rigid types specializing anti-rigid ones", + description="Rigid types cannot specialize anti-rigid ones" ) public class RigidityRule extends ClassRule { diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/SemiRigidityRule.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/SemiRigidityRule.java index 06f162d..ec5efea 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/SemiRigidityRule.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/SemiRigidityRule.java @@ -13,7 +13,8 @@ * @author jeferson */ @RuleInfo( - label="No semi-rigid type specializing anti-rigid type" + label = "Semi-rigid types specializing anti-rigid ones", + description = "Semi-rigid types cannot specialize anti-rigid ones" ) public class SemiRigidityRule extends ClassRule { diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/SortalityRule.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/SortalityRule.java index 4cb35f1..eca7781 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/SortalityRule.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/rules/SortalityRule.java @@ -13,7 +13,10 @@ * @author jeferson */ @RuleInfo( - label="No non-sortal type specializing sortal type" + label="Nonsortals specializing sortals", + description="Nonsortal cannot specialize sortals. Every class that " + + "specializes a sortal inherit from it its identity principle, " + + "thus becoming sortal too." ) public class SortalityRule extends ClassRule { @@ -23,5 +26,5 @@ public void validate() { .and(classNode().ancestors() .anyMatch(node -> node.isInstanceOf(Sortal))) .registerViolation(); - } + } } diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/ui/ValidationResultDocument.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/ui/ValidationResultDocument.java index 0195c38..798a982 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/ui/ValidationResultDocument.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/ui/ValidationResultDocument.java @@ -130,6 +130,10 @@ private void printViolationsForRule(Rule rule, List violations) { return 1; }); document.insertBeforeEnd(body, "

" + rule.getLabel() + "

"); + final String description = rule.getDescription(); + if (!"".equals(description)) { + document.insertBeforeEnd(body, "

" + description+ "

"); + } for (Violation violation : violations) { OWLObject subject = violation.getSubject(); if (subject instanceof HasIRI) { @@ -145,6 +149,7 @@ private void printIRI(HasIRI hasIRI) throws BadLocationException, IOException { IRI iri = hasIRI.getIRI(); StringBuilder str = new StringBuilder(); str.append("

"); str.append(iri.getShortForm()); diff --git a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/ui/ValidationResultTextView.java b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/ui/ValidationResultTextView.java index 9cfd2c9..1d1b5c7 100644 --- a/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/ui/ValidationResultTextView.java +++ b/src/main/java/br/ufes/inf/nemo/ufo/protege/validation/ui/ValidationResultTextView.java @@ -70,12 +70,11 @@ public void hyperlinkUpdate(HyperlinkEvent he) { final OWLWorkspace workspace = getOWLWorkspace(); final OWLSelectionModel selection = workspace.getOWLSelectionModel(); final URL url = he.getURL(); - final IRI selectingIRI = IRI.create(url); + final IRI selectingIRI = IRI.create(url.getQuery()); final OWLClass entity = modelManager .getOWLDataFactory() .getOWLEntity(EntityType.CLASS, selectingIRI); selection.setSelectedEntity(entity); } - } }