Return-Path: Delivered-To: apmail-synapse-dev-archive@www.apache.org Received: (qmail 82872 invoked from network); 25 Jun 2008 04:53:08 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 25 Jun 2008 04:53:08 -0000 Received: (qmail 39253 invoked by uid 500); 25 Jun 2008 04:53:10 -0000 Delivered-To: apmail-synapse-dev-archive@synapse.apache.org Received: (qmail 39089 invoked by uid 500); 25 Jun 2008 04:53:09 -0000 Mailing-List: contact dev-help@synapse.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@synapse.apache.org Delivered-To: mailing list dev@synapse.apache.org Received: (qmail 39077 invoked by uid 99); 25 Jun 2008 04:53:09 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 24 Jun 2008 21:53:09 -0700 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of ruwan.linton@gmail.com designates 209.85.200.171 as permitted sender) Received: from [209.85.200.171] (HELO wf-out-1314.google.com) (209.85.200.171) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 Jun 2008 04:52:18 +0000 Received: by wf-out-1314.google.com with SMTP id 25so3311185wfa.0 for ; Tue, 24 Jun 2008 21:52:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:in-reply-to:mime-version:content-type:references; bh=ApgnH48xy1wZvXp3vxr9gogd19XTxfkmy2CTjOY1VPM=; b=PYdodYugo0lc2L3JCfyftN4zr5eipjmH5lXvDWewHEy66LHZLnUdThrU63+gzxgIgT m6T8Yj86wAhezEzRO5EeBrqulsO2RA4009S0qg3Q6K9jWgwWE4D5s+nQ9Re9K0lAKMeg 6TiX6GVbgWlOfiDZXvhLM+Q38kD2DrNtKfNnQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version :content-type:references; b=xhQhVCkEpo3hQIN32PPNG803D/el7Ab+hYhzirLV7mko/SqtUecpjpF0awsrXZD926 3UdUEGE6I2pnSBCudOFH2LrXuIjQB5Fmo63cbtl0TqFD1y0FDsMcEp0IqenjHsgTY3kx qqxjVXqV4gmsq92BHQis3a+r9ETcx80FCoghk= Received: by 10.142.199.16 with SMTP id w16mr6525644wff.206.1214369556860; Tue, 24 Jun 2008 21:52:36 -0700 (PDT) Received: by 10.143.19.18 with HTTP; Tue, 24 Jun 2008 21:52:36 -0700 (PDT) Message-ID: <672a01200806242152g6bb866d8gb80e5717184d0a35@mail.gmail.com> Date: Wed, 25 Jun 2008 10:22:36 +0530 From: "Ruwan Linton" To: dev@synapse.apache.org Subject: Re: svn commit: r671420 - in /synapse/branches/1.2/modules/transports/src/main/java/org/apache/synapse/transport/fix: FIXConstants.java FIXTransportSender.java In-Reply-To: <20080625043536.818B82388A06@eris.apache.org> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_9881_21668994.1214369556844" References: <20080625043536.818B82388A06@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org ------=_Part_9881_21668994.1214369556844 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi Hiranya, Please switch the working copy to trunk, we are no more on the 1.2-branch and the trunk svn location is; https://svn.apache.org/repos/asf/synapse/trunk/java Thanks, Ruwan On Wed, Jun 25, 2008 at 10:05 AM, wrote: > Author: hiranya > Date: Tue Jun 24 21:35:35 2008 > New Revision: 671420 > > URL: http://svn.apache.org/viewvc?rev=671420&view=rev > Log: > * Introduced a new service parameter (transport.fix.BeginStringValidation) > * Disabled BeginString validation (as per SYNAPSE-373) > > > Modified: > > synapse/branches/1.2/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXConstants.java > > synapse/branches/1.2/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXTransportSender.java > > Modified: > synapse/branches/1.2/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXConstants.java > URL: > http://svn.apache.org/viewvc/synapse/branches/1.2/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXConstants.java?rev=671420&r1=671419&r2=671420&view=diff > > ============================================================================== > --- > synapse/branches/1.2/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXConstants.java > (original) > +++ > synapse/branches/1.2/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXConstants.java > Tue Jun 24 21:35:35 2008 > @@ -96,4 +96,6 @@ > > public static final String FIX_RESPONSE_HANDLER_APPROACH = > "transport.fix.SendAllToInSequence"; > > + public static final String FIX_BEGIN_STRING_VALIDATION = > "transport.fix.BeginStringValidation"; > + > } > \ No newline at end of file > > Modified: > synapse/branches/1.2/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXTransportSender.java > URL: > http://svn.apache.org/viewvc/synapse/branches/1.2/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXTransportSender.java?rev=671420&r1=671419&r2=671420&view=diff > > ============================================================================== > --- > synapse/branches/1.2/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXTransportSender.java > (original) > +++ > synapse/branches/1.2/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXTransportSender.java > Tue Jun 24 21:35:35 2008 > @@ -128,13 +128,15 @@ > } > } > > - private boolean isTargetVald(Map fieldValues, > SessionID targetSession) { > + private boolean isTargetVald(Map fieldValues, > SessionID targetSession, > + boolean beginStrValidation) { > + > String beginString = fieldValues.get(FIXConstants.BEGIN_STRING); > String deliverToCompID = > fieldValues.get(FIXConstants.DELIVER_TO_COMP_ID); > String deliverToSubID = > fieldValues.get(FIXConstants.DELIVER_TO_SUB_ID); > String deliverToLocationID = > fieldValues.get(FIXConstants.DELIVER_TO_LOCATION_ID); > > - if (!targetSession.getBeginString().equals(beginString)) { > + if (beginStrValidation && > !targetSession.getBeginString().equals(beginString)) { > return false; > } else if > (!targetSession.getTargetCompID().equals(deliverToCompID)) { > return false; > @@ -268,9 +270,12 @@ > String beginString = fieldValues.get(FIXConstants.BEGIN_STRING); > String deliverToCompID = > fieldValues.get(FIXConstants.DELIVER_TO_COMP_ID); > > + AxisService service = > cfgCtx.getAxisConfiguration().getService(serviceName); > + > //match BeginString values > - if (beginString != null && > !beginString.equals(sessionID.getBeginString())) { > - handleException("Cannot forward messages to a session with a > different BeginString"); > + if (isValidationOn(service) && beginString != null && > !beginString.equals(sessionID.getBeginString())) { > + handleException("BeginString validation is on. Cannot forward > messages to a session" + > + " with a different BeginString"); > } > > if (deliverToCompID != null) { > @@ -285,7 +290,6 @@ > > if (!Session.doesSessionExist(sessionID)) { > //try to create initiator to send the message > - AxisService service = > cfgCtx.getAxisConfiguration().getService(serviceName); > sessionFactory.createFIXInitiator(targetEPR, service, > sessionID); > } > > @@ -319,9 +323,12 @@ > String beginString = fieldValues.get(FIXConstants.BEGIN_STRING); > String deliverToCompID = > fieldValues.get(FIXConstants.DELIVER_TO_COMP_ID); > > + AxisService service = > cfgCtx.getAxisConfiguration().getService(serviceName); > + > //match BeginString values > - if (beginString != null && > !beginString.equals(sessionID.getBeginString())) { > - handleException("Cannot forward messages to a session with a > different BeginString"); > + if (isValidationOn(service) && beginString != null && > !beginString.equals(sessionID.getBeginString())) { > + handleException("BeginString validation is on. Cannot forward > messages to a session" + > + " with a different BeginString"); > } > > if (deliverToCompID != null) { > @@ -330,7 +337,6 @@ > handleException("Cannot forward messages that do not have a > valid DeliverToCompID field"); > } else { > prepareToForwardMessage(fixMessage, fieldValues); > - AxisService service = > cfgCtx.getAxisConfiguration().getService(serviceName); > setDeliverToXFields(fixMessage, service); > } > } else { > @@ -366,18 +372,20 @@ > Acceptor acceptor = sessionFactory.getAccepter(serviceName); > SessionID sessionID = null; > > + AxisService service = > cfgCtx.getAxisConfiguration().getService(serviceName); > + > if (acceptor != null) { > ArrayList sessions = acceptor.getSessions(); > if (sessions.size() == 1) { > sessionID = sessions.get(0); > - if (deliverToCompID != null && !isTargetVald(fieldValues, > sessionID)) { > + if (deliverToCompID != null && !isTargetVald(fieldValues, > sessionID, isValidationOn(service))) { > sessionID = null; > } > > } else if (sessions.size() > 1 && deliverToCompID != null) { > for (int i = 0; i < sessions.size(); i++) { > sessionID = sessions.get(i); > - if (isTargetVald(fieldValues, sessionID)) { > + if (isTargetVald(fieldValues, sessionID, > isValidationOn(service))) { > break; > } > } > @@ -392,8 +400,25 @@ > return false; > } > > + /** > + * Checks whether BeginString validation is on for the specified > + * service. > + * > + * @param service the AxisService of the message > + * @return a boolean value indicating the validation state > + */ > + private boolean isValidationOn(AxisService service) { > + Parameter validationParam = > service.getParameter(FIXConstants.FIX_BEGIN_STRING_VALIDATION); > + if (validationParam != null) { > + if ("true".equals(validationParam.getValue().toString())) { > + return true; > + } > + } > + return false; > + } > + > public void logOutIncomingSession(SessionID sessionID) { > messageSender.cleanUpMessages(sessionID.toString()); > } > > -} > \ No newline at end of file > +} > > > -- Ruwan Linton http://wso2.org - "Oxygenating the Web Services Platform" http://ruwansblog.blogspot.com/ ------=_Part_9881_21668994.1214369556844 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi Hiranya,

