<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi Deepak,<br>
    <br>
    that's great to see/hear/read! I was playing hard with password
    policies recently and have not seen the error you've stated, so I've
    had assumed it has been already fixed. Thank you for confirmation!<br>
    <br>
    Best regards,<br>
    Ivan<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 06/03/2014 02:02 PM, Deepak
      Natarajan wrote:<br>
    </div>
    <blockquote cite="mid:538DB93D.4090202@trilobytesystems.com"
      type="cite">
      <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
      <br>
      Hi -<br>
      <br>
      I just realized that 3.0 has been released :) and installed the
      new version. This error seems to have vanished now!<br>
      <br>
      BR/Deepak<br>
      <br>
      <blockquote style="border: 0px none;"
        cite="mid:538D8503.9090401@trilobytesystems.com" type="cite">
        <div style="margin:30px 25px 10px 25px;" class="__pbConvHr">
          <div style="display:table;width:100%;border-top:1px solid
            #EDEEF0;padding-top:5px">
            <div
              style="display:table-cell;vertical-align:middle;padding-right:6px;"><img
                photoaddress="dnataraj@trilobytesystems.com"
                photoname="Deepak Natarajan"
                src="cid:part1.05090408.03090302@evolveum.com"
                name="compose-unknown-contact.jpg" height="25px"
                width="25px"></div>
            <div
