Skip to Content.
Sympa Menu

notify-dpml - svn commit: r2422 - in development/laboratory/users/niclas/iso8583: . api api/src/main/net/dpml/iso8583/authorization api/src/main/net/dpml/iso8583/channels api/src/main/net/dpml/iso8583/data authorization authorization/src/main/net/dpml/iso8583/authorization/impl elements/src/main/net/dpml/iso8583/data/elements elements/src/test/net/dpml/iso8583/test/data/elements mti mti/src/main/net/dpml/iso8583/data/mti mti/src/test mti/src/test/net mti/src/test/net/dpml mti/src/test/net/dpml/iso8583 mti/src/test/net/dpml/iso8583/test mti/src/test/net/dpml/iso8583/test/mti

notify-dpml AT lists.ibiblio.org

Subject: DPML Notify

List archive

Chronological Thread  
  • From: niclas AT hedhman.org
  • To: notify-dpml AT lists.ibiblio.org
  • Subject: svn commit: r2422 - in development/laboratory/users/niclas/iso8583: . api api/src/main/net/dpml/iso8583/authorization api/src/main/net/dpml/iso8583/channels api/src/main/net/dpml/iso8583/data authorization authorization/src/main/net/dpml/iso8583/authorization/impl elements/src/main/net/dpml/iso8583/data/elements elements/src/test/net/dpml/iso8583/test/data/elements mti mti/src/main/net/dpml/iso8583/data/mti mti/src/test mti/src/test/net mti/src/test/net/dpml mti/src/test/net/dpml/iso8583 mti/src/test/net/dpml/iso8583/test mti/src/test/net/dpml/iso8583/test/mti
  • Date: Tue, 26 Apr 2005 19:48:01 -0400

Author: niclas AT hedhman.org
Date: Tue Apr 26 19:47:52 2005
New Revision: 2422

Added:

development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/channels/

development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/channels/ChannelManager.java

development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/ISOException.java

development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/ISOMessage.java

development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/IsoMessageFactory.java

development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/IsoMessageImpl.java
development/laboratory/users/niclas/iso8583/authorization/authorization.iml
development/laboratory/users/niclas/iso8583/authorization/build.xml

development/laboratory/users/niclas/iso8583/elements/src/main/net/dpml/iso8583/data/elements/ActionCode.properties
development/laboratory/users/niclas/iso8583/mti/build.xml
development/laboratory/users/niclas/iso8583/mti/mti.iml
development/laboratory/users/niclas/iso8583/mti/src/test/
development/laboratory/users/niclas/iso8583/mti/src/test/net/
development/laboratory/users/niclas/iso8583/mti/src/test/net/dpml/
development/laboratory/users/niclas/iso8583/mti/src/test/net/dpml/iso8583/

development/laboratory/users/niclas/iso8583/mti/src/test/net/dpml/iso8583/test/

development/laboratory/users/niclas/iso8583/mti/src/test/net/dpml/iso8583/test/mti/
Modified:
development/laboratory/users/niclas/iso8583/api/api.iml

development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/authorization/AuthorizationService.java

development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/DataElement.java

development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/MTI.java

development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/NoSuchDataElementException.java

development/laboratory/users/niclas/iso8583/authorization/src/main/net/dpml/iso8583/authorization/impl/DefaultAuthorization.java

development/laboratory/users/niclas/iso8583/elements/src/main/net/dpml/iso8583/data/elements/AbstractDataElement.java

development/laboratory/users/niclas/iso8583/elements/src/main/net/dpml/iso8583/data/elements/ActionCode.java

development/laboratory/users/niclas/iso8583/elements/src/test/net/dpml/iso8583/test/data/elements/AbstractDataElementTestCase.java
development/laboratory/users/niclas/iso8583/index.xml
development/laboratory/users/niclas/iso8583/iso8583.ipr
development/laboratory/users/niclas/iso8583/iso8583.iws

development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti100.java

development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti101.java

development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti110.java

development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti120.java

development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti121.java

development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti130.java

development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti140.java

development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti150.java
Log:
Refactored away the exposure of JPos in APIs and minimized usage internally.
Added ActionCode constants and reosurce bundle.

Modified: development/laboratory/users/niclas/iso8583/api/api.iml
==============================================================================
--- development/laboratory/users/niclas/iso8583/api/api.iml (original)
+++ development/laboratory/users/niclas/iso8583/api/api.iml Tue Apr 26
19:47:52 2005
@@ -12,8 +12,8 @@
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Metro Public" level="application" />
<orderEntry type="library" name="Clover" level="application" />
- <orderEntry type="library" name="JPos" level="project" />
<orderEntry type="library" name="junit" level="application" />
+ <orderEntry type="library" name="JPos" level="project" />
<orderEntryProperties />
</component>
</module>

Modified:
development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/authorization/AuthorizationService.java
==============================================================================
---
development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/authorization/AuthorizationService.java
(original)
+++
development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/authorization/AuthorizationService.java
Tue Apr 26 19:47:52 2005
@@ -18,20 +18,21 @@

package net.dpml.iso8583.authorization;

-import org.jpos.iso.ISOException;
+import net.dpml.iso8583.data.ISOException;
+import net.dpml.service.ServiceException;