Please switch the working copy to trunk, we are no more on the 1.2-branch and the trunk svn location is;

https://svn.apache.org/repos/asf/synapse/trunk/java

Thanks,
Ruwan

On Wed, Jun 25, 2008 at 10:05 AM, <hiranya@apache.org> wrote:
Author: hiranya
Date: Tue Jun 24 21:35:35 2008
New Revision: 671420

URL: http://svn.apache.org/viewvc?rev=671420&view=rev
Log:
* Introduced a new service parameter (transport.fix.BeginStringValidation)
* Disabled BeginString validation (as per SYNAPSE-373)


Modified:
   synapse/branches/1.2/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXConstants.java
   synapse/branches/1.2/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXTransportSender.java

Modified: synapse/branches/1.2/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXConstants.java
URL: http://svn.apache.org/viewvc/synapse/branches/1.2/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXConstants.java?rev=671420&r1=671419&r2=671420&view=diff
==============================================================================
--- synapse/branches/1.2/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXConstants.java (original)
+++ synapse/branches/1.2/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXConstants.java Tue Jun 24 21:35:35 2008
@@ -96,4 +96,6 @@

    public static final String FIX_RESPONSE_HANDLER_APPROACH = "transport.fix.SendAllToInSequence";

+    public static final String FIX_BEGIN_STRING_VALIDATION = "transport.fix.BeginStringValidation";
+
 }
\ No newline at end of file

Modified: synapse/branches/1.2/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXTransportSender.java
URL: http://svn.apache.org/viewvc/synapse/branches/1.2/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXTransportSender.java?rev=671420&r1=671419&r2=671420&view=diff
==============================================================================
--- synapse/branches/1.2/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXTransportSender.java (original)
+++ synapse/branches/1.2/modules/transports/src/main/java/org/apache/synapse/transport/fix/FIXTransportSender.java Tue Jun 24 21:35:35 2008
@@ -128,13 +128,15 @@
        }
    }

-    private boolean isTargetVald(Map<String, String> fieldValues, SessionID targetSession) {
+    private boolean isTargetVald(Map<String, String> fieldValues, SessionID targetSession,
+                                 boolean beginStrValidation) {
+
        String beginString = fieldValues.get(FIXConstants.BEGIN_STRING);
        String deliverToCompID = fieldValues.get(FIXConstants.DELIVER_TO_COMP_ID);
        String deliverToSubID = fieldValues.get(FIXConstants.DELIVER_TO_SUB_ID);
        String deliverToLocationID = fieldValues.get(FIXConstants.DELIVER_TO_LOCATION_ID);

-        if (!targetSession.getBeginString().equals(beginString)) {
+        if (beginStrValidation && !targetSession.getBeginString().equals(beginString)) {
            return false;
        } else if (!targetSession.getTargetCompID().equals(deliverToCompID)) {
            return false;
@@ -268,9 +270,12 @@
        String beginString = fieldValues.get(FIXConstants.BEGIN_STRING);
        String deliverToCompID = fieldValues.get(FIXConstants.DELIVER_TO_COMP_ID);

+        AxisService service = cfgCtx.getAxisConfiguration().getService(serviceName);
+
        //match BeginString values
-        if (beginString != null && !beginString.equals(sessionID.getBeginString())) {
-            handleException("Cannot forward messages to a session with a different BeginString");
+        if (isValidationOn(service) && beginString != null && !beginString.equals(sessionID.getBeginString())) {
+            handleException("BeginString validation is on. Cannot forward messages to a session" +
+                    " with a different BeginString");
        }

        if (deliverToCompID != null) {
@@ -285,7 +290,6 @@

        if (!Session.doesSessionExist(sessionID)) {
            //try to create initiator to send the message
-            AxisService service = cfgCtx.getAxisConfiguration().getService(serviceName);
            sessionFactory.createFIXInitiator(targetEPR, service, sessionID);
        }

@@ -319,9 +323,12 @@
        String beginString = fieldValues.get(FIXConstants.BEGIN_STRING);
        String deliverToCompID = fieldValues.get(FIXConstants.DELIVER_TO_COMP_ID);

+        AxisService service = cfgCtx.getAxisConfiguration().getService(serviceName);
+
        //match BeginString values
-        if (beginString != null && !beginString.equals(sessionID.getBeginString())) {
-            handleException("Cannot forward messages to a session with a different BeginString");
+        if (isValidationOn(service) && beginString != null && !beginString.equals(sessionID.getBeginString())) {
+            handleException("BeginString validation is on. Cannot forward messages to a session" +
+                    " with a different BeginString");
        }

        if (deliverToCompID != null) {
@@ -330,7 +337,6 @@
                handleException("Cannot forward messages that do not have a valid DeliverToCompID field");
            } else {
                prepareToForwardMessage(fixMessage, fieldValues);
-                AxisService service = cfgCtx.getAxisConfiguration().getService(serviceName);
                setDeliverToXFields(fixMessage, service);
            }
        } else {
@@ -366,18 +372,20 @@
        Acceptor acceptor = sessionFactory.getAccepter(serviceName);
        SessionID sessionID = null;

+        AxisService service = cfgCtx.getAxisConfiguration().getService(serviceName);
+
        if (acceptor != null) {
            ArrayList<SessionID> sessions = acceptor.getSessions();
            if (sessions.size() == 1) {
                sessionID = sessions.get(0);
-                if (deliverToCompID != null && !isTargetVald(fieldValues, sessionID)) {
+                if (deliverToCompID != null && !isTargetVald(fieldValues, sessionID, isValidationOn(service))) {
                    sessionID = null;
                }

            } else if (sessions.size() > 1 && deliverToCompID != null) {
                for (int i = 0; i < sessions.size(); i++) {
                    sessionID = sessions.get(i);
-                    if (isTargetVald(fieldValues, sessionID)) {
+                    if (isTargetVald(fieldValues, sessionID, isValidationOn(service))) {
                        break;
                    }
                }
@@ -392,8 +400,25 @@
        return false;
    }

+    /**
+     * Checks whether BeginString validation is on for the specified
+     * service.
+     *
+     * @param service the AxisService of the message
+     * @return a boolean value indicating the validation state
+     */
+    private boolean isValidationOn(AxisService service) {
+        Parameter validationParam = service.getParameter(FIXConstants.FIX_BEGIN_STRING_VALIDATION);
+        if (validationParam != null) {
+            if ("true".equals(validationParam.getValue().toString())) {
+                return true;
+            }
+        }
+        return false;
+    }
+
    public void logOutIncomingSession(SessionID sessionID) {
        messageSender.cleanUpMessages(sessionID.toString());
    }

-}
\ No newline at end of file
+}





--
Ruwan Linton
http://wso2.org - "Oxygenating the Web Services Platform"
http://ruwansblog.blogspot.com/ ------=_Part_9881_21668994.1214369556844--