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
> [email protected]
> 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, [email protected] 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();
>> 
>> 
> 

Reply via email to