Merging with R3_0_maintenance branch.
diff --git a/bundles/org.eclipse.jst.ws.axis2.consumption.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.jst.ws.axis2.consumption.ui/META-INF/MANIFEST.MF
index e8f4da8..e5daba8 100644
--- a/bundles/org.eclipse.jst.ws.axis2.consumption.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.jst.ws.axis2.consumption.ui/META-INF/MANIFEST.MF
@@ -26,7 +26,7 @@
  org.eclipse.jst.ws.axis2.consumption.core,
  org.eclipse.jst.ws.axis2.ui,
  org.eclipse.jst.ws.axis2.core
-Eclipse-LazyStart: true
+Bundle-ActivationPolicy: lazy
 Bundle-Vendor: %PLUGIN_PROVIDER
 Export-Package: org.eclipse.jst.ws.internal.axis2.consumption.ui.plugin,
  org.eclipse.jst.ws.internal.axis2.consumption.ui.widgets,
diff --git a/bundles/org.eclipse.jst.ws.axis2.core/resources/services.xsd b/bundles/org.eclipse.jst.ws.axis2.core/resources/services.xsd
new file mode 100644
index 0000000..321cb5f
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.axis2.core/resources/services.xsd
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+    <xs:element name="serviceGroup">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="service"/>
+                <xs:element minOccurs="0" ref="parameter"/>
+                <xs:element minOccurs="0" ref="module"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="service">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:choice maxOccurs="unbounded">
+                    <xs:element ref="module"/>
+                    <xs:element ref="operation"/>
+                    <xs:element ref="parameter"/>
+                    <xs:element ref="description"/>
+                    <xs:element ref="Description"/>
+                    <xs:element ref="excludeOperations"/>
+                    <xs:element ref="messageReceivers"/>
+                    <xs:element ref="schema"/>
+                    <xs:element ref="transports"/>
+                </xs:choice>
+                <xs:element minOccurs="0" ref="dataLocator"/>
+            </xs:sequence>
+            <xs:attribute name="class"/>
+            <xs:attribute name="name"/>
+            <xs:attribute name="scope" type="xs:NCName"/>
+            <xs:attribute name="targetNamespace" type="xs:anyURI"/>
+            <xs:attribute name="activate" type="xs:boolean" use="optional"/>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="description" type="xs:string"/>
+    <xs:element name="Description" type="xs:string"/>
+    <xs:element name="excludeOperations">
+        <xs:complexType>
+            <xs:sequence>
+               <xs:element name="operation" type="xs:string" />  
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="messageReceivers">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="messageReceiver"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="schema">
+        <xs:complexType>
+            <xs:attribute name="schemaNamespace" use="required" type="xs:anyURI"/>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="transports">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element ref="transport"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="transport" type="xs:NCName"/>
+    <xs:element name="dataLocator">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" ref="dialectLocator"/>
+            </xs:sequence>
+            <xs:attribute name="class"/>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="dialectLocator">
+        <xs:complexType>
+            <xs:attribute name="class" use="required"/>
+            <xs:attribute name="dialect" use="required" type="xs:anyURI"/>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="parameter">
+        <xs:complexType mixed="true">
+            <xs:attribute name="locked" type="xs:NMTOKEN"/>
+            <xs:attribute name="name" use="required" type="xs:NCName"/>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="module">
+        <xs:complexType>
+            <xs:attribute name="ref" use="required" type="xs:NCName"/>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="operation">
+        <xs:complexType mixed="true">
+            <xs:choice minOccurs="0" maxOccurs="unbounded">
+                <xs:element ref="messageReceiver"/>
+                <xs:element ref="module"/>
+                <xs:element ref="parameter"/>
+                <xs:element ref="actionMapping"/>
+                <xs:element ref="faultActionMapping"/>
+                <xs:element ref="message"/>
+                <xs:element ref="outputActionMapping"/>
+            </xs:choice>
+            <xs:attribute name="mep" type="xs:anyURI"/>
+            <xs:attribute name="name" type="xs:NCName"/>
+            <xs:attribute name="qname" type="xs:NCName"/>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="actionMapping" type="xs:anyURI"/>
+    <xs:element name="faultActionMapping">
+        <xs:complexType>
+            <xs:simpleContent>
+                <xs:extension base="xs:anyURI">
+                    <xs:attribute name="faultName" use="required" type="xs:NCName"/>
+                </xs:extension>
+            </xs:simpleContent>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="message">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element ref="parameter"/>
+            </xs:sequence>
+            <xs:attribute name="label" use="required" type="xs:NCName"/>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="outputActionMapping" type="xs:anyURI"/>
+    <xs:element name="messageReceiver">
+        <xs:complexType>
+            <xs:attribute name="class" use="required" type="xs:NCName"/>
+            <xs:attribute name="mep" type="xs:anyURI"/>
+        </xs:complexType>
+    </xs:element>
+</xs:schema>
diff --git a/bundles/org.eclipse.jst.ws.axis2.core/src/org/eclipse/jst/ws/axis2/core/constant/Axis2Constants.java b/bundles/org.eclipse.jst.ws.axis2.core/src/org/eclipse/jst/ws/axis2/core/constant/Axis2Constants.java
index 2ef327b..f4fc8c0 100644
--- a/bundles/org.eclipse.jst.ws.axis2.core/src/org/eclipse/jst/ws/axis2/core/constant/Axis2Constants.java
+++ b/bundles/org.eclipse.jst.ws.axis2.core/src/org/eclipse/jst/ws/axis2/core/constant/Axis2Constants.java
@@ -13,6 +13,7 @@
  * 20071011   205972 sandakith@wso2.com - Lahiru Sandakith, Axis2 Libraries License files fix
  * 20071029   206967 sandakith@wso2.com - Lahiru Sandakith
  * 20080521   231098 sandakith@wso2.com - Lahiru Sandakith, Fix for Axis2 1.4 dependency chenge
