Thanks, should be fixed now. Brent
On Tue, Jun 22, 2010 at 5:40 PM, Raymond Feng <enjoyj...@gmail.com> wrote: > Sorry, missing a "NOT". > On Jun 22, 2010, at 5:37 PM, Raymond Feng wrote: > > Hi, > This is violating the OSGi imports/exports. We should NOT > expose NamespaceContextImpl as it's an internal implementation class. > Description Resource Path Location Type > Access restriction: The method register(String, String) from the type > NamespaceContextImpl is not accessible due to restriction on required > project tuscany-common-xml PolicySetProcessor.java > /tuscany-assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml line > 265 Java Problem > Access restriction: The type NamespaceContextImpl is not accessible due to > restriction on required project tuscany-common-xml PolicySetProcessor.java > /tuscany-assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml line > 41 Java Problem > Access restriction: The type NamespaceContextImpl is not accessible due to > restriction on required project tuscany-common-xml PolicySetProcessor.java > /tuscany-assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml line > 264 Java Problem > Access restriction: The type NamespaceContextImpl is not accessible due to > restriction on required project tuscany-common-xml PolicySetProcessor.java > /tuscany-assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml line > 264 Java Problem > Thanks, > Raymond > ________________________________________________________________ > Raymond Feng > rf...@apache.org > Apache Tuscany PMC member and committer: tuscany.apache.org > Co-author of Tuscany SCA In Action book: www.tuscanyinaction.com > Personal Web Site: www.enjoyjava.com > ________________________________________________________________ > On Jun 22, 2010, at 11:31 AM, bdan...@apache.org wrote: > > Author: bdaniel > Date: Tue Jun 22 18:31:47 2010 > New Revision: 956969 > > URL: http://svn.apache.org/viewvc?rev=956969&view=rev > Log: > Support policy XPath functions without ns prefixes and without a single node > context > > Modified: > tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java > > Modified: > tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java > URL: > http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java?rev=956969&r1=956968&r2=956969&view=diff > ============================================================================== > --- > tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java > (original) > +++ > tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java > Tue Jun 22 18:31:47 2010 > @@ -21,11 +21,14 @@ package org.apache.tuscany.sca.policy.xm > > import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; > import static javax.xml.stream.XMLStreamConstants.START_ELEMENT; > +import static org.apache.tuscany.sca.policy.xml.PolicyConstants.SCA11_NS; > > import java.util.ArrayList; > +import java.util.Iterator; > import java.util.List; > import java.util.StringTokenizer; > > +import javax.xml.XMLConstants; > import javax.xml.namespace.NamespaceContext; > import javax.xml.namespace.QName; > import javax.xml.stream.XMLStreamException; > @@ -35,6 +38,7 @@ import javax.xml.xpath.XPath; > import javax.xml.xpath.XPathExpression; > import javax.xml.xpath.XPathExpressionException; > > +import org.apache.tuscany.sca.common.xml.stax.reader.NamespaceContextImpl; > import org.apache.tuscany.sca.common.xml.xpath.XPathHelper; > import > org.apache.tuscany.sca.contribution.processor.BaseStAXArtifactProcessor; > import > org.apache.tuscany.sca.contribution.processor.ContributionReadException; > @@ -163,8 +167,8 @@ public class PolicySetProcessor extends > XPath path = xpathHelper.newXPath(); > NamespaceContext nsContext = > xpathHelper.getNamespaceContext(attachTo, reader.getNamespaceContext()); > path.setXPathFunctionResolver(new > PolicyXPathFunctionResolver(nsContext)); > - > - attachTo = > PolicyXPathFunction.normalize(attachTo,nsContext.getPrefix(SCA11_NS)); > + > + attachTo = > PolicyXPathFunction.normalize(attachTo,getSCAPrefix(nsContext)); > XPathExpression expression = xpathHelper.compile(path, > nsContext, attachTo); > policySet.setAttachTo(attachTo); > policySet.setAttachToXPathExpression(expression); > @@ -247,7 +251,22 @@ public class PolicySetProcessor extends > return policySet; > } > > - public void readIntentMap(XMLStreamReader reader, PolicySet policySet, > Intent mappedIntent, ProcessorContext context) > + private String getSCAPrefix(NamespaceContext nsContext) { > + > + Iterator iter = nsContext.getPrefixes(SCA11_NS); > + while ( iter.hasNext()) { > + String prefix = (String)iter.next(); > + if ( !prefix.equals(XMLConstants.DEFAULT_NS_PREFIX)) > + return prefix; > + } > + // We have to have some prefix here to use before the function name. > Otherwise the > + // XPathFunctionResolver will never be called. > + NamespaceContextImpl nsImpl = (NamespaceContextImpl) nsContext; > + nsImpl.register("sca_internal", SCA11_NS); > + return "sca_internal"; > + } > + > + public void readIntentMap(XMLStreamReader reader, PolicySet policySet, > Intent mappedIntent, ProcessorContext context) > throws ContributionReadException { > Monitor monitor = context.getMonitor(); > QName name = reader.getName(); > > > > >