/**
- * @metro.service type="net.dpml.iso8583.api.AuthorizationService"
+ * @metro.service type="net.dpml.iso8583.authorization.AuthorizationService"
*/
public interface AuthorizationService
{
/** Authorize the transaction in the thread context space.
*
* @return true if the athorization is approved, false otherwise.
- * @throws ISOException if the underlying communication layers failed.
+ * @throws net.dpml.iso8583.data.ISOException if the underlying
communication layers failed.
*/
boolean authorize()
- throws ISOException;
+ throws ISOException, ServiceException;

/** Advice of the transaction in the thread context space.
*

Added:
development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/channels/ChannelManager.java
==============================================================================
--- (empty file)
+++
development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/channels/ChannelManager.java
Tue Apr 26 19:47:52 2005
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2004-2005 Niclas Hedhman.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.
+ *
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.dpml.iso8583.channels;
+
+/**
+ * @metro.service type="net.dpml.iso8583.channels.ChannelManager"
+ */
+public interface ChannelManager
+{
+
+}

Modified:
development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/DataElement.java
==============================================================================
---
development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/DataElement.java
(original)
+++
development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/DataElement.java
Tue Apr 26 19:47:52 2005
@@ -17,9 +17,6 @@
*/
package net.dpml.iso8583.data;

-import org.jpos.iso.ISOException;
-import org.jpos.iso.ISOMsg;
-
/** Interface for a data element in ISO-8583 messages.
* <p>
* <code>DataElement</code> instances should not be looked up directly.
@@ -58,7 +55,7 @@
*
* @exception ISOException if the ISOMsg can not be populated.
*/
- void populate( ISOMsg message, boolean required )
+ void populate( ISOMessage message, boolean required )
throws ISOException;

/** Extracts the field data from the ISOMsg and populate this
DataElement with the value.
@@ -66,8 +63,8 @@
* @param message The ISOMsg to extract the value from.
* @throws DataElementAlreadyContainsValueException if the DataElement
already contains a value.
*/
- void extract( ISOMsg message )
- throws DataElementAlreadyContainsValueException;
+ void extract( ISOMessage message )
+ throws DataElementAlreadyContainsValueException, ISOException;

/** Returns the value object of the DataElement.
* <p>

Added:
development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/ISOException.java
==============================================================================
--- (empty file)
+++
development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/ISOException.java
Tue Apr 26 19:47:52 2005
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2004-2005 Niclas Hedhman.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.
+ *
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.dpml.iso8583.data;
+
+
+public class ISOException extends Exception
+{
+
+ public ISOException()
+ {
+ super();
+ }
+
+ public ISOException( String message )
+ {
+ super( message );
+ }
+
+ public ISOException( String message, Throwable cause )
+ {
+ super( message, cause );
+ }
+}

Added:
development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/ISOMessage.java
==============================================================================
--- (empty file)
+++
development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/ISOMessage.java
Tue Apr 26 19:47:52 2005
@@ -0,0 +1,24 @@
+package net.dpml.iso8583.data;
+
+/**
+ * Created by IntelliJ IDEA. User: gondor Date: Apr 26, 2005 Time: 2:16:58
PM To change this template use File |
+ * Settings | File Templates.
+ */
+public interface ISOMessage
+{
+ public IsoMessageFactory factory = new IsoMessageFactory();
+
+ String getMtiNumber()
+ throws ISOException;
+
+ void set( int field, byte[] data )
+ throws ISOException;
+
+ String getString( int field )
+ throws ISOException;
+
+ byte[] getData( int field )
+ throws ISOException;
+
+ boolean hasField( int field );
+}

Added:
development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/IsoMessageFactory.java
==============================================================================
--- (empty file)
+++
development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/IsoMessageFactory.java
Tue Apr 26 19:47:52 2005
@@ -0,0 +1,13 @@
+package net.dpml.iso8583.data;
+
+/**
+ * Created by IntelliJ IDEA. User: gondor Date: Apr 26, 2005 Time: 2:34:38
PM To change this template use File |
+ * Settings | File Templates.
+ */
+public class IsoMessageFactory
+{
+ public ISOMessage create( String mti )
+ {
+ return new IsoMessageImpl( mti );
+ }
+}

Added:
development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/IsoMessageImpl.java
==============================================================================
--- (empty file)
+++
development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/IsoMessageImpl.java
Tue Apr 26 19:47:52 2005
@@ -0,0 +1,58 @@
+package net.dpml.iso8583.data;
+
+import org.jpos.iso.ISOMsg;
+
+/**
+ * Created by IntelliJ IDEA. User: gondor Date: Apr 26, 2005 Time: 2:35:24
PM To change this template use File |
+ * Settings | File Templates.
+ */
+public class IsoMessageImpl implements ISOMessage
+{
+ private ISOMsg m_jposMsg;
+
+ public IsoMessageImpl( String mti )
+ {
+ m_jposMsg = new ISOMsg( mti );
+ }
+
+ public String getMtiNumber()
+ throws ISOException
+ {
+ try
+ {
+ return m_jposMsg.getMTI();
+ } catch( org.jpos.iso.ISOException e )
+ {
+ throw new ISOException( "Underlying ISOException.", e );
+ }
+ }
+
+ public void set( int field, byte[] data )
+ throws ISOException
+ {
+ try
+ {
+ m_jposMsg.set( field, data );
+ } catch( org.jpos.iso.ISOException e )
+ {
+ throw new ISOException( "Underlying ISOException.", e );
+ }
+ }
+
+ public String getString( int field )
+ throws ISOException
+ {
+ return m_jposMsg.getString( field );
+ }
+
+ public byte[] getData( int field )
+ throws ISOException
+ {
+ return m_jposMsg.getString( field ).getBytes();
+ }
+
+ public boolean hasField( int field )
+ {
+ return m_jposMsg.hasField( field );
+ }
+}

Modified:
development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/MTI.java
==============================================================================
---
development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/MTI.java
(original)
+++
development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/MTI.java
Tue Apr 26 19:47:52 2005
@@ -18,15 +18,13 @@

package net.dpml.iso8583.data;

-import org.jpos.iso.ISOMsg;
-import org.jpos.iso.ISOException;
import net.dpml.service.ServiceException;

public interface MTI
{
- ISOMsg assemble()
- throws ServiceException, ISOException, NoSuchDataElementException;
+ ISOMessage assemble()
+ throws ISOException, NoSuchDataElementException;

- boolean disassemble( ISOMsg msg )
- throws ServiceException, ISOException, NoSuchDataElementException,
DataElementAlreadyContainsValueException;
+ boolean disassemble( ISOMessage msg )
+ throws ISOException, NoSuchDataElementException,
DataElementAlreadyContainsValueException;
}

Modified:
development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/NoSuchDataElementException.java
==============================================================================
---
development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/NoSuchDataElementException.java
(original)
+++
development/laboratory/users/niclas/iso8583/api/src/main/net/dpml/iso8583/data/NoSuchDataElementException.java
Tue Apr 26 19:47:52 2005
@@ -18,7 +18,7 @@

package net.dpml.iso8583.data;

-public class NoSuchDataElementException extends Exception
+public class NoSuchDataElementException extends ISOException
{
public NoSuchDataElementException( Class cls )
{

Added:
development/laboratory/users/niclas/iso8583/authorization/authorization.iml
==============================================================================
--- (empty file)
+++
development/laboratory/users/niclas/iso8583/authorization/authorization.iml
Tue Apr 26 19:47:52 2005
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4" relativePaths="true" type="JAVA_MODULE">
+ <component name="ModuleRootManager" />
+ <component name="NewModuleRootManager">
+ <output url="file://$MODULE_DIR$/target/classes" />
+ <exclude-output />
+ <exclude-exploded />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/src/main" isTestSource="false"
/>
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="module" module-name="api" />
+ <orderEntry type="module" module-name="mti" />
+ <orderEntry type="library" name="JPos" level="project" />
+ <orderEntry type="module" module-name="elements" />
+ <orderEntry type="library" name="Metro Public" level="application" />
+ <orderEntryProperties />
+ </component>
+</module>
+

Added: development/laboratory/users/niclas/iso8583/authorization/build.xml
==============================================================================
--- (empty file)
+++ development/laboratory/users/niclas/iso8583/authorization/build.xml Tue
Apr 26 19:47:52 2005
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ Copyright 2005 Niclas Hedhman
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied.
+
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<project name="dpml-iso8583-authorization" default="install" basedir="."
+ xmlns:transit="antlib:net.dpml.transit"
+>
+
+ <transit:import uri="artifact:template:dpml/magic/standard"/>
+</project>

Modified:
development/laboratory/users/niclas/iso8583/authorization/src/main/net/dpml/iso8583/authorization/impl/DefaultAuthorization.java
==============================================================================
---
development/laboratory/users/niclas/iso8583/authorization/src/main/net/dpml/iso8583/authorization/impl/DefaultAuthorization.java
(original)
+++
development/laboratory/users/niclas/iso8583/authorization/src/main/net/dpml/iso8583/authorization/impl/DefaultAuthorization.java
Tue Apr 26 19:47:52 2005
@@ -21,6 +21,9 @@
import net.dpml.iso8583.authorization.AuthorizationService;
import net.dpml.iso8583.data.DataElementManager;
import net.dpml.iso8583.data.DataElement;
+import net.dpml.iso8583.data.MTI;
+import net.dpml.iso8583.data.ISOMessage;
+import net.dpml.iso8583.data.ISOException;
import net.dpml.iso8583.data.elements.PrimaryAccountNumber;
import net.dpml.iso8583.data.elements.ProcessingCode;
import net.dpml.iso8583.data.elements.AmountTransaction;
@@ -39,10 +42,9 @@
import net.dpml.iso8583.data.elements.MessageReasonCode;
import net.dpml.iso8583.data.elements.ReconciliationIndicator;
import net.dpml.iso8583.data.elements.DateReconciliation;
+import net.dpml.iso8583.channels.ChannelManager;
import net.dpml.service.ServiceManager;
import net.dpml.service.ServiceException;
-import org.jpos.iso.ISOException;
-import org.jpos.iso.ISOMsg;

/**
* @metro.component name="authorization" lifestyle="singleton"
@@ -53,31 +55,29 @@
{

private DataElementManager m_dataElementManager;
+ private MTI m_mti100;
+ private ChannelManager m_channelManager;

/** Constructor.
*
* @param man teh container provided net.dpml.service.ServiceManager.
*
+ * @metro.dependency type="net.dpml.iso8583.data.MTI" key="mti100"
+ * @metro.dependency type="net.dpml.iso8583.data.DataElementManager"
key="dataelement-manager"
+ * @metro.dependency type="net.dpml.iso8583.channels.ChannelManager"
key="channel-manager"
*/
public DefaultAuthorization( ServiceManager man )
+ throws ServiceException
{
m_dataElementManager = (DataElementManager) man.lookup(
"dataelement-manager" );
+ m_mti100 = (MTI) man.lookup( "mti100" );
+ m_channelManager = (ChannelManager) man.lookup( "channel-manager" );
}

public boolean authorize()
- throws ISOException
+ throws ISOException, ServiceException
{
- m_dataElementManager.beginSession();
- try
- {
-
- } catch( ServiceException e )
- {
-
- } finally
- {
- m_dataElementManager.doneSession();
- }
+ ISOMessage msg = m_mti100.assemble();
return false;
}


Modified:
development/laboratory/users/niclas/iso8583/elements/src/main/net/dpml/iso8583/data/elements/AbstractDataElement.java
==============================================================================
---
development/laboratory/users/niclas/iso8583/elements/src/main/net/dpml/iso8583/data/elements/AbstractDataElement.java
(original)
+++
development/laboratory/users/niclas/iso8583/elements/src/main/net/dpml/iso8583/data/elements/AbstractDataElement.java
Tue Apr 26 19:47:52 2005
@@ -21,9 +21,11 @@
import net.dpml.iso8583.data.DataElement;
import net.dpml.iso8583.data.Representation;
import net.dpml.iso8583.data.DataElementAlreadyContainsValueException;
+import net.dpml.iso8583.data.ISOMessage;
+import net.dpml.iso8583.data.ISOException;
import net.dpml.logging.Logger;
-import org.jpos.iso.ISOMsg;
-import org.jpos.iso.ISOException;
+
+import java.io.UnsupportedEncodingException;

public abstract class AbstractDataElement
implements DataElement
@@ -79,9 +81,9 @@
* @param required if true, the <code>DataElement</code> must make sure
* that its value object has been set during the session.
*
- * @exception org.jpos.iso.ISOException if the ISOMsg can not be
populated.
+ * @exception net.dpml.iso8583.data.ISOException if the ISOMsg can not
be populated.
*/
- public void populate( ISOMsg message, boolean required )
+ public void populate( ISOMessage message, boolean required )
throws ISOException
{
if( m_logger.isDebugEnabled() )
@@ -93,7 +95,13 @@
{
throw new ISOException( "Required data element has not been set:
" + getName() );
}
- message.set( getIsoBitNumber(), m_value );
+ try
+ {
+ message.set( getIsoBitNumber(), m_value.getBytes( "ISO8859-1" )
);
+ } catch( UnsupportedEncodingException e )
+ {
+ // Can not happen.
+ }
}

/** Returns the value object of the DataElement.
@@ -151,8 +159,8 @@
* @param message The ISOMsg to extract the value from.
* @throws DataElementAlreadyContainsValueException if the DataElement
already contains a value.
*/
- public void extract( ISOMsg message )
- throws DataElementAlreadyContainsValueException
+ public void extract( ISOMessage message )
+ throws DataElementAlreadyContainsValueException, ISOException
{
int iso = getIsoBitNumber();
if( message.hasField( iso ) == false )

Modified:
development/laboratory/users/niclas/iso8583/elements/src/main/net/dpml/iso8583/data/elements/ActionCode.java
==============================================================================
---
development/laboratory/users/niclas/iso8583/elements/src/main/net/dpml/iso8583/data/elements/ActionCode.java
(original)
+++
development/laboratory/users/niclas/iso8583/elements/src/main/net/dpml/iso8583/data/elements/ActionCode.java
Tue Apr 26 19:47:52 2005
@@ -23,6 +23,10 @@
import net.dpml.logging.Logger;
import net.dpml.parameters.Parameters;

+import java.util.HashMap;
+import java.util.Locale;
+import java.util.ResourceBundle;
+

/** <code>DataElement</code> implementation of ActionCode.
*
@@ -36,6 +40,170 @@
*/
public class ActionCode extends AbstractDataElement
{
+ static public final String HONOUR_APPROVED = "0000";
+ static public final String HONOUR_HONOUR_WITH_IDENTIFICATION = "0001";
+ static public final String HONOUR_APPROVED_FOR_PARTIAL_AMOUNT = "0002";
+ static public final String HONOUR_APPROVED__VIP_ = "0003";
+ static public final String HONOUR_APPROVED__UPDATE_TRACK_3 = "0004";
+ static public final String
HONOUR_APPROVED__ACCOUNT_TYPE_SPECIFIED_BY_CARD_ISSUER = "0005";
+ static public final String
HONOUR_APPROVED_FOR_PARTIAL_AMOUNT__ACCOUNT_TYPE_SPECIFIED_BY_CARD_ISSUER =
"0006";
+
+ static public final String HONOUR_APPROVED_BUT_FEES_DISPUTED = "0008";
+ static public final String HONOUR_APPROVED_WITH_OVERDRAFT = "0009";
+ static public final String HONOUR_APPROVED__CUSTOMER_REACTIVATED =
"0010";
+ static public final String
HONOUR_APPROVED__TERMINAL_UNABLE_TO_PROCESS_ONLINE = "0011";
+ static public final String
HONOUR_APPROVED__TRANSACTION_PROCESSED_OFFLINE_BY_TERMINAL = "0012";
+ static public final String
HONOUR_APPROVED__TRANSACTION_PROCESSED_OFFLINE_AFTER_REFERAL = "0013";
+
+ static public final String DECLINE_DO_NOT_HONOUR_1000 = "1000";
+ static public final String DECLINE_EXPIRED_CARD = "1001";
+ static public final String DECLINE_SUSPECTED_FRAUD = "1002";
+ static public final String DECLINE_CARD_ACCEPTOR_CONTACT_ACQUIRER =
"1003";
+ static public final String DECLINE_RESTRICTED_CARD = "1004";
+ static public final String
DECLINE_CARD_ACCEPTOR_CALL_ACQUIRERS_SECURITY_DEPARTMENT = "1005";
+ static public final String DECLINE_ALLOWABLE_PIN_TRIES_EXCEEDED = "1006";
+ static public final String DECLINE_REFER_TO_CARD_ISSUER = "1007";
+ static public final String
DECLINE_REFER_TO_CARD_ISUERS_SPECIAL_CONDITIONS = "1008";
+ static public final String DECLINE_INVALID_CARD_ACCEPTOR = "1009";
+ static public final String DECLINE_INVALID_AMOUNT = "1010";
+ static public final String DECLINE_INVALID_CARD_NUMBER = "1011";
+ static public final String DECLINE_PIN_DATA_REQUIRED = "1012";
+ static public final String DECLINE_UNACCEPTABLE_FEE = "1013";
+ static public final String DECLINE_NO_ACCOUNT_OF_TYPE_REQUESTED = "1014";
+ static public final String DECLINE_REQUESTED_FUNCTION_NOT_SUPPORTED =
"1015";
+ static public final String DECLINE_NOT_SUFFICIENT_FUNDS = "1016";
+ static public final String DECLINE_INCORRECT_PIN = "1017";
+ static public final String DECLINE_NO_CARD_RECORD = "1018";
+ static public final String
DECLINE_TRANSACTION_NOT_PERMITTED_TO_CARDHOLDER = "1019";
+ static public final String DECLINE_TRANSACTION_NOT_PERMITTED_TO_TERMINAL
= "1020";
+ static public final String DECLINE_EXCEEDS_WITHDRAWAL_AMOUNT_LIMIT =
"1021";
+ static public final String DECLINE_SECURITY_VIOLATION = "1022";
+ static public final String DECLINE_EXCEEDS_WITHDRAWAL_FREQUENCY_LIMIT =
"1023";
+ static public final String DECLINE_VIOLATION_OF_LAW = "1024";
+ static public final String DECLINE_CARD_NOT_EFFECTIVE = "1025";
+ static public final String DECLINE_INVALID_PIN_BLOCK = "1026";
+ static public final String DECLINE_PIN_LENGTH_ERROR = "1027";
+ static public final String DECLINE_PIN_KEY_SYNC_ERROR = "1028";
+ static public final String DECLINE_SUSPECTED_COUNTERFEIT_CARD = "1029";
+ static public final String DECLINE_CURRENCY_UNACCEPTABLE_TO_CARD_ISSUER
= "1030";
+ static public final String DECLINE_NOT_AUTHORISED_AND_FEES_DISPUTED =
"1031";
+ static public final String DECLINE_LOST_STOLEN_CARD = "1032";
+ static public final String DECLINE_AUTHORIZATION_LIFECYCLE_UNACCEPTABLE
= "1033";
+ static public final String DECLINE_AUTHORIZATION_LIFECYCLE_HAS_EXPIRED =
"1034";
+ static public final String DECLINE_CLOSED_ACCOUNT = "1035";
+ static public final String
DECLINE_CLOSED_SAVINGS_ACCOUNT_OR_RESTRICTED_FOR_CLOSING = "1036";
+ static public final String
DECLINE_CLOSED_CREDIT_ACCOUNT_OR_RESTRICTED_FOR_CLOSING = "1037";
+ static public final String
DECLINE_CLOSED_CREDIT_FACILITY_OR_RESTRICTED_FOR_CLOSING = "1038";
+ static public final String
DECLINE_CLOSED_CHEQUE_ACCOUNT_OR_RESTRICTED_FOR_CLOSING = "1039";
+ static public final String DECLINE_BAD_DEBT = "1040";
+ static public final String DECLINE_FROM_ACCOUNT_BAD_STATUS = "1041";
+ static public final String DECLINE_TO_ACCOUNT_BAD_STATUS = "1042";
+ static public final String DECLINE_CHEQUE_ALREADY_POSTED = "1043";
+ static public final String DECLINE_INFORMATION_NOT_ON_FILE = "1044";
+ static public final String DECLINE_CARD_VERIFICATION_DATA_FAILED =
"1045";
+ static public final String DECLINE_AMOUNT_NOT_FOUND = "1046";
+ static public final String DECLINE_PIN_CHANGE_REQUIRED = "1047";
+ static public final String DECLINE_NEW_PIN_INVALID = "1048";
+ static public final String DECLINE_BANK_NOT_FOUND = "1049";
+ static public final String DECLINE_BANK_NOT_EFFECTIVE = "1050";
+ static public final String DECLINE_CUSTOMER_VENDOR_NOT_FOUND = "1051";
+ static public final String DECLINE_CUSTOMER_VENDOR_NOT_EFFECTIVE =
"1052";
+ static public final String DECLINE_CUSTOMER_VENDOR_ACCOUNT_INVALID =
"1053";
+ static public final String DECLINE_VENDOR_NOT_FOUND = "1054";
+ static public final String DECLINE_VENDOR_NOT_EFFECTIVE = "1055";
+ static public final String DECLINE_VENDOR_DATA_INVALID = "1056";
+ static public final String DECLINE_PAYMENT_DATE_INVALID = "1057";
+ static public final String DECLINE_PERSONAL_IDENTIFICATION_NOT_FOUND =
"1058";
+ static public final String DECLINE_SCHEDULED_TRANSACTIONS_EXISTS =
"1059";
+ static public final String
DECLINE_TRANSACTION_DID_NOT_COMPLETE_NORMALLY_AT_TERMINAL = "1060";
+ static public final String
DECLINE_TRANSACTION_NOT_SUPPORTED_BY_THE_CARD_ISSUER = "1061";
+ static public final String DECLINE_CASHBACK_NOT_ALLOWED = "1062";
+ static public final String DECLINE_CASHBACK_AMOUNT_EXCEEDED = "1063";
+ static public final String
DECLINE_DECLINED__TRANSACTION_PROCESSED_OFFLINE_BY_TERMINAL = "1064";
+ static public final String
DECLINE_DECLINED__TERMINAL_UNABLE_TO_PROCESS_OFFLINE = "1065";
+ static public final String
DECLINE_DECLINED__TRANSACTION_PROCESSED_OFFLINE_AFTER_REFERAL = "1066";
+ static public final String DECLINE_IDENTIFICATION_NUMBER_INVALID =
"1068";
+ static public final String DECLINE_DRIVER_NUMBER_INVALID = "1069";
+ static public final String DECLINE_VEHICLE_NUMBER_INVALID = "1070";
+ static public final String DECLINE_DIGITAL_CERTIFICATE_EXPIRED = "1071";
+
+ static public final String RETAIN_DO_NOT_HONOUR = "2000";
+ static public final String RETAIN_EXPIRED_CARD = "2001";
+ static public final String RETAIN_SUSPECTED_FRAUD = "2002";
+ static public final String RETAIN_CARD_ACCEPTOR_CONTACT_ACQUIRER =
"2003";
+ static public final String RETAIN_RESTRICTED_CARD = "2004";
+ static public final String
RETAIN_CARD_ACCEPTOR_CALL_ACQUIRERS_SECURITY_DEPARTMENT = "2005";
+ static public final String RETAIN_ALLOWABLE_PIN_TRIES_EXCEEDED = "2006";
+ static public final String RETAIN_SPECIAL_CONDITIONS = "2007";
+ static public final String RETAIN_LOST_CARD = "2008";
+ static public final String RETAIN_STOLEN_CARD = "2009";
+ static public final String RETAIN_SUSPECTED_COUNTERFEIT_CARD = "2010";
+ static public final String RETAIN_DAILY_WITHDRAWAL_USES_EXCEEDED =
"2011";
+ static public final String RETAIN_DAILY_WITHDRAWAL_FREQUENCY_EXCEEDED =
"2012";
+
+ static public final String FILE_SUCCESSFUL = "3000";
+ static public final String FILE_NOT_SUPPORTED_BY_RECEIVER = "3001";
+ static public final String FILE_UNABLE_TO_LOCATE_RECORD_ON_FILE = "3002";
+ static public final String FILE_DUPLICATE_RECORD__OLD_RECORD_REPLACED =
"3003";
+ static public final String FILE_FIELD_EDIT_ERROR = "3004";
+ static public final String FILE_FILE_LOCKED_OUT = "3005";
+ static public final String FILE_NOT_SUCCESSFUL = "3006";
+ static public final String FILE_FORMAT_ERROR = "3007";
+ static public final String FILE_DUPLICATE__NEW_RECORD_REJECTED = "3008";
+ static public final String FILE_UNKNOWN_FILE = "3009";
+ static public final String FILE_INVALID_CARD_CARDHOLDER_NUMBER = "3010";
+
+ static public final String CHARGEBACK_ACCEPTED = "4000";
+
+ static public final String RECONCILIATION__IN_BALANCE = "5000";
+ static public final String RECONCILIATION__OUT_OF_BALANCE = "5001";
+ static public final String
RECONCILIATION_AMOUNT_NOT_RECONCILED__TOTALS_PROVIDED = "5002";
+ static public final String RECONCILIATION_TOTALS_NOT_AVAILABLE = "5003";
+ static public final String
RECONCILIATION_NOT_RECONCILED__TOTALS_PROVIDED = "5004";
+
+ static public final String ADMINISTRATION_ACCEPTED = "6000";
+
+ static public final String FEE_COLLECTION_ACCEPTED = "7000";
+
+ static public final String NETWORK_ACCEPTED = "8000";
+ static public final String
NETWORK_REJECTED__UNABLE_TO_PERFORM_REQUEST_AT_CURRENT_TIME = "8001";
+ static public final String NETWORK_REJECTED__KEY_VERIFICATION_FAILED =
"8002";
+
+ static public final String
RESPONSE_ADVICE_ACKNOWLEDGED__NO_FINANCIAL_LIABILITY_ACCEPTED = "9000";
+ static public final String
RESPONSE_ADVICE_ACKNOWLEDGED__FINANCIAL_LIABILITY_ACCEPTED = "9001";
+
+ static public final String RESPONSE_ONE_OR_MORE_DATA_ELEMENT_ERRORS =
"9100";
+ static public final String RESPONSE_INVALID_TRANSACTION = "9102";
+ static public final String RESPONSE_RE_ENTER_TRANSACTION = "9103";
+ static public final String RESPONSE_ACQUIRER_NOT_SUPPORTED_BY_SWITCH =
"9105";
+ static public final String RESPONSE_CUTOVER_IN_PROCESS = "9106";
+ static public final String RESPONSE_CARD_ISSUER_OR_SWITCH_INOPERATIVE =
"9107";
+ static public final String
RESPONSE_TRANSACTION_DESTINATION_CANNOT_BE_FOUND_FOR_ROUTING = "9108";
+ static public final String RESPONSE_SYSTEM_MALFUNCTION = "9109";
+ static public final String RESPONSE_CARD_ISSUER_SIGNED_OFF = "9110";
+ static public final String RESPONSE_CARD_ISSUER_TIMED_OUT = "9111";
+ static public final String RESPONSE_CARD_ISSUER_UNAVAILABLE = "9112";
+ static public final String RESPONSE_DUPLICATE_TRANSMISSION = "9113";
+ static public final String
RESPONSE_NOT_ABLE_TO_TRACE_BACK_TO_ORIGINAL_TRANSACTION = "9114";
+ static public final String
RESPONSE_RECONCILIATION_CUTOVER_OR_CHECKPOINT_ERROR = "9115";
+ static public final String RESPONSE_MAC_INCORRECT = "9116";
+ static public final String RESPONSE_MAC_KEY_SYNC_ERROR = "9117";
+ static public final String
RESPONSE_NO_COMMUNICATION_KEYS_AVAILABLE_FOR_USE = "9118";
+ static public final String RESPONSE_ENCRYPTION_KEY_SYNC_ERROR = "9119";
+ static public final String
RESPONSE_SECURITY_SOFTWARE_HARDWARE_ERROR__TRY_AGAIN = "9120";
+ static public final String
RESPONSE_SECURITY_SOFTWARE_HARDWARE_ERROR__NO_ACTION = "9121";
+ static public final String RESPONSE_MESSAGE_NUMBER_OUT_OF_SEQUENCE =
"9122";
+ static public final String RESPONSE_REQUEST_IN_PROCESS = "9123";
+ static public final String RESPONSE_INVALID_SECURITY_CODE = "9124";
+ static public final String RESPONSE_DATABASE_ERROR = "9125";
+ static public final String RESPONSE_CUSTOMER_VENDOR_FORMAT_ERROR =
"9128";
+ static public final String RESPONSE_RECURRING_DATA_ERROR = "9132";
+ static public final String RESPONSE_UPDATE_NOT_ALLOWED = "9133";
+
+ static public final String RESPONSE_VIOLATION_OF_BUSINESS_ARRANGEMENT =
"9350";
+ static public final String RESPONSE_OTHER_ERRORS = "9999";
+
+
/** The ISO8583 bit number */
static private int ISO8583_BIT_NUMBER = 39;

@@ -70,4 +238,16 @@
{
return ISO8583_BIT_NUMBER;
}
+
+ public boolean shouldCardBeRetained()
+ {
+ char ch = get().charAt(0);
+ return ch == '2';
+ }
+
+ public String getActionMessage( Locale locale )
+ {
+ ResourceBundle bundle = ResourceBundle.getBundle(
ActionCode.class.getName(), locale );
+ return bundle.getString( get() );
+ }
}

Added:
development/laboratory/users/niclas/iso8583/elements/src/main/net/dpml/iso8583/data/elements/ActionCode.properties
==============================================================================
--- (empty file)
+++
development/laboratory/users/niclas/iso8583/elements/src/main/net/dpml/iso8583/data/elements/ActionCode.properties
Tue Apr 26 19:47:52 2005
@@ -0,0 +1,162 @@
+0000 = Approved
+0001 = Honour with identification
+0002 = Approved for partial amount
+0003 = Approved, (VIP)
+0004 = Approved, update track 3
+0005 = Approved, account type specified by card issuer
+0006 = Approved for partial amount, account type specified by card issuer
+
+0008 = Approved but fees disputed
+0009 = Approved with overdraft
+0010 = Approved, customer reactivated
+0011 = Approved, terminal unable to process online
+0012 = Approved, transaction processed offline by terminal
+0013 = Approved, transaction processed offline after referal
+
+1000 = Do not honour
+1001 = Expired card
+1002 = Suspected fraud
+1003 = Card acceptor contact acquirer
+1004 = Restricted card
+1005 = Card acceptor call acquirers security department
+1006 = Allowable pin tries exceeded
+1007 = Refer to card issuer
+1008 = Refer to card isuers special conditions
+1009 = Invalid card acceptor
+1010 = Invalid amount
+1011 = Invalid card number
+1012 = Pin data required
+1013 = Unacceptable fee
+1014 = No account of type requested
+1015 = Requested function not supported
+1016 = Not sufficient funds
+1017 = Incorrect pin
+1018 = No card record
+1019 = Transaction not permitted to cardholder
+1020 = Transaction not permitted to terminal
+1021 = Exceeds withdrawal amount limit
+1022 = Security violation
+1023 = Exceeds withdrawal frequency limit
+1024 = Violation of law
+1025 = Card not effective
+1026 = Invalid pin block
+1027 = Pin length error
+1028 = Pin key sync error
+1029 = Suspected counterfeit card
+1030 = Currency unacceptable to card issuer
+1031 = Not authorised and fees disputed
+1032 = Lost stolen card
+1033 = Authorization lifecycle unacceptable
+1034 = Authorization lifecycle has expired
+1035 = Closed account
+1036 = Closed savings account or restricted for closing
+1037 = Closed credit account or restricted for closing
+1038 = Closed credit facility or restricted for closing
+1039 = Closed cheque account or restricted for closing
+1040 = Bad debt
+1041 = From account bad status
+1042 = To account bad status
+1043 = Cheque already posted
+1044 = Information not on file
+1045 = Card verification data failed
+1046 = Amount not found
+1047 = Pin change required
+1048 = New pin invalid
+1049 = Bank not found
+1050 = Bank not effective
+1051 = Customer vendor not found
+1052 = Customer vendor not effective
+1053 = Customer vendor account invalid
+1054 = Vendor not found
+1055 = Vendor not effective
+1056 = Vendor data invalid
+1057 = Payment date invalid
+1058 = Personal identification not found
+1059 = Scheduled transactions exists
+1060 = Transaction did not complete normally at terminal
+1061 = Transaction not supported by the card issuer
+1062 = Cashback not allowed
+1063 = Cashback amount exceeded
+1064 = Declined, transaction processed offline by terminal
+1065 = Declined, terminal unable to process offline
+1066 = Declined, transaction processed offline after referal
+1068 = Identification number invalid
+1069 = Driver number invalid
+1070 = Vehicle number invalid
+1071 = Digital certificate expired
+
+2000 = Do not honour
+2001 = Expired card
+2002 = Suspected fraud
+2003 = Card acceptor contact acquirer
+2004 = Restricted card
+2005 = Card acceptor call acquirers security department
+2006 = Allowable pin tries exceeded
+2007 = Special conditions
+2008 = Lost card
+2009 = Stolen card
+2010 = Suspected counterfeit card
+2011 = Daily withdrawal uses exceeded
+2012 = Daily withdrawal frequency exceeded
+
+3000 = Successful
+3001 = Not supported by receiver
+3002 = Unable to locate record on file
+3003 = Duplicate record, old record replaced
+3004 = Field edit error
+3005 = File locked out
+3006 = Not successful
+3007 = Format error
+3008 = Duplicate, new record rejected
+3009 = Unknown file
+3010 = Invalid card cardholder number
+
+4000 = Accepted
+
+5000 = Reconciled, in balance
+5001 = Reconciled, out of balance
+5002 = Amount not reconciled, totals provided
+5003 = Totals not available
+5004 = Not reconciled, totals provided
+
+6000 = Accepted
+
+7000 = Accepted
+
+8000 = Accepted
+8001 = Rejected, unable to perform request at current time
+8002 = Rejected, key verification failed
+
+9000 = Advice acknowledged, no financial liability accepted
+9001 = Advice acknowledged, financial liability accepted
+
+9100 = One or more data element errors
+9102 = Invalid transaction
+9103 = Re enter transaction
+9105 = Acquirer not supported by switch
+9106 = Cutover in process
+9107 = Card issuer or switch inoperative
+9108 = Transaction destination cannot be found for routing
+9109 = System malfunction
+9110 = Card issuer signed off
+9111 = Card issuer timed out
+9112 = Card issuer unavailable
+9113 = Duplicate transmission
+9114 = Not able to trace back to original transaction
+9115 = Reconciliation cutover or checkpoint error
+9116 = Mac incorrect
+9117 = Mac key sync error
+9118 = No communication keys available for use
+9119 = Encryption key sync error
+9120 = Security software hardware error, try again
+9121 = Security software hardware error, no action
+9122 = Message number out of sequence
+9123 = Request in process
+9124 = Invalid security code
+9125 = Database error
+9128 = Customer vendor format error
+9132 = Recurring data error
+9133 = Update not allowed
+
+9350 = Violation of business arrangement
+9999 = Other errors

Modified:
development/laboratory/users/niclas/iso8583/elements/src/test/net/dpml/iso8583/test/data/elements/AbstractDataElementTestCase.java
==============================================================================
---
development/laboratory/users/niclas/iso8583/elements/src/test/net/dpml/iso8583/test/data/elements/AbstractDataElementTestCase.java
(original)
+++
development/laboratory/users/niclas/iso8583/elements/src/test/net/dpml/iso8583/test/data/elements/AbstractDataElementTestCase.java
Tue Apr 26 19:47:52 2005
@@ -3,12 +3,15 @@
import junit.framework.TestCase;
import net.dpml.iso8583.data.DataElement;
import net.dpml.iso8583.data.Representation;
+import net.dpml.iso8583.data.ISOMessage;
+import net.dpml.iso8583.data.NoSuchDataElementException;
+import net.dpml.iso8583.data.ISOException;
import net.dpml.iso8583.data.elements.AbstractDataElement;
import net.dpml.iso8583.data.representation.N;
import net.dpml.logging.Logger;
import net.dpml.iso8583.test.data.TestLogger;
-import org.jpos.iso.ISOException;
-import org.jpos.iso.ISOMsg;
+
+import java.util.HashMap;

public class AbstractDataElementTestCase
extends TestCase
@@ -16,7 +19,7 @@

private TestDataElement m_element1;
private TestDataElement m_element2;
- private ISOMsg m_msg;
+ private ISOMessage m_msg;

public void setUp()
throws Exception
@@ -25,8 +28,7 @@
m_element1 = new TestDataElement( logger );
logger = new TestLogger( System.out, TestLogger.LEVEL_INFO );
m_element2 = new TestDataElement( logger );
- m_msg = new ISOMsg();
- m_msg.set( 0, "1804");
+ m_msg = new TestISOMessage( "1804" );
}

public void testRepresentation()
@@ -106,4 +108,53 @@
return 55;
}
}
+
+ private class TestISOMessage
+ implements ISOMessage
+ {
+ private HashMap m_fields;
+ private String m_mti;
+
+ public TestISOMessage( String mti )
+ {
+ m_fields = new HashMap();
+ m_mti = mti;
+ }
+
+ public String getMtiNumber()
+ throws ISOException
+ {
+ return m_mti;
+ }
+
+ public void set( int field, byte[] data )
+ {
+ Integer fieldNumber = new Integer( field );
+ m_fields.put( fieldNumber, data );
+ }
+
+ public String getString( int field )
+ throws NoSuchDataElementException
+ {
+ Integer fieldNumber = new Integer( field );
+ byte[] array = (byte[]) m_fields.get( fieldNumber );
+ String str = new String( array );
+ return str;
+ }
+
+ public byte[] getData( int field )
+ {
+ Integer fieldNumber = new Integer( field );
+ byte[] array = (byte[]) m_fields.get( fieldNumber );
+ return array;
+ }
+
+ public boolean hasField( int field )
+ {
+ Integer fieldNumber = new Integer( field );
+ byte[] array = (byte[]) m_fields.get( fieldNumber );
+ return array != null;
+ }
+ }
+
}

Modified: development/laboratory/users/niclas/iso8583/index.xml
==============================================================================
--- development/laboratory/users/niclas/iso8583/index.xml (original)
+++ development/laboratory/users/niclas/iso8583/index.xml Tue Apr 26
19:47:52 2005
@@ -31,7 +31,7 @@
<project basedir="api" >
<info>
<name>dpml-iso8583-api</name>
- <group>dpml/iso8583/api</group>
+ <group>dpml/planet/iso8583/api</group>
<version>1.0</version>
</info>
<dependencies>
@@ -47,10 +47,25 @@
</plugins>
</project>

+ <project basedir="authorization" >
+ <info>
+ <name>dpml-iso8583-authorization</name>
+ <group>dpml/planet/iso8583/authorization</group>
+ <version>1.0</version>
+ </info>
+ <dependencies>
+ <include key="jpos" />
+ <include key="dpml-iso8583-api" />
+ </dependencies>
+ <plugins>
+ <include key="dpml-meta-tools" />
+ </plugins>
+ </project>
+
<project basedir="elements" >
<info>
<name>dpml-iso8583-elements</name>
- <group>dpml/iso8583/elements</group>
+ <group>dpml/planet/iso8583/elements</group>
<version>1.0</version>
</info>
<dependencies>
@@ -74,7 +89,7 @@
<project basedir="channels" >
<info>
<name>dpml-iso8583-channels</name>
- <group>dpml/iso8583/channels</group>
+ <group>dpml/planet/iso8583/channels</group>
<version>1.0</version>
</info>
<dependencies>
@@ -91,10 +106,27 @@
</plugins>
</project>

+ <project basedir="mti" >
+ <info>
+ <name>dpml-iso8583-mti</name>
+ <group>dpml/planet/iso8583/mti</group>
+ <version>1.0</version>
+ </info>
+ <dependencies>
+ <include key="jpos" />
+ <include key="dpml-iso8583-api" />
+ <include key="dpml-iso8583-elements" />
+ <include key="dpml-service-api" />
+ </dependencies>
+ <plugins>
+ <include key="dpml-meta-tools" />
+ </plugins>
+ </project>
+
<project basedir="packaging" >
<info>
<name>dpml-iso8583-packaging</name>
- <group>dpml/iso8583/packaging</group>
+ <group>dpml/planet/iso8583/packaging</group>
<version>1.0</version>
</info>
<dependencies>

Modified: development/laboratory/users/niclas/iso8583/iso8583.ipr
==============================================================================
--- development/laboratory/users/niclas/iso8583/iso8583.ipr (original)
+++ development/laboratory/users/niclas/iso8583/iso8583.ipr Tue Apr 26
19:47:52 2005
@@ -187,8 +187,10 @@
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/api/api.iml"
filepath="$PROJECT_DIR$/api/api.iml" />
+ <module fileurl="file://$PROJECT_DIR$/authorization/authorization.iml"
filepath="$PROJECT_DIR$/authorization/authorization.iml" />
<module fileurl="file://$PROJECT_DIR$/channels/channels.iml"
filepath="$PROJECT_DIR$/channels/channels.iml" />
<module fileurl="file://$PROJECT_DIR$/elements/elements.iml"
filepath="$PROJECT_DIR$/elements/elements.iml" />
+ <module fileurl="file://$PROJECT_DIR$/mti/mti.iml"
filepath="$PROJECT_DIR$/mti/mti.iml" />
<module fileurl="file://$PROJECT_DIR$/packaging/packaging.iml"
filepath="$PROJECT_DIR$/packaging/packaging.iml" />
</modules>
</component>
@@ -203,7 +205,7 @@
<component name="libraryTable">
<library name="JPos">
<CLASSES>
- <root
url="jar:///home/gondor/.dpml/data/cache/jpos/jars/jpos-1.4.9.jar!/" />
+ <root url="jar://$MAGIC_CACHE$/jpos/jars/jpos-1.4.9.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />

Modified: development/laboratory/users/niclas/iso8583/iso8583.iws
==============================================================================
--- development/laboratory/users/niclas/iso8583/iso8583.iws (original)
+++ development/laboratory/users/niclas/iso8583/iso8583.iws Tue Apr 26
19:47:52 2005
@@ -146,37 +146,95 @@
<option name="HIDE_WARNINGS" value="false" />
</component>
<component name="FileEditorManager" split-orientation="vertical"
split-proportion="0.5">
- <first-group
selected-file="file:///home/gondor/dev/dpml/development/main/magic/core/src/main/net/dpml/magic/tasks/JUnitTestTask.java">
- <entry
file="file:///home/gondor/dev/dpml/development/main/magic/core/src/main/net/dpml/magic/tasks/JUnitTestTask.java"
pinned="false">
+ <first-group
selected-file="file://$PROJECT_DIR$/mti/src/main/net/dpml/iso8583/data/mti/Mti150.java">
+ <entry
file="file://$PROJECT_DIR$/mti/src/main/net/dpml/iso8583/data/mti/Mti121.java"
pinned="false">
<provider selected="true" editor-type-id="text-editor">
- <state line="378" column="26" selection-start="13616"
selection-end="13616" vertical-scroll-proportion="0.41794872">
- <folding />
+ <state line="118" column="39" selection-start="6164"
selection-end="6164" vertical-scroll-proportion="0.26136363">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/elements/src/test/net/dpml/iso8583/test/data/elements/AccountIdentification1TestCase.java"
pinned="false">
+ <entry
file="file://$PROJECT_DIR$/mti/src/main/net/dpml/iso8583/data/mti/Mti130.java"
pinned="false">
<provider selected="true" editor-type-id="text-editor">
- <state line="46" column="72" selection-start="1654"
selection-end="1654" vertical-scroll-proportion="0.8666667">
+ <state line="102" column="38" selection-start="5053"
selection-end="5053" vertical-scroll-proportion="0.41287878">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/elements/src/main/net/dpml/iso8583/data/elements/AccountIdentification1.java"
pinned="false">
+ <entry
file="file://$PROJECT_DIR$/mti/src/main/net/dpml/iso8583/data/mti/Mti140.java"
pinned="false">
<provider selected="true" editor-type-id="text-editor">
- <state line="36" column="13" selection-start="1223"
selection-end="1223" vertical-scroll-proportion="0.2">
- <folding />
+ <state line="126" column="39" selection-start="6768"
selection-end="6768" vertical-scroll-proportion="1.0378788">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ <entry
file="file://$PROJECT_DIR$/mti/src/main/net/dpml/iso8583/data/mti/Mti150.java"
pinned="false">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="70" column="39" selection-start="2596"
selection-end="2596" vertical-scroll-proportion="0.6969697">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ <entry
file="file://$PROJECT_DIR$/mti/src/main/net/dpml/iso8583/data/mti/Mti120.java"
pinned="false">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="60" column="13" selection-start="2812"
selection-end="2812" vertical-scroll-proportion="-0.1590909">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ <entry
file="file://$PROJECT_DIR$/authorization/src/main/net/dpml/iso8583/authorization/impl/DefaultAuthorization.java"
pinned="false">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="79" column="27" selection-start="3277"
selection-end="3277" vertical-scroll-proportion="0.6969697">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ <entry
file="file://$PROJECT_DIR$/mti/src/main/net/dpml/iso8583/data/mti/Mti100.java"
pinned="false">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="112" column="27" selection-start="5712"
selection-end="5712" vertical-scroll-proportion="1.1136364">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/elements/src/main/net/dpml/iso8583/data/elements/AbstractDataElement.java"
pinned="false">
+ <entry
file="file://$PROJECT_DIR$/api/src/main/net/dpml/iso8583/data/MTI.java"
pinned="false">
<provider selected="true" editor-type-id="text-editor">
- <state line="27" column="22" selection-start="938"
selection-end="938" vertical-scroll-proportion="0.07421384">
+ <state line="25" column="15" selection-start="761"
selection-end="761" vertical-scroll-proportion="0.17045455">
<folding />
</state>
</provider>
</entry>
+ <entry
file="file://$PROJECT_DIR$/mti/src/main/net/dpml/iso8583/data/mti/Mti101.java"
pinned="false">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="114" column="39" selection-start="5828"
selection-end="5828" vertical-scroll-proportion="1.3598485">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ <entry
file="file://$PROJECT_DIR$/mti/src/main/net/dpml/iso8583/data/mti/Mti110.java"
pinned="false">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="106" column="39" selection-start="5392"
selection-end="5392" vertical-scroll-proportion="0.65909094">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
</first-group>
<second-group />
</component>
@@ -191,8 +249,19 @@
<profile name="Default" />
</component>
<component name="J2EEProjectPane" />
+ <component name="JetStyle.JetStylePlugin">
+ <jetstyle-conf>
+ <checkstyle-configuration
url="/home/gondor/dev/dpml/development/main/magic/core/etc/deliverables/formats/dpml.format"
/>
+ </jetstyle-conf>
+ </component>
<component name="NamedScopeManager" />
- <component name="PackagesPane" />
+ <component name="PackagesPane">
+ <expanded_node url="net.dpml.iso8583.authorization" module="api"
type="package" />
+ <expanded_node url="" module="mti" type="module" />
+ <expanded_node url="net.dpml.iso8583.data.mti" module="mti"
type="package" />
+ <expanded_node url="net.dpml.iso8583.channels" module="api"
type="package" />
+ <expanded_node url="" module="api" type="module" />
+ </component>
<component name="ProjectPane">
<expanded_node url="file://$PROJECT_DIR$/elements" module="elements"
type="directory" />
<expanded_node url="" module="elements" type="module" />
@@ -236,6 +305,23 @@
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Run" />
</tempConfiguration>
+ <configuration selected="false" default="true" type="Remote"
factoryName="Remote">
+ <option name="USE_SOCKET_TRANSPORT" value="true" />
+ <option name="SERVER_MODE" value="false" />
+ <option name="SHMEM_ADDRESS" value="javadebug" />
+ <option name="HOST" value="localhost" />
+ <option name="PORT" value="5005" />
+ </configuration>
+ <configuration selected="false" default="true" type="Applet"
factoryName="Applet">
+ <module name="" />
+ <option name="MAIN_CLASS_NAME" />
+ <option name="HTML_FILE_NAME" />
+ <option name="HTML_USED" value="false" />
+ <option name="WIDTH" value="400" />
+ <option name="HEIGHT" value="300" />
+ <option name="POLICY_FILE"
value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
+ <option name="VM_PARAMETERS" />
+ </configuration>
<configuration selected="false" default="true" type="Application"
factoryName="Application">
<option name="MAIN_CLASS_NAME" />
<option name="VM_PARAMETERS" />
@@ -257,23 +343,6 @@
<value defaultName="wholeProject" />
</option>
</configuration>
- <configuration selected="false" default="true" type="Remote"
factoryName="Remote">
- <option name="USE_SOCKET_TRANSPORT" value="true" />
- <option name="SERVER_MODE" value="false" />
- <option name="SHMEM_ADDRESS" value="javadebug" />
- <option name="HOST" value="localhost" />
- <option name="PORT" value="5005" />
- </configuration>
- <configuration selected="false" default="true" type="Applet"
factoryName="Applet">
- <module name="" />
- <option name="MAIN_CLASS_NAME" />
- <option name="HTML_FILE_NAME" />
- <option name="HTML_USED" value="false" />
- <option name="WIDTH" value="400" />
- <option name="HEIGHT" value="300" />
- <option name="POLICY_FILE"
value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
- <option name="VM_PARAMETERS" />
- </configuration>
</component>
<component name="SelectInManager" />
<component name="StarteamConfiguration">
@@ -324,26 +393,28 @@
<frame x="-4" y="-6" width="1288" height="987" extended-state="6" />
<editor active="false" />
<layout>
+ <window_info id="CheckStyle" active="false" anchor="bottom"
auto_hide="false" internal_type="docked" type="docked" visible="false"
weight="0.3302217" order="-1" />
<window_info id="CVS" active="false" anchor="bottom" auto_hide="false"
internal_type="docked" type="docked" visible="false" weight="0.33" order="8"
/>
+ <window_info id="XPTask View" active="false" anchor="right"
auto_hide="false" internal_type="docked" type="docked" visible="false"
weight="0.32980457" order="-1" />
<window_info id="TODO" active="false" anchor="bottom"
auto_hide="false" internal_type="docked" type="docked" visible="false"
weight="0.33" order="7" />
- <window_info id="Project" active="true" anchor="left"
auto_hide="false" internal_type="docked" type="docked" visible="true"
weight="0.27272728" order="0" />
- <window_info id="Find" active="false" anchor="bottom"
auto_hide="false" internal_type="docked" type="docked" visible="false"
weight="0.33023256" order="1" />
+ <window_info id="SvgViewer" active="false" anchor="right"
auto_hide="false" internal_type="docked" type="docked" visible="false"
weight="0.33028287" order="3" />
+ <window_info id="Project" active="true" anchor="left"
auto_hide="false" internal_type="docked" type="docked" visible="true"
weight="0.25" order="0" />
+ <window_info id="Find" active="false" anchor="bottom"
auto_hide="false" internal_type="docked" type="docked" visible="false"
weight="0.3302217" order="1" />
<window_info id="Structure" active="false" anchor="left"
auto_hide="false" internal_type="docked" type="docked" visible="false"
weight="0.24958402" order="1" />
- <window_info id="Messages" active="false" anchor="bottom"
auto_hide="false" internal_type="docked" type="docked" visible="false"
weight="0.25411764" order="8" />
+ <window_info id="Messages" active="false" anchor="bottom"
auto_hide="false" internal_type="docked" type="docked" visible="false"
weight="0.25437573" order="8" />
<window_info id="Inspection" active="false" anchor="bottom"
auto_hide="false" internal_type="docked" type="docked" visible="false"
weight="0.4" order="6" />
<window_info id="Dependency Viewer" active="false" anchor="bottom"
auto_hide="false" internal_type="docked" type="docked" visible="false"
weight="0.33" order="8" />
<window_info id="Ant Build" active="false" anchor="right"
auto_hide="false" internal_type="docked" type="docked" visible="false"
weight="0.24958402" order="1" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false"
internal_type="docked" type="docked" visible="false" weight="0.33058822"
order="2" />
<window_info id="Hierarchy" active="false" anchor="right"
auto_hide="false" internal_type="docked" type="docked" visible="false"
weight="0.25" order="2" />
- <window_info id="Debug" active="false" anchor="bottom"
auto_hide="false" internal_type="docked" type="docked" visible="false"
weight="0.4" order="4" />
+ <window_info id="Clover" active="false" anchor="left"
auto_hide="false" internal_type="docked" type="docked" visible="false"
weight="0.30199668" order="3" />
<window_info id="Commander" active="false" anchor="right"
auto_hide="false" internal_type="sliding" type="sliding" visible="false"
weight="0.4" order="0" />
+ <window_info id="Debug" active="false" anchor="bottom"
auto_hide="false" internal_type="docked" type="docked" visible="false"
weight="0.4" order="4" />
+ <window_info id="simpleUML" active="false" anchor="left"
auto_hide="false" internal_type="docked" type="docked" visible="false"
weight="0.3294509" order="3" />
<window_info id="Web" active="false" anchor="left" auto_hide="false"
internal_type="docked" type="docked" visible="false" weight="0.25" order="2"
/>
<window_info id="Message" active="false" anchor="bottom"
auto_hide="false" internal_type="docked" type="docked" visible="false"
weight="0.33" order="0" />
- <window_info id="SvgViewer" active="false" anchor="right"
auto_hide="false" internal_type="docked" type="docked" visible="false"
weight="0.33028287" order="3" />
<window_info id="EJB" active="false" anchor="bottom" auto_hide="false"
internal_type="docked" type="docked" visible="false" weight="0.25" order="3"
/>
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false"
internal_type="docked" type="docked" visible="false" weight="0.25" order="5"
/>
- <window_info id="Clover" active="false" anchor="left"
auto_hide="false" internal_type="docked" type="docked" visible="false"
weight="0.30199668" order="3" />
- <window_info id="simpleUML" active="false" anchor="left"
auto_hide="false" internal_type="docked" type="docked" visible="false"
weight="0.3294509" order="3" />
</layout>
</component>
<component name="VCS.FileViewConfiguration">
@@ -414,112 +485,130 @@
<option name="FILTER_TARGETS" value="false" />
</component>
<component name="editorHistoryManager">
- <entry
file="file://$PROJECT_DIR$/elements/src/test/net/dpml/iso8583/test/data/elements/TransactionSpecificDataTestCase.java">
+ <entry
file="file://$PROJECT_DIR$/elements/src/main/net/dpml/iso8583/data/elements/AbstractDataElement.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="13" column="13" selection-start="446"
selection-end="446" vertical-scroll-proportion="0.081190795">
- <folding />
+ <state line="162" column="68" selection-start="5822"
selection-end="5822" vertical-scroll-proportion="0.9172794">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/elements/src/main/net/dpml/iso8583/data/elements/TransactionSpecificData.java">
+ <entry
file="file://$PROJECT_DIR$/api/src/main/net/dpml/iso8583/data/ISOMessage.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="48" column="43" selection-start="1651"
selection-end="1651" vertical-scroll-proportion="0.6627907">
+ <state line="22" column="33" selection-start="562"
selection-end="563" vertical-scroll-proportion="0.58201057">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/elements/src/test/net/dpml/iso8583/test/data/elements/AmountsFeesTestCase.java">
+ <entry
file="file://$PROJECT_DIR$/api/src/main/net/dpml/iso8583/data/IsoMessageFactory.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="13" column="13" selection-start="433"
selection-end="433" vertical-scroll-proportion="0.08010681">
+ <state line="10" column="32" selection-start="297"
selection-end="297" vertical-scroll-proportion="0.26455027">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/elements/src/test/net/dpml/iso8583/test/data/elements/ActionCodeTestCase.java">
+ <entry
file="file://$PROJECT_DIR$/api/src/main/net/dpml/iso8583/data/IsoMessageImpl.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="26" column="31" selection-start="862"
selection-end="862" vertical-scroll-proportion="0.34045395">
+ <state line="44" column="44" selection-start="1064"
selection-end="1064" vertical-scroll-proportion="0.8271605">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/elements/src/test/net/dpml/iso8583/test/data/elements/AmountNetReconciliationTestCase.java">
+ <entry
file="file://$PROJECT_DIR$/elements/src/test/net/dpml/iso8583/test/data/elements/AbstractDataElementTestCase.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="13" column="13" selection-start="436"
selection-end="436" vertical-scroll-proportion="0.08010681">
- <folding />
+ <state line="120" column="24" selection-start="3078"
selection-end="3078" vertical-scroll-proportion="1.0864197">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/elements/src/test/net/dpml/iso8583/test/data/elements/ReceivingInstitutionIdentificationCodeTestCase.java">
+ <entry
file="file://$PROJECT_DIR$/mti/src/main/net/dpml/iso8583/data/mti/Mti150.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="13" column="13" selection-start="458"
selection-end="458" vertical-scroll-proportion="0.26034713">
- <folding />
+ <state line="70" column="39" selection-start="2596"
selection-end="2596" vertical-scroll-proportion="0.6969697">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/elements/src/main/net/dpml/iso8583/data/elements/ReceivingInstitutionIdentificationCode.java">
+ <entry
file="file://$PROJECT_DIR$/mti/src/main/net/dpml/iso8583/data/mti/Mti130.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="47" column="44" selection-start="1637"
selection-end="1637" vertical-scroll-proportion="0.5607477">
- <folding />
+ <state line="102" column="38" selection-start="5053"
selection-end="5053" vertical-scroll-proportion="0.41287878">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/packaging/src/main/net/dpml/iso8583/packaging/Base1Packager.java">
+ <entry
file="file://$PROJECT_DIR$/mti/src/main/net/dpml/iso8583/data/mti/Mti121.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="32" column="20" selection-start="996"
selection-end="996" vertical-scroll-proportion="0.32042724">
+ <state line="118" column="39" selection-start="6164"
selection-end="6164" vertical-scroll-proportion="0.26136363">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/elements/src/test/net/dpml/iso8583/test/data/elements/AccountIdentification2TestCase.java">
+ <entry
file="file://$PROJECT_DIR$/mti/src/main/net/dpml/iso8583/data/mti/Mti110.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="42" column="76" selection-start="1403"
selection-end="1403" vertical-scroll-proportion="0.66088116">
- <folding />
+ <state line="106" column="39" selection-start="5392"
selection-end="5392" vertical-scroll-proportion="0.65909094">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/elements/src/test/net/dpml/iso8583/test/data/elements/ExtendedPaymentDataTestCase.java">
+ <entry
file="file://$PROJECT_DIR$/mti/src/main/net/dpml/iso8583/data/mti/Mti101.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="39" column="60" selection-start="1274"
selection-end="1274" vertical-scroll-proportion="0.60080105">
- <folding />
+ <state line="114" column="39" selection-start="5828"
selection-end="5828" vertical-scroll-proportion="1.3598485">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/elements/src/test/net/dpml/iso8583/test/data/elements/AccountIdentification1TestCase.java">
+ <entry
file="file://$PROJECT_DIR$/authorization/src/main/net/dpml/iso8583/authorization/impl/DefaultAuthorization.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="46" column="72" selection-start="1654"
selection-end="1654" vertical-scroll-proportion="0.8666667">
+ <state line="79" column="27" selection-start="3277"
selection-end="3277" vertical-scroll-proportion="0.6969697">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/elements/src/main/net/dpml/iso8583/data/elements/AccountIdentification1.java">
+ <entry
file="file://$PROJECT_DIR$/mti/src/main/net/dpml/iso8583/data/mti/Mti120.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="36" column="13" selection-start="1223"
selection-end="1223" vertical-scroll-proportion="0.2">
- <folding />
+ <state line="60" column="13" selection-start="2812"
selection-end="2812" vertical-scroll-proportion="-0.1590909">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/elements/src/main/net/dpml/iso8583/data/elements/AbstractDataElement.java">
+ <entry
file="file://$PROJECT_DIR$/api/src/main/net/dpml/iso8583/data/MTI.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="27" column="22" selection-start="938"
selection-end="938" vertical-scroll-proportion="0.07421384">
+ <state line="25" column="15" selection-start="761"
selection-end="761" vertical-scroll-proportion="0.17045455">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/elements/src/main/net/dpml/iso8583/data/elements/AbstractConstructedDataElement.java">
+ <entry
file="file://$PROJECT_DIR$/mti/src/main/net/dpml/iso8583/data/mti/Mti100.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="26" column="22" selection-start="875"
selection-end="875" vertical-scroll-proportion="0.11320755">
- <folding />
+ <state line="112" column="27" selection-start="5712"
selection-end="5712" vertical-scroll-proportion="1.1136364">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
- <entry
file="file:///home/gondor/dev/dpml/development/main/magic/core/src/main/net/dpml/magic/tasks/JUnitTestTask.java">
+ <entry
file="file://$PROJECT_DIR$/mti/src/main/net/dpml/iso8583/data/mti/Mti140.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="378" column="26" selection-start="13616"
selection-end="13616" vertical-scroll-proportion="0.41794872">
- <folding />
+ <state line="126" column="39" selection-start="6768"
selection-end="6768" vertical-scroll-proportion="1.0378788">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
</entry>

Added: development/laboratory/users/niclas/iso8583/mti/build.xml
==============================================================================
--- (empty file)
+++ development/laboratory/users/niclas/iso8583/mti/build.xml Tue Apr 26
19:47:52 2005
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ Copyright 2005 Niclas Hedhman
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied.
+
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<project name="dpml-iso8583-mti" default="install" basedir="."
+ xmlns:transit="antlib:net.dpml.transit"
+>
+
+ <transit:import uri="artifact:template:dpml/magic/standard"/>
+</project>

Added: development/laboratory/users/niclas/iso8583/mti/mti.iml
==============================================================================
--- (empty file)
+++ development/laboratory/users/niclas/iso8583/mti/mti.iml Tue Apr 26
19:47:52 2005
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4" relativePaths="true" type="JAVA_MODULE">
+ <component name="ModuleRootManager" />
+ <component name="NewModuleRootManager">
+ <output url="file://$MODULE_DIR$/target/classes" />
+ <exclude-output />
+ <exclude-exploded />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/src/main" isTestSource="false"
/>
+ <sourceFolder url="file://$MODULE_DIR$/src/test" isTestSource="true" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="library" name="JPos" level="project" />
+ <orderEntry type="library" name="Metro Public" level="application" />
+ <orderEntry type="module" module-name="api" />
+ <orderEntry type="module" module-name="elements" />
+ <orderEntryProperties />
+ </component>
+</module>
+

Modified:
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti100.java
==============================================================================
---
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti100.java
(original)
+++
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti100.java
Tue Apr 26 19:47:52 2005
@@ -22,6 +22,8 @@
import net.dpml.iso8583.data.DataElementManager;
import net.dpml.iso8583.data.MTI;
import net.dpml.iso8583.data.NoSuchDataElementException;
+import net.dpml.iso8583.data.ISOMessage;
+import net.dpml.iso8583.data.ISOException;
import net.dpml.iso8583.data.elements.AcquiringInstitutionIdentificationCode;
import net.dpml.iso8583.data.elements.AmountTransaction;
import net.dpml.iso8583.data.elements.AmountsFees;
@@ -49,8 +51,6 @@
import net.dpml.iso8583.data.elements.TransactionLifeCycleIdentificationData;
import net.dpml.service.ServiceException;
import net.dpml.service.ServiceManager;
-import org.jpos.iso.ISOException;
-import org.jpos.iso.ISOMsg;

/**
* @metro.component name="Mti100" lifestyle="singleton"
@@ -76,11 +76,11 @@
m_dataElementManager = (DataElementManager) man.lookup(
"dataelement-manager" );
}

- public ISOMsg assemble()
+ public ISOMessage assemble()
throws ISOException, NoSuchDataElementException
{
String mti = MTI_NO;
- ISOMsg msg = new ISOMsg( mti );
+ ISOMessage msg = ISOMessage.factory.create( mti );
m_dataElementManager.lookup( PrimaryAccountNumber.class ).populate(
msg, true );
m_dataElementManager.lookup( ProcessingCode.class ).populate( msg,
true );
m_dataElementManager.lookup( AmountTransaction.class ).populate(
msg, true );
@@ -109,10 +109,10 @@
return msg;
}

- public boolean disassemble( ISOMsg msg )
+ public boolean disassemble( ISOMessage msg )
throws ISOException, NoSuchDataElementException,
DataElementAlreadyContainsValueException
{
- String mti = msg.getMTI();
+ String mti = msg.getMtiNumber();
if( MTI_NO.equals( mti ) == false )
return false;
m_dataElementManager.lookup( PrimaryAccountNumber.class ).extract(
msg);

Modified:
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti101.java
==============================================================================
---
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti101.java
(original)
+++
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti101.java
Tue Apr 26 19:47:52 2005
@@ -22,6 +22,8 @@
import net.dpml.iso8583.data.DataElementManager;
import net.dpml.iso8583.data.MTI;
import net.dpml.iso8583.data.NoSuchDataElementException;
+import net.dpml.iso8583.data.ISOMessage;
+import net.dpml.iso8583.data.ISOException;
import net.dpml.iso8583.data.elements.AcquiringInstitutionIdentificationCode;
import net.dpml.iso8583.data.elements.AmountTransaction;
import net.dpml.iso8583.data.elements.AmountsFees;
@@ -49,8 +51,6 @@
import net.dpml.iso8583.data.elements.TransactionLifeCycleIdentificationData;
import net.dpml.service.ServiceException;
import net.dpml.service.ServiceManager;
-import org.jpos.iso.ISOException;
-import org.jpos.iso.ISOMsg;

/**
* @metro.component name="Mti101" lifestyle="singleton"
@@ -76,11 +76,11 @@
m_dataElementManager = (DataElementManager) man.lookup(
"dataelement-manager" );
}

- public ISOMsg assemble()
+ public ISOMessage assemble()
throws ISOException, NoSuchDataElementException
{
String mti = MTI_NO;
- ISOMsg msg = new ISOMsg( mti );
+ ISOMessage msg = ISOMessage.factory.create( mti );
m_dataElementManager.lookup( PrimaryAccountNumber.class ).populate(
msg, true );
m_dataElementManager.lookup( ProcessingCode.class ).populate( msg,
true );
m_dataElementManager.lookup( AmountTransaction.class ).populate(
msg, true );
@@ -109,10 +109,10 @@
return msg;
}

- public boolean disassemble( ISOMsg msg )
+ public boolean disassemble( ISOMessage msg )
throws ISOException, NoSuchDataElementException,
DataElementAlreadyContainsValueException
{
- String mti = msg.getMTI();
+ String mti = msg.getMtiNumber();
if( MTI_NO.equals( mti ) == false )
return false;
m_dataElementManager.lookup( PrimaryAccountNumber.class ).extract(
msg );

Modified:
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti110.java
==============================================================================
---
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti110.java
(original)
+++
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti110.java
Tue Apr 26 19:47:52 2005
@@ -22,6 +22,8 @@
import net.dpml.iso8583.data.DataElementManager;
import net.dpml.iso8583.data.MTI;
import net.dpml.iso8583.data.NoSuchDataElementException;
+import net.dpml.iso8583.data.ISOMessage;
+import net.dpml.iso8583.data.ISOException;
import net.dpml.iso8583.data.elements.AcquiringInstitutionIdentificationCode;
import net.dpml.iso8583.data.elements.ActionCode;
import net.dpml.iso8583.data.elements.AmountTransaction;
@@ -45,8 +47,6 @@
import net.dpml.iso8583.data.elements.TransportData;
import net.dpml.service.ServiceException;
import net.dpml.service.ServiceManager;
-import org.jpos.iso.ISOException;
-import org.jpos.iso.ISOMsg;

/**
* @metro.component name="Mti110" lifestyle="singleton"
@@ -72,11 +72,11 @@
m_dataElementManager = (DataElementManager) man.lookup(
"dataelement-manager" );
}

- public ISOMsg assemble()
+ public ISOMessage assemble()
throws ISOException, NoSuchDataElementException
{
String mti = MTI_NO;
- ISOMsg msg = new ISOMsg( mti );
+ ISOMessage msg = ISOMessage.factory.create( mti );
m_dataElementManager.lookup( PrimaryAccountNumber.class ).populate(
msg, true );
m_dataElementManager.lookup( ProcessingCode.class ).populate( msg,
true );
m_dataElementManager.lookup( AmountTransaction.class ).populate(
msg, true );
@@ -101,10 +101,10 @@
return msg;
}

- public boolean disassemble( ISOMsg msg )
+ public boolean disassemble( ISOMessage msg )
throws ISOException, NoSuchDataElementException,
DataElementAlreadyContainsValueException
{
- String mti = msg.getMTI();
+ String mti = msg.getMtiNumber();
if( MTI_NO.equals( mti ) == false )
return false;
m_dataElementManager.lookup( PrimaryAccountNumber.class ).extract(
msg );

Modified:
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti120.java
==============================================================================
---
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti120.java
(original)
+++
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti120.java
Tue Apr 26 19:47:52 2005
@@ -22,6 +22,8 @@
import net.dpml.iso8583.data.DataElementManager;
import net.dpml.iso8583.data.MTI;
import net.dpml.iso8583.data.NoSuchDataElementException;
+import net.dpml.iso8583.data.ISOException;
+import net.dpml.iso8583.data.ISOMessage;
import net.dpml.iso8583.data.elements.AcquiringInstitutionIdentificationCode;
import net.dpml.iso8583.data.elements.ActionCode;
import net.dpml.iso8583.data.elements.AmountTransaction;
@@ -51,8 +53,6 @@
import net.dpml.iso8583.data.elements.TransactionLifeCycleIdentificationData;
import net.dpml.service.ServiceException;
import net.dpml.service.ServiceManager;
-import org.jpos.iso.ISOException;
-import org.jpos.iso.ISOMsg;

/**
* @metro.component name="Mti120" lifestyle="singleton"
@@ -78,11 +78,11 @@
m_dataElementManager = (DataElementManager) man.lookup(
"dataelement-manager" );
}

- public ISOMsg assemble()
+ public ISOMessage assemble()
throws ISOException, NoSuchDataElementException
{
String mti = MTI_NO;
- ISOMsg msg = new ISOMsg( mti );
+ ISOMessage msg = ISOMessage.factory.create( mti );
m_dataElementManager.lookup( PrimaryAccountNumber.class ).populate(
msg, true );
m_dataElementManager.lookup( ProcessingCode.class ).populate( msg,
true );
m_dataElementManager.lookup( AmountTransaction.class ).populate(
msg, true );
@@ -113,10 +113,10 @@
return msg;
}

- public boolean disassemble( ISOMsg msg )
+ public boolean disassemble( ISOMessage msg )
throws ISOException, NoSuchDataElementException,
DataElementAlreadyContainsValueException
{
- String mti = msg.getMTI();
+ String mti = msg.getMtiNumber();
if( MTI_NO.equals( mti ) == false )
return false;
m_dataElementManager.lookup( PrimaryAccountNumber.class ).extract(
msg );

Modified:
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti121.java
==============================================================================
---
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti121.java
(original)
+++
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti121.java
Tue Apr 26 19:47:52 2005
@@ -22,6 +22,8 @@
import net.dpml.iso8583.data.DataElementManager;
import net.dpml.iso8583.data.MTI;
import net.dpml.iso8583.data.NoSuchDataElementException;
+import net.dpml.iso8583.data.ISOMessage;
+import net.dpml.iso8583.data.ISOException;
import net.dpml.iso8583.data.elements.AcquiringInstitutionIdentificationCode;
import net.dpml.iso8583.data.elements.ActionCode;
import net.dpml.iso8583.data.elements.AmountTransaction;
@@ -51,8 +53,6 @@
import net.dpml.iso8583.data.elements.TransactionLifeCycleIdentificationData;
import net.dpml.service.ServiceException;
import net.dpml.service.ServiceManager;
-import org.jpos.iso.ISOException;
-import org.jpos.iso.ISOMsg;

/**
* @metro.component name="Mti121" lifestyle="singleton"
@@ -78,11 +78,11 @@
m_dataElementManager = (DataElementManager) man.lookup(
"dataelement-manager" );
}

- public ISOMsg assemble()
+ public ISOMessage assemble()
throws ISOException, NoSuchDataElementException
{
String mti = MTI_NO;
- ISOMsg msg = new ISOMsg( mti );
+ ISOMessage msg = ISOMessage.factory.create( mti );
m_dataElementManager.lookup( PrimaryAccountNumber.class ).populate(
msg, true );
m_dataElementManager.lookup( ProcessingCode.class ).populate( msg,
true );
m_dataElementManager.lookup( AmountTransaction.class ).populate(
msg, true );
@@ -113,10 +113,10 @@
return msg;
}

- public boolean disassemble( ISOMsg msg )
+ public boolean disassemble( ISOMessage msg )
throws ISOException, NoSuchDataElementException,
DataElementAlreadyContainsValueException
{
- String mti = msg.getMTI();
+ String mti = msg.getMtiNumber();
if( MTI_NO.equals( mti ) == false )
return false;
m_dataElementManager.lookup( PrimaryAccountNumber.class ).extract(
msg );

Modified:
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti130.java
==============================================================================
---
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti130.java
(original)
+++
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti130.java
Tue Apr 26 19:47:52 2005
@@ -22,6 +22,8 @@
import net.dpml.iso8583.data.DataElementManager;
import net.dpml.iso8583.data.MTI;
import net.dpml.iso8583.data.NoSuchDataElementException;
+import net.dpml.iso8583.data.ISOMessage;
+import net.dpml.iso8583.data.ISOException;
import net.dpml.iso8583.data.elements.AcquiringInstitutionIdentificationCode;
import net.dpml.iso8583.data.elements.ActionCode;
import net.dpml.iso8583.data.elements.AmountTransaction;
@@ -43,8 +45,6 @@
import net.dpml.iso8583.data.elements.TransportData;
import net.dpml.service.ServiceException;
import net.dpml.service.ServiceManager;
-import org.jpos.iso.ISOException;
-import org.jpos.iso.ISOMsg;

/**
* @metro.component name="Mti130" lifestyle="singleton"
@@ -70,11 +70,11 @@
m_dataElementManager = (DataElementManager) man.lookup(
"dataelement-manager" );
}

- public ISOMsg assemble()
+ public ISOMessage assemble()
throws ISOException, NoSuchDataElementException
{
String mti = MTI_NO;
- ISOMsg msg = new ISOMsg( mti );
+ ISOMessage msg = ISOMessage.factory.create( mti );
m_dataElementManager.lookup( PrimaryAccountNumber.class ).populate(
msg, true );
m_dataElementManager.lookup( ProcessingCode.class ).populate( msg,
true );
m_dataElementManager.lookup( AmountTransaction.class ).populate(
msg, true );
@@ -97,10 +97,10 @@
return msg;
}

- public boolean disassemble( ISOMsg msg )
+ public boolean disassemble( ISOMessage msg )
throws ISOException, NoSuchDataElementException,
DataElementAlreadyContainsValueException
{
- String mti = msg.getMTI();
+ String mti = msg.getMtiNumber();
if( MTI_NO.equals( mti ) == false )
return false;
m_dataElementManager.lookup( PrimaryAccountNumber.class ).extract(
msg );

Modified:
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti140.java
==============================================================================
---
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti140.java
(original)
+++
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti140.java
Tue Apr 26 19:47:52 2005
@@ -22,6 +22,8 @@
import net.dpml.iso8583.data.DataElementManager;
import net.dpml.iso8583.data.MTI;
import net.dpml.iso8583.data.NoSuchDataElementException;
+import net.dpml.iso8583.data.ISOMessage;
+import net.dpml.iso8583.data.ISOException;
import net.dpml.iso8583.data.elements.AcquiringInstitutionIdentificationCode;
import net.dpml.iso8583.data.elements.ActionCode;
import net.dpml.iso8583.data.elements.AmountTransaction;
@@ -55,8 +57,6 @@
import net.dpml.iso8583.data.elements.TransactionLifeCycleIdentificationData;
import net.dpml.service.ServiceException;
import net.dpml.service.ServiceManager;
-import org.jpos.iso.ISOException;
-import org.jpos.iso.ISOMsg;

/**
* @metro.component name="Mti140" lifestyle="singleton"
@@ -82,11 +82,11 @@
m_dataElementManager = (DataElementManager) man.lookup(
"dataelement-manager" );
}

- public ISOMsg assemble()
+ public ISOMessage assemble()
throws ISOException, NoSuchDataElementException
{
String mti = MTI_NO;
- ISOMsg msg = new ISOMsg( mti );
+ ISOMessage msg = ISOMessage.factory.create( mti );
m_dataElementManager.lookup( PrimaryAccountNumber.class ).populate(
msg, true );
m_dataElementManager.lookup( ProcessingCode.class ).populate( msg,
true );
m_dataElementManager.lookup( AmountTransaction.class ).populate(
msg, true );
@@ -121,10 +121,10 @@
return msg;
}

- public boolean disassemble( ISOMsg msg )
+ public boolean disassemble( ISOMessage msg )
throws ISOException, NoSuchDataElementException,
DataElementAlreadyContainsValueException
{
- String mti = msg.getMTI();
+ String mti = msg.getMtiNumber();
if( MTI_NO.equals( mti ) == false )
return false;
m_dataElementManager.lookup( PrimaryAccountNumber.class ).extract(
msg );

Modified:
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti150.java
==============================================================================
---
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti150.java
(original)
+++
development/laboratory/users/niclas/iso8583/mti/src/main/net/dpml/iso8583/data/mti/Mti150.java
Tue Apr 26 19:47:52 2005
@@ -22,13 +22,13 @@
import net.dpml.iso8583.data.DataElementManager;
import net.dpml.iso8583.data.MTI;
import net.dpml.iso8583.data.NoSuchDataElementException;
+import net.dpml.iso8583.data.ISOMessage;
+import net.dpml.iso8583.data.ISOException;
import net.dpml.iso8583.data.elements.BatchFileTransferMessageControl;
import net.dpml.iso8583.data.elements.SystemsTraceAuditNumber;
import net.dpml.iso8583.data.elements.TransactionLifeCycleIdentificationData;
import net.dpml.service.ServiceException;
import net.dpml.service.ServiceManager;
-import org.jpos.iso.ISOException;
-import org.jpos.iso.ISOMsg;

/**
* @metro.component name="Mti150" lifestyle="singleton"
@@ -54,21 +54,21 @@
m_dataElementManager = (DataElementManager) man.lookup(
"dataelement-manager" );
}

- public ISOMsg assemble()
+ public ISOMessage assemble()
throws ISOException, NoSuchDataElementException
{
String mti = MTI_NO;
- ISOMsg msg = new ISOMsg( mti );
+ ISOMessage msg = ISOMessage.factory.create( mti );
m_dataElementManager.lookup( SystemsTraceAuditNumber.class
).populate( msg, true );
m_dataElementManager.lookup(
TransactionLifeCycleIdentificationData.class ).populate( msg, true );
m_dataElementManager.lookup( BatchFileTransferMessageControl.class
).populate( msg, true );
return msg;
}

- public boolean disassemble( ISOMsg msg )
+ public boolean disassemble( ISOMessage msg )
throws ISOException, NoSuchDataElementException,
DataElementAlreadyContainsValueException
{
- String mti = msg.getMTI();
+ String mti = msg.getMtiNumber();
if( MTI_NO.equals( mti ) == false )
return false;




  • svn commit: r2422 - in development/laboratory/users/niclas/iso8583: . api api/src/main/net/dpml/iso8583/authorization api/src/main/net/dpml/iso8583/channels api/src/main/net/dpml/iso8583/data authorization authorization/src/main/net/dpml/iso8583/authorization/impl elements/src/main/net/dpml/iso8583/data/elements elements/src/test/net/dpml/iso8583/test/data/elements mti mti/src/main/net/dpml/iso8583/data/mti mti/src/test mti/src/test/net mti/src/test/net/dpml mti/src/test/net/dpml/iso8583 mti/src/test/net/dpml/iso8583/test mti/src/test/net/dpml/iso8583/test/mti, niclas, 04/26/2005

Archive powered by MHonArc 2.6.24.

Top of Page