You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Sascha Theves (Created) (JIRA)" <ji...@apache.org> on 2011/10/25 09:08:32 UTC

[jira] [Created] (JCR-3128) Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9

Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9
-------------------------------------------------------------------------------

                 Key: JCR-3128
                 URL: https://issues.apache.org/jira/browse/JCR-3128
             Project: Jackrabbit Content Repository
          Issue Type: Bug
          Components: jackrabbit-core
    Affects Versions: 2.2.9
            Reporter: Sascha Theves


The following unit test fails:

{code}
import static org.junit.Assert.*;

import org.apache.jackrabbit.util.Text;
import org.junit.Test;

public class TestEscaping
{
   @Test
   public void testEscaping() throws Exception
   {
      // expect this as an escaped string (e.g. formerly escaped with jackrabbit 1.6)
      String escaped = "nam%27e";
      String unescaped = Text.unescapeIllegalJcrChars(escaped);
      assertEquals(escaped, Text.escapeIllegalJcrChars(unescaped));
   }
}
{code}

This is a major problem when upgrading from 1.6.x to 2.2.9. The node names that were escaped in jackrabbit 1.6 are not longer escaped and that breaks the backward compatibility. I think the problem comes in with JCR-2198. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (JCR-3128) Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9

Posted by "Jukka Zitting (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-3128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13134854#comment-13134854 ] 

Jukka Zitting commented on JCR-3128:
------------------------------------

Yep, this is a clear backwards compatibility issue if you're using escapeIllegalJcrChars() for example to map arbitrary strings to JCR names. An upgrade shouldn't break that mapping.

Unfortunately changing the mapping again now would just create another backwards compatibility issue. So my recommendation would be to either resolve this just as Won't Fix with a recommendation to use Sascha's workaround from above, or to add a new escapeIllegalJcr10Chars() method for use by clients that rely on the older mapping. In either case a client code change is needed for the 1.x to 2.x upgrade in cases where the client relies on this mapping.
                
> Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9
> -------------------------------------------------------------------------------
>
>                 Key: JCR-3128
>                 URL: https://issues.apache.org/jira/browse/JCR-3128
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.2.9
>            Reporter: Sascha Theves
>
> The following unit test fails:
> {code}
> import static org.junit.Assert.*;
> import org.apache.jackrabbit.util.Text;
> import org.junit.Test;
> public class TestEscaping
> {
>    @Test
>    public void testEscaping() throws Exception
>    {
>       // expect this as an escaped string (e.g. formerly escaped with jackrabbit 1.6)
>       String escaped = "nam%27e";
>       String unescaped = Text.unescapeIllegalJcrChars(escaped);
>       assertEquals(escaped, Text.escapeIllegalJcrChars(unescaped));
>    }
> }
> {code}
> This is a major problem when upgrading from 1.6.x to 2.2.9. The node names that were escaped in jackrabbit 1.6 are not longer escaped and that breaks the backward compatibility. I think the problem comes in with JCR-2198. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (JCR-3128) Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9

Posted by "Claus Köll (Commented JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-3128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13134812#comment-13134812 ] 

Claus Köll commented on JCR-3128:
---------------------------------

Yes you are right it is not backward compatible,
but the Method works as designed. Please look into the TextTest.testEscapeIllegalJcrChars() Method.
                
> Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9
> -------------------------------------------------------------------------------
>
>                 Key: JCR-3128
>                 URL: https://issues.apache.org/jira/browse/JCR-3128
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.2.9
>            Reporter: Sascha Theves
>
> The following unit test fails:
> {code}
> import static org.junit.Assert.*;
> import org.apache.jackrabbit.util.Text;
> import org.junit.Test;
> public class TestEscaping
> {
>    @Test
>    public void testEscaping() throws Exception
>    {
>       // expect this as an escaped string (e.g. formerly escaped with jackrabbit 1.6)
>       String escaped = "nam%27e";
>       String unescaped = Text.unescapeIllegalJcrChars(escaped);
>       assertEquals(escaped, Text.escapeIllegalJcrChars(unescaped));
>    }
> }
> {code}
> This is a major problem when upgrading from 1.6.x to 2.2.9. The node names that were escaped in jackrabbit 1.6 are not longer escaped and that breaks the backward compatibility. I think the problem comes in with JCR-2198. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (JCR-3128) Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9

