[ 
https://issues.apache.org/jira/browse/SLING-3095?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Konrad Windszus updated SLING-3095:
-----------------------------------

    Attachment: SLING-3095-v1.patch

I have attached a simple patch, which is fixing that and is also extending the 
test method to cover the case with an empty attribute value.
                
> StringIndexOutOfBoundsException within ContentXmlHandler.java:210
> -----------------------------------------------------------------
>
>                 Key: SLING-3095
>                 URL: https://issues.apache.org/jira/browse/SLING-3095
>             Project: Sling
>          Issue Type: Bug
>          Components: IDE
>    Affects Versions: Sling Eclipse IDE 1.0.0
>            Reporter: Konrad Windszus
>         Attachments: SLING-3095-v1.patch
>
>
> I get the following exception during the publication of a 
> sling-content-module:
> {code}
> java.lang.StringIndexOutOfBoundsException: String index out of range: 0
>       at java.lang.String.charAt(String.java:658)
>       at 
> org.apache.sling.ide.impl.vlt.serialization.ContentXmlHandler$TypeHint.parsePossiblyTypedValue(ContentXmlHandler.java:210)
>       at 
> org.apache.sling.ide.impl.vlt.serialization.ContentXmlHandler.startElement(ContentXmlHandler.java:67)
>       at 
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:506)
>       at 
> com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:376)
>       at 
> com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:602)
>       at 
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3065)
>       at 
> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:881)
>       at 
> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:607)
>       at 
> com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
>       at 
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:489)
>       at 
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:835)
>       at 
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
>       at 
> com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
>       at 
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1210)
>       at 
> com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:568)
>       at 
> com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:302)
>       at javax.xml.parsers.SAXParser.parse(SAXParser.java:195)
>       at 
> org.apache.sling.ide.impl.vlt.serialization.VltSerializationManager.readSerializationData(VltSerializationManager.java:212)
>       at 
> org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadBehaviour.addFileCommand(SlingLaunchpadBehaviour.java:509)
>       at 
> org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadBehaviour.publishContentModule(SlingLaunchpadBehaviour.java:331)
>       at 
> org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadBehaviour.publishModule(SlingLaunchpadBehaviour.java:196)
>       at 
> org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publishModule(ServerBehaviourDelegate.java:1091)
>       at 
> org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publishModules(ServerBehaviourDelegate.java:1183)
>       at 
> org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publish(ServerBehaviourDelegate.java:987)
>       at 
> org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publish(ServerBehaviourDelegate.java:774)
>       at 
> org.eclipse.wst.server.core.internal.Server.publishImpl(Server.java:3153)
>       at 
> org.eclipse.wst.server.core.internal.Server$PublishJob.run(Server.java:345)
>       at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
> {code}
> To me it seems that the ContentXmlHandler does not deal with attributes 
> having an empty string as a value. Also for the future it would be great to 
> encapsulate all those exceptions within the VltSerializationManager to 
> include the filename in the exception as well.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to