[MGNLDIFF-64] Page that doesn't have html tags (head/body) cannot be compared Created: 12/Nov/13 Updated: 04/Mar/14 Resolved: 03/Mar/14 |
|
| Status: | Closed |
| Project: | Magnolia Diff Module |
| Component/s: | None |
| Affects Version/s: | 1.4 |
| Fix Version/s: | 1.5.3 |
| Type: | Bug | Priority: | Neutral |
| Reporter: | Jaroslav Simak | Assignee: | Philip Mundt |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | support | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Template: |
|
||||
| Acceptance criteria: |
Empty
|
||||
| Task DoD: |
[ ]*
Doc/release notes changes? Comment present?
[ ]*
Downstream builds green?
[ ]*
Solution information and context easily available?
[ ]*
Tests
[ ]*
FixVersion filled and not yet released
[ ] 
Architecture Decision Record (ADR)
|
||||
| Bug DoR: |
[ ]*
Steps to reproduce, expected, and actual results filled
[ ]*
Affected version filled
|
||||
| Date of First Response: | |||||
| Description |
java.lang.StringIndexOutOfBoundsException: String index out of range: -1 java.lang.String.substring(String.java:1911) info.magnolia.module.diff.VersionDiffHtmlGenerator.diff(VersionDiffHtmlGenerator.java:80) info.magnolia.module.diff.VersionDiffHtmlGenerator.diff(VersionDiffHtmlGenerator.java:96) info.magnolia.module.diff.VersionDiffHtmlServlet.getVersionDiffHtml(VersionDiffHtmlServlet.java:244) info.magnolia.module.diff.VersionDiffHtmlServlet.doGet(VersionDiffHtmlServlet.java:127) javax.servlet.http.HttpServlet.service(HttpServlet.java:621) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) info.magnolia.cms.filters.ServletDispatchingFilter.doFilter(ServletDispatchingFilter.java:129) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:67) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) info.magnolia.cms.filters.VirtualUriFilter.doFilter(VirtualUriFilter.java:70) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) info.magnolia.module.cache.executor.Bypass.processCacheRequest(Bypass.java:58) info.magnolia.module.cache.executor.CompositeExecutor.processCacheRequest(CompositeExecutor.java:66) info.magnolia.module.cache.filter.CacheFilter.doFilter(CacheFilter.java:153) info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) info.magnolia.cms.i18n.I18nContentSupportFilter.doFilter(I18nContentSupportFilter.java:76) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) info.magnolia.cms.filters.RangeSupportFilter.doFilter(RangeSupportFilter.java:84) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) info.magnolia.cms.security.BaseSecurityFilter.doFilter(BaseSecurityFilter.java:60) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) info.magnolia.cms.security.SecurityCallbackFilter.doFilter(SecurityCallbackFilter.java:86) info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) info.magnolia.cms.security.LogoutFilter.doFilter(LogoutFilter.java:93) info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) info.magnolia.module.templatingkit.filters.SiteMergeFilter.doFilter(SiteMergeFilter.java:106) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) info.magnolia.multisite.filters.MultiSiteFilter.doFilter(MultiSiteFilter.java:106) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) info.magnolia.cms.filters.MultiChannelFilter.doFilter(MultiChannelFilter.java:82) info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) info.magnolia.module.cache.filter.GZipFilter.doFilter(GZipFilter.java:73) info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) info.magnolia.cms.security.auth.login.LoginFilter.doFilter(LoginFilter.java:104) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) info.magnolia.enterprise.registration.RegistrationFilter.doFilter(RegistrationFilter.java:56) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) info.magnolia.cms.filters.CosMultipartRequestFilter.doFilter(CosMultipartRequestFilter.java:91) info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) info.magnolia.module.devicedetection.filter.DeviceDetectionFilter.doFilter(DeviceDetectionFilter.java:71) info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:102) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) info.magnolia.cms.filters.ContextFilter.doFilter(ContextFilter.java:131) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:67) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) info.magnolia.cms.filters.SafeDestroyMgnlFilterWrapper.doFilter(SafeDestroyMgnlFilterWrapper.java:108) info.magnolia.cms.filters.MgnlFilterDispatcher.doDispatch(MgnlFilterDispatcher.java:67) info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:108) info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:94) We should either improve error message and say that pages that have no HTML tags can't be compared or we should allow comparison of such pages. |
| Comments |
| Comment by Philip Mundt [ 22/Nov/13 ] |
|
We're using HTMLDiffer to create diffs of HTML, thus I would vote for making diff more failsafe, rather than "enabling" diff of any format. |