Posted by "Sascha Theves (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-3128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13134903#comment-13134903 ] 

Sascha Theves commented on JCR-3128:
------------------------------------

Totally agree with Jukka and for me the best solution would be to have a escapeIllegalJcr10Chars() method so I don`t need to copy the old jackrabbit code.
                
> Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9
> -------------------------------------------------------------------------------
>
>                 Key: JCR-3128
>                 URL: https://issues.apache.org/jira/browse/JCR-3128
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.2.9
>            Reporter: Sascha Theves
>
> The following unit test fails:
> {code}
> import static org.junit.Assert.*;
> import org.apache.jackrabbit.util.Text;
> import org.junit.Test;
> public class TestEscaping
> {
>    @Test
>    public void testEscaping() throws Exception
>    {
>       // expect this as an escaped string (e.g. formerly escaped with jackrabbit 1.6)
>       String escaped = "nam%27e";
>       String unescaped = Text.unescapeIllegalJcrChars(escaped);
>       assertEquals(escaped, Text.escapeIllegalJcrChars(unescaped));
>    }
> }
> {code}
> This is a major problem when upgrading from 1.6.x to 2.2.9. The node names that were escaped in jackrabbit 1.6 are not longer escaped and that breaks the backward compatibility. I think the problem comes in with JCR-2198. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (JCR-3128) Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9

Posted by "Claus Köll (Commented JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-3128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13134806#comment-13134806 ] 

Claus Köll commented on JCR-3128:
---------------------------------

Hi,
Single and double quote are valid since JCR 2.0
                
> Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9
> -------------------------------------------------------------------------------
>
>                 Key: JCR-3128
>                 URL: https://issues.apache.org/jira/browse/JCR-3128
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.2.9
>            Reporter: Sascha Theves
>
> The following unit test fails:
> {code}
> import static org.junit.Assert.*;
> import org.apache.jackrabbit.util.Text;
> import org.junit.Test;
> public class TestEscaping
> {
>    @Test
>    public void testEscaping() throws Exception
>    {
>       // expect this as an escaped string (e.g. formerly escaped with jackrabbit 1.6)
>       String escaped = "nam%27e";
>       String unescaped = Text.unescapeIllegalJcrChars(escaped);
>       assertEquals(escaped, Text.escapeIllegalJcrChars(unescaped));
>    }
> }
> {code}
> This is a major problem when upgrading from 1.6.x to 2.2.9. The node names that were escaped in jackrabbit 1.6 are not longer escaped and that breaks the backward compatibility. I think the problem comes in with JCR-2198. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (JCR-3128) Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9

Posted by "Sascha Theves (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-3128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13134809#comment-13134809 ] 

Sascha Theves commented on JCR-3128:
------------------------------------

I know but the provided test case shouldn`t fail. I think I need backward compatible escaping/unescaping methods in the Text util and the provided test case should also work.
                
> Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9
> -------------------------------------------------------------------------------
>
>                 Key: JCR-3128
>                 URL: https://issues.apache.org/jira/browse/JCR-3128
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.2.9
>            Reporter: Sascha Theves
>
> The following unit test fails:
> {code}
> import static org.junit.Assert.*;
> import org.apache.jackrabbit.util.Text;
> import org.junit.Test;
> public class TestEscaping
> {
>    @Test
>    public void testEscaping() throws Exception
>    {
>       // expect this as an escaped string (e.g. formerly escaped with jackrabbit 1.6)
>       String escaped = "nam%27e";
>       String unescaped = Text.unescapeIllegalJcrChars(escaped);
>       assertEquals(escaped, Text.escapeIllegalJcrChars(unescaped));
>    }
> }
> {code}
> This is a major problem when upgrading from 1.6.x to 2.2.9. The node names that were escaped in jackrabbit 1.6 are not longer escaped and that breaks the backward compatibility. I think the problem comes in with JCR-2198. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (JCR-3128) Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9

