From fec258f01e64ae0a176c2e85a8b6a0c5227fb578 Mon Sep 17 00:00:00 2001 From: Anders Nilsson <anders.nilsson@cs.lth.se> Date: Tue, 12 Dec 2006 23:02:01 +0100 Subject: [PATCH] Fixing ClassUses --- CompilerGeneration.jrag | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/CompilerGeneration.jrag b/CompilerGeneration.jrag index 3575e97..eeb8bc7 100644 --- a/CompilerGeneration.jrag +++ b/CompilerGeneration.jrag @@ -220,18 +220,20 @@ aspect GenRewrites { pStream.println(ind(1)+"}"); // TEMPORARY!!!!! - // Rewrite isSkillOf to ClassUse -// pStream.println(ind(1)+"rewrite ComplexElement {"); -// pStream.println(ind(2)+"when ("+name()+")"); -// pStream.println(ind(2)+"to ClassUse {"); -// pStream.println(ind(3)+"ClassUse use = new ClassUse();"); -// pStream.println(ind(3)+"use.setOwlIdentifier(new OwlIdentifier(\""+name()+"\"));"); -// pStream.println(ind(3)+"use.setAttributeList(new List().add(new RdfResource(getAttribute(0).getValue())));"); -// pStream.println(ind(3)+"use.setElementList(new List());"); -// pStream.println(ind(3)+"getStart().addElement(this);"); -// pStream.println(ind(3)+"return use;"); -// pStream.println(ind(2)+"}"); -// pStream.println(ind(1)+"}"); + // Rewrite isSkillOf/hasSkill/hasProperty/isPropertyOf to ClassUse + pStream.println(ind(1)+"rewrite ComplexElement {"); + pStream.println(ind(2)+"when ((name().equals(\"hasSkill\")"); + pStream.println(ind(2)+"|| name().equals(\"isSkillOf\"))"); + pStream.println("&& getNumAttribute() > 0 && getAttribute(0) instanceof RdfResource)"); + pStream.println(ind(2)+"to ClassUse {"); + pStream.println(ind(3)+"ClassUse use = new ClassUse();"); + pStream.println(ind(3)+"String att = getAttribute(0).name();"); + pStream.println(ind(3)+"use.setOwlIdentifier(new OwlIdentifier(att.substring(att.indexOf('#')+1,att.indexOf('_'))));"); + pStream.println(ind(3)+"use.setAttributeList(getAttributeList());"); + pStream.println(ind(3)+"use.setElementList(new List());"); + pStream.println(ind(3)+"return use;"); + pStream.println(ind(2)+"}"); + pStream.println(ind(1)+"}"); super.genRewrites(pStream); @@ -337,6 +339,9 @@ aspect GenMisc { pStream.println(ind(1)+"String ComplexElement.name() {"); pStream.println(ind(2)+"return getOwlIdentifier().getIDENTIFIER();"); pStream.println(ind(1)+"}"); + pStream.println(ind(1)+"String Attribute.name() {"); + pStream.println(ind(2)+"return getValue().getSTRING_LITERAL();"); + pStream.println(ind(1)+"}"); super.genMisc(pStream); -- GitLab