| Summary: | DTD parser does not see public id catalog contributions | ||
|---|---|---|---|
| Product: | z_Archived | Reporter: | Greg Amerson <gregory.amerson> |
| Component: | Sapphire | Assignee: | Konstantin Komissarchik <konstantin> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | konstantin, ling.hao, peter.benedikovic |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
|
Description
Greg Amerson
This is already happening. See DtdParser.parseFromUrl() method. Perhaps there is mismatch between what's registered in the catalog and what Sapphire is trying too lookup? See Comment #1. Ok I see where that is being called now, and I am specifying entries in the WTP catalog from my own plugin like this:
<public
publicId="-//Liferay//DTD Service Builder 6.0.0//EN"
uri="platform:/plugin/com.liferay.ide.eclipse.server.core/dtd/liferay-service-builder_6_0_0.dtd"
webURL="http://www.liferay.com/dtd/liferay-service-builder_6_0_0.dtd">
</public>
However, the WTP resolver is not finding it by systemId even though it matches exactly.
Hmm, it seems that sapphire doesn't pass in the Public ID but only does the systemId lookup. All of my XML catalog entries in my plugin use the public ID. I think if I add system ids to my plugin contribution to XML catalog that will make the sapphire lookup work. I can make this work with supplying systemId's. Thanks. Another adopter ran into this. We need to look into this further. 0.7 : http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=42cf65115a660070cf7d1b5649be1c24d40c3096 0.7 : http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=b965fc1588305e5afd6063f753910cfcbf6c01ed 0.6.2 : http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?h=R_0_6_x&id=1375e5516aa286178b69954204071998fae51bb2 0.6.2 : http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?h=R_0_6_x&id=651f90675b7b1473936f589cfa31be9d8046afb8 Please verify. Tried to verify via JUnit test. Got this exception in my dev Eclipse, but Hudson test results are clear. What's the best way to verify this bug? ERROR : Failed while parsing DTD located at "http://www.eclipse.org/sapphire/tests/xml/dtd/0005p.dtd". java.lang.RuntimeException: Failed while parsing DTD located at "http://www.eclipse.org/sapphire/tests/xml/dtd/0005p.dtd". at org.eclipse.sapphire.modeling.xml.dtd.DtdParser.parse(DtdParser.java:48) at org.eclipse.sapphire.modeling.xml.schema.XmlDocumentSchemasCache.getSchema(XmlDocumentSchemasCache.java:121) at org.eclipse.sapphire.tests.modeling.xml.dtd.t0005.TestCatalogResolution.testPublicContribution1(TestCatalogResolution.java:64) Verified org.eclipse.sapphire.tests.modeling.xml.dtd.t0005.TestCatalogResolution using JUnit Plugin test in 0.6.2 and 0.7. Closing. |