You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by se...@apache.org on 2016/11/12 22:36:25 UTC

svn commit: r1769433 - in /directory/studio/trunk/plugins/apacheds.configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/editor: KerberosServerPage.java OverviewPage.java

Author: seelmann
Date: Sat Nov 12 22:36:24 2016
New Revision: 1769433

URL: http://svn.apache.org/viewvc?rev=1769433&view=rev
Log:
DIRSTUDIO-1127: Fix modification of Kerberos and ChangePassword server port

Modified:
    directory/studio/trunk/plugins/apacheds.configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/editor/KerberosServerPage.java
    directory/studio/trunk/plugins/apacheds.configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/editor/OverviewPage.java

Modified: directory/studio/trunk/plugins/apacheds.configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/editor/KerberosServerPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/apacheds.configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/editor/KerberosServerPage.java?rev=1769433&r1=1769432&r2=1769433&view=diff
==============================================================================
--- directory/studio/trunk/plugins/apacheds.configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/editor/KerberosServerPage.java (original)
+++ directory/studio/trunk/plugins/apacheds.configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/editor/KerberosServerPage.java Sat Nov 12 22:36:24 2016
@@ -123,7 +123,6 @@ public class KerberosServerPage extends
         }
     };
 
-    
     /**
      * The Kerberos port listener
      */
@@ -131,20 +130,10 @@ public class KerberosServerPage extends
     {
         public void modifyText( ModifyEvent e )
         {
-            try
-            {
-                int port = Integer.parseInt( kerberosPortText.getText() );
-                
-                getKdcServerTransportBean().setSystemPort( port );
-            }
-            catch ( NumberFormatException nfe )
-            {
-                System.out.println( "Wrong KDC TCP/UDP Port : it must be an integer" );
-            }
+            setKerberosPort( getDirectoryServiceBean(), kerberosPortText.getText() );
         }
     };
 
-    
     /**
      * The Kerberos address modify listener
      */
@@ -152,11 +141,10 @@ public class KerberosServerPage extends
     {
         public void modifyText( ModifyEvent e )
         {
-            getKdcServerTransportBean().setTransportAddress( kerberosAddressText.getText() );
+            setKerberosAddress( getDirectoryServiceBean(), kerberosAddressText.getText() );
         }
     };
 
-    
     /**
      * The ChangePassword checkbox listener
      */
@@ -180,16 +168,7 @@ public class KerberosServerPage extends
     {
         public void modifyText( ModifyEvent e )
         {
-            try
-            {
-                int port = Integer.parseInt( changePasswordPortText.getText() );
-                
-                getChangePasswordServerTransportBean().setSystemPort( port );
-            }
-            catch ( NumberFormatException nfe )
-            {
-                System.out.println( "Wrong ChangePassword TCP Port : it must be an integer" );
-            }
+            setChangePasswordPort( getDirectoryServiceBean(), changePasswordPortText.getText() );
         }
     };
 
@@ -201,7 +180,7 @@ public class KerberosServerPage extends
     {
         public void modifyText( ModifyEvent e )
         {
-            getChangePasswordServerTransportBean().setTransportAddress( changePasswordAddressText.getText() );
+            setChangePasswordAddress( getDirectoryServiceBean(), changePasswordAddressText.getText() );
         }
     };
 
@@ -609,16 +588,16 @@ public class KerberosServerPage extends
             setSelection( enableKerberosCheckbox, kdcServerBean.isEnabled() );
             setEnabled( kerberosPortText, enableKerberosCheckbox.getSelection() );
             setEnabled( kerberosAddressText, enableKerberosCheckbox.getSelection() );
-            setText( kerberosPortText, Integer.toString( getKdcServerTransportBean().getSystemPort() ) );
-            setText( kerberosAddressText, getKdcServerTransportBean().getTransportAddress() );
+            setText( kerberosPortText, Integer.toString( kdcServerBean.getTransports()[0].getSystemPort() ) );
+            setText( kerberosAddressText, kdcServerBean.getTransports()[0].getTransportAddress() );
 
             // Change Password Checkbox
             ChangePasswordServerBean changePasswordServerBean = getChangePasswordServerBean();
             setSelection( enableChangePasswordCheckbox, changePasswordServerBean.isEnabled() );
             setEnabled( changePasswordPortText, enableChangePasswordCheckbox.getSelection() );
             setEnabled( changePasswordAddressText, enableChangePasswordCheckbox.getSelection() );
-            setText( changePasswordPortText, Integer.toString( getChangePasswordServerTransportBean().getSystemPort() ) );
-            setText( changePasswordAddressText, getChangePasswordServerTransportBean().getTransportAddress() );
+            setText( changePasswordPortText, Integer.toString( changePasswordServerBean.getTransports()[0].getSystemPort() ) );
+            setText( changePasswordAddressText, changePasswordServerBean.getTransports()[0].getTransportAddress() );
 
             // Kerberos Settings
             setText( primaryKdcRealmText, kdcServerBean.getKrbPrimaryRealm() );