Posted by "Sascha Theves (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-3128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13134838#comment-13134838 ] 

Sascha Theves commented on JCR-3128:
------------------------------------

Then the design/contract of the method is wrong because unescaping and then escaping should produce the origin string...
                
> Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9
> -------------------------------------------------------------------------------
>
>                 Key: JCR-3128
>                 URL: https://issues.apache.org/jira/browse/JCR-3128
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.2.9
>            Reporter: Sascha Theves
>
> The following unit test fails:
> {code}
> import static org.junit.Assert.*;
> import org.apache.jackrabbit.util.Text;
> import org.junit.Test;
> public class TestEscaping
> {
>    @Test
>    public void testEscaping() throws Exception
>    {
>       // expect this as an escaped string (e.g. formerly escaped with jackrabbit 1.6)
>       String escaped = "nam%27e";
>       String unescaped = Text.unescapeIllegalJcrChars(escaped);
>       assertEquals(escaped, Text.escapeIllegalJcrChars(unescaped));
>    }
> }
> {code}
> This is a major problem when upgrading from 1.6.x to 2.2.9. The node names that were escaped in jackrabbit 1.6 are not longer escaped and that breaks the backward compatibility. I think the problem comes in with JCR-2198. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (JCR-3128) Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9

Posted by "Sascha Theves (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-3128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13134847#comment-13134847 ] 

Sascha Theves commented on JCR-3128:
------------------------------------

1) It was escaped with the Text util from Jackrabbit 1.6: Text.escapeIllegalJcrChars.

In my opinion you really have a problem here when migrating from Jackrabbit 1.6. But anyway I solved my problem with copying the jackrabbit 1.6 code of escaping/unescaping to my app and now I am using that code instead of Text util. That works in this case.
                
> Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9
> -------------------------------------------------------------------------------
>
>                 Key: JCR-3128
>                 URL: https://issues.apache.org/jira/browse/JCR-3128
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.2.9
>            Reporter: Sascha Theves
>
> The following unit test fails:
> {code}
> import static org.junit.Assert.*;
> import org.apache.jackrabbit.util.Text;
> import org.junit.Test;
> public class TestEscaping
> {
>    @Test
>    public void testEscaping() throws Exception
>    {
>       // expect this as an escaped string (e.g. formerly escaped with jackrabbit 1.6)
>       String escaped = "nam%27e";
>       String unescaped = Text.unescapeIllegalJcrChars(escaped);
>       assertEquals(escaped, Text.escapeIllegalJcrChars(unescaped));
>    }
> }
> {code}
> This is a major problem when upgrading from 1.6.x to 2.2.9. The node names that were escaped in jackrabbit 1.6 are not longer escaped and that breaks the backward compatibility. I think the problem comes in with JCR-2198. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Resolved] (JCR-3128) Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9

Posted by "Jukka Zitting (Resolved) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-3128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jukka Zitting resolved JCR-3128.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 2.3.2
                   2.2.10
         Assignee: Jukka Zitting

I committed such a escapeIllegalJcr10Chars() method in revision 1188590 and merged it to the 2.2 branch in revision 1188595.

