Jackrabbit Content Repository
  1. Jackrabbit Content Repository
  2. JCR-1932

Session.getAttributes( ) call always returns an empty array

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 0.9, 1.0, 1.1, 1.2.1, 1.3, 1.4, 1.5, 1.5.2
    • Fix Version/s: 1.6
    • Component/s: jackrabbit-core
    • Labels:
      None

      Description

      Repository repository = new RMIRemoteRepository("//localhost:1099/jackrabbit.repository");
      SimpleCredentials c = new SimpleCredentials("alex","ok".toCharArray());
      c.setAttribute("anAttribute", "aValue");
      Session s = repository.login(c, "aWorkspace");
      String[]attr=s.getAttributeNames();

      array attr is empty.
      according to docs it should contains attributes from the SimpleCredentials object.

      1. bug.txt
        0.6 kB
        alessandro cosenza

        Activity

        alessandro cosenza created issue -
        alessandro cosenza made changes -
        Field Original Value New Value
        Attachment bug.txt [ 12397528 ]
        alessandro cosenza made changes -
        Summary bug in JCR API Session.getAttributes( ) call Session.getAttributes( ) call always returns an empty array
        Hide
        Alexander Klimetschek added a comment -

        Looking at the SessionImpl code, I see that the member "attributes", which is read by getAttributeNames() and getAttribute(String) is never written to. The solution would be to change the RepositoryImpl.login(Credentials, String) method to pass on the attributes array through to createSession() -> createSessionInstance() -> XASessionImpl constructor -> SessionImpl constructor.

        Show
        Alexander Klimetschek added a comment - Looking at the SessionImpl code, I see that the member "attributes", which is read by getAttributeNames() and getAttribute(String) is never written to. The solution would be to change the RepositoryImpl.login(Credentials, String) method to pass on the attributes array through to createSession() -> createSessionInstance() -> XASessionImpl constructor -> SessionImpl constructor.
        Jukka Zitting made changes -
        Affects Version/s core 1.4.8 [ 12313600 ]
        Affects Version/s 1.4 [ 12312447 ]
        Affects Version/s core 1.4.6 [ 12313317 ]
        Affects Version/s 1.5.0 [ 12312920 ]
        Affects Version/s core 1.4.2 [ 12313000 ]
        Affects Version/s 1.0 [ 12310154 ]
        Affects Version/s core 1.4.4 [ 12313135 ]
        Affects Version/s 1.3.4 [ 12312918 ]
        Affects Version/s 1.2.3 [ 12312329 ]
        Component/s JCR API [ 11394 ]
        Assignee Jukka Zitting [ jukkaz ]
        Affects Version/s core 1.4.5 [ 12313163 ]
        Affects Version/s core 1.4.3 [ 12313113 ]
        Affects Version/s 1.1 [ 12310346 ]
        Affects Version/s core 1.4.7 [ 12313598 ]
        Affects Version/s 1.3.3 [ 12312770 ]
        Affects Version/s 1.5.2 [ 12313554 ]
        Affects Version/s core 1.4.1 [ 12312977 ]
        Affects Version/s 1.3.1 [ 12312512 ]
        Component/s jackrabbit-core [ 12310114 ]
        Affects Version/s 1.3 [ 12312229 ]
        Affects Version/s 1.0.1 [ 12310345 ]
        Affects Version/s 1.2.1 [ 12312100 ]
        Affects Version/s 1.2.2 [ 12312228 ]
        Affects Version/s 1.1.1 [ 12312099 ]
        Priority Major [ 3 ] Minor [ 4 ]
        Hide
        Jukka Zitting added a comment -

        In revision 744954 I added a protected SessionImpl.setAttribute method for this purpose. This avoids having to pass stuff through multiple methods and constructors.

        Show
        Jukka Zitting added a comment - In revision 744954 I added a protected SessionImpl.setAttribute method for this purpose. This avoids having to pass stuff through multiple methods and constructors.
        Jukka Zitting made changes -
        Affects Version/s core 1.4.5 [ 12313163 ]
        Affects Version/s 1.1.1 [ 12312099 ]
        Affects Version/s 1.0.1 [ 12310345 ]
        Affects Version/s core 1.4.4 [ 12313135 ]
        Affects Version/s core 1.4.6 [ 12313317 ]
        Affects Version/s core 1.4.8 [ 12313600 ]
        Affects Version/s core 1.4.7 [ 12313598 ]
        Affects Version/s 1.2.3 [ 12312329 ]
        Affects Version/s 1.3.1 [ 12312512 ]
        Affects Version/s 1.3.3 [ 12312770 ]
        Affects Version/s 1.3.4 [ 12312918 ]
        Affects Version/s core 1.4.1 [ 12312977 ]
        Affects Version/s core 1.4.2 [ 12313000 ]
        Affects Version/s core 1.4.3 [ 12313113 ]
        Affects Version/s 0.9 [ 12310719 ]
        Affects Version/s 1.2.2 [ 12312228 ]
        Hide
        Jukka Zitting added a comment -

        The protected setAttributes() method is a bit too much like an API enhancement to my taste, so I'd rather schedule this fix for release in Jackrabbit 1.6.0 instead of in 1.5.x.

        However, if someone needs this functionality already in a 1.5.x release, then I wouldn't be too opposed to merging the change there.

        Show
        Jukka Zitting added a comment - The protected setAttributes() method is a bit too much like an API enhancement to my taste, so I'd rather schedule this fix for release in Jackrabbit 1.6.0 instead of in 1.5.x. However, if someone needs this functionality already in a 1.5.x release, then I wouldn't be too opposed to merging the change there.
        Jukka Zitting made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Fix Version/s 1.6.0 [ 12313459 ]
        Jukka Zitting made changes -
        Workflow jira [ 12449846 ] no-reopen-closed, patch-avail [ 12468154 ]
        Jukka Zitting made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Jukka Zitting
            Reporter:
            alessandro cosenza
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development