Uploaded image for project: 'Grouper'
  1. Grouper
  2. GRP-318

grouper WS and client does not do international characters well

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 1.5.0
    • 1.4.2
    • grouperClient, WS
    • None

    Description

      This test doesnt work:

      import edu.internet2.middleware.grouperClient.api.GcFindStems;
      import edu.internet2.middleware.grouperClient.api.GcStemSave;
      import edu.internet2.middleware.grouperClient.ws.GcTransactionType;
      import edu.internet2.middleware.grouperClient.ws.beans.WsFindStemsResults;
      import edu.internet2.middleware.grouperClient.ws.beans.WsStem;
      import edu.internet2.middleware.grouperClient.ws.beans.WsStemLookup;
      import edu.internet2.middleware.grouperClient.ws.beans.WsStemQueryFilter;
      import edu.internet2.middleware.grouperClient.ws.beans.WsStemToSave;

      public class GrouperClientUmlautTest {

      public static void saveStem(String stemName) throws Exception

      { System.out.println("Saving stem: " + stemName); GcStemSave gcStemSave = new GcStemSave(); WsStem wsStem = new WsStem(); wsStem.setName(stemName); WsStemToSave wsStemToSave = new WsStemToSave(); wsStemToSave.setWsStemLookup(new WsStemLookup(stemName, null)); wsStemToSave.setWsStem(wsStem); gcStemSave.addStemToSave(wsStemToSave); gcStemSave.assignTxType(GcTransactionType.NONE).execute(); }

      public static void getStems(String parentStem) throws Exception {
      String queryFilterType="FIND_BY_PARENT_STEM_NAME";
      String parentStemScope="ALL_IN_SUBTREE";
      WsStemQueryFilter filter = new WsStemQueryFilter();
      filter.setParentStemName(parentStem);
      filter.setStemQueryFilterType(queryFilterType);
      filter.setParentStemNameScope(parentStemScope);
      GcFindStems finder = new GcFindStems();
      finder.assignStemQueryFilter(filter);
      WsFindStemsResults results = finder.execute();
      WsStem[] found=results.getStemResults();
      if (found!=null) {
      String stemName;
      int umlautValue;
      for (WsStem s : found)

      { stemName=s.getName(); // umlaut is last char and should be 228 umlautValue=stemName.charAt(stemName.length()-1); System.out.println("Found stem: " + stemName); System.out.println("Umlaut has value: " + umlautValue); }

      }
      }

      public static void main(String[] args) throws Exception

      { GrouperClientUmlautTest.saveStem("test:umlauts"); GrouperClientUmlautTest.saveStem("test:umlauts:itIs"+(char)228); GrouperClientUmlautTest.getStems("test:umlauts"); }

      }

      Or this one:

      [mchyzer@flash pennGroupsClient-1.4.2]$ java -jar grouperClient.jar --operation=findStemsWs --stemQueryFilterType=FIND_BY_STEM_NAME --stemName=aStem:newStemä
      Index 0: name: aStem:newStemä, displayName: aStem:newStemä
      [mchyzer@flash pennGroupsClient-1.4.2]$ java -jar grouperClient.jar --operation=stemSaveWs --name=aStem:newStemä
      Success: T: code: SUCCESS_NO_CHANGES_NEEDED: aStem:newStemä
      [mchyzer@flash pennGroupsClient-1.4.2]$

      Attachments

        Activity

          People

            chris.hyzer@at.internet2.edu Chris Hyzer (upenn.edu)
            chris.hyzer@at.internet2.edu Chris Hyzer (upenn.edu)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: