[
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
>
>