style="display:table-cell;white-space:nowrap;vertical-align:middle;width:100%">
              <a moz-do-not-send="true"
                href="mailto:dnataraj@trilobytesystems.com"
                style="color:#737F92
                !important;padding-right:6px;font-weight:bold;text-decoration:none
                !important;">Deepak Natarajan</a></div>
            <div
              style="display:table-cell;white-space:nowrap;vertical-align:middle;">
              <font color="#9FA2A5"><span style="padding-left:6px">June
                  3, 2014 at 11:19 AM</span></font></div>
          </div>
        </div>
        <div style="color:#888888;margin-left:24px;margin-right:24px;"
          __pbrmquotes="true" class="__pbConvBody">
          <meta content="text/html; charset=UTF-8"
            http-equiv="content-type">
          <br>
          Hi -<br>
          <br>
          We are still encountering an error when using a custom value
          policy (This is for outward provisioning of users in Active
          Directory).<br>
          <br>
          This was *working* and seems to be broken in more recent
          builds of 2.3-SNAPSHOT.<br>
          <br>
          The exception is :<br>
          <br>
          2014-06-03 10:12:06,692 [] [midPointScheduler_Worker-5] ERROR
          (com.evolveum.midpoint.model.util.AbstractSearchIterativeResultHandler):

          Import of object shadow:cfb80cc6-d4ad-42ef-<br>
          afc0-ba391d0d06c0(brira) from <a moz-do-not-send="true"
            href="resource:036f0100-2fe8-49e1-a8fd-5548374f8703%28APOS"
            class="moz-txt-link-freetext">resource:036f0100-2fe8-49e1-a8fd-5548374f8703(APOS</a>
          CSV Feeder Resource Definition) failed:
          java.lang.StringIndexOutOfBoundsException: String index out of
          range: 1<br>
          com.evolveum.midpoint.util.exception.SystemException:
          java.lang.StringIndexOutOfBoundsException: String index out of
          range: 1<br>
                  at
          com.evolveum.midpoint.model.sync.SynchronizationService.notifyChange(SynchronizationService.java:258)


          ~[model-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.provisioning.impl.ChangeNotificationDispatcherImpl.notifyChange(ChangeNotificationDispatcherImpl.java:153)


          ~[provisioning-impl-2.3-SNAPSHOT.jar:n<br>
          a]<br>
                  at
          com.evolveum.midpoint.model.sync.SynchronizeAccountResultHandler.handleObject(SynchronizeAccountResultHandler.java:165)


          ~[model-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.model.util.AbstractSearchIterativeResultHandler.handle(AbstractSearchIterativeResultHandler.java:125)


          ~[model-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.provisioning.impl.ProvisioningServiceImpl$5.handle(ProvisioningServiceImpl.java:1215)


          [provisioning-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.provisioning.impl.ShadowCache$2.handle(ShadowCache.java:895)


          [provisioning-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.provisioning.impl.ResourceObjectConverter$2.handle(ResourceObjectConverter.java:622)


          [provisioning-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.provisioning.ucf.impl.ConnectorInstanceIcfImpl$2.handle(ConnectorInstanceIcfImpl.java:1821)


          [provisioning-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          org.identityconnectors.framework.impl.api.StreamHandlerUtil$ObjectStreamHandlerAdapter.handle(StreamHandlerUtil.java:89)


          [connector-framework-internal-1.4.0.0-SNAPSHOT<br>
          .jar:na]<br>
                  at
          org.identityconnectors.framework.impl.api.BufferedResultsProxy.invoke(BufferedResultsProxy.java:255)


          [connector-framework-internal-1.4.0.0-SNAPSHOT.jar:na]<br>
                  at
          org.identityconnectors.framework.impl.api.DelegatingTimeoutProxy.invoke(DelegatingTimeoutProxy.java:94)


          [connector-framework-internal-1.4.0.0-SNAPSHOT.jar:na]<br>
                  at com.sun.proxy.$Proxy172.search(Unknown Source)
          [na:na]<br>
                  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
          Method) ~[na:1.7.0_21]<br>
                  at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
          Source) ~[na:1.7.0_21]<br>
                  at
          sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
          Source) ~[na:1.7.0_21]<br>
                  at java.lang.reflect.Method.invoke(Unknown Source)
          ~[na:1.7.0_21]<br>
                  at
          org.identityconnectors.framework.impl.api.LoggingProxy.invoke(LoggingProxy.java:77)


          [connector-framework-internal-1.4.0.0-SNAPSHOT.jar:na]<br>
                  at com.sun.proxy.$Proxy172.search(Unknown Source)
          [na:na]<br>
                  at
          org.identityconnectors.framework.impl.api.AbstractConnectorFacade.search(AbstractConnectorFacade.java:173)


          [connector-framework-internal-1.4.0.0-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.provisioning.ucf.impl.ConnectorInstanceIcfImpl.search(ConnectorInstanceIcfImpl.java:1857)


          [provisioning-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.provisioning.impl.ResourceObjectConverter.searchResourceObjects(ResourceObjectConverter.java:627)


          [provisioning-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.provisioning.impl.ShadowCache.searchObjectsIterativeInternal(ShadowCache.java:900)


          [provisioning-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.provisioning.impl.ShadowCache.searchObjectsIterative(ShadowCache.java:763)


          [provisioning-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.provisioning.impl.ProvisioningServiceImpl.searchObjectsIterative(ProvisioningServiceImpl.java:1261)


          [provisioning-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.model.ModelObjectResolver.searchIterative(ModelObjectResolver.java:222)


          [model-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.model.util.AbstractSearchIterativeTaskHandler.run(AbstractSearchIterativeTaskHandler.java:155)


          [model-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.executeHandler(JobExecutor.java:473)


          [task-quartz-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.executeSingleTask(JobExecutor.java:286)


          [task-quartz-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.execute(JobExecutor.java:165)


          [task-quartz-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          org.quartz.core.JobRunShell.run(JobRunShell.java:213)
          [quartz-2.1.3.jar:na]<br>
                  at
          org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)


          [quartz-2.1.3.jar:na]<br>
          <span style="font-weight: bold;">Caused by:
            java.lang.StringIndexOutOfBoundsException: String index out
            of range: 1</span><br style="font-weight: bold;">
          <span style="font-weight: bold;">        at
            java.lang.String.substring(Unknown Source) ~[na:1.7.0_21]</span><br
            style="font-weight: bold;">
          <span style="font-weight: bold;">        at
            com.evolveum.midpoint.common.policy.PasswordPolicyUtils.validatePassword(PasswordPolicyUtils.java:306)


            ~[common-2.3-SNAPSHOT.jar:na]</span><br style="font-weight:
            bold;">
          <span style="font-weight: bold;">        at
            com.evolveum.midpoint.common.policy.PasswordPolicyUtils.validatePassword(PasswordPolicyUtils.java:147)


            ~[common-2.3-SNAPSHOT.jar:na]</span><br>
                  at
          com.evolveum.midpoint.model.lens.projector.PasswordPolicyProcessor.processPasswordPolicy(PasswordPolicyProcessor.java:83)


          ~[model-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.model.lens.projector.PasswordPolicyProcessor.processPasswordPolicy(PasswordPolicyProcessor.java:144)


          ~[model-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.model.lens.projector.FocusProcessor.processFocusFocus(FocusProcessor.java:248)


          ~[model-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.model.lens.projector.FocusProcessor.processFocus(FocusProcessor.java:176)


          ~[model-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.model.lens.projector.Projector.project(Projector.java:153)


          ~[model-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.model.lens.Clockwork.click(Clockwork.java:199)
          ~[model-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.model.lens.Clockwork.run(Clockwork.java:156)
          ~[model-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.model.sync.SynchronizationService.reactToChange(SynchronizationService.java:611)


          ~[model-impl-2.3-SNAPSHOT.jar:na]<br>
                  at
          com.evolveum.midpoint.model.sync.SynchronizationService.notifyChange(SynchronizationService.java:253)


          ~[model-impl-2.3-SNAPSHOT.jar:na]<br>
                  ... 30 common frames omitted<br>
          <br>
          <valuePolicy xmlns=<a moz-do-not-send="true"
            href="http://midpoint.evolveum.com/xml/ns/public/common/common-3"
            class="moz-txt-link-rfc2396E">"http://midpoint.evolveum.com/xml/ns/public/common/common-3"</a><br>
                       oid="0c33054f-1c69-448b-b99b-a867d575e33e"<br>
                       version="0"><br>
             <name>Vejle IDM Password Policy</name><br>
             <description>Password Policy for the Vejle IDM
          Infrastructure</description><br>
             <lifetime><br>
                <expiration>999</expiration><br>
               
          <warnBeforeExpiration>9</warnBeforeExpiration><br>
                <lockAfterExpiration>0</lockAfterExpiration><br>
                <minPasswordAge>0</minPasswordAge><br>
               
          <passwordHistoryLength>0</passwordHistoryLength><br>
             </lifetime><br>
             <stringPolicy><br>
                <limitations><br>
                   <minLength>8</minLength><br>
                   <minUniqueChars>3</minUniqueChars><br>
                   <checkPattern/><br>
                   <limit><br>
                      <description>Lowercase
          characters</description><br>
                      <minOccurs>1</minOccurs><br>
                      <mustBeFirst>true</mustBeFirst><br>
                      <characterClass><br>
                        
          <value>abcdefghijklmnopqrstuvwxyz</value><br>
                      </characterClass><br>
                   </limit><br>
                   <limit><br>
                      <description>Uppercase
          characters</description><br>
                      <minOccurs>1</minOccurs><br>
                      <mustBeFirst>false</mustBeFirst><br>
                      <characterClass><br>
                        
          <value>ABCDEFGHIJKLMNOPQRSTUVWXYZ</value><br>
                      </characterClass><br>
                   </limit><br>
                   <limit><br>
                      <description>Numeric
          characters</description><br>
                      <minOccurs>1</minOccurs><br>
                      <mustBeFirst>false</mustBeFirst><br>
                      <characterClass><br>
                         <value>1234567890</value><br>
                      </characterClass><br>
                   </limit><br>
                   <limit><br>
                      <description>Special
          characters</description><br>
                      <minOccurs>1</minOccurs><br>
                      <mustBeFirst>false</mustBeFirst><br>
                      <characterClass><br>
                        
<value>!"#$%&amp;'()*+,-.:;&lt;&gt;?@[]^_`{|}~</value><br>
                      </characterClass><br>
                   </limit><br>
                </limitations><br>
             </stringPolicy><br>
          </valuePolicy><br>
          <br>
          This is a bit critical for us as we are unable to provision
          any users for our testing phase. Could anyone please help?<br>
          <br>
          Also, if anyone could tell me how to test new policy's quickly
          (i.e the maven test commands for that project -
          infra/common/policy) then I could drop in my test policy and
          get to the root of the problem myself.<br>
          <br>
          Thanks!<br>
          <br>
          BR/<br>
        </div>
      </blockquote>
      <br>
      <div class="moz-signature">-- <br>
        Deepak Natarajan<br>
        <br>
        Trilobyte Systems ApS<br>
        Falkoner Alle 1, 3<br>
        2000 Frederiksberg<br>
        Denmark<br>
        +45 29375068<br>
        <br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
midPoint mailing list
<a class="moz-txt-link-abbreviated" href="mailto:midPoint@lists.evolveum.com">midPoint@lists.evolveum.com</a>
<a class="moz-txt-link-freetext" href="http://lists.evolveum.com/mailman/listinfo/midpoint">http://lists.evolveum.com/mailman/listinfo/midpoint</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
  Ing. Ivan Noris
  Senior Identity Management Engineer
  evolveum.com
  ___________________________________________
           "Idem per idem - semper idem Vix."
</pre>
  </body>
</html>