javaextensions/wma/mms/javasrc/com/nokia/mj/impl/gcf/protocol/mms/PushValidatorImpl.java
branchRCL_3
changeset 83 26b2b12093af
parent 19 04becd199f91
--- a/javaextensions/wma/mms/javasrc/com/nokia/mj/impl/gcf/protocol/mms/PushValidatorImpl.java	Wed Sep 15 12:05:25 2010 +0300
+++ b/javaextensions/wma/mms/javasrc/com/nokia/mj/impl/gcf/protocol/mms/PushValidatorImpl.java	Wed Oct 13 14:23:59 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -18,6 +18,7 @@
 package com.nokia.mj.impl.gcf.protocol.mms;
 
 import java.lang.String;
+import java.io.IOException;
 import com.nokia.mj.impl.utils.Uid;
 import com.nokia.mj.impl.gcf.PushValidator;
 import com.nokia.mj.impl.mms.MMSPermissionImpl;
@@ -43,6 +44,7 @@
      */
     public void validate(String aUri, String aFilter, Uid aSuiteUid,
                          String aMidletName, boolean aIsStaticRegistration)
+                         throws IOException
     {
         if (!(aUri.startsWith(MMS_PREFIX)))
         {
@@ -67,6 +69,29 @@
             throw new IllegalArgumentException("Invalid Filter");
 
         }
+        Uid suiteUid = null;
+        String commsName = null;
+        if (aIsStaticRegistration)
+        {
+            suiteUid = aSuiteUid;
+            commsName = PushValidator.INSTALLER_COMMS;
+        }
+        else
+        {
+            commsName = PushValidator.RUNTIME_COMMS;
+        }
+        if (PushValidator.isRegisteredPushUriStartingWith(aUri, suiteUid,
+                commsName))
+        {
+            if (aIsStaticRegistration)
+            {
+                throw new IllegalArgumentException();
+            }
+            else
+            {
+                throw new IOException("connection already exists");
+            }
+        }
         ApplicationUtils appUtils = ApplicationUtils.getInstance();
         MMSPermissionImpl permission = new MMSPermissionImpl("mms://*","open");
         appUtils.checkPermission(permission);