/** * Creates an instance of PasswordPolicyResponseControl if the passed control is a * response control of this type. Attributes of the result are filled with the correct * values (e.g. error code). * * @param ctl the control the check * * @return a response control of type PasswordPolicyResponseControl, or null */ public Control getControlInstance(Control ctl) { if (ctl.getID().equals(PasswordPolicyControl.OID)) { return new PasswordPolicyResponseControl(ctl.getEncodedValue()); } return null; } }
@Override public ResponseControl handleResponse(final javax.naming.ldap.Control responseControl) { return ControlFactory.createResponseControl( responseControl.getID(), responseControl.isCritical(), responseControl.getEncodedValue()); } }
@Test public void returnsNullForUnrecognisedOID() throws Exception { PasswordPolicyControlFactory ctrlFactory = new PasswordPolicyControlFactory(); Control wrongCtrl = mock(Control.class); when(wrongCtrl.getID()).thenReturn("wrongId"); assertThat(ctrlFactory.getControlInstance(wrongCtrl)).isNull(); }
/** * Encode a control. */ byte[] controlSequence(final Control control, boolean utf8) throws IOException { BEREncoder encoder = new BEREncoder(utf8); encoder.append(control.getID()); if (control.isCritical()) { encoder.append(true); } return encoder.toByteArray(); }
@Override public ResponseControl handleResponse(final javax.naming.ldap.Control responseControl) { return ControlFactory.createResponseControl( responseControl.getID(), responseControl.isCritical(), responseControl.getEncodedValue()); } }
@Override public String getOID(final javax.naming.ldap.Control control) { return control.getID(); }
@Override public ResponseControl handleResponse(final javax.naming.ldap.Control responseControl) { return ControlFactory.createResponseControl( responseControl.getID(), responseControl.isCritical(), responseControl.getEncodedValue()); } }
@Test public void returnsControlForCorrectOID() throws Exception { PasswordPolicyControlFactory ctrlFactory = new PasswordPolicyControlFactory(); Control control = mock(Control.class); when(control.getID()).thenReturn(PasswordPolicyControl.OID); when(control.getEncodedValue()).thenReturn( PasswordPolicyResponseControlTests.OPENLDAP_LOCKED_CTRL); Control result = ctrlFactory.getControlInstance(control); assertThat(result).isNotNull(); assertThat(PasswordPolicyResponseControlTests.OPENLDAP_LOCKED_CTRL).isEqualTo(result.getEncodedValue()); } }
@Override public String getOID(final javax.naming.ldap.Control control) { return control.getID(); }
/** * Adds control lines to the record * * @param record the recored * @param controls the controls */ private static void addControlLines( LdifChangeRecord record, Control[] controls ) { if ( controls != null ) { for ( Control control : controls ) { String oid = control.getID(); boolean isCritical = control.isCritical(); byte[] controlValue = control.getEncodedValue(); LdifControlLine controlLine = LdifControlLine.create( oid, isCritical, controlValue ); record.addControl( controlLine ); } } }
/** * Creates an instance of PasswordPolicyResponseControl if the passed control is a response control of this * type. Attributes of the result are filled with the correct values (e.g. error code). * * @param ctl the control the check * * @return a response control of type PasswordPolicyResponseControl, or null */ public Control getControlInstance(Control ctl) { if (ctl.getID().equals(PasswordPolicyControl.OID)) { return new PasswordPolicyResponseControl(ctl.getEncodedValue()); } return null; } }
@Override public String getOID(final javax.naming.ldap.Control control) { return control.getID(); }
throws NamingException { String id = ctl.getID(); Control newCtl = null; newCtl = new SortResponseControl(id, ctl.isCritical(), ctl.getEncodedValue()); ctl.isCritical(), ctl.getEncodedValue()); newCtl = new PagedResultsResponseControl(id, ctl.isCritical(), ctl.getEncodedValue()); newCtl = new DirSyncResponseControl(id, ctl.isCritical(), ctl.getEncodedValue()); ctl.isCritical(), ctl.getEncodedValue()); ctl.isCritical(), ctl.getEncodedValue()); ctl.isCritical(), ctl.getEncodedValue());
/** * Creates an instance of PasswordPolicyResponseControl if the passed control is a * response control of this type. Attributes of the result are filled with the correct * values (e.g. error code). * * @param ctl the control the check * * @return a response control of type PasswordPolicyResponseControl, or null */ public Control getControlInstance(Control ctl) { if (ctl.getID().equals(PasswordPolicyControl.OID)) { return new PasswordPolicyResponseControl(ctl.getEncodedValue()); } return null; } }
/** * Checks to see if subentries for the search and list operations should be * made visible based on the availability of the search request control * * @param invocation * @return true if subentries should be visible, false otherwise * @throws NamingException if there are problems accessing request controls */ private boolean isSubentryVisible( Invocation invocation ) throws NamingException { Control[] reqControls = ( ( LdapContext ) invocation.getCaller() ).getRequestControls(); if ( reqControls == null || reqControls.length <= 0 ) { return false; } // check all request controls to see if subentry control is present for ( int ii = 0; ii < reqControls.length; ii++ ) { // found the subentry request control so we return its value if ( reqControls[ii].getID().equals( SUBENTRY_CONTROL ) ) { SubentriesControl subentriesControl = ( SubentriesControl ) reqControls[ii]; return subentriesControl.isVisible(); } } return false; }
throws NamingException { String id = ctl.getID(); Control newCtl = null; newCtl = new SortResponseControl(id, ctl.isCritical(), ctl.getEncodedValue()); ctl.isCritical(), ctl.getEncodedValue()); newCtl = new PagedResultsResponseControl(id, ctl.isCritical(), ctl.getEncodedValue()); newCtl = new DirSyncResponseControl(id, ctl.isCritical(), ctl.getEncodedValue()); ctl.isCritical(), ctl.getEncodedValue()); ctl.isCritical(), ctl.getEncodedValue()); ctl.isCritical(), ctl.getEncodedValue());
public static Control fromJndiControl( javax.naming.ldap.Control jndiControl ) { Control control = new ControlImpl( jndiControl.getID() ); control.setValue( jndiControl.getEncodedValue() ); return control; }
lines.add( LdifCommentLine.create( "# control : " + control.getID() ) ); //$NON-NLS-1$
/** * {@inheritDoc} */ @Override public Control fromJndiControl( javax.naming.ldap.Control control ) throws DecoderException { @SuppressWarnings("rawtypes") ControlFactory factory = controlFactories.get( control.getID() ); if ( factory == null ) { OpaqueControl ourControl = new OpaqueControl( control.getID() ); ourControl.setCritical( control.isCritical() ); BasicControlDecorator decorator = new BasicControlDecorator( this, ourControl ); decorator.setValue( control.getEncodedValue() ); return decorator; } @SuppressWarnings("unchecked") CodecControl<? extends Control> ourControl = factory.newCodecControl(); ourControl.setCritical( control.isCritical() ); ourControl.setValue( control.getEncodedValue() ); ourControl.decode( control.getEncodedValue() ); return ourControl; }
/** * {@inheritDoc} */ @Override public Control fromJndiControl( javax.naming.ldap.Control control ) throws DecoderException { @SuppressWarnings("rawtypes") ControlFactory factory = controlFactories.get( control.getID() ); if ( factory == null ) { OpaqueControl ourControl = new OpaqueControl( control.getID() ); ourControl.setCritical( control.isCritical() ); BasicControlDecorator decorator = new BasicControlDecorator( this, ourControl ); decorator.setValue( control.getEncodedValue() ); return decorator; } @SuppressWarnings("unchecked") CodecControl<? extends Control> ourControl = factory.newCodecControl(); ourControl.setCritical( control.isCritical() ); ourControl.setValue( control.getEncodedValue() ); ourControl.decode( control.getEncodedValue() ); return ourControl; }