Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [lyo-dev] Problems with provider's RDF output.

Hello!

Thanks a lot!! Now it is working. Such an annoying mistake.
Sometimes it's good to take a step back, look at it and ask someone. ;-)
I was too focused on the other things I am actually trying.

Thanks again!

Regards,
  Stefan

>-----Ursprüngliche Nachricht-----
>Von: lyo-dev-bounces@xxxxxxxxxxx [mailto:lyo-dev-bounces@xxxxxxxxxxx] Im
>Auftrag von Roch Bertucat
>Gesendet: Mittwoch, 06. März 2013 16:59
>An: Lyo project developer discussions
>Betreff: Re: [lyo-dev] Problems with provider's RDF output.
>
>Hello
>
>I had the same problem when developing my own AbstractResource with my
>own namespace. You have to make sure you have a package-info.java file
>where you define your namespace mapping of the namespace you created
>using the OslcNamespaceDefinition annotation.
>
>Take a look at
>http://git.eclipse.org/c/lyo/org.eclipse.lyo.rio.git/tree/OSLC4JChangeMa
>nagementCommon/src/org/eclipse/lyo/oslc4j/changemanagement/package-
>info.java for a full example.
>
>I hope it helps.
>
>Regards,
>
>Roch
>
>
>On Wed, Mar 6, 2013 at 4:31 PM, Paschke, Stefan <Stefan.Paschke@xxxxxxx>
>wrote:
>
>
>	Hi!
>
>	I developed a provider with OSLC4J for OSLC-RM and have some
>problems with the RDF output of my services.
>	I can't get the prefix "oslc_rm" working I want to have for
>http://open-services.net/ns/rm#.
>	Instead I always get "j.0". I already developed several provider
>and never had a problem there.
>	Any idea what I might have forgotten or did anyone run into a
>similar problem?
>	See the output below.
>
>	I could also provide full source code, but only to selected
>persons. Some important parts can be found below.
>	My provider is based on the
>http://wiki.eclipse.org/Lyo/BuildingOSLC4J#Run_the_Quality_Management_sa
>mple_provider
>	and the more generic approach there to implement resources and
>services.
>	Are there any pitfalls? I have e.g. Requirement extends
>ViFOslcResource extends AbstractResource for other providers I developed
>only AbstractResource was extended directly.
>
>
>	<?xml version="1.0" encoding="UTF-8"?>
>	<rdf:RDF
>	    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
>	    xmlns:oslc="http://open-services.net/ns/core#";
>	    xmlns:j.0="http://open-services.net/ns/rm#";
>	    xmlns:dcterms="http://purl.org/dc/terms/";
>	    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"; >
>	  <rdf:Description
>rdf:about="http://INNB00889.v2c2.at:8080/VevatProvider/requirements/0b27
>88bb-601a-4c8a-bf83-a582144bc5b1">
>	    <dcterms:identifier>0b2788bb-601a-4c8a-bf83-
>a582144bc5b1</dcterms:identifier>
>	    <dcterms:title rdf:datatype="http://www.w3.org/1999/02/22-rdf-
>syntax-ns#XMLLiteral">REQU_1</dcterms:title>
>	    <oslc:serviceProvider
>rdf:resource="http://INNB00889.v2c2.at:8080/OSLC4JRegistry/serviceProvid
>ers/2"/>
>	    <dcterms:modified>2013-03-
>06T15:51:11.869+01:00</dcterms:modified>
>	    <dcterms:created>2013-03-
>06T15:51:11.869+01:00</dcterms:created>
>	    <j.0:affectedBy rdf:resource="http://www.orf.at"/>
>	    <rdf:type rdf:resource="http://open-
>services.net/ns/rm#Requirement"/>
>	  </rdf:Description>
>
>
>	Any help would be highly appreciated.
>	Thanks a lot in advance!
>
>
>	Regards,
>	  Stefan Paschke
>
>
>
>	DI (FH) Stefan Paschke
>	Researcher/Area Information & Process Management
>
>	Kompetenzzentrum - Das Virtuelle Fahrzeug Forschungsgesellschaft
>mbH (ViF) Inffeldgasse 21/A/EG 8010 Graz AUSTRIA
>
>	Telefon:        +43 316 873 9049 <tel:%2B43%20316%20873%209049>
>	Fax:    +43 316 873 9002 <tel:%2B43%20316%20873%209002>
>	stefan.paschke@xxxxxxx
>	www.v2c2.at
>
>
>	Firmenname: Kompetenzzentrum - Das virtuelle Fahrzeug,
>Forschungsgesellschaft mbH
>	Rechtsform: Gesellschaft mit beschränkter Haftung
>	Firmensitz: A-8010 Graz, Inffeldgasse 21/A
>	Firmenbuchnummer: 224755y
>	Firmenbuchgericht: Landesgericht für ZRS Graz
>
>
>	/*************************************/
>	public interface OslcRmConstants {
>	//CHECKSTYLE:ON
>
>	    /**
>	     * URL of OSLC requirements management domain.
>	     */
>	    String OSLC_RM_DOMAIN = "http://open-services.net/ns/rm#";;
>
>	    /**
>	     * URL of OSLC requirements management namespace.
>	     */
>	    String OSLC_RM_NAMESPACE = "http://open-services.net/ns/rm#";;
>
>	    /**
>	     * Prefix for OSLC requirements management namespace.
>	     */
>	    String OSLC_RM_PREFIX = "oslc_rm";
>
>	    /**
>	     * OSLC resource-type URI for OSLC requirements management
>Requirement.
>	     */
>	    String TYPE_REQUIREMENT = OSLC_RM_NAMESPACE + "Requirement";
>
>	    /**
>	     * OSLC resource-type URI for OSLC requirements management
>Requirement Collection.
>	     */
>	    String TYPE_REQUIREMENT_COLLECTION = OSLC_RM_NAMESPACE +
>"RequirementCollection";
>
>	    String PATH_REQUIREMENT = "requirement";
>
>	    String REQUIREMENT = "Requirement";
>
>	    String USAGE_LIST = OSLC_RM_NAMESPACE + "list";
>	}
>
>
>	/*************************************/
>	public class ServiceProviderFactory {
>	    private static Class<?>[] RESOURCE_CLASSES = {
>	        RequirementService.class
>	    };
>
>	    public ServiceProviderFactory() {
>	        super();
>	    }
>
>	    public static ServiceProvider createServiceProvider(final
>String serviceProviderWebAppUri)
>	            throws OslcCoreApplicationException,
>URISyntaxException {
>	        final ServiceProvider serviceProvider =
>org.eclipse.lyo.oslc4j.core.model.ServiceProviderFactory
>	                .createServiceProvider(
>	                        serviceProviderWebAppUri,
>	                        ServiceProviderRegistryURIs.getUIURI(),
>	                        "OSLC ViF Vevat Service Provider",
>	                        "OSLC ViF Vevat Service Provider for MBAT
>Use Case 7 - Hybrid Power Train Control Unit",
>	                        new Publisher("ViF",
>"urn:oslc:ServiceProvider"), RESOURCE_CLASSES);
>
>	        URI detailsURIs[] = { new URI(serviceProviderWebAppUri) };
>
>	        serviceProvider.setDetails(detailsURIs);
>
>	        final PrefixDefinition[] prefixDefinitions = {
>	                new
>PrefixDefinition(OslcConstants.DCTERMS_NAMESPACE_PREFIX, new URI(
>	                        OslcConstants.DCTERMS_NAMESPACE)),
>	                new
>PrefixDefinition(OslcConstants.OSLC_CORE_NAMESPACE_PREFIX, new URI(
>	                        OslcConstants.OSLC_CORE_NAMESPACE)),
>	                new
>PrefixDefinition(OslcConstants.OSLC_DATA_NAMESPACE_PREFIX, new URI(
>	                        OslcConstants.OSLC_DATA_NAMESPACE)),
>	                new
>PrefixDefinition(OslcConstants.RDF_NAMESPACE_PREFIX, new
>URI(OslcConstants.RDF_NAMESPACE)),
>	                new
>PrefixDefinition(OslcConstants.RDFS_NAMESPACE_PREFIX, new
>URI(OslcConstants.RDFS_NAMESPACE)),
>	                new
>PrefixDefinition(OslcRmConstants.OSLC_RM_PREFIX, new
>URI(OslcRmConstants.OSLC_RM_NAMESPACE)),
>	                new
>PrefixDefinition(FoafConstants.FOAF_NAMESPACE_PREFIX, new
>URI(FoafConstants.FOAF_NAMESPACE)) };
>
>
>	        serviceProvider.setPrefixDefinitions(prefixDefinitions);
>
>	        return serviceProvider;
>	    }
>
>	}
>
>	/*************************************/
>	@OslcService(OslcRmConstants.OSLC_RM_DOMAIN)
>	@Path("requirements")
>	public class RequirementService extends BaseService<Requirement> {
>
>	    public RequirementService() {
>	        super(Requirement.class);
>	    }
>
>	    protected RequirementService(Class<Requirement> resourceType)
>{
>	        super(resourceType);
>	    }
>
>	    @OslcDialogs ({
>	        @OslcDialog (
>	            title = "Requirement Selection Dialog",
>	            label = "Requirement Selection Dialog",
>	            uri = "",
>	            hintWidth = "1000px",
>	            hintHeight = "600px",
>	            resourceTypes = {OslcRmConstants.TYPE_REQUIREMENT},
>	            usages = {OslcConstants.OSLC_USAGE_DEFAULT}
>	        ),
>	        @OslcDialog (
>	            title = "Requirement List Dialog",
>	            label = "Requirement List Dialog",
>	            uri = "UI/requirements/list.jsp",
>	            hintWidth = "1000px",
>	            hintHeight = "600px",
>	            resourceTypes = {OslcRmConstants.TYPE_REQUIREMENT},
>	            usages = {OslcRmConstants.USAGE_LIST}
>	        )
>	    })
>	    @OslcQueryCapability (
>	        title = "Requirement Query Capability",
>	        label = "Requirement Catalog Query",
>	        resourceShape = OslcConstants.PATH_RESOURCE_SHAPES + "/" +
>OslcRmConstants.PATH_REQUIREMENT,
>	        resourceTypes = {OslcRmConstants.TYPE_REQUIREMENT},
>	        usages = {OslcConstants.OSLC_USAGE_DEFAULT}
>	    )
>	    @GET
>	    @Produces({ OslcMediaType.APPLICATION_RDF_XML,
>OslcMediaType.APPLICATION_XML, OslcMediaType.APPLICATION_JSON })
>	    public Requirement[] getResources(@QueryParam("oslc.where")
>final String where) {
>	        return super.getResources(where,
>PersistenceSingelton.getPersistence(),
>	                ServiceProviderSingelton.getServiceProviderURI());
>	    }
>	}
>
>	/*************************************/
>	public class BaseService<T extends ViFOslcResource> {
>	    private final Class<T> resourceType;
>
>	    protected BaseService(Class<T> resourceType) {
>	        super();
>
>	        this.resourceType = resourceType;
>	    }
>
>	    public T[] getResources(final String where, Persistence<T>
>pers, URI serviceProviderUri) {
>	        final List<T> resources = pers.getResources(resourceType);
>
>	        for (T resource : resources) {
>	            resource.setServiceProvider(serviceProviderUri);
>	        }
>
>	        return resources.toArray((T[])
>Array.newInstance(resourceType, resources.size()));
>	    }
>	....
>	}
>
>
>	_______________________________________________
>	lyo-dev mailing list
>	lyo-dev@xxxxxxxxxxx
>	http://dev.eclipse.org/mailman/listinfo/lyo-dev
>
>



Back to the top