Introducing new method signature in a patch release like 2.2.10 is a bit troublesome (ideally there'd be no API changes), but since this is a workaround for a backwards compatibility issue I consider the benefits to outweight the potential drawbacks.
                
> Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9
> -------------------------------------------------------------------------------
>
>                 Key: JCR-3128
>                 URL: https://issues.apache.org/jira/browse/JCR-3128
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.2.9
>            Reporter: Sascha Theves
>            Assignee: Jukka Zitting
>             Fix For: 2.2.10, 2.3.2
>
>
> The following unit test fails:
> {code}
> import static org.junit.Assert.*;
> import org.apache.jackrabbit.util.Text;
> import org.junit.Test;
> public class TestEscaping
> {
>    @Test
>    public void testEscaping() throws Exception
>    {
>       // expect this as an escaped string (e.g. formerly escaped with jackrabbit 1.6)
>       String escaped = "nam%27e";
>       String unescaped = Text.unescapeIllegalJcrChars(escaped);
>       assertEquals(escaped, Text.escapeIllegalJcrChars(unescaped));
>    }
> }
> {code}
> This is a major problem when upgrading from 1.6.x to 2.2.9. The node names that were escaped in jackrabbit 1.6 are not longer escaped and that breaks the backward compatibility. I think the problem comes in with JCR-2198. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (JCR-3128) Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9

Posted by "Julian Reschke (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-3128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13134843#comment-13134843 ] 

Julian Reschke commented on JCR-3128:
-------------------------------------

(1) What was it escaped with?

(2) No, the contract would be unescape(escape(x)) == x, not the other way around.
                
> Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9
> -------------------------------------------------------------------------------
>
>                 Key: JCR-3128
>                 URL: https://issues.apache.org/jira/browse/JCR-3128
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.2.9
>            Reporter: Sascha Theves
>
> The following unit test fails:
> {code}
> import static org.junit.Assert.*;
> import org.apache.jackrabbit.util.Text;
> import org.junit.Test;
> public class TestEscaping
> {
>    @Test
>    public void testEscaping() throws Exception
>    {
>       // expect this as an escaped string (e.g. formerly escaped with jackrabbit 1.6)
>       String escaped = "nam%27e";
>       String unescaped = Text.unescapeIllegalJcrChars(escaped);
>       assertEquals(escaped, Text.escapeIllegalJcrChars(unescaped));
>    }
> }
> {code}
> This is a major problem when upgrading from 1.6.x to 2.2.9. The node names that were escaped in jackrabbit 1.6 are not longer escaped and that breaks the backward compatibility. I think the problem comes in with JCR-2198. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (JCR-3128) Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9

Posted by "Claus Köll (Commented JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-3128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13134850#comment-13134850 ] 

Claus Köll commented on JCR-3128:
---------------------------------

Hi,

The upgrade was successfully on a stronger server but on every start of the server i get this exception

java.lang.NullPointerException
	at com.atlassian.greenhopper.upgrade.GhUpgradeTask004.removeProjectIdInLayoutsProperties(GhUpgradeTask004.java:92)
	at com.atlassian.greenhopper.upgrade.GhUpgradeTask004.doUpgrade(GhUpgradeTask004.java:57)

and on every click this one ..
2011-10-25 10:55:35,295 http-8081-3 ERROR udvt0047@tirol.gv.at 655x650x1 1cr9evu 10.12.135.4 /browse/AEICP [greenhopper.jira.license.GreenHopperLicenseManagerImpl] com.atlassian.extras.decoder.api.LicenseDecoderNotFoundException: Could not find any valid decoders in [com.atlassian.extras.decoder.v2.Version2LicenseDecoder@7b86b0e9, com.atlassian.extras.decoder.v1.Version1LicenseDecoder@47c8d05a] for license string <P0g8o6w+aM5iUdprKwTX9nVysnCfoMZTTSsv9w8nHb77bXHye8t+VSohqQ7rS9tkZDntOQX0yHjWvocXSsMvrN8AhzXci3mhxSPdOp4tBrCrQG2dP8dgvM/bXWCNx3fAf4+CRoiLmzzRS3wlH//uFclKjc/fin4V4sZNFeUpyuaHNFvX721hxr7A2pRF87JvLvRLcO/RNkQkeb/yCcd55pLBQmzi3+A4sGoGXGrRM4RyTx273HRCV4zD6L1ZDzM+ggTR5donqqNEkux5imQl/lcRI1xrQQg+3BrsIHkcwVza682rkZoJmwkSDVs+pXWXr9M+wgRPiP1WzKjp5zjYvnH4yhTy94B9mITbXjwUN6aKFCbi+sEIsClIFFG1qf4xaSXuKG+upZau1cjEM9wgKzdhB7MRKYtm8uSxKdlxi8wVB3VvsKLlpwLLsnKqhW028DCjS/G1Z7TCIJn3OXfI+6OQiPE7k4RtUuBhlpsmFAcopsfYKORp5HyJqvXVEuXyRFkZlrYgoM4J1250hZYaKnHZpglqm6cAWjSgJsVcYeynVoueuG/Rv2dcgxpTNdN3tzETm4DQt/AaUDpc1TZVQXkzR3XPHwUtRqTJ32T2Z551ERqSEn9Mpd77IMg3E09Es6ZL4HrMhTFkoZP8bX8ysAymAdymnJrzlgGONKl0+bz8XCrLNeByDmAA7sR7XG4ZaFMBs93U6vOlB15vpMqJPkF//vYpDMMTAL3/Lesnkx//rRFPe8cf3pR6Bjo+2SHmhnhH10x+iZFIc7QBfV15bVIettWcjBuEZKa+al8XNlZNZ5oqoblWAOHopG5LY+VKADNMXGN7xkGsIdSJw1RFvgWmOHD9C1DBUFfX5snwVp6MLC0qYux9lTd2BGljkjET93N6U6HTZ2vx3dxM7DRQ3P27gWRv4FiBrQS+qARihJIcOFPmj5z5iZI8XGsU4fchaDtYtPcPEwJBF0ShYwZbILXtIwrmN8zEzrplwGjI5EDM7XSGStN/VXtvD2PKNyv1MIsJdM+WB2Y=>

We had years ago greenhopper activated but yet no more ?
What can i do to disable greenhopper ?

thanks 
claus

                
> Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9
> -------------------------------------------------------------------------------
>
>                 Key: JCR-3128
>                 URL: https://issues.apache.org/jira/browse/JCR-3128
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.2.9
>            Reporter: Sascha Theves
>
> The following unit test fails:
> {code}
> import static org.junit.Assert.*;
> import org.apache.jackrabbit.util.Text;
> import org.junit.Test;
> public class TestEscaping
> {
>    @Test
>    public void testEscaping() throws Exception
>    {
>       // expect this as an escaped string (e.g. formerly escaped with jackrabbit 1.6)
>       String escaped = "nam%27e";
>       String unescaped = Text.unescapeIllegalJcrChars(escaped);
>       assertEquals(escaped, Text.escapeIllegalJcrChars(unescaped));
>    }
> }
> {code}
> This is a major problem when upgrading from 1.6.x to 2.2.9. The node names that were escaped in jackrabbit 1.6 are not longer escaped and that breaks the backward compatibility. I think the problem comes in with JCR-2198. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Updated] (JCR-3128) Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9

