summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* QPID-4027 Added javadoc, fixed typos, and some bugs.address-refactor2Rajith Muditha Attapattu2012-06-269-38/+223
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1354075 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Made modifications to reflect the changes made to interfaces.Rajith Muditha Attapattu2012-06-2623-84/+293
| | | | | | Fixed bugs identified in testing. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1354074 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Added an experimental Failover Decorator to experiment withRajith Muditha Attapattu2012-06-2619-1362/+2444
| | | | | | | | | | providing high level failover based on "stop-the-world" concept. Added an abstraction for Failover strategy. Renamed the ConnectionStateListener to ConnectionEventListener and added a ConnectionEvent class to notify various connection events. The experimental failover implementation makes use of this. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1354073 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Added a README on how to run the example.Rajith Muditha Attapattu2012-06-181-0/+14
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1351373 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Added unregister methods for session, sender and receivers.Rajith Muditha Attapattu2012-06-186-6/+64
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1351372 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Renamed the extension interfaces as Internal. These not reallyRajith Muditha Attapattu2012-06-1812-56/+51
| | | | | | | extensions but a set of interfaces used by the internal implementations classes. The packages was also renamed from "ext" to "internal". git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1351370 13f79535-47bb-0310-9956-ffa450edef68
* QPId-4027 Added an example that demonstrates sending/receiving aRajith Muditha Attapattu2012-06-165-25/+67
| | | | | | | String, Map and List message. Fixed several bugs. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1351025 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Added one-to-one exception mapping between c++ and java toRajith Muditha Attapattu2012-06-152-0/+135
| | | | | | provide the application/users more detailed error information. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1350712 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Renamed the generated JNI wrapper files to use the PrefixRajith Muditha Attapattu2012-06-157-27/+35
| | | | | | | | Native. This allows me to just use NativeMessage instead of o.a.q.messaging.cpp.jni.Message to prevent a clash with Java Message interface. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1350711 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Tied in the message implementation into the cpp/jniRajith Muditha Attapattu2012-06-155-17/+48
| | | | | | implementation. A bit more cleanup and testing needs to be done. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1350710 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Created an AbstractMessageFactory which delegates the creationRajith Muditha Attapattu2012-06-1510-385/+893
| | | | | | | | | | | | | of version and/or implementation specific delegates to a concrete implementation. Created a concrete implementation for 0-10 and the c++/jni implementations. For the time being the c++/jni implementation assumes 0-10 only, hence directly extending the 0-10 impl. Added MessageInternal interface, intended for API impelementors. The MessageFactories implementations provides String, Map and List message support in addition to creating version/implementation specific delegates. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1350709 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 The Connection object will provide a reference to theRajith Muditha Attapattu2012-06-153-4/+18
| | | | | | | | | respective MessageFactory that can be used or creating messages or decoding content for messages received. Since a connection object will contain the AMQP version it would be the logical place to provide this reference. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1350708 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Added an AMQP 0-10 message factory implementation. TheRajith Muditha Attapattu2012-06-153-80/+832
| | | | | | | | | | StringMessage is not really 0-10 specific. When we add AMQP 1.0 support, perhaps we could have a AbstractMessageFactory which contains the common stuff. Added GenericMessageAdapter to be used as a base for all kinds of Message adapters. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1350707 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Added sub interfaces for Message class to retrieve specificRajith Muditha Attapattu2012-06-156-220/+149
| | | | | | | | | | content types. Added a MessageFactory to create concrete Message objects with given content. It can also decode a generic message object in a specific content type such as String, Map or List. This is useful if you don't want to cast your message into a specific sub interface type. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1350706 13f79535-47bb-0310-9956-ffa450edef68
* Added a finally block for deleting the C++ objects when close is calledRajith Muditha Attapattu2012-06-157-87/+154
| | | | | | | to ensure that the underlying c++ objects don't leak. Filled in blank methods and another round of bug fixing. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1350704 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Added constants FOREVER, IMMEDIATE, SECOND and MINUTE.Rajith Muditha Attapattu2012-06-151-1/+22
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1350703 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Added extension interfaces for Session, Sender and Receiver.Rajith Muditha Attapattu2012-06-156-0/+631
| | | | | | | | | | Added convinience class that converts java long timeout to the C++ Duration object. Added ReceiverManagementDecorator and SenderManagementDecorator that provides state management and error handling via the decorator pattern for a Receiver and a Sender respectively. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1350702 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Cleaned up the exception heirarchy and modified the interfacesRajith Muditha Attapattu2012-06-158-11/+25
| | | | | | | to throw the required exceptions. TODO: Add Java doc to denote type of exceptions that could be thrown. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1350701 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Continuing to fill in the blanks for the CPP implementation.Rajith Muditha Attapattu2012-06-155-71/+87
| | | | | | Changed the JNILayerException to extend the MessagingException. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1350700 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Experimented with adding common functionality via DecoratorsRajith Muditha Attapattu2012-06-155-0/+837
| | | | | | | | | | | | | | | as opposed to inheritence. ConnectionManagementDecorator and SessionManagementDecorator adds common session/connection management, state management, error handling etc. The decorator approach allows us to add/remove functionality easily and to isolate logic without assuming/depending on base classes like we do with our current client. Added some extension interfaces under the "ext" package that facilitates the implementation of the API. This package is not intended to be visible to the users. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1350699 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Added MessageEncoding, MessageNotWritable exception classes toRajith Muditha Attapattu2012-06-158-67/+331
| | | | | | | | mnotify encoding/decoding related errors and write operations on Immutable messages. Modified the API classes to include exceptions. Added an Adapter to make a message immutable. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1350698 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Added the various exception classes for the messaging API.Rajith Muditha Attapattu2012-06-1021-0/+764
| | | | | | | | The structure here closely follows the C++ model. The next step is to incoporate these exceptions into the API classes. More classes may need to be added. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1348684 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Added a toString method to the Message class by using the swigRajith Muditha Attapattu2012-06-107-48/+65
| | | | | | | | | "%extend" directive. Used the same for moving the methods I introduced in Mesage.h to java.i interface file. The BYTE_BUFFER struct is also moved into the swig file. The only extra methods we need to add to Message.h is to get/set the message headers as raw bytes. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1348683 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 when retrieving objects from the map they are now directlyRajith Muditha Attapattu2012-06-106-52/+53
| | | | | | | | | | returned with being assigned to a local jobject, as it then looses the type information when received at the Java layer. The code now avoids using cached JNIEnv pointers as if it gets called from a different thread the ref will be now and a seg fault will occur. The encoding type is set for String properties. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1348682 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Fixed a bunch errors in converting java types to variant.Rajith Muditha Attapattu2012-06-076-19/+28
| | | | | | The message header stuff are still a bit flaky and needs to polished. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1347733 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Handles the empty and null map case.Rajith Muditha Attapattu2012-06-072-3/+27
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1347732 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Fixed the handling of VariantMaps and Variant types.Rajith Muditha Attapattu2012-06-073-14/+69
| | | | | | | | | | | | Added freeargs to delete the args created on the heap. WriteOnlyVariantMapWrapper takes care of mapping a Java Map into a VariantMap. This is inefficient, but it's only used in non critical code. The ReadOnlyVariantMapWrapper wraps a VariantMap and provides a java.util.Map interface to the Java code. As the name suggests it's read-only :). git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1347731 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Adeed error handling when converting from Variant to JavaRajith Muditha Attapattu2012-06-071-7/+26
| | | | | | types. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1347730 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Added error handling when converting between java and variantRajith Muditha Attapattu2012-06-072-1/+28
| | | | | | types. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1347729 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Added error handling and basic logging for the library onloadRajith Muditha Attapattu2012-06-072-21/+39
| | | | | | method. Using static_cast instead of the "C" style casts. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1347728 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Added class for implementing the correct behavior whenRajith Muditha Attapattu2012-06-071-65/+80
| | | | | | creating native strings from a java string. Removed unwanted code. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1347727 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Marked the jclass references as global refs to prevent themRajith Muditha Attapattu2012-06-071-29/+48
| | | | | | | | from being cleaned up. The jmethodID's will remain valid until the corresponding jclass is cleaned up. Created convinience methods for looking up class defs and methods. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1347726 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Added a method to check for null keys on the java side, when ↵Rajith Muditha Attapattu2012-06-073-30/+471
| | | | | | | | | | | | | | | looking up values on the c++ side. Made the following changes in the c++ helper code, jclass and jmethodID's are cached for performance. Added JNICALL JNI_OnLoad method to init all the global variables. Renamed VarientMapWrapper to ReadOnlyVariantMapWrapper which will provide read only access to the underlying VariantMap. Added a helper method converting Java types to Variant types. Added a bunch of convinience methods for creating new java types. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1347725 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Added JNILayerException to communicate errors occuring in the JNI ↵Rajith Muditha Attapattu2012-06-079-2/+135
| | | | | | | | | code. Added Apache License to the files missing the header. Adding the updated qpid_cpp_jni.jar git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1347724 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Refactored the swig files to make them more readable. AddedRajith Muditha Attapattu2012-06-016-342/+243
| | | | | | | | | comments to explain the code. Removed the VariantMapWrapper files as they are now added into swig_java_cpp_helper.i classes. If someones wants to use swig to wrap qmfv2 they could now use the type maps defined here. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1344979 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Changed the typemaps to provide a java.util.Map based on theRajith Muditha Attapattu2012-05-316-62/+266
| | | | | | | wrapped c++ Variant::Map. Maps returned to the java code are read only. Need to add code to translate a java.util.Map into a Variant::Map git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1344841 13f79535-47bb-0310-9956-ffa450edef68
* QPID-40027 Experimental CPP binding. Added a very quick and dirtyRajith Muditha Attapattu2012-05-298-0/+627
| | | | | | implementation as a POC.Can send and receive a message atm. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1343748 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4027 Experimental cpp binding. Adding the swig and support files.Rajith Muditha Attapattu2012-05-2912-1/+670
| | | | | | Adding a connection factor class that loads various implementaitons. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1343747 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4001 Added the interfaces for review. Kept it in a separate moduleRajith Muditha Attapattu2012-05-169-1/+523
| | | | | | | | | | | | for folks who like to review the code in their editor. Added a client-jms module to move the new destination work and house the new jms work. This makes reviewing a bit easy and also allows the possiblity of the new and old client code to live side by side until we make a decision to archive the old client. At some point we need to trim the common module to contain code that is truly common to both broker and clients. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1339264 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3401 Interim fixes to keep the tree compiling. Most of theseRajith Muditha Attapattu2012-05-147-29/+50
| | | | | | classes will be removed when the work is completed. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1338485 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3401 Refined the code that handled the creation of an AddressRajith Muditha Attapattu2012-05-142-44/+46
| | | | | | object from a BURL. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1338484 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3401 Added a constructor to take an Address object in addition toRajith Muditha Attapattu2012-05-145-0/+61
| | | | | | | just a destination string. Add a method in QpidTopic for creating a DurableTopic using the "topic" information contained within the object. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1338483 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3401 The address object is now immutable. All fields are markedRajith Muditha Attapattu2012-05-144-57/+81
| | | | | | | | | final and should be passed in the constructor.Introduced a new class to hold the data given by the existing address parser. TODO The toString field needs to be constructed. The intermediate class AddressRaw can be eliminated with a more clever parser. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1338482 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3401 Applying changes suggest by RobertGodfrey.Rajith Muditha Attapattu2012-05-1111-363/+353
| | | | | | | | Node and Link now take all values in the constructor instead of setters to make it clear that these objects are immutable. Moved all the address enums into their own classes. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1337208 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3401 Fixed code convention issues. Marked fields private.Rajith Muditha Attapattu2012-05-102-5/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1336908 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3401 Added hashcode implementations for QpidQueue and QpidTopicRajith Muditha Attapattu2012-05-102-0/+19
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1336907 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3401 Node and Link objects are now immutable once they areRajith Muditha Attapattu2012-05-106-63/+92
| | | | | | | | initialized. All maps/lists returned by them are wrapped with unmodifiable map/lists. All setter methods will throw an exception once they are marked read-only. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1336878 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3401 Marked the Address object read-only once it's processed andRajith Muditha Attapattu2012-05-094-61/+77
| | | | | | | the Node and Link data structures are populated. Marked member variables in Link and Node as private. Fixed leading/trailing spaces. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1336444 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3401 Based on review comments, made the following changes.Rajith Muditha Attapattu2012-05-094-236/+256
| | | | | | | | | Moved the destination syntax stuff into DestinationStringParser. Each implementation now provides a getType() method to denote if it's a Queue or Topic rather than carrying it as a member variable. Made corrections to formatting and leading/trailling spaces. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1336443 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3401 Added equals, toString() implementations to Topic and Queue.Rajith Muditha Attapattu2012-04-056-3/+68
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1309768 13f79535-47bb-0310-9956-ffa450edef68