From: Leif J. <le...@us...> - 2006-10-05 10:42:29
|
User: leifj Date: 06/10/05 03:42:29 Added: andromda-semweb .cvsignore pom.xml andromda-semweb/conf/test andromda.xml andromda-semweb/src/main/java/org/andromda/cartridges/semweb SemWebProfile.java andromda-semweb/src/main/java/org/andromda/cartridges/semweb/metafacades OntologyLogicImpl.java OwlAssociationEndLogicImpl.java OwlClassLogicImpl.java OwlPropertyLogicImpl.java RdfAssociationEndLogicImpl.java RdfClassLogicImpl.java RdfPropertyLogicImpl.java andromda-semweb/src/main/resources semweb-profile.xml.zip andromda-semweb/src/main/resources/META-INF/andromda cartridge.xml metafacades.xml namespace.xml profile.xml andromda-semweb/src/main/resources/templates/semweb RdfSchema.vsl andromda-semweb/src/main/uml SemWebMetafacadeModel.xml.zip andromda-semweb/src/test/expected cartridge-output.zip Log: initial version Revision Changes Path 1.1 cartridges/andromda-semweb/.cvsignore Index: .cvsignore =================================================================== target *.log 1.1 cartridges/andromda-semweb/pom.xml Index: pom.xml =================================================================== <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.andromda.cartridges</groupId> <artifactId>andromda-cartridge-plugins</artifactId> <version>1.0-SNAPSHOT</version> </parent> <artifactId>andromda-semweb-cartridge</artifactId> <packaging>andromda-cartridge</packaging> <name>AndroMDA Semantic Web Cartridge</name> <description>Produces RDF and OWL schema from a model.</description> <build> <plugins> <plugin> <groupId>org.andromda.maven.plugins</groupId> <artifactId>andromda-maven-plugin</artifactId> <dependencies> <dependency> <groupId>org.andromda.cartridges</groupId> <artifactId>andromda-meta-cartridge</artifactId> <version>3.2-SNAPSHOT</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.andromda.maven.plugins</groupId> <artifactId>andromda-cartridge-plugin</artifactId> <dependencies> <dependency> <groupId>org.andromda.translationlibraries</groupId> <artifactId>andromda-ocl-query-library</artifactId> <version>3.2-SNAPSHOT</version> </dependency> </dependencies> </plugin> <plugin> <artifactId>maven-site-plugin</artifactId> <configuration> <locales>en</locales> </configuration> </plugin> </plugins> </build> <properties> <maven.test.skip>false</maven.test.skip> <model.uri>jar:file:${pom.basedir}/src/main/uml/SemWebMetafacadeModel.xml.zip!/SemWebMetafacadeModel.xml</model.uri> <test.model.uri>jar:file:${pom.basedir}/src/test/uml/SemWebCartridgeTestModel.xml.zip!/SemWebCartridgeTestModel.xml</test.model.uri> </properties> </project> 1.1 cartridges/andromda-semweb/conf/test/andromda.xml Index: andromda.xml =================================================================== <andromda> <properties> <property name="failOnValidationErrors">false</property> </properties> <repositories> <repository name="netBeansMDR"> <models> <model> <uri>${test.model.uri}</uri> <moduleSearchLocations> <location patterns="**/*.xml.zip">${basedir}/src/main/resources</location> <location patterns="**/*.xml.zip">${settings.localRepository}/org/andromda/profiles</location> </moduleSearchLocations> </model> </models> </repository> </repositories> <namespaces> <namespace name="semweb"> <properties> <property name="overwrite">true</property> <property name="languageMappingsUri">XmlSchema</property> <property name="wrapperMappingsUri">JavaWrapper</property> <property name="schema">${test.output.dir}</property> <property name="namespace">http://org.andromda.cartridges.semweb</property> </properties> </namespace> </namespaces> </andromda> 1.1 cartridges/andromda-semweb/src/main/java/org/andromda/cartridges/semweb/SemWebProfile.java Index: SemWebProfile.java =================================================================== package org.andromda.cartridges.semweb; import org.andromda.core.profile.Profile; /** * <p/> * The XML Schema cartridge profile. Contains the profile information (tagged values, and stereotypes) for the XML * Schema cartridge. </p> */ public class SemWebProfile { /** * The Profile instance from which we retrieve the mapped profile names. */ private static final Profile profile = Profile.instance(); /* ----------------- Stereotypes -------------------- */ /** * <p/> * Represents a RDF and OWL classes. </p> */ public static final java.lang.String STEREOTYPE_RDF_CLASS = profile.get("RDF_CLASS"); public static final java.lang.String STEREOTYPE_ONTOLOGY = profile.get("ONTOLOGY"); /* ---------------- Tagged Values ------------------- */ /** * <p/> * Defines the uri of the namespace associated with a package.</p> */ public static final java.lang.String STEREOTYPE_NAMESPACE_URI = profile.get("NAMESPACE_URI"); /** * Shouldn't be instantiated. */ private SemWebProfile() { // should not be instantiated } } 1.1 cartridges/andromda-semweb/src/main/java/org/andromda/cartridges/semweb/metafacades/OntologyLogicImpl.java Index: OntologyLogicImpl.java =================================================================== package org.andromda.cartridges.semweb.metafacades; /** * MetafacadeLogic implementation for org.andromda.cartridges.semweb.metafacades.Ontology. * * @see org.andromda.cartridges.semweb.metafacades.Ontology */ public class OntologyLogicImpl extends OntologyLogic { public OntologyLogicImpl (Object metaObject, String context) { super (metaObject, context); } } 1.1 cartridges/andromda-semweb/src/main/java/org/andromda/cartridges/semweb/metafacades/OwlAssociationEndLogicImpl.java Index: OwlAssociationEndLogicImpl.java =================================================================== package org.andromda.cartridges.semweb.metafacades; /** * MetafacadeLogic implementation for org.andromda.cartridges.semweb.metafacades.OwlAssociationEnd. * * @see org.andromda.cartridges.semweb.metafacades.OwlAssociationEnd */ public class OwlAssociationEndLogicImpl extends OwlAssociationEndLogic { public OwlAssociationEndLogicImpl (Object metaObject, String context) { super (metaObject, context); } /** * @see org.andromda.cartridges.semweb.metafacades.OwlAssociationEnd#getCardinality() */ protected java.lang.String handleGetCardinality() { // TODO: put your implementation here. return null; } /** * @see org.andromda.cartridges.semweb.metafacades.OwlAssociationEnd#getMinOccurs() */ protected java.lang.String handleGetMinOccurs() { // TODO: put your implementation here. return null; } /** * @see org.andromda.cartridges.semweb.metafacades.OwlAssociationEnd#getMaxOccurs() */ protected java.lang.String handleGetMaxOccurs() { // TODO: put your implementation here. return null; } } 1.1 cartridges/andromda-semweb/src/main/java/org/andromda/cartridges/semweb/metafacades/OwlClassLogicImpl.java Index: OwlClassLogicImpl.java =================================================================== package org.andromda.cartridges.semweb.metafacades; /** * MetafacadeLogic implementation for org.andromda.cartridges.semweb.metafacades.OwlClass. * * @see org.andromda.cartridges.semweb.metafacades.OwlClass */ public class OwlClassLogicImpl extends OwlClassLogic { public OwlClassLogicImpl (Object metaObject, String context) { super (metaObject, context); } } 1.1 cartridges/andromda-semweb/src/main/java/org/andromda/cartridges/semweb/metafacades/OwlPropertyLogicImpl.java Index: OwlPropertyLogicImpl.java =================================================================== package org.andromda.cartridges.semweb.metafacades; /** * MetafacadeLogic implementation for org.andromda.cartridges.semweb.metafacades.OwlProperty. * * @see org.andromda.cartridges.semweb.metafacades.OwlProperty */ public class OwlPropertyLogicImpl extends OwlPropertyLogic { public OwlPropertyLogicImpl (Object metaObject, String context) { super (metaObject, context); } /** * @see org.andromda.cartridges.semweb.metafacades.OwlProperty#getMinOccurs() */ protected java.lang.String handleGetMinOccurs() { // TODO: put your implementation here. return null; } /** * @see org.andromda.cartridges.semweb.metafacades.OwlProperty#getMaxOccurs() */ protected java.lang.String handleGetMaxOccurs() { // TODO: put your implementation here. return null; } /** * @see org.andromda.cartridges.semweb.metafacades.OwlProperty#getCardinality() */ protected java.lang.String handleGetCardinality() { // TODO: put your implementation here. return null; } } 1.1 cartridges/andromda-semweb/src/main/java/org/andromda/cartridges/semweb/metafacades/RdfAssociationEndLogicImpl.java Index: RdfAssociationEndLogicImpl.java =================================================================== package org.andromda.cartridges.semweb.metafacades; /** * MetafacadeLogic implementation for org.andromda.cartridges.semweb.metafacades.RdfAssociationEnd. * * @see org.andromda.cartridges.semweb.metafacades.RdfAssociationEnd */ public class RdfAssociationEndLogicImpl extends RdfAssociationEndLogic { public RdfAssociationEndLogicImpl (Object metaObject, String context) { super (metaObject, context); } } 1.1 cartridges/andromda-semweb/src/main/java/org/andromda/cartridges/semweb/metafacades/RdfClassLogicImpl.java Index: RdfClassLogicImpl.java =================================================================== package org.andromda.cartridges.semweb.metafacades; /** * MetafacadeLogic implementation for org.andromda.cartridges.semweb.metafacades.RdfClass. * * @see org.andromda.cartridges.semweb.metafacades.RdfClass */ public class RdfClassLogicImpl extends RdfClassLogic { public RdfClassLogicImpl (Object metaObject, String context) { super (metaObject, context); } } 1.1 cartridges/andromda-semweb/src/main/java/org/andromda/cartridges/semweb/metafacades/RdfPropertyLogicImpl.java Index: RdfPropertyLogicImpl.java =================================================================== package org.andromda.cartridges.semweb.metafacades; /** * MetafacadeLogic implementation for org.andromda.cartridges.semweb.metafacades.RdfProperty. * * @see org.andromda.cartridges.semweb.metafacades.RdfProperty */ public class RdfPropertyLogicImpl extends RdfPropertyLogic { public RdfPropertyLogicImpl (Object metaObject, String context) { super (metaObject, context); } } 1.1 cartridges/andromda-semweb/src/main/resources/semweb-profile.xml.zip <<Binary file>> 1.1 cartridges/andromda-semweb/src/main/resources/META-INF/andromda/cartridge.xml Index: cartridge.xml =================================================================== <cartridge> <templateEngine className="org.andromda.templateengines.velocity.VelocityTemplateEngine"/> <templateObject name="stringUtils" className="org.apache.commons.lang.StringUtils"/> <!-- cartridge-templateObject merge-point--> <!-- The name of the namespace --> <property reference="namespace"/> <!-- encoding for xml documents --> <property reference="xmlEncoding"/> <!-- cartridge-property merge-point--> <!-- cartridge-resource merge-point --> <template path="templates/semweb/RdfSchema.vsl" outputPattern="rdfSchema.rdfs" outlet="schema" overwrite="true" outputToSingleFile="true"> <modelElements variable="types"> <modelElement stereotype="RdfClass"/> </modelElements> </template> <!-- <template path="templates/semweb/OwlSchema.vsl" outputPattern="owlSchema.owl" outlet="schema" overwrite="true" outputToSingleFile="true"> <modelElements variable="types"> <modelElement stereotype="OwlClass"/> </modelElements> </template> --> <!-- cartridge-template merge-point --> </cartridge> 1.1 cartridges/andromda-semweb/src/main/resources/META-INF/andromda/metafacades.xml Index: metafacades.xml =================================================================== <?xml version="1.0" encoding="ISO-8859-1" ?> <metafacades> <metafacade class="org.andromda.cartridges.semweb.metafacades.RdfPropertyLogicImpl"/> <metafacade class="org.andromda.cartridges.semweb.metafacades.RdfAssociationEndLogicImpl"> <mapping> <property name="association"/> </mapping> </metafacade> <metafacade class="org.andromda.cartridges.semweb.metafacades.OwlPropertyLogicImpl"/> <metafacade class="org.andromda.cartridges.semweb.metafacades.OwlAssociationEndLogicImpl"> <mapping> <property name="association"/> </mapping> </metafacade> <metafacade class="org.andromda.cartridges.semweb.metafacades.OwlClassLogicImpl"/> <metafacade class="org.andromda.cartridges.semweb.metafacades.RdfClassLogicImpl"/> <metafacade class="org.andromda.cartridges.semweb.metafacades.OntologyLogicImpl"/> </metafacades> 1.1 cartridges/andromda-semweb/src/main/resources/META-INF/andromda/namespace.xml Index: namespace.xml =================================================================== <?xml version="1.0" encoding="ISO-8859-1" ?> <namespace name="semweb"> <components> <component name="cartridge"> <path>META-INF/andromda/cartridge.xml</path> </component> <component name="metafacades"> <path>META-INF/andromda/metafacades.xml</path> </component> <component name="profile"> <path>META-INF/andromda/profile.xml</path> </component> </components> <properties> <!-- namespace-propertyGroup merge-point --> <propertyGroup name="Outlets"> <documentation> Defines the locations to which output is generated. </documentation> <property name="schema"> <documentation> The location to which the OWL and RDF schema will be written. </documentation> </property> </propertyGroup> <propertyGroup name="Other"> <property name="namespace"> <documentation> The name that will be given to the target and default namespaces. </documentation> </property> <property name="xmlEncoding"> <default>UTF-8</default> <documentation> The encoding of the schema. </documentation> </property> </propertyGroup> </properties> </namespace> 1.1 cartridges/andromda-semweb/src/main/resources/META-INF/andromda/profile.xml Index: profile.xml =================================================================== <?xml version="1.0" encoding="ISO-8859-1" ?> <profile> <elements> <elementGroup name="Stereotypes"> <element name="RDF_CLASS"> <documentation> Creates an RDF class definition </documentation> <value>RdfClass</value> <appliedOnElement>class</appliedOnElement> </element> <element name="OWL_CLASS"> <documentation> Creates and OWL class definition </documentation> <value>OwlClass</value> <appliedOnElement>class</appliedOnElement> </element> <element name="ONTOLOGY"> <documentation> Creates and OWL class definition </documentation> <value>Ontology</value> <appliedOnElement>package</appliedOnElement> </element> </elementGroup> </elements> </profile> 1.1 cartridges/andromda-semweb/src/main/resources/templates/semweb/RdfSchema.vsl Index: RdfSchema.vsl =================================================================== <?xml version="1.0" encoding="$xmlEncoding"?> <!-- Attention: Generated code! Do not modify by hand! Generated by: RdfSchema.vsl in andromda-semweb-cartridge. --> <rdf:RDF xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs= "http://www.w3.org/2000/01/rdf-schema#" xmlns:xsd = "http://www.w3.org/2001/XMLSchema#"> #foreach ($type in $types) #set ($typeName = "${type.name}") <!-- ${type.name} ${type.getDocumentation(" ")} --> <rdfs:Class rdf:ID="${namespace}/${type.name}"> <rdfs:label>${type.name}</rdfs:label> #foreach ($superType in ${type.generalizations}) <rdfs:subClassOf rdf:resource="${namespace}/${superType.name}"/> #end </rdfs:Class> #foreach ( $attribute in $type.attributes ) <rdfs:Property rdf:about="${namespace}/${type.name}#${attribute.name}"> #if ( ${attribute.type.isDataType()} ) <rdfs:range rdf:resource="xsd:${attribute.type.fullyQualifiedName}"/> #else <rdfs:range rdf:resource="${namespace}/${attribute.type.name}"/> #end <rdfs:domain rdf:resource="${namespace}/${type.name}"/> </rdfs:Property> #end #foreach ( $associationEnd in $type.associationEnds ) #set ($otherEnd = $associationEnd.otherEnd) #if ($otherEnd.navigable) <rdfs:Property rdf:about="${namespace}/${type.name}#${associationEnd.name}"> <rdfs:range rdf:resource="${namespace}/${otherEnd.type.name}"/> <rdfs:domain rdf:resource="${namespace}/${type.name}"/> </rdfs:Property> #end #end #end <rdf:RDF> 1.1 cartridges/andromda-semweb/src/main/uml/SemWebMetafacadeModel.xml.zip <<Binary file>> 1.1 cartridges/andromda-semweb/src/test/expected/cartridge-output.zip <<Binary file>> |