@@ -912,103 +891,83 @@ public class KerberosServerPage extends
 
 
     /**
-     * Gets the KDC Server Transport bean.
-     * 
-     * @return
-     *       the KDC Server Transport bean
+     * Gets the Key Derivation Interceptor.
+     *
+     * @return the Key Derivation Interceptor.
      */
-    private TransportBean getKdcServerTransportBean()
+    private static InterceptorBean getKeyDerivationInterceptor( DirectoryServiceBean directoryServiceBean )
     {
-        KdcServerBean kdcServerBean = getKdcServerBean();
-
-        TransportBean transportBean = null;
-
-        // Looking for the transport in the list
-        TransportBean[] kdcServerTransportBeans = kdcServerBean.getTransports();
-        if ( kdcServerTransportBeans != null )
+        if ( directoryServiceBean != null )
         {
-            for ( TransportBean kdcServerTransportBean : kdcServerTransportBeans )
+            List<InterceptorBean> interceptors = directoryServiceBean.getInterceptors();
+
+            for ( InterceptorBean interceptor : interceptors )
             {
-                if ( ( "tcp".equals( kdcServerTransportBean.getTransportId() ) ) //$NON-NLS-1$
-                    || ( "udp".equals( kdcServerTransportBean.getTransportId() ) ) ) //$NON-NLS-1$
+                if ( "org.apache.directory.server.core.kerberos.KeyDerivationInterceptor".equalsIgnoreCase( interceptor
+                    .getInterceptorClassName() ) )
                 {
-                    transportBean = kdcServerTransportBean;
-                    break;
+                    return interceptor;
                 }
             }
         }
 
-        // No corresponding transport has been found
-        if ( transportBean == null )
-        {
-            transportBean = new TransportBean();
-            transportBean.setTransportId( "tcp" ); // TODO can either 'tcp' or 'udp' //$NON-NLS-1$
-            kdcServerBean.addTransports( transportBean );
-        }
-
-        return transportBean;
+        return null;
     }
 
 
-    /**
-     * Gets the Change Password Server Transport bean.
-     * 
-     * @return
-     *       the Change Password Server Transport bean
-     */
-    private TransportBean getChangePasswordServerTransportBean()
+    public static void setKerberosPort( DirectoryServiceBean directoryServiceBean, String portAsText )
     {
-        ChangePasswordServerBean changePasswordServerBean = getChangePasswordServerBean();
-
-        TransportBean transportBean = null;
-
-        // Looking for the transport in the list
-        TransportBean[] changePasswordServerTransportBeans = changePasswordServerBean.getTransports();
-        if ( changePasswordServerTransportBeans != null )
+        try
         {
-            for ( TransportBean changePasswordServerTransportBean : changePasswordServerTransportBeans )
+            int port = Integer.parseInt( portAsText );
+            KdcServerBean kdcServerBean = directoryServiceBean.getKdcServerBean();
+            for ( TransportBean transportBean : kdcServerBean.getTransports() )
             {
-                if ( "tcp".equals( changePasswordServerTransportBean.getTransportId() ) ) // TODO can either 'tcp' or 'udp' //$NON-NLS-1$
-                {
-                    transportBean = changePasswordServerTransportBean;
-                    break;
-                }
+                transportBean.setSystemPort( port );
             }
         }
-
-        // No corresponding transport has been found
-        if ( transportBean == null )
+        catch ( NumberFormatException nfe )
         {
-            transportBean = new TransportBean();
-            transportBean.setTransportId( "tcp" ); // TODO can either 'tcp' or 'udp' //$NON-NLS-1$
-            changePasswordServerBean.addTransports( transportBean );
+            System.out.println( "Wrong Kerberos TCP/UDP Port : it must be an integer" );
         }
-
-        return transportBean;
     }
 
 
-    /**
-     * Gets the Key Derivation Interceptor.
-     *
-     * @return the Key Derivation Interceptor.
-     */
-    private static InterceptorBean getKeyDerivationInterceptor( DirectoryServiceBean directoryServiceBean )
+    private void setKerberosAddress( DirectoryServiceBean directoryServiceBean, String address )
     {
-        if ( directoryServiceBean != null )
+        KdcServerBean kdcServerBean = directoryServiceBean.getKdcServerBean();
+        for ( TransportBean transportBean : kdcServerBean.getTransports() )
         {
-            List<InterceptorBean> interceptors = directoryServiceBean.getInterceptors();
+            transportBean.setTransportAddress( address );
+        }
+    }
 