+ * 20080604   193371 samindaw@wso2.com - Saminda Wijeratne, creating a function to validate services.xml
  *******************************************************************************/
 package org.eclipse.jst.ws.axis2.core.constant;
 
@@ -62,7 +63,9 @@
 	public static final String DATA_BINDING_ADB="ADB";							//$NON-NLS-1$
 	public static final String DATA_BINDING_NONE="NONE";						//$NON-NLS-1$
 	public static final String SKELETON_SUFFIX="Skeleton.java";					//$NON-NLS-1$
-	
+	public static final String RESOURCE_FOLDER="resources";						//$NON-NLS-1$
+	public static final String SERVICES_XSD_SCHEMA_NAME="services.xsd";			//$NON-NLS-1$	
+	public static final String XML_SCHEMA="http://www.w3.org/2001/XMLSchema";	//$NON-NLS-1$
 	
 	//Axis2 Consumption Plugin Constants  
 	public static final String JUNIT_JAR="junit.jar";							//$NON-NLS-1$
diff --git a/bundles/org.eclipse.jst.ws.axis2.creation.core/src/org/eclipse/jst/ws/axis2/creation/core/utils/ServicesXMLUtils.java b/bundles/org.eclipse.jst.ws.axis2.creation.core/src/org/eclipse/jst/ws/axis2/creation/core/utils/ServicesXMLUtils.java
new file mode 100644
index 0000000..50d5f62
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.axis2.creation.core/src/org/eclipse/jst/ws/axis2/creation/core/utils/ServicesXMLUtils.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2007 WSO2 Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * WSO2 Inc. - initial API and implementation
+ * yyyymmdd bug      Email and other contact information
+ * -------- -------- -----------------------------------------------------------
+ * 20080604   193371 samindaw@wso2.com - Saminda Wijeratne, creating a function to validate services.xml
+ *******************************************************************************/
+
+package org.eclipse.jst.ws.axis2.creation.core.utils;
+import java.io.File;
+
+import javax.xml.transform.Source;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.validation.Schema;
+import javax.xml.validation.SchemaFactory;
+import javax.xml.validation.Validator;
+
+import org.eclipse.jst.ws.axis2.core.constant.Axis2Constants;
+import org.eclipse.jst.ws.axis2.core.plugin.WebServiceAxis2CorePlugin;
+import org.eclipse.jst.ws.axis2.core.utils.FileUtils;
+
+public class ServicesXMLUtils {
+	
+	public ServicesXMLUtils(){
+	}
+	
+	/**
+	 * Validates the given xml file against the axis2 services schema. 
+	 * @return return true if the xml is valid
+	 */
+	public static boolean isServicesXMLValid(String servicesXmlPath){
+        SchemaFactory factory = 
+            SchemaFactory.newInstance(Axis2Constants.XML_SCHEMA);
+        
+        try {
+        	String resourcePath=FileUtils.addAnotherNodeToPath(
+        			Axis2Constants.RESOURCE_FOLDER, Axis2Constants.SERVICES_XSD_SCHEMA_NAME);
+            Schema schema = factory.newSchema(
+            		WebServiceAxis2CorePlugin.getInstance().getBundle().getResource(resourcePath));
+            Validator validator = schema.newValidator();
+            Source source = new StreamSource(new File(servicesXmlPath));
+            validator.validate(source);
+            return true;
+        }
+        catch (Exception ex) {
+            return false;
+        }  
+	}
+}
diff --git a/bundles/org.eclipse.jst.ws.axis2.creation.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.jst.ws.axis2.creation.ui/META-INF/MANIFEST.MF
index 868c392..33bcbe0 100644
--- a/bundles/org.eclipse.jst.ws.axis2.creation.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.jst.ws.axis2.creation.ui/META-INF/MANIFEST.MF
@@ -23,7 +23,7 @@
  org.eclipse.jst.ws.axis2.consumption.core,
  org.eclipse.jst.ws.axis2.core,
  org.eclipse.jst.ws.ui
-Eclipse-LazyStart: true
+Bundle-ActivationPolicy: lazy
 Export-Package: org.eclipse.jst.ws.internal.axis2.creation.ui.widgets.bean,
  org.eclipse.jst.ws.internal.axis2.creation.ui.widgets.skeleton,
  org.eclipse.jst.ws.internal.axis2.creation.ui.wsrt
diff --git a/bundles/org.eclipse.jst.ws.axis2.creation.ui/src/org/eclipse/jst/ws/internal/axis2/creation/ui/widgets/bean/ServicesXMLSelectBeanWidget.java b/bundles/org.eclipse.jst.ws.axis2.creation.ui/src/org/eclipse/jst/ws/internal/axis2/creation/ui/widgets/bean/ServicesXMLSelectBeanWidget.java
index 4fd723e..2909e51 100644
--- a/bundles/org.eclipse.jst.ws.axis2.creation.ui/src/org/eclipse/jst/ws/internal/axis2/creation/ui/widgets/bean/ServicesXMLSelectBeanWidget.java
+++ b/bundles/org.eclipse.jst.ws.axis2.creation.ui/src/org/eclipse/jst/ws/internal/axis2/creation/ui/widgets/bean/ServicesXMLSelectBeanWidget.java
@@ -16,12 +16,19 @@
  * 20070529   188742 sandakith@wso2.com - Lahiru Sandakith, fix for 188742
  * 20070824   200515 sandakith@wso2.com - Lahiru Sandakith, NON-NLS move to seperate file
  * 20071030	  207621 zina@ca.ibm.com - Zina Mostafia, Page GUI sequence using tab is not correct ( violates Accessibility)
+ * 20080604   193371 samindaw@wso2.com - Saminda Wijeratne,  browsing only xml files in the workspace
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.axis2.creation.ui.widgets.bean;
 
+import java.io.File;
+
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.ws.axis2.core.constant.Axis2Constants;
+
+import org.eclipse.jst.ws.axis2.creation.core.utils.*;
 import org.eclipse.jst.ws.axis2.creation.core.data.DataModel;
 import org.eclipse.jst.ws.axis2.creation.core.messages.Axis2CreationUIMessages;
 import org.eclipse.jst.ws.internal.axis2.consumption.ui.plugin.WebServiceAxis2ConsumptionUIPlugin;
@@ -33,10 +40,11 @@
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.FileDialog;
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.Text;
+import org.eclipse.swt.widgets.*;
+import org.eclipse.jst.ws.internal.ui.common.*;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
 
@@ -66,7 +74,8 @@
 
 		final Composite radioComp = uiUtils.createComposite(parent, 1);
 		
-		haveServicesXML = uiUtils.createRadioButton(radioComp, Axis2CreationUIMessages.LABEL_HAVE_SERVICES_XML_FILE, null, null );
+		haveServicesXML = uiUtils.createRadioButton(radioComp, 
+				Axis2CreationUIMessages.LABEL_HAVE_SERVICES_XML_FILE, null, null );
 		haveServicesXML.addSelectionListener( new SelectionAdapter()
 		{
 			public void widgetSelected(SelectionEvent e)
@@ -110,7 +119,8 @@
 		});
 
 		
-		browseButton = uiUtils.createPushButton(pathComp, Axis2CreationUIMessages.LABEL_BROWSE, null, null );
+		browseButton = uiUtils.createPushButton(pathComp, 
+				Axis2CreationUIMessages.LABEL_BROWSE, null, null );
 		browseButton.addSelectionListener( new SelectionAdapter()
 		{
 			public void widgetSelected(SelectionEvent e)
@@ -124,7 +134,8 @@
 		}); 
 
 
