Fixes and improvements for sharedobject API
diff --git a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/comm/IConnectionListener.java b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/comm/IConnectionListener.java
index 75dfaf1..b822aae 100644
--- a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/comm/IConnectionListener.java
+++ b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/comm/IConnectionListener.java
@@ -33,5 +33,12 @@
 	 *            the disconnect event
 	 */
 	public void handleDisconnectEvent(DisconnectEvent event);
+	
+	/**
+	 * Handle connect event
+	 * 
+	 * @param event the connection event.
+	 */
+	public void handleConnectEvent(ConnectionEvent event);
 
 }
\ No newline at end of file
diff --git a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainer.java b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainer.java
index 6843c54..37cc6fb 100644
--- a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainer.java
+++ b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainer.java
@@ -56,6 +56,7 @@
 import org.eclipse.ecf.internal.provider.Messages;
 import org.eclipse.ecf.internal.provider.ProviderPlugin;
 import org.eclipse.ecf.provider.comm.AsynchEvent;
+import org.eclipse.ecf.provider.comm.ConnectionEvent;
 import org.eclipse.ecf.provider.comm.DisconnectEvent;
 import org.eclipse.ecf.provider.comm.IAsynchConnection;
 import org.eclipse.ecf.provider.comm.IConnection;
@@ -211,6 +212,10 @@
 		public ID getEventHandlerID() {
 			return getID();
 		}
+		
+		public void handleConnectEvent(ConnectionEvent event) {
+			
+		}
 
 		public void handleDisconnectEvent(DisconnectEvent event) {
 			processDisconnect(event);
diff --git a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainerConfig.java b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainerConfig.java
index d9f8938..8f837a8 100644
--- a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainerConfig.java
+++ b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainerConfig.java
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 2004 Composent, Inc. and others.
+ * Copyright (c) 2004 2007 Composent, 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
@@ -13,6 +13,8 @@
 
 import java.util.HashMap;
 import java.util.Map;
+
+import org.eclipse.core.runtime.Assert;
 import org.eclipse.ecf.core.identity.ID;
 import org.eclipse.ecf.core.sharedobject.ISharedObjectContainerConfig;
 
@@ -21,11 +23,13 @@
 	Map properties;
 
 	public SOContainerConfig(ID id, Map props) {
+		Assert.isNotNull(id);
 		this.id = id;
-		this.properties = props;
+		this.properties = (props == null)?new HashMap():props;
 	}
 
 	public SOContainerConfig(ID id) {
+		Assert.isNotNull(id);
 		this.id = id;
 		this.properties = new HashMap();
 	}