[JBoss JIRA] (ARTIF-465) Investigate alternative methods for relationship resolution
by Brett Meyer (JIRA)
[ https://issues.jboss.org/browse/ARTIF-465?page=com.atlassian.jira.plugin.... ]
Brett Meyer commented on ARTIF-465:
-----------------------------------
Relevant (from the S-RAMP spec):
2.3.5.3.1 Resolving Internal References
Some documents have dependencies on other documents. From our earlier scenario, a WSDL document might import an XSD document. When the WSDL document was published to the repository, the XSD document would have been published as well, but the original WSDL document published would not typically have the correct import statement to reference the XSD file which is actually persisted in the repository. More likely, it would be a local reference based on the development environment from which both files originated. It is important that the repository support the capability for tooling to resolve these dependencies to the correct version of the document which is actually published in the repository. S-RAMP provides two implementation choices for achieving this. Compliant implementations SHALL support at least one of them.
When returning a requested document, the repository MAY dynamically re-write the document’s references to other documents to correctly reference the appropriate file(s) stored in the repository. The actual document stored in the repository is unaffected. Only the serialized content returned in a GET is altered as the content is returned.
When the URL of a document containing dependent links is requested, the repository MAY instead redirect to another URL of its own creation, against which all relative path references to dependent documents will resolve properly with the redirected URL as a base. S-RAMP does not describe how such an implementation is done, only the REQUIRED behavior when implementations choose to support this option.
Regardless of which option is implemented, its activation is achieved by adding the type=relative query string to the URL in the request (a sample URL format is shown here):
/s-ramp/<artifactModel>/<artifactType>/{uuid:artifactDocument}/media?type=relative
> Investigate alternative methods for relationship resolution
> -----------------------------------------------------------
>
> Key: ARTIF-465
> URL: https://issues.jboss.org/browse/ARTIF-465
> Project: Artificer
> Issue Type: Feature Request
> Reporter: Brett Meyer
> Assignee: Brett Meyer
>
> Investigate increased automatic artifact relationships (ie, service A depends on service B), useful for impact analysis. Possibly include Java-specific improvements, such as custom annotations (and scanning).
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 10 months
[JBoss JIRA] (ARTIF-202) The not() function doesn't quite work with relationships
by Brett Meyer (JIRA)
[ https://issues.jboss.org/browse/ARTIF-202?page=com.atlassian.jira.plugin.... ]
Brett Meyer commented on ARTIF-202:
-----------------------------------
Thanks a million to [~rhauch] for pointing this out:
Another idea is to break the relationships into groups of children. So under an artifact you'd have a child named `elements` and under that all of the relationship nodes with a type of `element`. Then finding all artifacts that have no 'element' relationship becomes something like:
{code}
SELECT artifact.* FROM [sramp:baseArtifactType] AS artifact
OUTER JOIN [sramp:relationshipContainer] AS relationshipContainer ON ISCHILDNODE(relationshipContainer,artifact)
WHERE artifact.[sramp:artifactType] = 'Part' AND
(NAME(relationshipContainer) != 'entity' OR
CHILDCOUNT(relationshipContainer) = 0)
{code}
The query needs an OUTER JOIN so that it also returns all artifacts that have no child nodes (which means it doesn't have an 'entity' relationship.
> The not() function doesn't quite work with relationships
> --------------------------------------------------------
>
> Key: ARTIF-202
> URL: https://issues.jboss.org/browse/ARTIF-202
> Project: Artificer
> Issue Type: Bug
> Reporter: Eric Wittmann
> Assignee: Brett Meyer
> Priority: Minor
>
> The not() function works well with properties, but not quite with relationships. An example of what doesn't work:
> /s-ramp/wsdl/Part[not(element)]
> That should return all Parts that do *not* have an element relationship. Since relationships are found by doing a JOIN, it's actually tricky to invert. Right now I think the query engine will produce something that would return all Parts that have some *other* relationship - but it won't return Parts without any relationships at all. I'm not sure how to do the latter other than by using an IN with a subquery (which is supported by ModeShape but is non-standard).
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 10 months
[JBoss JIRA] (RTGOV-643) keycloak configuration should not include host/port
by Jorge Morales (JIRA)
Jorge Morales created RTGOV-643:
-----------------------------------
Summary: keycloak configuration should not include host/port
Key: RTGOV-643
URL: https://issues.jboss.org/browse/RTGOV-643
Project: RTGov (Run Time Governance)
Issue Type: Feature Request
Reporter: Jorge Morales
Assignee: Gary Brown
Keycloak configuration should not include host and port to enable to have the server running in a VM/docker container and the host exposed port be different than the internal guest port. Otherwise, keycloak will try to redirect to that host:port being not accessible.
Change
{code}
<xsl:element name="auth-server-url" namespace="urn:jboss:domain:keycloak:1.0">http://localhost:8080/auth</xsl:element>
{code}
with:
{code}
<xsl:element name="auth-server-url" namespace="urn:jboss:domain:keycloak:1.0">/auth</xsl:element>
{code}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 10 months
[JBoss JIRA] (ARTIF-202) The not() function doesn't quite work with relationships
by Brett Meyer (JIRA)
[ https://issues.jboss.org/browse/ARTIF-202?page=com.atlassian.jira.plugin.... ]
Brett Meyer commented on ARTIF-202:
-----------------------------------
https://developer.jboss.org/message/917831
> The not() function doesn't quite work with relationships
> --------------------------------------------------------
>
> Key: ARTIF-202
> URL: https://issues.jboss.org/browse/ARTIF-202
> Project: Artificer
> Issue Type: Bug
> Reporter: Eric Wittmann
> Assignee: Brett Meyer
> Priority: Minor
>
> The not() function works well with properties, but not quite with relationships. An example of what doesn't work:
> /s-ramp/wsdl/Part[not(element)]
> That should return all Parts that do *not* have an element relationship. Since relationships are found by doing a JOIN, it's actually tricky to invert. Right now I think the query engine will produce something that would return all Parts that have some *other* relationship - but it won't return Parts without any relationships at all. I'm not sure how to do the latter other than by using an IN with a subquery (which is supported by ModeShape but is non-standard).
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 10 months
[JBoss JIRA] (ARTIF-202) The not() function doesn't quite work with relationships
by Brett Meyer (JIRA)
[ https://issues.jboss.org/browse/ARTIF-202?page=com.atlassian.jira.plugin.... ]
Brett Meyer commented on ARTIF-202:
-----------------------------------
Without MODE-2422, this may not be possible.
Work-in-progress: https://github.com/brmeyer/s-ramp/tree/ARTIF-202
> The not() function doesn't quite work with relationships
> --------------------------------------------------------
>
> Key: ARTIF-202
> URL: https://issues.jboss.org/browse/ARTIF-202
> Project: Artificer
> Issue Type: Bug
> Reporter: Eric Wittmann
> Assignee: Brett Meyer
> Priority: Minor
>
> The not() function works well with properties, but not quite with relationships. An example of what doesn't work:
> /s-ramp/wsdl/Part[not(element)]
> That should return all Parts that do *not* have an element relationship. Since relationships are found by doing a JOIN, it's actually tricky to invert. Right now I think the query engine will produce something that would return all Parts that have some *other* relationship - but it won't return Parts without any relationships at all. I'm not sure how to do the latter other than by using an IN with a subquery (which is supported by ModeShape but is non-standard).
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 10 months
[JBoss JIRA] (ARTIF-202) The not() function doesn't quite work with relationships
by Brett Meyer (JIRA)
[ https://issues.jboss.org/browse/ARTIF-202?page=com.atlassian.jira.plugin.... ]
Brett Meyer updated ARTIF-202:
------------------------------
Fix Version/s: (was: 1.0.0.Alpha1)
> The not() function doesn't quite work with relationships
> --------------------------------------------------------
>
> Key: ARTIF-202
> URL: https://issues.jboss.org/browse/ARTIF-202
> Project: Artificer
> Issue Type: Bug
> Reporter: Eric Wittmann
> Assignee: Brett Meyer
> Priority: Minor
>
> The not() function works well with properties, but not quite with relationships. An example of what doesn't work:
> /s-ramp/wsdl/Part[not(element)]
> That should return all Parts that do *not* have an element relationship. Since relationships are found by doing a JOIN, it's actually tricky to invert. Right now I think the query engine will produce something that would return all Parts that have some *other* relationship - but it won't return Parts without any relationships at all. I'm not sure how to do the latter other than by using an IN with a subquery (which is supported by ModeShape but is non-standard).
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 10 months
[JBoss JIRA] (ARTIF-202) The not() function doesn't quite work with relationships
by Brett Meyer (JIRA)
[ https://issues.jboss.org/browse/ARTIF-202?page=com.atlassian.jira.plugin.... ]
Brett Meyer edited comment on ARTIF-202 at 2/4/15 3:05 PM:
-----------------------------------------------------------
Eric's example currently does:
{code}
SELECT artifact1.* FROM [sramp:baseArtifactType] AS artifact1 INNER JOIN [sramp:relationship] AS relationship2 ON ISCHILDNODE(relationship2,artifact1) WHERE (artifact1.[sramp:artifactType] = 'Part' AND (NOT (relationship2.[sramp:relationshipType] = 'element') AND ISDESCENDANTNODE([sramp:baseArtifactType],'/s-ramp')))
{code}
So, it will return any Part that has 1+ relationships other than 'element'. Since it's an inner join, and not a left join, a Part with 0 relationships would *not* be returned.
not(relationshipExpression) will need to skip the join entirely and simply use a an "IN" with a subselect. Not currently all that concerned about the query containing ModeShape-extensions.
was (Author: brmeyer):
Eric's example currently does:
{code}
SELECT artifact1.* FROM [sramp:baseArtifactType] AS artifact1 INNER JOIN [sramp:relationship] AS relationship2 ON ISCHILDNODE(relationship2,artifact1) WHERE (artifact1.[sramp:artifactType] = 'Part' AND (NOT (relationship2.[sramp:relationshipType] = 'element') AND ISDESCENDANTNODE([sramp:baseArtifactType],'/s-ramp')))
{code}
> The not() function doesn't quite work with relationships
> --------------------------------------------------------
>
> Key: ARTIF-202
> URL: https://issues.jboss.org/browse/ARTIF-202
> Project: Artificer
> Issue Type: Bug
> Reporter: Eric Wittmann
> Assignee: Brett Meyer
> Priority: Minor
> Fix For: 1.0.0.Alpha1
>
>
> The not() function works well with properties, but not quite with relationships. An example of what doesn't work:
> /s-ramp/wsdl/Part[not(element)]
> That should return all Parts that do *not* have an element relationship. Since relationships are found by doing a JOIN, it's actually tricky to invert. Right now I think the query engine will produce something that would return all Parts that have some *other* relationship - but it won't return Parts without any relationships at all. I'm not sure how to do the latter other than by using an IN with a subquery (which is supported by ModeShape but is non-standard).
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 10 months