-		generateServicesXML = uiUtils.createRadioButton(radioComp, Axis2CreationUIMessages.LABEL_DEFAULT_SERVICES_XML_FILE, null, null);
+		generateServicesXML = uiUtils.createRadioButton(radioComp, 
+				Axis2CreationUIMessages.LABEL_DEFAULT_SERVICES_XML_FILE, null, null);
 		generateServicesXML.setSelection(true);
 		generateServicesXML.addSelectionListener( new SelectionAdapter()
 		{
@@ -162,14 +173,13 @@
 	public IStatus getStatus() 
 	{
 		IStatus result = null;
-
-		if( haveServicesXML.getSelection() && servicesXMLPath.getText().equals("") )
-		{
-			result = new Status( IStatus.ERROR, 
-								"id", 
-								0, 
-								Axis2CreationUIMessages.ERROR_INVALID_SERVICES_XML, 
-								null ); 
+		String serviceXMLPathLocation = servicesXMLPath.getText();
+				if (haveServicesXML.getSelection()
+						&& (serviceXMLPathLocation.equals("") 
+								|| !(new File(serviceXMLPathLocation).exists()))) {
+					result = new Status(IStatus.ERROR, "id", 0,
+							Axis2CreationUIMessages.ERROR_INVALID_SERVICES_XML,
+							null);
 		}
 
 		return result;
@@ -195,12 +205,31 @@
 	 * Pops up the file browse dialog box
 	 */
 	private void handleBrowse(Shell parent) {
-		FileDialog fileDialog = new FileDialog(parent);
-		fileDialog.setFilterExtensions(new String[] { Axis2Constants.FILE_XML });
-		String fileName = fileDialog.open();
-		if (fileName != null) {
-			servicesXMLPath.setText(fileName);
-			model.setPathToServicesXML( servicesXMLPath.getText() );
+		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+		FileExtensionFilter fileExtensionFilter = new FileExtensionFilter(new String[] {"xml"});
+		DialogResourceBrowser dialog = new DialogResourceBrowser(
+				parent.getShell(), root, fileExtensionFilter);
+		boolean isShowDialog = true;
+		while (isShowDialog){
+			if (dialog.open() == org.eclipse.jface.window.Window.CANCEL){
+				break;
+			}
+			IResource res = dialog.getFirstSelection();
+			if( res != null )
+			{
+				String fileLocation = res.getLocation().toOSString();
+				
+				//since the xml file exist now check whether it is a valid services.xsd file 
+				if (ServicesXMLUtils.isServicesXMLValid(fileLocation)){
+					servicesXMLPath.setText(fileLocation);
+					model.setPathToServicesXML(fileLocation);
+					isShowDialog = false;
+				}else{
+					MessageBox messageBox = new MessageBox(parent,SWT.OK);
+					messageBox.setMessage(Axis2CreationUIMessages.ERROR_INVALID_SERVICES_XML);
+					messageBox.open();
+				}
+			}
 		}
 	}
 }
diff --git a/bundles/org.eclipse.jst.ws.axis2.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.jst.ws.axis2.ui/META-INF/MANIFEST.MF
index 7d30760..9947c79 100644
--- a/bundles/org.eclipse.jst.ws.axis2.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.jst.ws.axis2.ui/META-INF/MANIFEST.MF
@@ -11,7 +11,7 @@
  org.eclipse.jst.ws.axis2.core,
  org.eclipse.jst.ws,
  org.eclipse.jst.ws.ui
-Eclipse-LazyStart: true
+Bundle-ActivationPolicy: lazy
 Export-Package: org.eclipse.jst.ws.axis2.ui.plugin,
  org.eclipse.jst.ws.internal.axis2.consumption.ui.preferences
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/bundles/org.eclipse.jst.ws.axis2.ui/src/org/eclipse/jst/ws/internal/axis2/consumption/ui/preferences/Axis2RuntimePreferencePage.java b/bundles/org.eclipse.jst.ws.axis2.ui/src/org/eclipse/jst/ws/internal/axis2/consumption/ui/preferences/Axis2RuntimePreferencePage.java
index 0fe6514..3cf8ea1 100644
--- a/bundles/org.eclipse.jst.ws.axis2.ui/src/org/eclipse/jst/ws/internal/axis2/consumption/ui/preferences/Axis2RuntimePreferencePage.java
+++ b/bundles/org.eclipse.jst.ws.axis2.ui/src/org/eclipse/jst/ws/internal/axis2/consumption/ui/preferences/Axis2RuntimePreferencePage.java
@@ -24,6 +24,7 @@
  * 20070824   200515 sandakith@wso2.com - Lahiru Sandakith, NON-NLS move to seperate file
  * 20070827   188732 sandakith@wso2.com - Lahiru Sandakith, Restore defaults for preferences
  * 20071030	  207618 zina@ca.ibm.com - Zina Mostafia, Page GUI sequence using tab is not correct ( violates Accessibility)
+ * 20080522   233154 samindaw@wso2.com - Saminda Wijeratne, UI rendering problem where textboxes used as labels had white background
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.axis2.consumption.ui.preferences;
 
@@ -80,7 +81,7 @@
 		
 		TabFolder axis2PreferenceTab = new TabFolder(mainComp, SWT.WRAP);
 		axis2PreferenceTab.setLayoutData( new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.FILL_BOTH) );
-
+		axis2PreferenceTab.setBackground(mainComp.getBackground());
 		
 		//-----------------------------Axis2 Runtime Location Group------------------------------//
 		TabItem runtimeInstalLocationItem = new TabItem(axis2PreferenceTab, SWT.WRAP);
@@ -90,7 +91,8 @@
 		Composite runtimeTab = uiUtils.createComposite(axis2PreferenceTab, 1);
 		runtimeTab.setLayoutData( new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.FILL_BOTH ) );
 		Composite runtimeGroup = uiUtils.createComposite(runtimeTab, 3);
-
+		runtimeTab.setBackground(axis2PreferenceTab.getBackground());
+		 
 		runtimeInstalLocationItem.setControl(runtimeTab);
 		runtimeTab.setToolTipText(Axis2CoreUIMessages.AXIS2_RUNTIME_TOOLTIP);
 
@@ -112,6 +114,7 @@
 		new org.eclipse.swt.widgets.Label(runtimeTab, SWT.HORIZONTAL);  // Leave some vertical space.
 		statusLabel = new Text(runtimeTab, SWT.BACKGROUND | SWT.READ_ONLY | SWT.CENTER | SWT.WRAP | SWT.H_SCROLL);
 		statusLabel.setLayoutData( new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.FILL_BOTH) );
+		statusLabel.setBackground(axis2PreferenceTab.getBackground());
 
 		//--------------------------------Axis2 Runtime Preferences------------------------------//
 
@@ -122,7 +125,8 @@
 		Composite codegenGroup = uiUtils.createComposite(axis2PreferenceTab, 1);
 		codegenPreferencesItem.setControl(codegenGroup);
 		codegenGroup.setToolTipText(Axis2CoreUIMessages.AXIS2_PREFERENCES_TOOLTIP);
-
+		codegenGroup.setBackground(mainComp.getBackground());
+		
 		///////////////////////////////////////////////////////////////////////////////////////////
 
 		//Service Codegen Options
@@ -130,7 +134,8 @@
 
 		Text serviceCodegenGroupLabel= new Text(serviceCodegenGroup, SWT.READ_ONLY |SWT.WRAP);
 		serviceCodegenGroupLabel.setText(Axis2CoreUIMessages.LABEL_WEB_SERVICE_CODEGEN);
-
+		serviceCodegenGroupLabel.setBackground(axis2PreferenceTab.getBackground());
+		
 		Composite dataBindComp = uiUtils.createComposite(serviceCodegenGroup, 2);
 		//Data binding
 		serviceDatabindingCombo = uiUtils.createCombo(dataBindComp, Axis2CoreUIMessages.LABEL_DATABINDING, null, null, SWT.READ_ONLY);
@@ -148,7 +153,8 @@
 		Composite clientCodegenGroup = uiUtils.createComposite(codegenGroup, 1);
 		Text clientCodegenGroupLabel= new Text(clientCodegenGroup, SWT.READ_ONLY);
 		clientCodegenGroupLabel.setText(Axis2CoreUIMessages.LABEL_WEB_SERVICE_CLIENT_CODEGEN);
-
+		clientCodegenGroupLabel.setBackground(axis2PreferenceTab.getBackground());
+		
 		Group clientModeRadioComp = uiUtils.createGroup(clientCodegenGroup, Axis2CoreUIMessages.LABEL_CLIENT_SIDE, null, null);
 
 		//client side buttons
@@ -175,7 +181,8 @@
 
 		Text arrGroupLabel= new Text(aarGroup, SWT.READ_ONLY);
 		arrGroupLabel.setText(Axis2CoreUIMessages.LABEL_WEB_SERVICE_AAR);
-
+		arrGroupLabel.setBackground(axis2PreferenceTab.getBackground());
+		
 		Composite aarExtGroup = uiUtils.createComposite(aarGroup,2);
 
 		//aar extention