Posted by "Claus Köll (Updated JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-3128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Köll updated JCR-3128:
----------------------------

    Comment: was deleted

(was: Hi,

The upgrade was successfully on a stronger server but on every start of the server i get this exception

java.lang.NullPointerException
	at com.atlassian.greenhopper.upgrade.GhUpgradeTask004.removeProjectIdInLayoutsProperties(GhUpgradeTask004.java:92)
	at com.atlassian.greenhopper.upgrade.GhUpgradeTask004.doUpgrade(GhUpgradeTask004.java:57)

and on every click this one ..
2011-10-25 10:55:35,295 http-8081-3 ERROR udvt0047@tirol.gv.at 655x650x1 1cr9evu 10.12.135.4 /browse/AEICP [greenhopper.jira.license.GreenHopperLicenseManagerImpl] com.atlassian.extras.decoder.api.LicenseDecoderNotFoundException: Could not find any valid decoders in [com.atlassian.extras.decoder.v2.Version2LicenseDecoder@7b86b0e9, com.atlassian.extras.decoder.v1.Version1LicenseDecoder@47c8d05a] for license string <P0g8o6w+aM5iUdprKwTX9nVysnCfoMZTTSsv9w8nHb77bXHye8t+VSohqQ7rS9tkZDntOQX0yHjWvocXSsMvrN8AhzXci3mhxSPdOp4tBrCrQG2dP8dgvM/bXWCNx3fAf4+CRoiLmzzRS3wlH//uFclKjc/fin4V4sZNFeUpyuaHNFvX721hxr7A2pRF87JvLvRLcO/RNkQkeb/yCcd55pLBQmzi3+A4sGoGXGrRM4RyTx273HRCV4zD6L1ZDzM+ggTR5donqqNEkux5imQl/lcRI1xrQQg+3BrsIHkcwVza682rkZoJmwkSDVs+pXWXr9M+wgRPiP1WzKjp5zjYvnH4yhTy94B9mITbXjwUN6aKFCbi+sEIsClIFFG1qf4xaSXuKG+upZau1cjEM9wgKzdhB7MRKYtm8uSxKdlxi8wVB3VvsKLlpwLLsnKqhW028DCjS/G1Z7TCIJn3OXfI+6OQiPE7k4RtUuBhlpsmFAcopsfYKORp5HyJqvXVEuXyRFkZlrYgoM4J1250hZYaKnHZpglqm6cAWjSgJsVcYeynVoueuG/Rv2dcgxpTNdN3tzETm4DQt/AaUDpc1TZVQXkzR3XPHwUtRqTJ32T2Z551ERqSEn9Mpd77IMg3E09Es6ZL4HrMhTFkoZP8bX8ysAymAdymnJrzlgGONKl0+bz8XCrLNeByDmAA7sR7XG4ZaFMBs93U6vOlB15vpMqJPkF//vYpDMMTAL3/Lesnkx//rRFPe8cf3pR6Bjo+2SHmhnhH10x+iZFIc7QBfV15bVIettWcjBuEZKa+al8XNlZNZ5oqoblWAOHopG5LY+VKADNMXGN7xkGsIdSJw1RFvgWmOHD9C1DBUFfX5snwVp6MLC0qYux9lTd2BGljkjET93N6U6HTZ2vx3dxM7DRQ3P27gWRv4FiBrQS+qARihJIcOFPmj5z5iZI8XGsU4fchaDtYtPcPEwJBF0ShYwZbILXtIwrmN8zEzrplwGjI5EDM7XSGStN/VXtvD2PKNyv1MIsJdM+WB2Y=>

We had years ago greenhopper activated but yet no more ?
What can i do to disable greenhopper ?

thanks 
claus
)
    
> Problem with formerly escaped JCR node names when upgrading to Jackrabbit 2.2.9
> -------------------------------------------------------------------------------
>
>                 Key: JCR-3128
>                 URL: https://issues.apache.org/jira/browse/JCR-3128
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.2.9
>            Reporter: Sascha Theves
>
> The following unit test fails:
> {code}
> import static org.junit.Assert.*;
> import org.apache.jackrabbit.util.Text;
> import org.junit.Test;
> public class TestEscaping
> {
>    @Test
>    public void testEscaping() throws Exception
>    {
>       // expect this as an escaped string (e.g. formerly escaped with jackrabbit 1.6)
>       String escaped = "nam%27e";
>       String unescaped = Text.unescapeIllegalJcrChars(escaped);
>       assertEquals(escaped, Text.escapeIllegalJcrChars(unescaped));
>    }
> }
> {code}
> This is a major problem when upgrading from 1.6.x to 2.2.9. The node names that were escaped in jackrabbit 1.6 are not longer escaped and that breaks the backward compatibility. I think the problem comes in with JCR-2198. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira