diff -r 1f0034e370aa -r 71ad690e91f5 javaextensions/wma/mms/javasrc/com/nokia/mj/impl/gcf/protocol/mms/PushValidatorImpl.java --- a/javaextensions/wma/mms/javasrc/com/nokia/mj/impl/gcf/protocol/mms/PushValidatorImpl.java Fri Sep 17 16:44:34 2010 +0300 +++ b/javaextensions/wma/mms/javasrc/com/nokia/mj/impl/gcf/protocol/mms/PushValidatorImpl.java Mon Oct 04 11:29:25 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);