-            for ( InterceptorBean interceptor : interceptors )
+
+    public static void setChangePasswordPort( DirectoryServiceBean directoryServiceBean, String portAsText )
+    {
+        try
+        {
+            int port = Integer.parseInt( portAsText );
+            ChangePasswordServerBean changePasswordServerBean = directoryServiceBean.getChangePasswordServerBean();
+            for ( TransportBean transportBean : changePasswordServerBean.getTransports() )
             {
-                if ( "org.apache.directory.server.core.kerberos.KeyDerivationInterceptor".equalsIgnoreCase( interceptor
-                    .getInterceptorClassName() ) )
-                {
-                    return interceptor;
-                }
+                transportBean.setSystemPort( port );
             }
         }
+        catch ( NumberFormatException nfe )
+        {
+            System.out.println( "Wrong ChangePassword TCP/UDP Port : it must be an integer" );
+        }
+    }
 
-        return null;
+
+    private void setChangePasswordAddress( DirectoryServiceBean directoryServiceBean, String address )
+    {
+        ChangePasswordServerBean changePasswordServerBean = directoryServiceBean.getChangePasswordServerBean();
+        for ( TransportBean transportBean : changePasswordServerBean.getTransports() )
+        {
+            transportBean.setTransportAddress( address );
+        }
     }
+
 }

Modified: directory/studio/trunk/plugins/apacheds.configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/editor/OverviewPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/apacheds.configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/editor/OverviewPage.java?rev=1769433&r1=1769432&r2=1769433&view=diff
==============================================================================
--- directory/studio/trunk/plugins/apacheds.configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/editor/OverviewPage.java (original)
+++ directory/studio/trunk/plugins/apacheds.configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/editor/OverviewPage.java Sat Nov 12 22:36:24 2016
@@ -218,8 +218,7 @@ public class OverviewPage extends Server
             setEnabled( kerberosPortText, enableKerberos );
         }
     };
-    
-    
+
     /**
      * The Kerberos port listener
      */
@@ -227,22 +226,10 @@ public class OverviewPage extends Server
     {
         public void modifyText( ModifyEvent e )
         {
-            KdcServerBean kdcServerBean = getDirectoryServiceBean().getKdcServerBean();
-
-            try
-            {
-                int port = Integer.parseInt( kerberosPortText.getText() );
-                
-                kdcServerBean.getTransports()[0].setSystemPort( port );
-            }
-            catch ( NumberFormatException nfe )
-            {
-                System.out.println( "Wrong Kerberos TCP/UDP Port : it must be an integer" );
-            }
+            KerberosServerPage.setKerberosPort( getDirectoryServiceBean(), kerberosPortText.getText() );
         }
     };
-    
-    
+
     /**
      * The ChangePassword server selection adapter 
      */
@@ -256,8 +243,7 @@ public class OverviewPage extends Server
             setEnabled( changePasswordPortText, enableChangePassword );
         }
     };
-    
-    
+
     /**
      * The ChangePassword server port listener
      */
@@ -265,22 +251,10 @@ public class OverviewPage extends Server
     {
         public void modifyText( ModifyEvent e )
         {
-            ChangePasswordServerBean changePasswordServerBean = getDirectoryServiceBean().getChangePasswordServerBean();
-
-            try
-            {
-                int port = Integer.parseInt( changePasswordPortText.getText() );
-                
-                changePasswordServerBean.getTransports()[0].setSystemPort( port );
-            }
-            catch ( NumberFormatException nfe )
-            {
-                System.out.println( "Wrong ChnagePassword Port : it must be an integer" );
-            }
+            KerberosServerPage.setChangePasswordPort( getDirectoryServiceBean(), changePasswordPortText.getText() );
         }
     };
-    
-    
+
     /**
      * The advanced Kerberos configuration hyperlink
      */
@@ -736,14 +710,15 @@ public class OverviewPage extends Server
             KdcServerBean kdcServerBean = KerberosServerPage.getKdcServerBean( directoryServiceBean );
             setSelection( enableKerberosCheckbox, kdcServerBean.isEnabled() );
             setEnabled( kerberosPortText, enableKerberosCheckbox.getSelection() );
-            setText( kerberosPortText, "" + kdcServerBean.getTransports()[0].getSystemPort() ); //$NON-NLS-1$
+            setText( kerberosPortText, Integer.toString( kdcServerBean.getTransports()[0].getSystemPort() ) );
 
             // Change Password Server
             ChangePasswordServerBean changePasswordServerBean = KerberosServerPage
                 .getChangePasswordServerBean( directoryServiceBean );
             setSelection( enableChangePasswordCheckbox, changePasswordServerBean.isEnabled() );
             setEnabled( changePasswordPortText, enableChangePasswordCheckbox.getSelection() );
-            setText( changePasswordPortText, "" + changePasswordServerBean.getTransports()[0].getSystemPort() ); //$NON-NLS-1$
+            setText( changePasswordPortText,
+                Integer.toString( changePasswordServerBean.getTransports()[0].getSystemPort() ) );
 
             // Partitions
             List<PartitionBean> partitions = directoryServiceBean.getPartitions();