getContent()
{
diff --git a/core/src/main/java/org/marketcetera/marketdata/UriScheme.java b/core/src/main/java/org/marketcetera/marketdata/UriScheme.java
index 49a0cd46b6..f24f90797b 100644
--- a/core/src/main/java/org/marketcetera/marketdata/UriScheme.java
+++ b/core/src/main/java/org/marketcetera/marketdata/UriScheme.java
@@ -114,7 +114,6 @@ public boolean equals(Object obj)
* @param inHostname a String
value
* @param inPort an int
value
* @return a String
value containing a conforming URI
- * @throws URISyntaxException if the given URI is not syntactically valid
* @throws IllegalArgumentException if the host or port is not valid
*/
public String composeUriString(String inHostname,
diff --git a/core/src/main/java/org/marketcetera/metrics/IsotopeService.java b/core/src/main/java/org/marketcetera/metrics/IsotopeService.java
index 3e7c869e10..56dd3cf252 100644
--- a/core/src/main/java/org/marketcetera/metrics/IsotopeService.java
+++ b/core/src/main/java/org/marketcetera/metrics/IsotopeService.java
@@ -193,7 +193,7 @@ public int getFixIsotopeTag()
/**
* Sets the fixIsotopeTag value.
*
- * @param an int
value
+ * @param inFixIsotopeTag an int
value
*/
public void setFixIsotopeTag(int inFixIsotopeTag)
{
diff --git a/core/src/main/java/org/marketcetera/metrics/ThreadedMetric.java b/core/src/main/java/org/marketcetera/metrics/ThreadedMetric.java
index 0c3e954038..8c870e11d7 100644
--- a/core/src/main/java/org/marketcetera/metrics/ThreadedMetric.java
+++ b/core/src/main/java/org/marketcetera/metrics/ThreadedMetric.java
@@ -19,13 +19,13 @@
*
* The class captures the metrics on a per thread basis. The captured metrics
* include the time taken by the system between certain checkpoints in code and
- * the total number of times the system performed certain computation.
+ * the total number of times the system performed certain computation.
*
* The computed data is dumped into a per-thread csv file in the jvm's
* {@link java.io.File#createTempFile(String, String)} temporary} directory
* location.
- *
- *
Usage
+ *
+ * Usage
* The code that needs to be instrumented should be modified to invoke
* ThreadedMetric
as follows.
*
@@ -78,7 +78,7 @@
* thread local variables to keep track of iterations, you might get
* non-intuitive results.
*
- * Output
+ * Output
*
* The class will dump the collected metrics as a CSV file, in the temp
* directory location with the name
@@ -123,11 +123,11 @@
*
* Under certain circumstances, the rows may contain extra columns at the end.
* These extra columns either contain any extra data that was supplied to any of
- * the checkpoint calls: begin(), event() & end()
for the
+ * the checkpoint calls: begin(), event() & end()
for the
* iteration that the row represents. OR they may contain extra checkpoint
* time deltas resulting from event()
invocations within a loop.
*
- * Configuration & Management
+ * Configuration & Management
*
* The instrumentation is disabled by default. It can be turned on via JMX
* or via a properties file placed in the classpath. For more information
@@ -158,7 +158,7 @@ public static void begin(Object ... inParams) {
*
* @param inIdentifier the name of the milestone. The milestone name
* should be different from the reserved identifier names,
- * {@link #BEGIN_IDENTIFIER} & {@link #END_IDENTIFIER}.
+ * {@link #BEGIN_IDENTIFIER} & {@link #END_IDENTIFIER}.
* @param inParams any extra information to include in the summary.
*/
public static void event(String inIdentifier, Object... inParams) {
diff --git a/core/src/main/java/org/marketcetera/module/ModuleDescriptor.java b/core/src/main/java/org/marketcetera/module/ModuleDescriptor.java
index 814346687d..d86049226d 100644
--- a/core/src/main/java/org/marketcetera/module/ModuleDescriptor.java
+++ b/core/src/main/java/org/marketcetera/module/ModuleDescriptor.java
@@ -18,7 +18,7 @@ public class ModuleDescriptor
/**
* Get the parameters value.
*
- * @return a List
value
+ * @return a List<Object>
value
*/
public List getParameters()
{
@@ -27,7 +27,7 @@ public List getParameters()
/**
* Sets the parameters value.
*
- * @param inParameters a List
value
+ * @param inParameters a List<Object>
value
*/
public void setParameters(List inParameters)
{
diff --git a/core/src/main/java/org/marketcetera/module/ModuleFactory.java b/core/src/main/java/org/marketcetera/module/ModuleFactory.java
index 79d6a90161..a3bf2dd6c1 100644
--- a/core/src/main/java/org/marketcetera/module/ModuleFactory.java
+++ b/core/src/main/java/org/marketcetera/module/ModuleFactory.java
@@ -119,8 +119,7 @@ public final boolean isAutoInstantiate() {
/**
* Returns the name of the module provider. A module
- * provider URI has the following form.
- * metc:provType:providerName
+ * provider URI has the following form: metc:provType:providerName
*
* @return the provider's URN
*/
diff --git a/core/src/main/java/org/marketcetera/module/ModuleManagerMXBean.java b/core/src/main/java/org/marketcetera/module/ModuleManagerMXBean.java
index 35a651d18f..18a8e26367 100644
--- a/core/src/main/java/org/marketcetera/module/ModuleManagerMXBean.java
+++ b/core/src/main/java/org/marketcetera/module/ModuleManagerMXBean.java
@@ -43,23 +43,23 @@
* when invoking the create module instance API.
*
*
- * Example 1:
- *
- * Parameter Types:ModuleURN, URL, String, BigDecimal
- * Parameter Value:
- * "metc:surface:color:red,http://red.com,username,12.43"
- *
- *
- * Example 2:
- *
- * Parameter Types:File, boolean, double, BigInteger
- * Parameter Value:"c:\\mydir,true,345.643,83723849"
- *
+ * Example 1:
+ *
+ * Parameter Types:ModuleURN, URL, String, BigDecimal
+ * Parameter Value:"metc:surface:color:red,http://red.com,username,12.43"
+ *
+ *
+ * Example 2:
+ *
+ * Parameter Types:File, boolean, double, BigInteger
+ * Parameter Value:"c:\\mydir,true,345.643,83723849"
+ *
+ *
*
*
- * Create Data Flows
+ * Create Data Flows
* This parameter syntax applies to the first parameter of APIs
- * {@link #createDataFlow(String)} &
+ * {@link #createDataFlow(String)} &
* {@link #createDataFlow(String, boolean)}.
*
* The API accepts a series of data requests. Each data request consists of
@@ -80,34 +80,34 @@
* Here are some examples of strings that can be used when setting up data
* flows.
*
- * Example 1.
- *
- * "metc:mdata;symbol=ibm^metc:strategy::vegas^metc:sink"
- * Sets up a data flow between any market data module that generates
+ * Example 1.
+ *
+ * "metc:mdata;symbol=ibm^metc:strategy::vegas^metc:sink"
+ * Sets up a data flow between any market data module that generates
* market data for symbol 'ibm', pipes that data to a strategy named
* 'vegas' and pipes its output to the sink module.
- *
- * Example 2.
- *
- * "metc:mdata:opentick;symbol=java^metc:strategy::charity^metc:server"
- * Sets up a data flow between opentick market data module, that
- * generates market data for symbol 'java', pipes that data to a
- * strategy called 'charity' and pipes the trades generated by it to
- * the system client module that sends it to the server.
- *
- * Example 3.
- *
- * "metc:mdata;symbol=aapl,goog^metc:cep:esper;select * from Bid^metc:strategy::buy;12^^32^^43"
- * Sets up a data flow between any market data module that generates
- * data for symbols, aapl & goog, pipes that data into the esper module, that
- * runs the cep query 'select * from Bid' and pipes its output to
- * a strategy module 'buy' that accepts a string parameter '12^32^43'.
- *
- *
+ *
+ *
+ * Example 2.
+ *
+ * "metc:mdata:opentick;symbol=java^metc:strategy::charity^metc:server"
+ * Sets up a data flow between opentick market data module, that
+ * generates market data for symbol 'java', pipes that data to a
+ * strategy called 'charity' and pipes the trades generated by it to
+ * the system client module that sends it to the server.
+ *
+ *
+ * Example 3.
+ *
+ * "metc:mdata;symbol=aapl,goog^metc:cep:esper;select * from Bid^metc:strategy::buy;12^^32^^43"
+ * Sets up a data flow between any market data module that generates
+ * data for symbols, aapl & goog, pipes that data into the esper module, that
+ * runs the cep query 'select * from Bid' and pipes its output to
+ * a strategy module 'buy' that accepts a string parameter '12^32^43'.
+ *
+ *
*
*
- *
- *
* @author anshul@marketcetera.com
* @version $Id$
* @since 1.0.0
diff --git a/core/src/main/java/org/marketcetera/module/ModuleState.java b/core/src/main/java/org/marketcetera/module/ModuleState.java
index 8c186802a5..1cc9dc31cf 100644
--- a/core/src/main/java/org/marketcetera/module/ModuleState.java
+++ b/core/src/main/java/org/marketcetera/module/ModuleState.java
@@ -24,11 +24,11 @@
* | start()
* |
* v
- * ,------> {@link #STARTING}
+ * ,------> {@link #STARTING}
* / |\ ^
* | | \ \ start()
* | | v \ delete()
- * | | {@link #START_FAILED}--------->.
+ * | | {@link #START_FAILED}--------->.
* | | |
* | v |
* | {@link #STARTED} |
@@ -41,13 +41,13 @@
* | |\ ^ |
* | | \ \ stop() |
* | | v \ delete() |
- * | | {@link #STOP_FAILED}---------->|
+ * | | {@link #STOP_FAILED}---------->|
* | | |
* \ v |
* '------- {@link #STOPPED} |
* | |
* | delete() |
- * |<--------------------------------'
+ * |<--------------------------------'
* v
* O
*
@@ -57,8 +57,9 @@
* various module framework operations can be invoked on a module. If
* a module operation is invoked while it's not in one of the states for
* that operation in the table below, the operation will fail.
- *
- *
+ *
+ *
+ * Module State Capabilities
* Module Operation Module State
* delete {@link #CREATED}, {@link #START_FAILED}, {@link #STOPPED}
* stop {@link #STARTED}, {@link #STOP_FAILED}
diff --git a/core/src/main/java/org/marketcetera/module/ModuleURN.java b/core/src/main/java/org/marketcetera/module/ModuleURN.java
index 6adc22d710..04e020a469 100644
--- a/core/src/main/java/org/marketcetera/module/ModuleURN.java
+++ b/core/src/main/java/org/marketcetera/module/ModuleURN.java
@@ -19,9 +19,9 @@
* of the URN evaluate as equal.
*
* The URNs have the following format
- *
+ *
* metc:provType:provider:instance
- *
+ *
* where :
*
* metc : The URN prefix metc
indicating a marketcetera URN
diff --git a/core/src/main/java/org/marketcetera/module/PropertiesConfigurationProvider.java b/core/src/main/java/org/marketcetera/module/PropertiesConfigurationProvider.java
index 4ade5177c0..1cc0917783 100644
--- a/core/src/main/java/org/marketcetera/module/PropertiesConfigurationProvider.java
+++ b/core/src/main/java/org/marketcetera/module/PropertiesConfigurationProvider.java
@@ -25,7 +25,7 @@
* Within the property file, the attribute values are encoded as
* instance-name.attribute-name=attribute-value
.
* Default attribute values, that apply to all instances can be specified as
- * .attribute-name=attribute-value.attribute-name=attribute-value
.
*
* For factory attributes, "instance-name.
" is excluded from
* the property name, ie. the attribute value is specified as
diff --git a/core/src/main/java/org/marketcetera/module/SinkModule.java b/core/src/main/java/org/marketcetera/module/SinkModule.java
index 8988935180..c347263c7c 100644
--- a/core/src/main/java/org/marketcetera/module/SinkModule.java
+++ b/core/src/main/java/org/marketcetera/module/SinkModule.java
@@ -38,6 +38,7 @@
*
* Module Features
*
+ * Sink Module Capabilities
* Capabilities DataReceiver
* Stops data flows No
* Start Operation Does nothing
diff --git a/core/src/main/java/org/marketcetera/module/SinkModuleFactory.java b/core/src/main/java/org/marketcetera/module/SinkModuleFactory.java
index f516de49c5..e01755456f 100644
--- a/core/src/main/java/org/marketcetera/module/SinkModuleFactory.java
+++ b/core/src/main/java/org/marketcetera/module/SinkModuleFactory.java
@@ -8,6 +8,7 @@
*
* The factory has the following characteristics.
*
+ * Sink Module Factory Capabilities
* Provider URN: metc:sink:system
* Cardinality: Singleton
* InstanceURN: metc:sink:system:single
diff --git a/core/src/main/java/org/marketcetera/module/package-info.java b/core/src/main/java/org/marketcetera/module/package-info.java
index 9010e08700..f1a47d22c3 100644
--- a/core/src/main/java/org/marketcetera/module/package-info.java
+++ b/core/src/main/java/org/marketcetera/module/package-info.java
@@ -28,7 +28,7 @@
* linked above.
*
*
- * {@link org.marketcetera.module.ModuleURN URNs} are used to uniquely identify module types & module
+ * {@link org.marketcetera.module.ModuleURN URNs} are used to uniquely identify module types & module
* instances.
*
*
@@ -152,11 +152,11 @@
*
* Data of any type can be used for all these three usages. However, modules are
* strongly recommended to accept strings, in addition to any specific types they need,
- * for usages 1 & 2 above.
+ * for usages 1 & 2 above.
*
*
* Module Framework API is available via an MXBean through JMX. And
- * that API only supports string parameters for usages 1 & 2 above. The module
+ * that API only supports string parameters for usages 1 & 2 above. The module
* framework automatically converts string parameters to actual java types,
* for a limited set of types listed below, for usage 1 above.
* To the extent modules support string
@@ -278,7 +278,7 @@
* A module can acquire the capability to initiate a data flow by implementing
* {@link org.marketcetera.module.DataFlowRequester}. It can then create and
* cancel data flows via {@link org.marketcetera.module.DataFlowSupport}.
- * A module can request & cancel data flows when it's in the
+ * A module can request & cancel data flows when it's in the
* {@link org.marketcetera.module.ModuleState#isStarted() started} state.
* It's expected that a module will typically create data flows when it's started
* from within its {@link org.marketcetera.module.Module#preStart()} method.
@@ -312,7 +312,7 @@
*
* Do note that if the module or the module factory implements
* {@link javax.management.DynamicMBean} make sure that the types used
- * for various bean attributes & operations are limited to standard java
+ * for various bean attributes & operations are limited to standard java
* types. Otherwise, tools like jconsole will not be able to display
* information from those beans.
*
@@ -325,7 +325,7 @@
*
* The module framework functions are exported via
* {@link org.marketcetera.module.ModuleManagerMXBean}. All of its operations
- * accept parameters of primitive & string types, so that they can be easily
+ * accept parameters of primitive & string types, so that they can be easily
* invoked by widely available jmx clients like jconsole. Operations to
* create module instances and data flows support special string syntax as
* these operations accept complex parameters. Look at the bean's class
@@ -417,6 +417,7 @@
* sub-classes for examples.
*
*
+ * Describes the ModuleFactory
* Provider URN: The provider URN
* Cardinality: If the factory creates a singleton module
* instance or if it can create module instances.
@@ -442,6 +443,7 @@
* sub-classes for examples.
*
*
+ * Describes the Module
* Capabilities If the module can emit, receive data and if it
* can request data flows.
* DataFlow Request Parameters The type of parameters that
diff --git a/core/src/main/java/org/marketcetera/persist/CollectionPageResponse.java b/core/src/main/java/org/marketcetera/persist/CollectionPageResponse.java
index a7f2b8d68f..a2a829153a 100644
--- a/core/src/main/java/org/marketcetera/persist/CollectionPageResponse.java
+++ b/core/src/main/java/org/marketcetera/persist/CollectionPageResponse.java
@@ -26,7 +26,7 @@ public CollectionPageResponse() {}
/**
* Create a new CollectionPageResponse instance.
*
- * @param inPage a Page<Clazz>:
value
+ * @param inPage a Page<Clazz>
value
*/
public CollectionPageResponse(Page inPage)
{
diff --git a/core/src/main/java/org/marketcetera/persist/NDEntityBase.java b/core/src/main/java/org/marketcetera/persist/NDEntityBase.java
index 430cc07558..67ff18b5b1 100644
--- a/core/src/main/java/org/marketcetera/persist/NDEntityBase.java
+++ b/core/src/main/java/org/marketcetera/persist/NDEntityBase.java
@@ -22,20 +22,6 @@
*
* Supporting query classes are also provided to easily add
* query support for the subclasses.
- *
- *
- * {@link org.marketcetera.persist.SingleNDEntityQuery} provides
- * support for queries that fetch single instance given the entity
- * name. Note that this assumes the names of the entities are unique
- * amongst all its instances. To ensure that, subclasses that make
- * use of this feature should declare a unique constraint on the
- * name attribute.
- *
- * {@link org.marketcetera.persist.MultiNDQuery} provides support
- * for queries that fetch multiple instances of subclasses of this
- * class. The query class provides filters to filter the query
- * results by name and description filters. It also provides
- * orders to order the results by name or description.
*
*/
@MappedSuperclass
diff --git a/core/src/main/java/org/marketcetera/persist/TransactionModuleFactory.java b/core/src/main/java/org/marketcetera/persist/TransactionModuleFactory.java
index 720e8467f6..8cd6edac13 100644
--- a/core/src/main/java/org/marketcetera/persist/TransactionModuleFactory.java
+++ b/core/src/main/java/org/marketcetera/persist/TransactionModuleFactory.java
@@ -12,6 +12,7 @@
*
* The factory has the following characteristics.
*
+ * Transaction Module Factory capabilities
* Provider URN: metc:core:transaction
* Cardinality: Singleton
* Instance URN: metc:core:transaction:single
diff --git a/core/src/main/java/org/marketcetera/persist/package.html b/core/src/main/java/org/marketcetera/persist/package.html
deleted file mode 100644
index ae73148e64..0000000000
--- a/core/src/main/java/org/marketcetera/persist/package.html
+++ /dev/null
@@ -1,387 +0,0 @@
-
-
- This package provides basic building blocks for creating objects that can be stored
- within an rdbms. Base classes are provided to represent entities and to query them.
- Facilities are also provided to transparently save and query entities across a remoting
- API, like JMX or JMS.
-
-
- The persistence infrastructure has two layers.
-
- The Services layer abstracts all persistence operations into a small set of internal
- methods that can easily be remoted if needed. This layer also provides transaction
- boundaries and JPA entity manager instances for the entities layer above it. The
- interfaces provided by this layer are only meant to be used by the Entities layer.
- The Entities layer runs on top of services layer and provides abstractions that
- are meant to be subclassed by anyone wanting to author persistent entities and
- provide simple services to save, update, delete and query them. Clients of persistence
- infrastructure should use the API provided by the Entities layer.
-
- The Entities Layer is meant to be used by the clients of this system, whereas
- the Services layer is a part of the implementation.
-
-Services Layer
- All persistence operations are abstracted into method calls on the
- {@link org.marketcetera.persist.EntityRemoteServices}
- interface. Only one concrete implementation of this interface,
- {@link org.marketcetera.persist.EntityRemoteServer} is provided. It implements these
- methods by invoking the local JPA EntityManagerFactory instance.
-
-
- The intent is that, in the future, other implementations of the
- {@link org.marketcetera.persist.EntityRemoteServices} can be supplied that can
- transparently remote (via JMS, JMX, RMI or any other remoting infrastructure)
- persistence operations across JVMs from a client-side VM to the server-side VM that
- has an EntityRemoteServer instance configured to carry out all the persistence
- operations on a local database.
-
-
- This layer is configured via spring. The spring configuration is responsible
- for configuring a database connection pool, an entity manager factory and injecting
- that factory into the EntityRemoteServer instance.
-
-
- Another piece of the infrastructure that is configured via spring is
- {@link org.marketcetera.persist.JPAVendor} implementation.
- {@link org.marketcetera.persist.JPAVendor} abstracts out our dependency on
- vendor specific code. JPA doesn't seem to cover all our usage scenarios,
- like blob/clob initialization. This class is used to provide a vendor neutral
- mechanism to carry out persistence operations that are not covered via JPA.
- This functionality is exposed to the clients of persistence layer via the
- {@link org.marketcetera.persist.VendorUtils} class.
-
-
-Entities Layer
-
- The entities layer provides base classes for Entities and single / multi instance
- queries to fetch them.
-
-
-Entities
-
- Any new persistent entity can either extend
- {@link org.marketcetera.persist.EntityBase} or
- {@link org.marketcetera.persist.NDEntityBase},
- if it has name and description. Make sure to add appropriate JPA annotations to mark it
- as a persistent entity. Do annotate any of its non-persitent attributes with a Transient
- annotation.
-
- Views
-
- Entities can have attributes that are lazy loaded. These attributes are the ones
- that are costly to fetch. Examples include, attributes that represent the entity's
- relationship with other entities etc.
- To facilitate choice between loading these attributes or not, summary view interfaces
- like {@link org.marketcetera.persist.SummaryEntityBase} and
- {@link org.marketcetera.persist.SummaryNDEntityBase} are provided. These interfaces
- do not contain any setters for the attributes. Its expected, that the sub entites
- will create sub-interfaces that extend from these summary interfaces and add all
- other non-lazy loaded attributes to it.
-
-
-Queries
-
- Two types of queries are supported.
-
-
- Queries that fetch single instances: {@link org.marketcetera.persist.SingleEntityQuery}
- Queries that fetch multiple entity instances:{@link org.marketcetera.persist.MultipleEntityQuery}
-
-
- Queries provide the option to either load the summary view of the entity or
- its full view. Loading the full view is more expensive
-
-
-SingleEntityQuery
-
- These queries fetch a single instance of the entity. Examples include fetching
- the entity by ID or by its name, etc.
-
-
-MultipleEntityQuery
-
- These queries fetch multiple instances of the entity. These queries support
- filtering, ordering and paging of the results. For Entities that extend
- {@link org.marketcetera.persist.NDEntityBase},
- a base class {@link org.marketcetera.persist.MultiNDQuery} is provided for others
- to extend. The subclass implements the filtering & ordering behavior for
- entity name and description.
-
-
- MultiQueries have filter properties on them to filter their results. By default
- these filters are not set. A client of these queries can set these filters to
- apply them to the results. See {@link org.marketcetera.persist.MultiNDQuery#getNameFilter()}
- for example.
-
-
- MultiQueries can have an ordering applied to their results. See
- {@link org.marketcetera.persist.MultipleEntityQuery#getEntityOrder()}.
-
-
- MultiQueries can specify the
- {@link org.marketcetera.persist.MultipleEntityQuery#getFirstResult() starting}
- position of the results and the
- {@link org.marketcetera.persist.MultipleEntityQuery#getMaxResult() maximum} number of results
- to return back.
-
-Development Notes
-
- Once the entities, that need to be persisted, and the relationships between them have
- been figured out, we can start authoring classes for them using the persistence
- infrastructure. Base classes are available for basic entity operations and unit testing.
- See org.marketcetera.persist.example
package in the unit test sources for a
- sample implementation
-
-Entities
-
- Each entity can either extend {@link org.marketcetera.persist.EntityBase} or
- {@link org.marketcetera.persist.NDEntityBase} based on whether
- the entity has name and description attributes. If the entity has relationships or lazy loaded
- attributes, its recommended that a Summary View be defined for the entity that doesn't
- include any relationship or lazy-loaded attributes. The summary view can extend either of
- {@link org.marketcetera.persist.SummaryEntityBase} or
- {@link org.marketcetera.persist.SummaryNDEntityBase} depending on whether the entity
- has name and description attributes.
-
-
- Each entity subclass adds appropriate attributes to the class definition. The attributes can
- be annotated with JPA annotations if the default behavior is not sufficient.
-
-
- Each entity subclass can expose operations to save and delete the entity that in turn invoke
- the protected operations provided in the super classes. The entity can also define their own
- operations that use these operations. See User
class in unit tests for examples
- of such operations.
-
-
- Relationships between the entities have a side that owns the relationship. Make sure that
- the operations to modify the relationship are only exposed on the entity that owns the
- relationship. For example, Group
owns the relationship between User
- and Group
-
-Queries
-
- Each entity has a single instance query and a multi instance query. Base classes are provided
- for both kinds of queries. See the org.marketcetera.persist.example
package for how
- to extend and use these queries.
-
-
- Typically, single instance queries will be fairly simple. For multi instance queries you may
- want to declare additional filters, orders and operations.
-
-Validation
-
- Entities should be validated prior to save to ensure that all the attributes
- have valid values. See {@link org.marketcetera.persist.NDEntityBase#validate()}
- for an example on how to do it. Be sure to add both
- {@link javax.persistence.PrePersist} and {@link javax.persistence.PreUpdate} to
- ensure that validation happens during insert as well as update
-
-
- The current database can only save a subset of characters supported by java.
- Hence all the strings that are being persisted should be validated to ensure that
- they comply with the character set supported by the database.
- {@link org.marketcetera.persist.VendorUtils#validateText(CharSequence)} should be invoked
- to validate all the string query parameters, & entity attributes.
-
- Do ensure that all string attributes of the entity being saved are validated
- prior to save. Currently, only the name attribute of
- {@link org.marketcetera.persist.NDEntityBase} is validated. Any other string attributes
- in the entity (including description) should be validated to only contain supported
- characters.
-
-
- All the string parameters to the query are validated to only supported characters
- during query execution with {@link org.marketcetera.persist.QueryBase}.
- Hence no special validation is required during query execution. However, if you
- author queries that do not make use QueryBase
, make sure that all
- string parameters to the query are validated.
-
-Unit Testing
-
- Since the extent of compile-time checking is limited. Base classes are available to extensively
- test the entities and their queries. The design pattern is to extend a suitable base class for
- testing an entity. It can be either of EntityTestBase
or NDEntityTestBase
- depending on whether the entity has name and description attributes.
-
-
- You'd need to implement all the abstract methods to be able to compile the unit tests. You'd want
- to over-ride certain methods for any additional attributes that have been added to the entity.
- See UserTest
for example.
-
-
- A base class, ManyToManyTestBase
is also provided to test many to many relationships
- between entities. See UserGroupTest
for an example
-
-
- The unit test base classes only provide unit tests to exercise the functionality provided
- by the infrastructure. You'd want to add unit tests to exercise any features that have been
- built on top of the features provided by the infrastructure.
- See UserTest
for an example.
-
-Configuration
-
- The global persistence layer is configured via spring configuration. The entities have
- to provide a persistence.xml
, in the META-INF sub-directory of the jar they
- are contained in, to enable their persistence.
-
-Spring Configuration
-
- Here's a sample spring configuration snippet:
-
- The first bean configures a connection pool data source
- The second one configures a JPA entity manager factory, supplying it the connection
- pool data source.
- The last bean configures the EntityRemoteServer supplying it the entity manager
- factory. Notice that it depends on a jpaVendor bean. The only
- {@link org.marketcetera.persist.JPAVendor} implementation currently available
- is {@link org.marketcetera.persist.HibernateVendor}.
-
-
-
-{@code
-...
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-...
-}
-
-
- Do note that the dependency on the mysql jdbc connector, apache dbcp connection pooling &
- spring entity manager bean configuration is only within the spring configuration. The java
- code has no dependency on these specific implementations.
-
-
- Several properties can be configured for the MySQL jdbc connector and the apache
- dbcp connection pool. Configuration details can be found at the following locations.
-
-
-persistence.xml Configuration
-
- The persistence.xml schema can be found here .
- Good notes on configuring persistence.xml can be found in hibernate documentation
- here
- The persistence.xml file should be present in the META-INF
subdirectory of jar that contains
- the classes for the entities being persisted.
-
-
- Here's an example persistence.xml file, used to persist entities using hibernate's JPA implementation.
-
-
-{@code
-
-
- org.hibernate.ejb.HibernatePersistence
-
-
-
-
-
-
-}
-
-
- Do note that several hibernate configuration properties can be supplied. Details on the kinds of
- properties that can be specified can be found
- here .
- Do note that an jdbc connection / data source properties should not be specified here as they
- are specified via spring configuration.
-
-Design Details
-
- This section has details on design and implementation of the persistence
- infrastructure.
-
-Code Paths
-
- This section has sample code paths for certain key interesting code paths in the persistence system.
-
-Save Operation
-
- This section documents the sequence of API invocations that happen when saving an entity.
- The sequence is a similar to what happens when the delete operation is invoked.
-
-
- The methods with the suffix Remote
are meant to be invoked by the client
- facing API to invoke a persistence operation. These method invocations endup invoking
- the corresponding operation with Local
suffix on the entity within the
- JVM that has access to the database and is configured with appropriate JPA
- EntityManager to interact with the database.
-
-
- {@link org.marketcetera.persist.EntityBase#saveRemote(PersistContext)}
- |
- |-{@link org.marketcetera.persist.EntityBase#createSaveResult()}
- |
- |-{@link org.marketcetera.persist.EntityRemoteServices#save(EntityBase,PersistContext)}
- | | (Remoting)
- | |
- | '-{@link org.marketcetera.persist.EntityRemoteServices#execute(Transaction,PersistContext)}
- | | (Transaction Envelope)
- | |
- | '-{@link org.marketcetera.persist.EntityBase#saveLocal(EntityManager,PersistContext)}
- | |
- | |-{@link org.marketcetera.persist.EntityBase#postSaveLocal(EntityManager,EntityBase,PersistContext)}
- | | (Can be over-ridden to carry out custom stuff)
- | |
- | '-{@link org.marketcetera.persist.EntityBase#createSaveResult()}
- |
- '-{@link org.marketcetera.persist.EntityBase#applyRemote(SaveResult)}
-
-Multi Query Execution
-
- This section documents the sequence of API invocations that happen when running a multi
- instance query.
-
-
-
- {@link org.marketcetera.persist.MultipleEntityQuery#fetchRemote(MultiQueryProcessor)}
- |
- '-{@link org.marketcetera.persist.QueryBase#executeRemote(QueryProcessor)}
- |
- '-{@link org.marketcetera.persist.QueryBase#executeRemoteMultiple(List)}
- |
- '-{@link org.marketcetera.persist.EntityRemoteServices#execute(QueryBase,List)}
- | (Remoting)
- |
- '-{@link org.marketcetera.persist.EntityRemoteServices#execute(Transaction,PersistContext)}
- | (Transaction Envelope)
- |
- '-{@link org.marketcetera.persist.QueryBase#executeLocal(EntityManager,List)}
- |
- |-{@link org.marketcetera.persist.QueryBase#createQuery(EntityManager,QueryProcessor)}
- | | (creates query string customized by query processor)
- | |
- | |-{@link org.marketcetera.persist.QueryProcessor#preGenerate(StringBuilder,QueryBase)}
- | |
- | |-{@link org.marketcetera.persist.QueryProcessor#needsFetchJoins()}
- | |
- | |-{@link org.marketcetera.persist.QueryProcessor#needsOrderBy()}
- | |
- | |-{@link org.marketcetera.persist.QueryProcessor#postGenerate(StringBuilder)}
- | |
- | '-{@link org.marketcetera.persist.MultipleEntityQuery#preSetParameters(Query)}
- |
- '-{@link org.marketcetera.persist.QueryProcessor#process(EntityManager,Query)}
- (processes the query to generate results)
-
-
\ No newline at end of file
diff --git a/core/src/main/java/org/marketcetera/pool/impl/ExecutorServiceProviderImpl.java b/core/src/main/java/org/marketcetera/pool/impl/ExecutorServiceProviderImpl.java
index 95aa2c1838..b9fe48f867 100644
--- a/core/src/main/java/org/marketcetera/pool/impl/ExecutorServiceProviderImpl.java
+++ b/core/src/main/java/org/marketcetera/pool/impl/ExecutorServiceProviderImpl.java
@@ -68,7 +68,7 @@ public int getMaxPoolSize()
/**
* Sets the maxPoolSize value.
*
- * @param an int
value
+ * @param inMaxPoolSize an int
value
*/
public void setMaxPoolSize(int inMaxPoolSize)
{
@@ -86,7 +86,7 @@ public boolean getAllowCoreThreadTimeOut()
/**
* Sets the allowCoreThreadTimeOut value.
*
- * @param a boolean
value
+ * @param inAllowCoreThreadTimeOut a boolean
value
*/
public void setAllowCoreThreadTimeOut(boolean inAllowCoreThreadTimeOut)
{
@@ -104,7 +104,7 @@ public int getCorePoolSize()
/**
* Sets the corePoolSize value.
*
- * @param an int
value
+ * @param inCorePoolSize an int
value
*/
public void setCorePoolSize(int inCorePoolSize)
{
@@ -122,7 +122,7 @@ public int getKeepAliveTime()
/**
* Sets the keepAliveTime value.
*
- * @param an int
value
+ * @param inKeepAliveTime an int
value
*/
public void setKeepAliveTime(int inKeepAliveTime)
{
diff --git a/core/src/main/java/org/marketcetera/quickfix/FIXMessageFactory.java b/core/src/main/java/org/marketcetera/quickfix/FIXMessageFactory.java
index aecf43adf0..6de93546b8 100644
--- a/core/src/main/java/org/marketcetera/quickfix/FIXMessageFactory.java
+++ b/core/src/main/java/org/marketcetera/quickfix/FIXMessageFactory.java
@@ -254,7 +254,7 @@ public Message newMarketDataIncrementalRefresh(String inRequestId)
/**
* Create an MDEntry group.
*
- * @param inMessageFactory a FIXMessageFactory
value
+ * @param inMsgType a String
value
* @param inMdEntryType a char
value
* @return a Group
value
*/
@@ -270,7 +270,7 @@ public Group createMdEntryGroup(String inMsgType,
* Get the MDEntry groups from the given message.
*
* @param inMessage a Message
value
- * @return a List<:Group>
value
+ * @return a List<Group>
value
* @throws FieldNotFound if the groups could not be extracted
*/
public List getMdEntriesFromMessage(Message inMessage)
diff --git a/core/src/main/java/org/marketcetera/symbol/IterativeSymbolResolver.java b/core/src/main/java/org/marketcetera/symbol/IterativeSymbolResolver.java
index 903b1ea637..6a3e0418d1 100644
--- a/core/src/main/java/org/marketcetera/symbol/IterativeSymbolResolver.java
+++ b/core/src/main/java/org/marketcetera/symbol/IterativeSymbolResolver.java
@@ -120,7 +120,7 @@ public int getCacheSize()
/**
* Sets the cacheSize value.
*
- * @param an int
value
+ * @param inCacheSize an int
value
*/
public void setCacheSize(int inCacheSize)
{
diff --git a/core/src/main/java/org/marketcetera/symbol/SymbolResolver.java b/core/src/main/java/org/marketcetera/symbol/SymbolResolver.java
index c0711cfad5..2d229e6fea 100644
--- a/core/src/main/java/org/marketcetera/symbol/SymbolResolver.java
+++ b/core/src/main/java/org/marketcetera/symbol/SymbolResolver.java
@@ -26,7 +26,7 @@ public interface SymbolResolver
* Generate a symbol from the given instrument.
*
* @param inInstrument an Instrument
value
- * @return a code>String value
+ * @return a String
value
*/
String generateSymbol(Instrument inInstrument);
}
diff --git a/core/src/main/java/org/marketcetera/trade/AbstractSuggestion.java b/core/src/main/java/org/marketcetera/trade/AbstractSuggestion.java
new file mode 100644
index 0000000000..a666fdee64
--- /dev/null
+++ b/core/src/main/java/org/marketcetera/trade/AbstractSuggestion.java
@@ -0,0 +1,74 @@
+package org.marketcetera.trade;
+
+import java.math.BigDecimal;
+
+/* $License$ */
+
+/**
+ * Provides common behavior for Suggestion
implementations.
+ *
+ * @author Colin DuPlantis
+ * @version $Id$
+ * @since $Release$
+ */
+public abstract class AbstractSuggestion
+ implements Suggestion
+{
+ /* (non-Javadoc)
+ * @see org.marketcetera.trade.Suggestion#getIdentifier()
+ */
+ @Override
+ public String getIdentifier()
+ {
+ return identifier;
+ }
+ /* (non-Javadoc)
+ * @see org.marketcetera.trade.Suggestion#setIdentifier(java.lang.String)
+ */
+ @Override
+ public void setIdentifier(String inIdentifier)
+ {
+ identifier = inIdentifier;
+ }
+ /* (non-Javadoc)
+ * @see org.marketcetera.trade.Suggestion#getScore()
+ */
+ @Override
+ public BigDecimal getScore()
+ {
+ return score;
+ }
+ /* (non-Javadoc)
+ * @see org.marketcetera.trade.Suggestion#setScore(java.math.BigDecimal)
+ */
+ @Override
+ public void setScore(BigDecimal inScore)
+ {
+ score = inScore;
+ }
+ /**
+ * Create a new AbstractSuggestion instance.
+ */
+ protected AbstractSuggestion() {}
+ /**
+ * Create a new AbstractSuggestion instance.
+ *
+ * @param inIdentifier a String
value
+ * @param inScore a BigDecimal
value
+ */
+ protected AbstractSuggestion(String inIdentifier,
+ BigDecimal inScore)
+ {
+ setIdentifier(inIdentifier);
+ setScore(inScore);
+ }
+ /**
+ * identifier value
+ */
+ private String identifier;
+ /**
+ * score value
+ */
+ private BigDecimal score;
+ private static final long serialVersionUID = 7713915144622410613L;
+}
diff --git a/core/src/main/java/org/marketcetera/trade/Factory.java b/core/src/main/java/org/marketcetera/trade/Factory.java
index 7912e65781..cec44fb464 100644
--- a/core/src/main/java/org/marketcetera/trade/Factory.java
+++ b/core/src/main/java/org/marketcetera/trade/Factory.java
@@ -55,6 +55,20 @@ public abstract OrderSingle createOrderSingle(
*/
public abstract OrderSingleSuggestion createOrderSingleSuggestion();
+ /**
+ * Creates a suggestion for a cancel order.
+ *
+ * @return an OrderCancelSuggestion
value
+ */
+ public abstract OrderCancelSuggestion createOrderCancelSuggestion();
+
+ /**
+ * Creates a suggestion for a replace order.
+ *
+ * @return an OrderReplaceSuggestion
value
+ */
+ public abstract OrderReplaceSuggestion createOrderReplaceSuggestion();
+
/**
* Creates an order to cancel a previously placed order as
* identified by the supplied execution report. The execution
diff --git a/core/src/main/java/org/marketcetera/trade/FactoryImpl.java b/core/src/main/java/org/marketcetera/trade/FactoryImpl.java
index ef023618a3..feded57fe7 100644
--- a/core/src/main/java/org/marketcetera/trade/FactoryImpl.java
+++ b/core/src/main/java/org/marketcetera/trade/FactoryImpl.java
@@ -45,7 +45,22 @@ public OrderSingle createOrderSingle() {
public OrderSingleSuggestion createOrderSingleSuggestion() {
return new OrderSingleSuggestionImpl();
}
-
+ /* (non-Javadoc)
+ * @see org.marketcetera.trade.Factory#createOrderCancelSuggestion()
+ */
+ @Override
+ public OrderCancelSuggestion createOrderCancelSuggestion()
+ {
+ return new OrderCancelSuggestionImpl();
+ }
+ /* (non-Javadoc)
+ * @see org.marketcetera.trade.Factory#createOrderReplaceSuggestion()
+ */
+ @Override
+ public OrderReplaceSuggestion createOrderReplaceSuggestion()
+ {
+ return new OrderReplaceSuggestionImpl();
+ }
@Override
public OrderCancel createOrderCancel(ExecutionReport inLatestReport) {
OrderCancelImpl order = new OrderCancelImpl();
diff --git a/core/src/main/java/org/marketcetera/trade/Instrument.java b/core/src/main/java/org/marketcetera/trade/Instrument.java
index 498c7f0a91..b2530f3c15 100644
--- a/core/src/main/java/org/marketcetera/trade/Instrument.java
+++ b/core/src/main/java/org/marketcetera/trade/Instrument.java
@@ -16,7 +16,7 @@
* Each instrument has a symbol attribute. Sub-types may add more
* attributes as needed to uniquely identify the instrument being traded.
*
- * Each instrument sub-type should override the {@link #equals(Object)} &
+ * Each instrument sub-type should override the {@link #equals(Object)} &
* {@link #hashCode()} methods to ensure that any two instrument instances that
* refer to the same instrument are considered equal.
*
diff --git a/core/src/main/java/org/marketcetera/trade/OrderCancelSuggestion.java b/core/src/main/java/org/marketcetera/trade/OrderCancelSuggestion.java
new file mode 100644
index 0000000000..5c4dc9ec21
--- /dev/null
+++ b/core/src/main/java/org/marketcetera/trade/OrderCancelSuggestion.java
@@ -0,0 +1,23 @@
+package org.marketcetera.trade;
+
+/* $License$ */
+
+/**
+ * Contains a suggestion for a cancel order.
+ *
+ *
Instances of this type can be created via {@link Factory#createOrderCancelSuggestion()}
+ *
+ * @author Colin DuPlantis
+ * @version $Id$
+ * @since $Release$
+ */
+public interface OrderCancelSuggestion
+ extends Suggestion,HasOrderCancel
+{
+ /**
+ * Set the cancel order value.
+ *
+ * @param inOrderCancel the suggested order.
+ */
+ void setOrderCancel(OrderCancel inOrderCancel);
+}
diff --git a/core/src/main/java/org/marketcetera/trade/OrderCancelSuggestionImpl.java b/core/src/main/java/org/marketcetera/trade/OrderCancelSuggestionImpl.java
new file mode 100644
index 0000000000..9fd3a1b8fd
--- /dev/null
+++ b/core/src/main/java/org/marketcetera/trade/OrderCancelSuggestionImpl.java
@@ -0,0 +1,78 @@
+package org.marketcetera.trade;
+
+import java.math.BigDecimal;
+
+/* $License$ */
+
+/**
+ * Provides an {@link OrderCancelSuggestion} implementation.
+ *
+ * @author Colin DuPlantis
+ * @version $Id$
+ * @since $Release$
+ */
+public class OrderCancelSuggestionImpl
+ extends AbstractSuggestion
+ implements OrderCancelSuggestion
+{
+ /**
+ * Create a new OrderCancelSuggestionImpl instance.
+ */
+ public OrderCancelSuggestionImpl() {}
+ /**
+ * Create a new OrderCancelSuggestionImpl instance.
+ *
+ * @param inOrderCancel an OrderCancel
value
+ */
+ public OrderCancelSuggestionImpl(OrderCancel inOrderCancel)
+ {
+ setOrderCancel(inOrderCancel);
+ }
+ /**
+ * Create a new OrderCancelSuggestionImpl instance.
+ *
+ * @param inIdentifier a String
value
+ * @param inScore a BigDecimal
value
+ * @param inOrderCancel an OrderCancel
value
+ */
+ public OrderCancelSuggestionImpl(String inIdentifier,
+ BigDecimal inScore,
+ OrderCancel inOrderCancel)
+ {
+ super(inIdentifier,
+ inScore);
+ setOrderCancel(inOrderCancel);
+ }
+ /* (non-Javadoc)
+ * @see org.marketcetera.trade.HasOrderCancel#getOrderCancel()
+ */
+ @Override
+ public OrderCancel getOrderCancel()
+ {
+ return orderCancel;
+ }
+ /* (non-Javadoc)
+ * @see org.marketcetera.trade.OrderCancelSuggestion#setOrderCancel(org.marketcetera.trade.OrderCancel)
+ */
+ @Override
+ public void setOrderCancel(OrderCancel inOrderCancel)
+ {
+ orderCancel = inOrderCancel;
+ }
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString()
+ {
+ StringBuilder builder = new StringBuilder();
+ builder.append("OrderCancelSuggestionImpl [identifier=").append(getIdentifier()).append(", score=")
+ .append(getScore()).append(", orderCancel=").append(orderCancel).append("]");
+ return builder.toString();
+ }
+ /**
+ * order Cancel value
+ */
+ private OrderCancel orderCancel;
+ private static final long serialVersionUID = 2069691082438028206L;
+}
diff --git a/core/src/main/java/org/marketcetera/trade/OrderReplaceSuggestionImpl.java b/core/src/main/java/org/marketcetera/trade/OrderReplaceSuggestionImpl.java
new file mode 100644
index 0000000000..a04c56a27a
--- /dev/null
+++ b/core/src/main/java/org/marketcetera/trade/OrderReplaceSuggestionImpl.java
@@ -0,0 +1,78 @@
+package org.marketcetera.trade;
+
+import java.math.BigDecimal;
+
+/* $License$ */
+
+/**
+ * Provides an {@link OrderReplaceSuggestion} implementation.
+ *
+ * @author Colin DuPlantis
+ * @version $Id$
+ * @since $Release$
+ */
+public class OrderReplaceSuggestionImpl
+ extends AbstractSuggestion
+ implements OrderReplaceSuggestion
+{
+ /**
+ * Create a new OrderReplaceSuggestionImpl instance.
+ */
+ public OrderReplaceSuggestionImpl() {}
+ /**
+ * Create a new OrderReplaceSuggestionImpl instance.
+ *
+ * @param inOrderReplace an OrderReplace
value
+ */
+ public OrderReplaceSuggestionImpl(OrderReplace inOrderReplace)
+ {
+ setOrderReplace(inOrderReplace);
+ }
+ /**
+ * Create a new OrderReplaceSuggestionImpl instance.
+ *
+ * @param inIdentifier a String
value
+ * @param inScore a BigDecimal
value
+ * @param inOrderReplace an OrderReplace
value
+ */
+ public OrderReplaceSuggestionImpl(String inIdentifier,
+ BigDecimal inScore,
+ OrderReplace inOrderReplace)
+ {
+ super(inIdentifier,
+ inScore);
+ setOrderReplace(inOrderReplace);
+ }
+ /* (non-Javadoc)
+ * @see org.marketcetera.trade.HasOrderReplace#getOrderReplace()
+ */
+ @Override
+ public OrderReplace getOrderReplace()
+ {
+ return orderReplace;
+ }
+ /* (non-Javadoc)
+ * @see org.marketcetera.trade.OrderReplaceSuggestion#setOrderReplace(org.marketcetera.trade.OrderReplace)
+ */
+ @Override
+ public void setOrderReplace(OrderReplace inOrderReplace)
+ {
+ orderReplace = inOrderReplace;
+ }
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString()
+ {
+ StringBuilder builder = new StringBuilder();
+ builder.append("OrderReplaceSuggestionImpl [identifier=").append(getIdentifier()).append(", score=")
+ .append(getScore()).append(", orderReplace=").append(orderReplace).append("]");
+ return builder.toString();
+ }
+ /**
+ * order replace value
+ */
+ private OrderReplace orderReplace;
+ private static final long serialVersionUID = 2069691082438028206L;
+}
diff --git a/core/src/main/java/org/marketcetera/trade/utils/OrderHistoryManager.java b/core/src/main/java/org/marketcetera/trade/utils/OrderHistoryManager.java
index b6beb7c09b..0389664f83 100644
--- a/core/src/main/java/org/marketcetera/trade/utils/OrderHistoryManager.java
+++ b/core/src/main/java/org/marketcetera/trade/utils/OrderHistoryManager.java
@@ -94,7 +94,7 @@ public ReportBase getLatestReportFor(OrderID inOrderID)
/**
* Adds the given TradeMessage
to the order history.
*
- * @param inReport a TradeMessage
value
+ * @param inTradeMessage a TradeMessage
value
*/
public void add(TradeMessage inTradeMessage)
{
@@ -319,10 +319,10 @@ public String display()
*
The returned Deque
does not change and will not reflect future changes.
*
*
The given OrderID
may be either an order ID or an original order ID. The reports
- * returned will be the same in either case. If no history exists for the given OrderID,
+ * returned will be the same in either case. If no history exists for the given OrderID
,
* an empty Deque
is returned.
*
- * The underlying order history is populated by calls to {@link #add(ReportBase)}.
+ *
The underlying order history is populated by calls to {@link #add(TradeMessage)}.
*
* @param inOrderId an OrderID
value
* @return a Deque<ReportBase>
value which may be empty
diff --git a/core/src/test/java/org/marketcetera/core/AccessViolator.java b/core/src/test/java/org/marketcetera/core/AccessViolator.java
index 3d231a4b6d..1d66debc7d 100644
--- a/core/src/test/java/org/marketcetera/core/AccessViolator.java
+++ b/core/src/test/java/org/marketcetera/core/AccessViolator.java
@@ -37,9 +37,15 @@ public Object invokeMethod(String methodName, Object reference, Object [] args,
theMethod.setAccessible(true);
return theMethod.invoke(reference, args);
}
-
-
- /** Sets the speicified field to the passed-in value */
+ /**
+ * Sets the specified field to the passed-in value
+ *
+ * @param fieldName a String
value
+ * @param reference an Object
value
+ * @param value an Object
value
+ * @throws NoSuchFieldException if the specified field does not exist
+ * @throws IllegalAccessException if access is not allowed
+ */
public void setField(String fieldName, Object reference, Object value)
throws NoSuchFieldException, IllegalAccessException {
Field theField = violatedClass.getDeclaredField(fieldName);
diff --git a/core/src/test/java/org/marketcetera/core/ExpectedTestFailure.java b/core/src/test/java/org/marketcetera/core/ExpectedTestFailure.java
index 8cfd5fbe57..3ef336a453 100644
--- a/core/src/test/java/org/marketcetera/core/ExpectedTestFailure.java
+++ b/core/src/test/java/org/marketcetera/core/ExpectedTestFailure.java
@@ -10,7 +10,7 @@
*
* (new ExpectedTestFailure(OrderParsingException.class) {
* protected void execute() throws OrderParsingException {
- * <... Code throwing exception goes here ... >
+ * <... Code throwing exception goes here ... >
* }}).run();
*
*
@@ -35,11 +35,15 @@ public ExpectedTestFailure(Class> inThrowable, String inContains)
/** Subclasses must override this method with an implementation that
* throws their expected error
- * @throws Throwable
+ * @throws Throwable if an error occurs
*/
protected abstract void execute() throws Throwable;
- /** Executes the code that was implemented in @link {execute()} method */
+ /**
+ * Executes the code that was implemented in @link {execute()} method.
+ *
+ * @return a Throwable
value
+ */
public Throwable run()
{
try {
diff --git a/core/src/test/java/org/marketcetera/core/ExpectedTestFailureTest.java b/core/src/test/java/org/marketcetera/core/ExpectedTestFailureTest.java
index 7fb026d923..e0eb9d74d4 100644
--- a/core/src/test/java/org/marketcetera/core/ExpectedTestFailureTest.java
+++ b/core/src/test/java/org/marketcetera/core/ExpectedTestFailureTest.java
@@ -51,8 +51,11 @@ protected void execute() throws Throwable
}
-
- /** Check the case when the exception has a message (toString()) but getMessage() returns null */
+ /**
+ * Check the case when the exception has a message (toString()) but getMessage() returns null.
+ *
+ * @throws Exception an Exception
value
+ */
public void testExceptinoHasNoMessageButHasString() throws Exception {
final Exception ex = new Exception() {
private static final long serialVersionUID = 1L;
diff --git a/core/src/test/java/org/marketcetera/core/LoggerStartupTest.java b/core/src/test/java/org/marketcetera/core/LoggerStartupTest.java
index 84f16e768a..b6a3d5b1e1 100644
--- a/core/src/test/java/org/marketcetera/core/LoggerStartupTest.java
+++ b/core/src/test/java/org/marketcetera/core/LoggerStartupTest.java
@@ -20,7 +20,7 @@ public static Test suite() {
/** This is a dummy test, mostly for visual checking of whether or not
* the logger is initialized correctly.
- * @throws Exception
+ * @throws Exception if an unexpected error occurs
*/
public void testLogSomething() throws Exception {
new ApplicationBase();
diff --git a/core/src/test/java/org/marketcetera/core/VersionInfoTest.java b/core/src/test/java/org/marketcetera/core/VersionInfoTest.java
index eb53a4eb98..bb3d621031 100644
--- a/core/src/test/java/org/marketcetera/core/VersionInfoTest.java
+++ b/core/src/test/java/org/marketcetera/core/VersionInfoTest.java
@@ -13,7 +13,7 @@
/* $License$ */
/**
- * Tests {@link #VersionInfo}.
+ * Tests {@link VersionInfo}.
*
* @author Colin DuPlantis
* @version $Id$
diff --git a/core/src/test/java/org/marketcetera/core/instruments/InstrumentToMessageTest.java b/core/src/test/java/org/marketcetera/core/instruments/InstrumentToMessageTest.java
index 3fb6f0e765..8a9b2de22d 100644
--- a/core/src/test/java/org/marketcetera/core/instruments/InstrumentToMessageTest.java
+++ b/core/src/test/java/org/marketcetera/core/instruments/InstrumentToMessageTest.java
@@ -604,7 +604,7 @@ protected void run()
}
}
/**
- * Tests {@link InstrumentToMessage#setSecurityType(org.marketcetera.trade.Instrument, String, quickfix.Message)}.
+ * Tests {@link InstrumentToMessage#setSecurityType(org.marketcetera.trade.Instrument, String, quickfix.FieldMap)}.
*
* @throws Exception if there were unexpected errors.
*/
diff --git a/core/src/test/java/org/marketcetera/core/notifications/NotificationManagerTest.java b/core/src/test/java/org/marketcetera/core/notifications/NotificationManagerTest.java
index 8a1d1e823c..3b864f3342 100644
--- a/core/src/test/java/org/marketcetera/core/notifications/NotificationManagerTest.java
+++ b/core/src/test/java/org/marketcetera/core/notifications/NotificationManagerTest.java
@@ -26,7 +26,7 @@ public class NotificationManagerTest
/**
* Tests that the static getter returns a non-null value.
*
- * @throws Exception
+ * @throws Exception if an unexpected error occurs
*/
@Test
public void testGetter()
@@ -40,7 +40,7 @@ public void testGetter()
* Note that this is not an exhaustive test of the {@link PublisherEngine} because
* that is covered in {@link PublisherEngineTest}.
*
- * @throws Exception
+ * @throws Exception if an unexpected error occurs
*/
@Test
public void testSubscribeAndPublish()
diff --git a/core/src/test/java/org/marketcetera/core/position/impl/OrderingComparison.java b/core/src/test/java/org/marketcetera/core/position/impl/OrderingComparison.java
index 9161d829d5..51e546a0b3 100644
--- a/core/src/test/java/org/marketcetera/core/position/impl/OrderingComparison.java
+++ b/core/src/test/java/org/marketcetera/core/position/impl/OrderingComparison.java
@@ -49,36 +49,56 @@ else if (compare == 0) {
/**
* Is value = expected?
+ *
+ * @param type being compared
+ * @param value a T
value
+ * @return a Matcher<? super T>
value
*/
public static > Matcher super T> comparesEqualTo(T value) {
return new OrderingComparison(value, 0, 0);
}
/**
- * Is value > expected?
+ * Is value > expected?
+ *
+ * @param type being compared
+ * @param value a T
value
+ * @return a Matcher<? super T>
value
*/
public static > Matcher super T> greaterThan(T value) {
return new OrderingComparison(value, -1, -1);
}
/**
- * Is value >= expected?
+ * Is value >= expected?
+ *
+ * @param type being compared
+ * @param value a T
value
+ * @return a Matcher<? super T>
value
*/
public static > Matcher super T> greaterThanOrEqualTo(T value) {
return new OrderingComparison(value, -1, 0);
}
/**
- * Is value < expected?
+ * Is value < expected?
+ *
+ * @param type being compared
+ * @param value a T
value
+ * @return a Matcher<? super T>
value
*/
public static > Matcher super T> lessThan(T value) {
return new OrderingComparison(value, 1, 1);
}
/**
- * Is value <= expected?
+ * Is value <= expected?
+ *
+ * @param type being compared
+ * @param value a T
value
+ * @return a Matcher<? super T>
value
*/
public static > Matcher super T> lessThanOrEqualTo(T value) {
return new OrderingComparison(value, 0, 1);
}
-}
\ No newline at end of file
+}
diff --git a/core/src/test/java/org/marketcetera/core/position/impl/PositionRowUpdaterConcurrencyTest.java b/core/src/test/java/org/marketcetera/core/position/impl/PositionRowUpdaterConcurrencyTest.java
index ac822bdfef..390df5f30e 100644
--- a/core/src/test/java/org/marketcetera/core/position/impl/PositionRowUpdaterConcurrencyTest.java
+++ b/core/src/test/java/org/marketcetera/core/position/impl/PositionRowUpdaterConcurrencyTest.java
@@ -260,6 +260,8 @@ public final void run() {
/**
* Hook for subclass code to run. Any thrown exception will be reported.
+ *
+ * @throws Exception if an unexpected error occurs
*/
protected abstract void runWithReporting() throws Exception;
}
diff --git a/core/src/test/java/org/marketcetera/event/MockEvent.java b/core/src/test/java/org/marketcetera/event/MockEvent.java
index a7f88c3ee6..ea9fc0423a 100644
--- a/core/src/test/java/org/marketcetera/event/MockEvent.java
+++ b/core/src/test/java/org/marketcetera/event/MockEvent.java
@@ -28,8 +28,8 @@ public MockEvent()
/**
* Create a new MockEvent instance.
*
- * @param inMessageId
- * @param inTimestamp
+ * @param inMessageId a long
value
+ * @param inTimestamp a long
value
*/
public MockEvent(long inMessageId,
long inTimestamp)
@@ -40,7 +40,7 @@ public MockEvent(long inMessageId,
/**
* Create a new MockEvent instance.
*
- * @param inRequest
+ * @param inRequest a MarketDataRequest
value
*/
public MockEvent(MarketDataRequest inRequest)
{
diff --git a/core/src/test/java/org/marketcetera/event/MockEventTranslator.java b/core/src/test/java/org/marketcetera/event/MockEventTranslator.java
index 3d0107c535..daad985f35 100644
--- a/core/src/test/java/org/marketcetera/event/MockEventTranslator.java
+++ b/core/src/test/java/org/marketcetera/event/MockEventTranslator.java
@@ -99,7 +99,7 @@ public static void setTranslateToEventsReturnsNull(boolean inTranslateToEventsRe
/**
* Sets the requestToReturn value.
*
- * @param a DataRequest
value
+ * @param inRequestToReturn a DataRequest
value
*/
public static void setRequestToReturn(MarketDataRequest inRequestToReturn)
{
diff --git a/core/src/test/java/org/marketcetera/event/QuantityTuple.java b/core/src/test/java/org/marketcetera/event/QuantityTuple.java
index 6bdfa4b05a..74115f82c1 100644
--- a/core/src/test/java/org/marketcetera/event/QuantityTuple.java
+++ b/core/src/test/java/org/marketcetera/event/QuantityTuple.java
@@ -29,6 +29,7 @@ public class QuantityTuple
*
* @param inPrice a BigDecimal
value
* @param inSize a BigDecimal
value
+ * @param inType a Class<? extends MarketDataEvent>
value
*/
public QuantityTuple(BigDecimal inPrice,
BigDecimal inSize,
@@ -59,7 +60,7 @@ public BigDecimal getSize()
/**
* Get the type value.
*
- * @return a Class extends MarketDataEvent>
value
+ * @return a Class<? extends MarketDataEvent>
value
*/
public Class extends MarketDataEvent> getType()
{
diff --git a/core/src/test/java/org/marketcetera/event/beans/DividendBeanTest.java b/core/src/test/java/org/marketcetera/event/beans/DividendBeanTest.java
index 01b50fb5ea..f2d34c4324 100644
--- a/core/src/test/java/org/marketcetera/event/beans/DividendBeanTest.java
+++ b/core/src/test/java/org/marketcetera/event/beans/DividendBeanTest.java
@@ -64,7 +64,7 @@ public void equity()
bean.getInstrumentAsString());
}
/**
- * Tests {@link DividendBean#getAmount()} and {@link DividendBean#setAmount(org.marketcetera.trade.Amount)}.
+ * Tests {@link DividendBean#getAmount()} and {@link DividendBean#setAmount(BigDecimal)}.
*
* @throws Exception if an unexpected error occurs
*/
@@ -82,7 +82,7 @@ public void amount()
bean.getAmount());
}
/**
- * Tests {@link DividendBean#getCurrency()} and {@link DividendBean#setCurrency(org.marketcetera.trade.Currency)}.
+ * Tests {@link DividendBean#getCurrency()} and {@link DividendBean#setCurrency(String)}.
*
* @throws Exception if an unexpected error occurs
*/
@@ -100,7 +100,7 @@ public void currency()
bean.getCurrency());
}
/**
- * Tests {@link DividendBean#getDeclareDate()} and {@link DividendBean#setDeclareDate(org.marketcetera.trade.DeclareDate)}.
+ * Tests {@link DividendBean#getDeclareDate()} and {@link DividendBean#setDeclareDate(String)}.
*
* @throws Exception if an unexpected error occurs
*/
@@ -121,7 +121,7 @@ public void declareDate()
bean.getDeclareDate());
}
/**
- * Tests {@link DividendBean#getExecutionDate()} and {@link DividendBean#setExecutionDate(org.marketcetera.trade.ExecutionDate)}.
+ * Tests {@link DividendBean#getExecutionDate()} and {@link DividendBean#setExecutionDate(String)}.
*
* @throws Exception if an unexpected error occurs
*/
@@ -142,7 +142,7 @@ public void executionDate()
bean.getExecutionDate());
}
/**
- * Tests {@link DividendBean#getPaymentDate()} and {@link DividendBean#setPaymentDate(org.marketcetera.trade.PaymentDate)}.
+ * Tests {@link DividendBean#getPaymentDate()} and {@link DividendBean#setPaymentDate(String)}.
*
* @throws Exception if an unexpected error occurs
*/
@@ -163,7 +163,7 @@ public void paymentDate()
bean.getPaymentDate());
}
/**
- * Tests {@link DividendBean#getRecordDate()} and {@link DividendBean#setRecordDate(org.marketcetera.trade.RecordDate)}.
+ * Tests {@link DividendBean#getRecordDate()} and {@link DividendBean#setRecordDate(String)}.
*
* @throws Exception if an unexpected error occurs
*/
@@ -184,7 +184,7 @@ public void recordDate()
bean.getRecordDate());
}
/**
- * Tests {@link DividendBean#getFrequency()} and {@link DividendBean#setFrequency(org.marketcetera.trade.Frequency)}.
+ * Tests {@link DividendBean#getFrequency()} and {@link DividendBean#setFrequency(DividendFrequency)}.
*
* @throws Exception if an unexpected error occurs
*/
@@ -202,7 +202,7 @@ public void frequency()
bean.getFrequency());
}
/**
- * Tests {@link DividendBean#getStatus()} and {@link DividendBean#setStatus(org.marketcetera.trade.Status)}.
+ * Tests {@link DividendBean#getStatus()} and {@link DividendBean#setStatus(DividendStatus)}.
*
* @throws Exception if an unexpected error occurs
*/
@@ -220,7 +220,7 @@ public void status()
bean.getStatus());
}
/**
- * Tests {@link DividendBean#getType()} and {@link DividendBean#setType(org.marketcetera.trade.Type)}.
+ * Tests {@link DividendBean#getType()} and {@link DividendBean#setType(DividendType)}.
*
* @throws Exception if an unexpected error occurs
*/
diff --git a/core/src/test/java/org/marketcetera/event/beans/MarketDataBeanTest.java b/core/src/test/java/org/marketcetera/event/beans/MarketDataBeanTest.java
index 525d34b908..407966482d 100644
--- a/core/src/test/java/org/marketcetera/event/beans/MarketDataBeanTest.java
+++ b/core/src/test/java/org/marketcetera/event/beans/MarketDataBeanTest.java
@@ -40,7 +40,7 @@ public void copy()
doCopyTest(new MarketDataBean());
}
/**
- * Tests {@link E#getInstrument()} and {@link E#setInstrument(org.marketcetera.trade.Instrument)}.
+ * Tests getInstrument
and setInstrument
.
*
* @throws Exception if an unexpected error occurs
*/
diff --git a/core/src/test/java/org/marketcetera/event/beans/MarketstatBeanTest.java b/core/src/test/java/org/marketcetera/event/beans/MarketstatBeanTest.java
index 00df104aa0..7dd5758cb8 100644
--- a/core/src/test/java/org/marketcetera/event/beans/MarketstatBeanTest.java
+++ b/core/src/test/java/org/marketcetera/event/beans/MarketstatBeanTest.java
@@ -365,7 +365,7 @@ public void closeExchange()
bean.getCloseExchange());
}
/**
- * Tests {@link E#getInstrument()} and {@link E#setInstrument(org.marketcetera.trade.Instrument)}.
+ * Tests getInstrument
and setInstrument
.
*
* @throws Exception if an unexpected error occurs
*/
diff --git a/core/src/test/java/org/marketcetera/event/beans/QuoteBeanTest.java b/core/src/test/java/org/marketcetera/event/beans/QuoteBeanTest.java
index f1c9e6c3dd..83cbd92fb3 100644
--- a/core/src/test/java/org/marketcetera/event/beans/QuoteBeanTest.java
+++ b/core/src/test/java/org/marketcetera/event/beans/QuoteBeanTest.java
@@ -47,7 +47,7 @@ public void copy()
}
/**
* Tests {@link QuoteBean#getQuoteBeanFromEvent(org.marketcetera.event.QuoteEvent, QuoteAction)} and
- * {@link QuoteBean#getQuoteBeanFromEvent(org.marketcetera.event.QuoteEvent, java.util.Date, java.math.BigDecimal, QuoteAction).
+ * {@link QuoteBean#getQuoteBeanFromEvent(org.marketcetera.event.QuoteEvent, java.util.Date, java.math.BigDecimal, QuoteAction)}.
*
* @throws Exception if an unexpected error occurs
*/
diff --git a/core/src/test/java/org/marketcetera/event/impl/LogEventTest.java b/core/src/test/java/org/marketcetera/event/impl/LogEventTest.java
index f3f6aeb456..9d93ea3264 100644
--- a/core/src/test/java/org/marketcetera/event/impl/LogEventTest.java
+++ b/core/src/test/java/org/marketcetera/event/impl/LogEventTest.java
@@ -26,7 +26,7 @@
import org.marketcetera.util.log.I18NMessageNP;
/**
- * Tests {@link LogEventBuilder} and {@link LinkEventImpl}.
+ * Tests {@link LogEventBuilder} and {@link LogEventImpl}.
*
* @author Colin DuPlantis
* @version $Id$
diff --git a/core/src/test/java/org/marketcetera/event/impl/QuoteEventTest.java b/core/src/test/java/org/marketcetera/event/impl/QuoteEventTest.java
index 97f42ba041..2e635f8e0c 100644
--- a/core/src/test/java/org/marketcetera/event/impl/QuoteEventTest.java
+++ b/core/src/test/java/org/marketcetera/event/impl/QuoteEventTest.java
@@ -550,7 +550,7 @@ public void withContractSize()
verify(builder);
}
/**
- * Tests {@link QuoteEventBuilder>#withInstrument(Instrument)}.
+ * Tests QuoteEventBuilder.withInstrument
.
*
* @throws Exception if an unexpected error occurs
*/
@@ -624,7 +624,7 @@ public void withMessageId()
verify(builder);
}
/**
- * Tests {@link QuoteEventBuilder#withMultiplier(int)}.
+ * Tests {@link QuoteEventBuilder#withMultiplier(BigDecimal)}.
*
* @throws Exception if an unexpected error occurs
*/
@@ -720,7 +720,7 @@ public void withPrice()
verify(builder);
}
/**
- * Tests {@link QuoteEventBuilder#withQuoteDate(String)}.
+ * Tests {@link QuoteEventBuilder#withQuoteDate(Date)}.
*
* @throws Exception if an unexpected error occurs
*/
diff --git a/core/src/test/java/org/marketcetera/event/impl/TradeEventTest.java b/core/src/test/java/org/marketcetera/event/impl/TradeEventTest.java
index 3ee9c9e447..53ab1b94db 100644
--- a/core/src/test/java/org/marketcetera/event/impl/TradeEventTest.java
+++ b/core/src/test/java/org/marketcetera/event/impl/TradeEventTest.java
@@ -350,7 +350,7 @@ public void withMessageId()
verify(builder);
}
/**
- * Tests {@link TradeEventBuilder#withMultiplier(int)}.
+ * Tests {@link TradeEventBuilder#withMultiplier(BigDecimal)}.
*
* @throws Exception if an unexpected error occurs
*/
@@ -398,7 +398,7 @@ public void withPrice()
verify(builder);
}
/**
- * Tests {@link TradeEventBuilder#withTradeDate(String)}.
+ * Tests {@link TradeEventBuilder#withTradeDate(Date)}.
*
* @throws Exception if an unexpected error occurs
*/
diff --git a/core/src/test/java/org/marketcetera/marketdata/DateUtilsTest.java b/core/src/test/java/org/marketcetera/marketdata/DateUtilsTest.java
index 06adda3515..2fd519086b 100644
--- a/core/src/test/java/org/marketcetera/marketdata/DateUtilsTest.java
+++ b/core/src/test/java/org/marketcetera/marketdata/DateUtilsTest.java
@@ -23,7 +23,7 @@
/* $License$ */
/**
- * Tests {@link DateUtil}.
+ * Tests {@link DateUtils}.
*
* @author Colin DuPlantis
* @version $Id$
diff --git a/core/src/test/java/org/marketcetera/marketdata/MarketDataRequestTest.java b/core/src/test/java/org/marketcetera/marketdata/MarketDataRequestTest.java
index ac203ab03c..3f0916ace5 100644
--- a/core/src/test/java/org/marketcetera/marketdata/MarketDataRequestTest.java
+++ b/core/src/test/java/org/marketcetera/marketdata/MarketDataRequestTest.java
@@ -922,7 +922,7 @@ protected void run()
}
/**
* Tests {@link MarketDataRequestBuilder#withContent(String)}, {@link MarketDataRequestBuilder#withContent(String...)},
- * {@link MarketDataRequestBuilder#withContent(Content...), and {@link MarketDataRequestBuilder#withContent(Collection)}.
+ * {@link MarketDataRequestBuilder#withContent(Content...)}, and {@link MarketDataRequestBuilder#withContent(Collection)}.
*
* @throws Exception if an unexpected error occurs
*/
diff --git a/core/src/test/java/org/marketcetera/marketdata/MockMarketDataFeed.java b/core/src/test/java/org/marketcetera/marketdata/MockMarketDataFeed.java
index 6e4767ba65..e21a46ad32 100644
--- a/core/src/test/java/org/marketcetera/marketdata/MockMarketDataFeed.java
+++ b/core/src/test/java/org/marketcetera/marketdata/MockMarketDataFeed.java
@@ -133,7 +133,7 @@ public void setCapabilities(Set inCapabilities)
/**
* Sets the supported asset classes for this feed.
*
- * @param inAssetClasses a Set<AssetClass>
value
+ * @param inAssetClasses a Set<AssetClass>
value
*/
public void setAssetClasses(Set inAssetClasses)
{
@@ -277,7 +277,7 @@ public boolean getLoginFails()
/**
* Sets the allowLogin value.
*
- * @param a TestMarketDataFeed
value
+ * @param inAllowLogin a TestMarketDataFeed
value
*/
public void setLoginFails(boolean inAllowLogin)
{
@@ -297,7 +297,7 @@ public boolean isInitFails()
/**
* Sets the initFails value.
*
- * @param a TestMarketDataFeed
value
+ * @param inInitFails a TestMarketDataFeed
value
*/
public void setInitFails(boolean inInitFails)
{
@@ -333,7 +333,7 @@ public boolean getExecutionFails()
/**
* Sets the executionFails value.
*
- * @param a TestMarketDataFeed
value
+ * @param inExecutionFails a TestMarketDataFeed
value
*/
public void setExecutionFails(boolean inExecutionFails)
{
@@ -383,7 +383,7 @@ public boolean isCancelFails()
/**
* Sets the cancelFails value.
*
- * @param a TestMarketDataFeed
value
+ * @param inCancelFails a TestMarketDataFeed
value
*/
public void setCancelFails(boolean inCancelFails)
{
@@ -518,7 +518,7 @@ public boolean getShouldTimeout()
/**
* Sets the timeout value.
*
- * @param a TestMarketDataFeed
value
+ * @param inTimeout a TestMarketDataFeed
value
*/
public void setShouldTimeout(boolean inTimeout)
{
diff --git a/core/src/test/java/org/marketcetera/metrics/InfoTests.java b/core/src/test/java/org/marketcetera/metrics/InfoTests.java
index 2fc3e2d783..5efd61d897 100644
--- a/core/src/test/java/org/marketcetera/metrics/InfoTests.java
+++ b/core/src/test/java/org/marketcetera/metrics/InfoTests.java
@@ -9,7 +9,7 @@
/* $License$ */
/**
- * Tests {@link CheckpointInfo}, {@link IterationInfo} & {@link PerThreadInfo}.
+ * Tests {@link CheckpointInfo}, {@link IterationInfo} & {@link PerThreadInfo}.
*
* @author anshul@marketcetera.com
* @version $Id$
diff --git a/core/src/test/java/org/marketcetera/metrics/PrintStreamFactoryTest.java b/core/src/test/java/org/marketcetera/metrics/PrintStreamFactoryTest.java
index 76e27d48d8..fd9151026e 100644
--- a/core/src/test/java/org/marketcetera/metrics/PrintStreamFactoryTest.java
+++ b/core/src/test/java/org/marketcetera/metrics/PrintStreamFactoryTest.java
@@ -12,7 +12,7 @@
/* $License$ */
/**
- * Tests {@link PrintStreamFactory} subclasses, {@link FileStreamFactory} &
+ * Tests {@link PrintStreamFactory} subclasses, {@link FileStreamFactory} &
* {@link StdErrFactory}
*
* @author anshul@marketcetera.com
diff --git a/core/src/test/java/org/marketcetera/module/DataFlowTest.java b/core/src/test/java/org/marketcetera/module/DataFlowTest.java
index 72a0329987..0e04409e86 100644
--- a/core/src/test/java/org/marketcetera/module/DataFlowTest.java
+++ b/core/src/test/java/org/marketcetera/module/DataFlowTest.java
@@ -97,7 +97,7 @@ protected void run() throws Exception {
}
/**
- * Tests creation & cancellation of simple data flows through the module
+ * Tests creation & cancellation of simple data flows through the module
* manager API.
*
* @throws Exception if there's an unexpected error.
@@ -172,7 +172,7 @@ public void emitFailStoppedFlow() throws Exception {
}
/**
- * Tests creation & cancellation of simple data flows through the
+ * Tests creation & cancellation of simple data flows through the
* data flow support interface.
*
* @throws Exception if there's an unexpected error.
@@ -270,7 +270,7 @@ protected void run() throws Exception {
/**
* Verifies that attempts to invoke data flow setup/cancel APIs, in
* {@link DataFlowSupport}, from within
- * {@link DataEmitter#requestData(DataRequest, DataEmitterSupport)} &
+ * {@link DataEmitter#requestData(DataRequest, DataEmitterSupport)} &
* {@link DataEmitter#cancel(DataFlowID, RequestID)} fails.
*
* @throws Exception if there were errors.
diff --git a/core/src/test/java/org/marketcetera/module/ExpectedFailure.java b/core/src/test/java/org/marketcetera/module/ExpectedFailure.java
index 70e7b2f3f6..0f227298af 100644
--- a/core/src/test/java/org/marketcetera/module/ExpectedFailure.java
+++ b/core/src/test/java/org/marketcetera/module/ExpectedFailure.java
@@ -199,7 +199,7 @@ protected ExpectedFailure(String inMessage, boolean inExactMatch)
/**
* Subclasses should implement this method to execute
* code that is expected to fail with the exception of type
- * T
+ * T
.
*
* @throws Exception if there's a failure.
*/
diff --git a/core/src/test/java/org/marketcetera/module/LifecycleTest.java b/core/src/test/java/org/marketcetera/module/LifecycleTest.java
index e1418ffb45..34b8d76c95 100644
--- a/core/src/test/java/org/marketcetera/module/LifecycleTest.java
+++ b/core/src/test/java/org/marketcetera/module/LifecycleTest.java
@@ -20,7 +20,7 @@
/* $License$ */
/**
- * Tests Module provider and module lifecycle & information reporting.
+ * Tests Module provider and module lifecycle & information reporting.
*
* @author anshul@marketcetera.com
*/
diff --git a/core/src/test/java/org/marketcetera/module/ModuleConcurrencyTest.java b/core/src/test/java/org/marketcetera/module/ModuleConcurrencyTest.java
index 1ae84a3ffe..b926662395 100644
--- a/core/src/test/java/org/marketcetera/module/ModuleConcurrencyTest.java
+++ b/core/src/test/java/org/marketcetera/module/ModuleConcurrencyTest.java
@@ -276,7 +276,7 @@ protected void run() throws Exception {
}
/**
- * Tests locking & module operations when module start takes a long time
+ * Tests locking & module operations when module start takes a long time
* to complete and succeeds.
*
* @throws Exception if there were errors.
@@ -306,7 +306,7 @@ public void moduleBlockedPreStartPass() throws Exception {
getManager().deleteModule(urn);
}
/**
- * Tests locking & module operations when module start takes a long time
+ * Tests locking & module operations when module start takes a long time
* to complete and fails.
*
* @throws Exception if there were errors.
@@ -338,7 +338,7 @@ protected void run() throws Exception {
getManager().deleteModule(urn);
}
/**
- * Tests locking & module operations when module's setFlowSupport
+ * Tests locking & module operations when module's setFlowSupport
* API takes a lot of time. Do note that setFlowSupport is meant
* to be doing anything complicated. This unit test is there to
* verify that the system is robust enough to deal with a rogue
@@ -372,7 +372,7 @@ public void moduleBlockedSetFlowSupport() throws Exception {
}
/**
- * Verifies locking & module operations when stopping module instances.
+ * Verifies locking & module operations when stopping module instances.
*
* @throws Exception if there were errors
*/
@@ -399,7 +399,7 @@ public void moduleBlockedPreStopPass() throws Exception {
}
/**
- * Verifies locking & module operations when stopping module instance fails.
+ * Verifies locking & module operations when stopping module instance fails.
*
* @throws Exception if there were errors
*/
diff --git a/core/src/test/java/org/marketcetera/module/ProviderLoadTest.java b/core/src/test/java/org/marketcetera/module/ProviderLoadTest.java
index b37864bc4a..2fe998fa5e 100644
--- a/core/src/test/java/org/marketcetera/module/ProviderLoadTest.java
+++ b/core/src/test/java/org/marketcetera/module/ProviderLoadTest.java
@@ -26,7 +26,7 @@ public void cleanup() throws Exception {
mManager.stop();
}
/**
- * Tests various failures in {@link ModuleManager#init()} &
+ * Tests various failures in {@link ModuleManager#init()} &
* {@link ModuleManager#refresh()}
* and their expected behavior.
*
diff --git a/core/src/test/java/org/marketcetera/options/OptionUtilsTest.java b/core/src/test/java/org/marketcetera/options/OptionUtilsTest.java
index 1b6b0a9cb3..06c99d9f16 100644
--- a/core/src/test/java/org/marketcetera/options/OptionUtilsTest.java
+++ b/core/src/test/java/org/marketcetera/options/OptionUtilsTest.java
@@ -30,7 +30,7 @@
public class OptionUtilsTest {
/**
- * Verifies {@link OptionUtils#normalizeEquityOptionExpiry(String)} &
+ * Verifies {@link OptionUtils#normalizeEquityOptionExpiry(String)} &
* {@link OptionUtils#normalizeUSEquityOptionExpiry(String)}.
*
* @throws Exception if there were unexpected errors
diff --git a/core/src/test/java/org/marketcetera/trade/utils/OrderHistoryManagerTest.java b/core/src/test/java/org/marketcetera/trade/utils/OrderHistoryManagerTest.java
index b128383a25..e51ba9ace6 100644
--- a/core/src/test/java/org/marketcetera/trade/utils/OrderHistoryManagerTest.java
+++ b/core/src/test/java/org/marketcetera/trade/utils/OrderHistoryManagerTest.java
@@ -116,7 +116,7 @@ public void testGetLatestReportFor()
assertNull(manager.getLatestReportFor(new OrderID("some-orderid-that-doesn't-exist")));
}
/**
- * Tests {@link OrderHistoryManager#add(ReportBase)}.
+ * Tests {@link OrderHistoryManager#add(TradeMessage)}.
*
* @throws Exception if an unexpected error occurs
*/
@@ -555,7 +555,7 @@ public void testOrderChain()
assertTrue(report6OrderChain.isEmpty());
}
/**
- * Tests {@link LiveOrderHistoryManager#getOpenOrders()}.
+ * Tests {@link OrderHistoryManager#getOpenOrders()}.
*
* @throws Exception if an unexpected error occurs
*/
diff --git a/dare/.gitignore b/dare/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/dare/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/dare/src/main/java/org/marketcetera/dare/DeployAnywhereRoutingEngine.java b/dare/src/main/java/org/marketcetera/dare/DeployAnywhereRoutingEngine.java
index c69462f2a9..2317ec82f2 100644
--- a/dare/src/main/java/org/marketcetera/dare/DeployAnywhereRoutingEngine.java
+++ b/dare/src/main/java/org/marketcetera/dare/DeployAnywhereRoutingEngine.java
@@ -650,7 +650,7 @@ public void sessionDisabled(FixSessionDisabledEvent inEvent)
/**
* Indicates that the given FIX session has been enabled.
*
- * @param fixSession a FixSessionEnabledEvent
value
+ * @param inEvent a FixSessionEnabledEvent
value
*/
@Subscribe
public void sessionEnabled(FixSessionEnabledEvent inEvent)
diff --git a/dare/src/test/java/org/marketcetera/test/AbstractMockFixApplication.java b/dare/src/test/java/org/marketcetera/test/AbstractMockFixApplication.java
index 0b0959e0d1..b2529d4bfa 100644
--- a/dare/src/test/java/org/marketcetera/test/AbstractMockFixApplication.java
+++ b/dare/src/test/java/org/marketcetera/test/AbstractMockFixApplication.java
@@ -322,7 +322,7 @@ public void setFixSettingsProviderFactory(FixSettingsProviderFactory inFixSettin
*
* @param inSessionId a quickfix.SessionID
value
* @param inMessage a quickfix.Message
value
- * @param inMessageContainers a Map<quickfix.SessionID,BlockingDeque<quickfix.Message>>
+ * @param inMessageContainers a Map<quickfix.SessionID,BlockingDeque<quickfix.Message>>
* @throws quickfix.FieldNotFound if the message could not be added
*/
protected void addMessageToContainer(String inLabel,
diff --git a/dare/src/test/java/org/marketcetera/test/DareTestBase.java b/dare/src/test/java/org/marketcetera/test/DareTestBase.java
index 61368baabe..9697c89ef5 100644
--- a/dare/src/test/java/org/marketcetera/test/DareTestBase.java
+++ b/dare/src/test/java/org/marketcetera/test/DareTestBase.java
@@ -566,7 +566,7 @@ public Boolean call()
* @param inRootOrderId an OrderID
value
* @param inOrderId an OrderID
value
* @param inExpectedOrderStatus an OrderStatus
value
- * @param return an OrderSummary
value
+ * @return an OrderSummary
value
* @throws Exception if an unexpected error occurs
*/
protected OrderSummary verifyOrderStatus(final OrderID inRootOrderId,
@@ -595,7 +595,7 @@ public Boolean call()
*
* @param inRootOrderId an OrderID
value
* @param inOrderId an OrderID
value
- * @param return an OrderSummary
value
+ * @return an OrderSummary
value
* @throws Exception if an unexpected error occurs
*/
protected OrderSummary findOrderStatus(final OrderID inRootOrderId,
@@ -2701,8 +2701,6 @@ public quickfix.Message generateAndSendReport(quickfix.Message inMessage,
* Generate and send an ack for the given new order.
*
* @param inMessage a quickfix.Message
value
- * @param inOrderStatus an OrderStatus
value
- * @param inExecutionType an ExecutionType
value
* @return a quickfix.Message
value
* @throws Exception if the message could not be sent
*/
@@ -2714,14 +2712,11 @@ public quickfix.Message generateAndSendAck(quickfix.Message inMessage)
ExecutionType.New);
}
/**
- *
- *
+ * Generate and send a cancel ack for the given order.
*
- * @param inMessage
- * @param inOrderStatus
- * @param inExecutionType
- * @return
- * @throws Exception
+ * @param inMessage a quickfix.Message
value
+ * @return a quickfix.Message
value
+ * @throws Exception if the message could not be sent
*/
public quickfix.Message generateAndSendCancelAck(quickfix.Message inMessage)
throws Exception
diff --git a/dare/src/test/java/org/marketcetera/test/TestDirectoryManager.java b/dare/src/test/java/org/marketcetera/test/TestDirectoryManager.java
index 937fcc2ac0..62ff5be8bd 100644
--- a/dare/src/test/java/org/marketcetera/test/TestDirectoryManager.java
+++ b/dare/src/test/java/org/marketcetera/test/TestDirectoryManager.java
@@ -22,7 +22,7 @@ public class TestDirectoryManager
/**
* Get the testDirectories value.
*
- * @return a List
value
+ * @return a List<String>
value
*/
public List getTestDirectories()
{
@@ -31,7 +31,7 @@ public List getTestDirectories()
/**
* Sets the testDirectories value.
*
- * @param inTestDirectories a List
value
+ * @param inTestDirectories a List<String>
value
*/
public void setTestDirectories(List inTestDirectories)
{
@@ -40,7 +40,7 @@ public void setTestDirectories(List inTestDirectories)
/**
* Get the deleteDirectories value.
*
- * @return a List
value
+ * @return a List<String>
value
*/
public List getDeleteDirectories()
{
@@ -49,7 +49,7 @@ public List getDeleteDirectories()
/**
* Sets the deleteDirectories value.
*
- * @param inDeleteDirectories a List
value
+ * @param inDeleteDirectories a List<String>
value
*/
public void setDeleteDirectories(List inDeleteDirectories)
{
diff --git a/dataflow/dataflow-api/.gitignore b/dataflow/dataflow-api/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/dataflow/dataflow-api/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/dataflow/dataflow-core/.gitignore b/dataflow/dataflow-core/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/dataflow/dataflow-core/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/dataflow/dataflow-rpc-client/.gitignore b/dataflow/dataflow-rpc-client/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/dataflow/dataflow-rpc-client/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/dataflow/dataflow-rpc-core/.gitignore b/dataflow/dataflow-rpc-core/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/dataflow/dataflow-rpc-core/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/dataflow/dataflow-rpc-server/.gitignore b/dataflow/dataflow-rpc-server/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/dataflow/dataflow-rpc-server/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/dataflow/dataflow-server/.gitignore b/dataflow/dataflow-server/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/dataflow/dataflow-server/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/eventbus/eventbus-api/.gitignore b/eventbus/eventbus-api/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/eventbus/eventbus-api/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/eventbus/eventbus-core/.gitignore b/eventbus/eventbus-core/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/eventbus/eventbus-core/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/eventbus/eventbus-guava/.gitignore b/eventbus/eventbus-guava/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/eventbus/eventbus-guava/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/eventbus/eventbus-server/.gitignore b/eventbus/eventbus-server/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/eventbus/eventbus-server/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/fix/fix-acceptor/.gitignore b/fix/fix-acceptor/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/fix/fix-acceptor/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/fix/fix-api/.gitignore b/fix/fix-api/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/fix/fix-api/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/fix/fix-api/src/main/java/org/marketcetera/brokers/LogoutAction.java b/fix/fix-api/src/main/java/org/marketcetera/brokers/LogoutAction.java
index 953e3e3f2c..ab2c3890e7 100644
--- a/fix/fix-api/src/main/java/org/marketcetera/brokers/LogoutAction.java
+++ b/fix/fix-api/src/main/java/org/marketcetera/brokers/LogoutAction.java
@@ -20,6 +20,6 @@ public interface LogoutAction
* @param inFixSession a ServerFixSession
value
* @param inSender a QuickFIXSender
value
*/
- public void onLogout(ServerFixSession FixSession,
+ public void onLogout(ServerFixSession inFixSession,
QuickFIXSender inSender);
}
diff --git a/fix/fix-api/src/main/java/org/marketcetera/brokers/service/BrokerService.java b/fix/fix-api/src/main/java/org/marketcetera/brokers/service/BrokerService.java
index 1fa145fc14..66435c0baf 100644
--- a/fix/fix-api/src/main/java/org/marketcetera/brokers/service/BrokerService.java
+++ b/fix/fix-api/src/main/java/org/marketcetera/brokers/service/BrokerService.java
@@ -135,8 +135,8 @@ void reportBrokerStatusFromAll(FixSession inFixSession,
/**
* Finds the fix session corresponding to the given broker ID.
*
- * @param inBrokerId a String value
- * @return a FixSession value or null
+ * @param inBrokerId a String
value
+ * @return a FixSession
value or null
*/
FixSession findFixSessionByBrokerId(BrokerID inBrokerId);
/**
@@ -168,7 +168,7 @@ void reportBrokerStatusFromAll(FixSession inFixSession,
*/
AcceptorSessionAttributes getFixSettingsFor(int inAffinity);
/**
- * Generates a SessionSettings value based on the given collection of fix sessions.
+ * Generates a SessionSettings
value based on the given collection of fix sessions.
*
* @param inFixSessions a Collection<FixSession>
value
* @return a SessionSettings
value
diff --git a/fix/fix-api/src/main/java/org/marketcetera/brokers/service/FixSessionProvider.java b/fix/fix-api/src/main/java/org/marketcetera/brokers/service/FixSessionProvider.java
index e763f48eec..27daf8914d 100644
--- a/fix/fix-api/src/main/java/org/marketcetera/brokers/service/FixSessionProvider.java
+++ b/fix/fix-api/src/main/java/org/marketcetera/brokers/service/FixSessionProvider.java
@@ -25,14 +25,14 @@ public interface FixSessionProvider
/**
* Finds the fix session corresponding to the given name.
*
- * @param inFixSessionName a String value
- * @return a FixSession value or null
+ * @param inFixSessionName a String
value
+ * @return a FixSession
value or null
*/
FixSession findFixSessionByName(String inFixSessionName);
/**
* Finds the fix session with the given session id.
*
- * @param inFixSessionListener a FixSessionListener
value
+ * @param inSessionId a SessionID
value
* @return a FixSession
value or null
*/
FixSession findFixSessionBySessionId(SessionID inSessionId);
@@ -58,8 +58,8 @@ public interface FixSessionProvider
/**
* Finds the fix session corresponding to the given broker ID.
*
- * @param inBrokerId a String value
- * @return a FixSession value or null
+ * @param inBrokerId a BrokerID
value
+ * @return a FixSession
value or null
*/
FixSession findFixSessionByBrokerId(BrokerID inBrokerId);
/**
diff --git a/fix/fix-api/src/main/java/org/marketcetera/fix/ActiveFixSessionFactory.java b/fix/fix-api/src/main/java/org/marketcetera/fix/ActiveFixSessionFactory.java
index 2d6228226c..8ed129a8c8 100644
--- a/fix/fix-api/src/main/java/org/marketcetera/fix/ActiveFixSessionFactory.java
+++ b/fix/fix-api/src/main/java/org/marketcetera/fix/ActiveFixSessionFactory.java
@@ -24,9 +24,9 @@ public interface ActiveFixSessionFactory
/**
* Create an ActiveFixSession
object.
*
- * @param inFixSession a FixSession
value
- * @param inClusterData a ClusterData
value
- * @param inStatus a FixSessionStatus
value
+ * @param inUnderlyingFixSession a FixSession
value
+ * @param inInstanceData a ClusterData
value
+ * @param inBrokerStatus a FixSessionStatus
value
* @param inSessionCustomization a SessionCustomization
value
* @return an ActiveFixSession
value
*/
diff --git a/fix/fix-api/src/main/java/org/marketcetera/fix/FixSessionStatus.java b/fix/fix-api/src/main/java/org/marketcetera/fix/FixSessionStatus.java
index ae6f534b18..d83bf2f6ef 100644
--- a/fix/fix-api/src/main/java/org/marketcetera/fix/FixSessionStatus.java
+++ b/fix/fix-api/src/main/java/org/marketcetera/fix/FixSessionStatus.java
@@ -5,6 +5,8 @@
import javax.xml.bind.annotation.XmlRootElement;
+import org.apache.commons.lang3.StringUtils;
+
/* $License$ */
/**
@@ -95,12 +97,37 @@ public boolean isLoggedOn()
* @return a String
value
*/
public String getHumanReadable()
+ {
+ return humanReadableName;
+ }
+ /**
+ * Generate a human readable version of the value.
+ *
+ * @return a String
value
+ */
+ private String generateHumanReadable()
{
String name = name();
name = name.toLowerCase();
name = name.replaceAll("_"," ");
+ StringBuilder output = new StringBuilder();
+ for(String component : name.split(" ")) {
+ output.append(StringUtils.capitalize(component)).append(" ");
+ }
+ name = StringUtils.trim(output.toString());
return name;
}
+ /**
+ * Create a new FixSessionStatus instance.
+ */
+ private FixSessionStatus()
+ {
+ humanReadableName = generateHumanReadable();
+ }
+ /**
+ * stored human-readable version of the status
+ */
+ private final String humanReadableName;
/**
* contains the statuses that indicate if a session is started or not
*/
diff --git a/fix/fix-api/src/main/java/org/marketcetera/fix/MutableActiveFixSession.java b/fix/fix-api/src/main/java/org/marketcetera/fix/MutableActiveFixSession.java
index ab187cc773..8c0e583cc6 100644
--- a/fix/fix-api/src/main/java/org/marketcetera/fix/MutableActiveFixSession.java
+++ b/fix/fix-api/src/main/java/org/marketcetera/fix/MutableActiveFixSession.java
@@ -33,7 +33,7 @@ public interface MutableActiveFixSession
/**
* Set the session status.
*
- * @param inSessionStatus a FixSessionStatus
value
+ * @param inFixSessionStatus a FixSessionStatus
value
*/
void setStatus(FixSessionStatus inFixSessionStatus);
/**
@@ -51,7 +51,7 @@ public interface MutableActiveFixSession
/**
* Set the brokerAlgos value.
*
- * @param a Set<BrokerAlgoSpec>
value
+ * @param inBrokerAlgoSpecs a Set<BrokerAlgoSpec>
value
*/
void setBrokerAlgos(Set inBrokerAlgoSpecs);
}
diff --git a/fix/fix-api/src/main/java/org/marketcetera/fix/MutableActiveFixSessionFactory.java b/fix/fix-api/src/main/java/org/marketcetera/fix/MutableActiveFixSessionFactory.java
index 4f2969bd4a..f8a2a6c4f1 100644
--- a/fix/fix-api/src/main/java/org/marketcetera/fix/MutableActiveFixSessionFactory.java
+++ b/fix/fix-api/src/main/java/org/marketcetera/fix/MutableActiveFixSessionFactory.java
@@ -32,9 +32,9 @@ public interface MutableActiveFixSessionFactory
/**
* Create a MutableActiveFixSession
object.
*
- * @param inFixSession a FixSession
value
- * @param inClusterData a ClusterData
value
- * @param inStatus a FixSessionStatus
value
+ * @param inUnderlyingFixSession a FixSession
value
+ * @param inInstanceData a ClusterData
value
+ * @param inBrokerStatus a FixSessionStatus
value
* @param inSessionCustomization a SessionCustomization
value
* @return a MutableActiveFixSession
value
*/
diff --git a/fix/fix-api/src/main/java/org/marketcetera/fix/SessionNameProvider.java b/fix/fix-api/src/main/java/org/marketcetera/fix/SessionNameProvider.java
index 1872e34ffc..9925dd6532 100644
--- a/fix/fix-api/src/main/java/org/marketcetera/fix/SessionNameProvider.java
+++ b/fix/fix-api/src/main/java/org/marketcetera/fix/SessionNameProvider.java
@@ -16,9 +16,9 @@ public interface SessionNameProvider
/**
* Get the name of the given session.
*
- * This method is intended to be light-weight to be called frequently with minimal trips to the database.
+ * This method is intended to be light-weight to be called frequently with minimal trips to the database.
* As such, it is possible that the value returned may, under certain circumstances, be inaccurate due to caching.
- * This is unlikely to happen, but is possible due to the emphasis on performance.
+ * This is unlikely to happen, but is possible due to the emphasis on performance.
*
* @param inSessionId a SessionID
value
* @return a String
value, never null
diff --git a/fix/fix-api/src/main/java/org/marketcetera/fix/SessionRestoreArbiter.java b/fix/fix-api/src/main/java/org/marketcetera/fix/SessionRestoreArbiter.java
index b984c1e5a0..fd8c528d16 100644
--- a/fix/fix-api/src/main/java/org/marketcetera/fix/SessionRestoreArbiter.java
+++ b/fix/fix-api/src/main/java/org/marketcetera/fix/SessionRestoreArbiter.java
@@ -16,7 +16,7 @@ public interface SessionRestoreArbiter
/**
* Indicates if the given session should be restored or allowed to start as-is.
*
- * @param inSessionId a SessionID value
+ * @param inSessionId a SessionID
value
* @return a boolean
*/
boolean shouldRestore(SessionID inSessionId);
diff --git a/fix/fix-core/.gitignore b/fix/fix-core/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/fix/fix-core/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/fix/fix-core/src/main/java/org/marketcetera/fix/FixSettingsProviderImpl.java b/fix/fix-core/src/main/java/org/marketcetera/fix/FixSettingsProviderImpl.java
index 1d509df52b..dd681a2b23 100644
--- a/fix/fix-core/src/main/java/org/marketcetera/fix/FixSettingsProviderImpl.java
+++ b/fix/fix-core/src/main/java/org/marketcetera/fix/FixSettingsProviderImpl.java
@@ -27,7 +27,7 @@ public class FixSettingsProviderImpl
* @param inLogFactoryClass a Class<LogFactory>
value
* @param inMessageFactory a MessageFactory
value
* @param inAcceptorHost a String
value
- * @param inAcceptorProtocol a String value
+ * @param inAcceptorProtocol a String
value
* @param inAcceptorPort an int
value
*/
public FixSettingsProviderImpl(Class inMessageStoreFactoryClass,
diff --git a/fix/fix-core/src/main/java/org/marketcetera/fix/impl/SimpleFixSessinInstanceData.java b/fix/fix-core/src/main/java/org/marketcetera/fix/impl/SimpleFixSessionInstanceData.java
similarity index 97%
rename from fix/fix-core/src/main/java/org/marketcetera/fix/impl/SimpleFixSessinInstanceData.java
rename to fix/fix-core/src/main/java/org/marketcetera/fix/impl/SimpleFixSessionInstanceData.java
index c1f3424921..e76d5ba23a 100644
--- a/fix/fix-core/src/main/java/org/marketcetera/fix/impl/SimpleFixSessinInstanceData.java
+++ b/fix/fix-core/src/main/java/org/marketcetera/fix/impl/SimpleFixSessionInstanceData.java
@@ -17,7 +17,7 @@
*/
@XmlRootElement(name="fixSessionInstanceData")
@XmlAccessorType(XmlAccessType.NONE)
-public class SimpleFixSessinInstanceData
+public class SimpleFixSessionInstanceData
implements FixSessionInstanceData
{
/* (non-Javadoc)
diff --git a/fix/fix-core/src/test/java/org/marketcetera/brokers/MockBrokerStatusGenerator.java b/fix/fix-core/src/test/java/org/marketcetera/brokers/MockBrokerStatusGenerator.java
index fd745eba14..bafb0836fd 100644
--- a/fix/fix-core/src/test/java/org/marketcetera/brokers/MockBrokerStatusGenerator.java
+++ b/fix/fix-core/src/test/java/org/marketcetera/brokers/MockBrokerStatusGenerator.java
@@ -14,7 +14,7 @@
/* $License$ */
/**
- * Generates test {@link BrokerStatus} values.
+ * Generates test {@link ActiveFixSession} values.
*
* @author Colin DuPlantis
* @version $Id$
diff --git a/fix/fix-rpc-client/.gitignore b/fix/fix-rpc-client/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/fix/fix-rpc-client/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/fix/fix-rpc-core/.gitignore b/fix/fix-rpc-core/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/fix/fix-rpc-core/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/fix/fix-rpc-core/pom.xml b/fix/fix-rpc-core/pom.xml
index 28723c3153..d431cbfe05 100644
--- a/fix/fix-rpc-core/pom.xml
+++ b/fix/fix-rpc-core/pom.xml
@@ -17,6 +17,10 @@
${project.groupId}
fix-api
+
+ ${project.groupId}
+ fix-core
+
${project.groupId}
cluster-rpc-core
diff --git a/fix/fix-rpc-core/src/main/java/org/marketcetera/fix/FixRpcUtil.java b/fix/fix-rpc-core/src/main/java/org/marketcetera/fix/FixRpcUtil.java
index 01a3deb003..162a81d018 100644
--- a/fix/fix-rpc-core/src/main/java/org/marketcetera/fix/FixRpcUtil.java
+++ b/fix/fix-rpc-core/src/main/java/org/marketcetera/fix/FixRpcUtil.java
@@ -10,6 +10,7 @@
import org.marketcetera.cluster.ClusterDataFactory;
import org.marketcetera.cluster.ClusterRpcUtil;
import org.marketcetera.core.Validator;
+import org.marketcetera.fix.impl.SimpleFixSessionInstanceData;
import org.marketcetera.rpc.base.BaseRpcUtil;
import org.marketcetera.util.log.SLF4JLoggerProxy;
@@ -27,12 +28,18 @@ public class FixRpcUtil
/**
* Get instance data from the given RPC value.
*
- * @param inInstanceData an FixAdminRpc.InstanceData
value
+ * @param inRpcInstanceData a FixAdminRpc.InstanceData
value
* @return an Optional<FixSessionInstanceData>
value
*/
- public static Optional getInstanceData(FixAdminRpc.InstanceData inInstanceData)
+ public static Optional getInstanceData(FixAdminRpc.InstanceData inRpcInstanceData)
{
- throw new UnsupportedOperationException(); // TODO
+ if(inRpcInstanceData == null) {
+ return Optional.empty();
+ }
+ SimpleFixSessionInstanceData instanceData = new SimpleFixSessionInstanceData();
+ instanceData.setHostname(inRpcInstanceData.getHostname());
+ instanceData.setPort(inRpcInstanceData.getPort());
+ return Optional.of(instanceData);
}
/**
* Get the value from the given RPC value.
@@ -239,7 +246,7 @@ public static Optional getRpcActiveFixSession(Acti
/**
* Get the RPC value from the given value.
*
- * @param inBrokerAlgoSpec a BrokerAlgoSpec value
+ * @param inBrokerAlgoSpec a BrokerAlgoSpec
value
* @return an Optional<FixAdminRpc.BrokerAlgoSpec>
value
*/
public static Optional getRpcBrokerAlgo(BrokerAlgoSpec inBrokerAlgoSpec)
diff --git a/fix/fix-rpc-server/.gitignore b/fix/fix-rpc-server/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/fix/fix-rpc-server/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/fix/fix-rpc-server/src/main/java/org/marketcetera/fix/rpc/FixAdminRpcService.java b/fix/fix-rpc-server/src/main/java/org/marketcetera/fix/rpc/FixAdminRpcService.java
index f53910f48d..59597f2e9e 100644
--- a/fix/fix-rpc-server/src/main/java/org/marketcetera/fix/rpc/FixAdminRpcService.java
+++ b/fix/fix-rpc-server/src/main/java/org/marketcetera/fix/rpc/FixAdminRpcService.java
@@ -623,6 +623,7 @@ public void getInstanceData(InstanceDataRequest inRequest,
instanceDataBuilder.setHostname(acceptorSessionAttributes.getHost());
}
instanceDataBuilder.setPort(acceptorSessionAttributes.getPort());
+ responseBuilder.setInstanceData(instanceDataBuilder.build());
FixAdminRpc.InstanceDataResponse response = responseBuilder.build();
SLF4JLoggerProxy.trace(FixAdminRpcService.this,
"Returning {}",
diff --git a/fix/fix-server/.gitignore b/fix/fix-server/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/fix/fix-server/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/fix/fix-server/src/main/java/org/marketcetera/fix/provisioning/FixSessionsConfiguration.java b/fix/fix-server/src/main/java/org/marketcetera/fix/provisioning/FixSessionsConfiguration.java
index 91b8ce6674..0f4848c144 100644
--- a/fix/fix-server/src/main/java/org/marketcetera/fix/provisioning/FixSessionsConfiguration.java
+++ b/fix/fix-server/src/main/java/org/marketcetera/fix/provisioning/FixSessionsConfiguration.java
@@ -27,7 +27,7 @@ public class FixSessionsConfiguration
/**
* Get the sessionDescriptors value.
*
- * @return a List
value
+ * @return a List<FixSessionDescriptor>
value
*/
public List getSessionDescriptors()
{
@@ -36,7 +36,7 @@ public List getSessionDescriptors()
/**
* Sets the sessionDescriptors value.
*
- * @param inSessionDescriptors a List
value
+ * @param inSessionDescriptors a List<FixSessionDescriptor>
value
*/
public void setSessionDescriptors(List inSessionDescriptors)
{
@@ -75,7 +75,7 @@ public String toString()
/**
* Get the settings value.
*
- * @return a Map
value
+ * @return a Map<String,String>
value
*/
public Map getSettings()
{
@@ -84,7 +84,7 @@ public Map getSettings()
/**
* Sets the settings value.
*
- * @param inSettings a Map
value
+ * @param inSettings a Map<String,String>
value
*/
public void setSettings(Map inSettings)
{
@@ -93,7 +93,7 @@ public void setSettings(Map inSettings)
/**
* Get the sessions value.
*
- * @return a List
value
+ * @return a List<Session>
value
*/
public List getSessions()
{
@@ -102,7 +102,7 @@ public List getSessions()
/**
* Sets the sessions value.
*
- * @param inSessions a List
value
+ * @param inSessions a List<Session>
value
*/
public void setSessions(List inSessions)
{
@@ -268,7 +268,7 @@ public void setAffinity(int inAffinity)
/**
* Get the settings value.
*
- * @return a Map
value
+ * @return a Map<String,String>
value
*/
public Map getSettings()
{
@@ -277,7 +277,7 @@ public Map getSettings()
/**
* Sets the settings value.
*
- * @param inSettings a Map
value
+ * @param inSettings a Map<String,String>
value
*/
public void setSettings(Map inSettings)
{
diff --git a/fix/fix-server/src/main/java/org/marketcetera/fix/provisioning/SimpleSessionCustomization.java b/fix/fix-server/src/main/java/org/marketcetera/fix/provisioning/SimpleSessionCustomization.java
index 02686562b0..ce003755a0 100644
--- a/fix/fix-server/src/main/java/org/marketcetera/fix/provisioning/SimpleSessionCustomization.java
+++ b/fix/fix-server/src/main/java/org/marketcetera/fix/provisioning/SimpleSessionCustomization.java
@@ -118,7 +118,7 @@ public void setResponseModifiers(List inResponseModifiers)
/**
* Sets the brokerAlgos value.
*
- * @param inBrokerAlgos a Set value
+ * @param inBrokerAlgos a Set<BrokerAlgoSpec>
value
*/
public void setBrokerAlgos(Set inBrokerAlgos)
{
@@ -127,7 +127,7 @@ public void setBrokerAlgos(Set inBrokerAlgos)
/**
* Sets the userWhitelist value.
*
- * @param inUserWhitelist a Set value
+ * @param inUserWhitelist a Set<String>
value
*/
public void setUserWhitelist(Set inUserWhitelist)
{
@@ -136,7 +136,7 @@ public void setUserWhitelist(Set inUserWhitelist)
/**
* Sets the userBlacklist value.
*
- * @param inUserBlacklist a Set value
+ * @param inUserBlacklist a Set<String>
value
*/
public void setUserBlacklist(Set inUserBlacklist)
{
diff --git a/fix/fix-server/src/test/java/org/marketcetera/fix/FixServerTestConfiguration.java b/fix/fix-server/src/test/java/org/marketcetera/fix/FixServerTestConfiguration.java
index 3bab3ba9d9..e9c72a8ff2 100644
--- a/fix/fix-server/src/test/java/org/marketcetera/fix/FixServerTestConfiguration.java
+++ b/fix/fix-server/src/test/java/org/marketcetera/fix/FixServerTestConfiguration.java
@@ -5,8 +5,6 @@
import org.marketcetera.brokers.service.FixSessionProvider;
import org.marketcetera.cluster.ClusterDataFactory;
import org.marketcetera.cluster.SimpleClusterDataFactory;
-import org.marketcetera.cluster.SimpleClusterService;
-import org.marketcetera.cluster.service.ClusterService;
import org.marketcetera.fix.dao.PersistentFixSessionFactory;
import org.marketcetera.fix.dao.PersistentFixSessionProvider;
import org.marketcetera.fix.impl.SimpleActiveFixSessionFactory;
@@ -118,14 +116,4 @@ public MutableFixSessionFactory getFixSessionFactory()
{
return new PersistentFixSessionFactory();
}
- /**
- * Get the cluster service.
- *
- * @return a ClusterService
value
- */
- @Bean
- public ClusterService getClusterService()
- {
- return new SimpleClusterService();
- }
}
diff --git a/fork/commons-csv/.gitignore b/fork/commons-csv/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/fork/commons-csv/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/fork/commons-csv/pom.xml b/fork/commons-csv/pom.xml
index 0ff50e86e0..6d1f16725a 100644
--- a/fork/commons-csv/pom.xml
+++ b/fork/commons-csv/pom.xml
@@ -52,20 +52,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
csv
12311182
@@ -94,14 +80,6 @@
-
- org.apache.maven.plugins
- maven-checkstyle-plugin
- 3.1.2
-
- checkstyle.xml
-
-
diff --git a/fork/commons-csv/src/java/org/apache/commons/csv/CSVParser.java b/fork/commons-csv/src/java/org/apache/commons/csv/CSVParser.java
index 839a9b2583..d6e7b4e4de 100644
--- a/fork/commons-csv/src/java/org/apache/commons/csv/CSVParser.java
+++ b/fork/commons-csv/src/java/org/apache/commons/csv/CSVParser.java
@@ -288,6 +288,9 @@ public int getLineNumber() {
/**
* Convenience method for nextToken(null)
.
+ *
+ * @return a Token
value
+ * @throws IOException if an error occurs
*/
protected Token nextToken() throws IOException {
return nextToken(new Token());
@@ -563,6 +566,7 @@ private int readEscape(int c) throws IOException {
/**
* Sets the specified CSV Strategy
*
+ * @param strategy a CSVStrategy
value
* @return current instance of CSVParser to allow chained method calls
* @deprecated the strategy should be set in the constructor {@link #CSVParser(Reader,CSVStrategy)}.
*/
diff --git a/fork/commons-csv/src/java/org/apache/commons/csv/CSVPrinter.java b/fork/commons-csv/src/java/org/apache/commons/csv/CSVPrinter.java
index a57d03aef8..644f50150f 100644
--- a/fork/commons-csv/src/java/org/apache/commons/csv/CSVPrinter.java
+++ b/fork/commons-csv/src/java/org/apache/commons/csv/CSVPrinter.java
@@ -69,6 +69,7 @@ public CSVPrinter(Writer out) {
/**
* Sets the specified CSV Strategy
*
+ * @param strategy a CSVStrategy
value
* @return current instance of CSVParser to allow chained method calls
*/
public CSVPrinter setStrategy(CSVStrategy strategy) {
diff --git a/fork/commons-csv/src/java/org/apache/commons/csv/CSVStrategy.java b/fork/commons-csv/src/java/org/apache/commons/csv/CSVStrategy.java
index 1b04d68b68..aeccd0118f 100644
--- a/fork/commons-csv/src/java/org/apache/commons/csv/CSVStrategy.java
+++ b/fork/commons-csv/src/java/org/apache/commons/csv/CSVStrategy.java
@@ -25,6 +25,7 @@
*/
public class CSVStrategy implements Cloneable, Serializable {
+ private static final long serialVersionUID = -451433279415143890L;
private char delimiter;
private char encapsulator;
private char commentStart;
@@ -59,8 +60,10 @@ public CSVStrategy(char delimiter, char encapsulator, char commentStart) {
* @param delimiter a Char used for value separation
* @param encapsulator a Char used as value encapsulation marker
* @param commentStart a Char used for comment identification
+ * @param escape a char
value
* @param ignoreLeadingWhitespace TRUE when leading whitespaces should be
* ignored
+ * @param ignoreTrailingWhitespace a boolean
value
* @param interpretUnicodeEscapes TRUE when unicode escapes should be
* interpreted
* @param ignoreEmptyLines TRUE when the parser should skip emtpy lines
@@ -84,8 +87,17 @@ public CSVStrategy(
setUnicodeEscapeInterpretation(interpretUnicodeEscapes);
setIgnoreEmptyLines(ignoreEmptyLines);
}
-
- /** @deprecated */
+ /**
+ * Create a new CSVStrategy instance.
+ *
+ * @param delimiter a char
value
+ * @param encapsulator a char
value
+ * @param commentStart a char
value
+ * @param ignoreLeadingWhitespace a boolean
value
+ * @param interpretUnicodeEscapes a boolean
value
+ * @param ignoreEmptyLines a boolean
value
+ * @deprecated
+ */
public CSVStrategy(
char delimiter,
char encapsulator,
diff --git a/fork/commons-csv/src/java/org/apache/commons/csv/CharBuffer.java b/fork/commons-csv/src/java/org/apache/commons/csv/CharBuffer.java
index c44b2641ff..1dadee8399 100644
--- a/fork/commons-csv/src/java/org/apache/commons/csv/CharBuffer.java
+++ b/fork/commons-csv/src/java/org/apache/commons/csv/CharBuffer.java
@@ -46,6 +46,8 @@ public CharBuffer() {
/**
* Creates a new CharBuffer with an initial capacity
* of length
characters.
+ *
+ * @param length an int
value
*/
public CharBuffer(final int length) {
if (length == 0) {
@@ -171,7 +173,7 @@ public void trimTrailingWhitespace() {
* modifying it.
* This method allows to avoid copying if the caller knows the exact capacity
* before.
- * @return
+ * @return a char[]
value
*/
public char[] getCharacters() {
if (c.length == length) {
@@ -182,9 +184,12 @@ public char[] getCharacters() {
return chars;
}
- /**
- * Returns the character at the specified position.
- */
+ /**
+ * Returns the character at the specified position.
+ *
+ * @param pos an int
value
+ * @return a char
value
+ */
public char charAt(int pos) {
return c[pos];
}
@@ -192,7 +197,8 @@ public char charAt(int pos) {
/**
* Converts the contents of the buffer into a StringBuffer.
* This method involves copying the new data once!
- * @return
+ *
+ * @return a StringBuffer
value
*/
public StringBuffer toStringBuffer() {
StringBuffer sb = new StringBuffer(length);
@@ -203,7 +209,8 @@ public StringBuffer toStringBuffer() {
/**
* Converts the contents of the buffer into a StringBuffer.
* This method involves copying the new data once!
- * @return
+ *
+ * @return a String
value
*/
public String toString() {
return new String(c, 0, length);
@@ -211,7 +218,8 @@ public String toString() {
/**
* Copies the data into a new array of at least capacity
size.
- * @param capacity
+ *
+ * @param capacity an int
value
*/
public void provideCapacity(final int capacity) {
if (c.length >= capacity) {
diff --git a/fork/commons-csv/src/java/org/apache/commons/csv/writer/CSVConfig.java b/fork/commons-csv/src/java/org/apache/commons/csv/writer/CSVConfig.java
index c1611e0b16..bf1ff5a9b1 100644
--- a/fork/commons-csv/src/java/org/apache/commons/csv/writer/CSVConfig.java
+++ b/fork/commons-csv/src/java/org/apache/commons/csv/writer/CSVConfig.java
@@ -278,7 +278,8 @@ public boolean isEndTrimmed() {
/**
* Specify if the end of the line needs to be trimmed. Defaults to false.
- * @param endTrimmed
+ *
+ * @param endTrimmed a boolean
value
*/
public void setEndTrimmed(boolean endTrimmed) {
this.endTrimmed = endTrimmed;
diff --git a/fork/commons-csv/src/java/org/apache/commons/csv/writer/CSVConfigGuesser.java b/fork/commons-csv/src/java/org/apache/commons/csv/writer/CSVConfigGuesser.java
index 00c590baa3..d0f6282b29 100644
--- a/fork/commons-csv/src/java/org/apache/commons/csv/writer/CSVConfigGuesser.java
+++ b/fork/commons-csv/src/java/org/apache/commons/csv/writer/CSVConfigGuesser.java
@@ -115,7 +115,7 @@ protected void analyseLines(String[] lines) {
/**
* Guess if this file is fixedwidth.
* Just basing the fact on all lines being of the same length
- * @param lines
+ * @param lines a String[]
value
*/
protected void guessFixedWidth(String[] lines) {
int lastLength = 0;
diff --git a/fork/commons-csv/src/java/org/apache/commons/csv/writer/CSVField.java b/fork/commons-csv/src/java/org/apache/commons/csv/writer/CSVField.java
index a2f8ee43de..697192ebcd 100644
--- a/fork/commons-csv/src/java/org/apache/commons/csv/writer/CSVField.java
+++ b/fork/commons-csv/src/java/org/apache/commons/csv/writer/CSVField.java
@@ -103,7 +103,7 @@ public void setFill(int fill) {
/**
* Does this field override fill ?
*
- * @return
+ * @return a boolean
value
*/
public boolean overrideFill() {
return overrideFill;
diff --git a/fork/commons-i18n/.gitignore b/fork/commons-i18n/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/fork/commons-i18n/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/fork/commons-i18n/pom.xml b/fork/commons-i18n/pom.xml
index 7995ff3078..b77052c291 100644
--- a/fork/commons-i18n/pom.xml
+++ b/fork/commons-i18n/pom.xml
@@ -140,13 +140,6 @@
-
diff --git a/fork/commons-i18n/src/java/org/apache/commons/i18n/JdbcMessageProvider.java b/fork/commons-i18n/src/java/org/apache/commons/i18n/JdbcMessageProvider.java
index b4baaebb10..35157d4038 100644
--- a/fork/commons-i18n/src/java/org/apache/commons/i18n/JdbcMessageProvider.java
+++ b/fork/commons-i18n/src/java/org/apache/commons/i18n/JdbcMessageProvider.java
@@ -21,7 +21,7 @@
* accessible via JDBC. The JdbcMessageProvider
only has support for different languages,
* but if support for country or variant is required one could easily subclass it and override the
* getLocale
method. If getLocale
is overridden, the languageColumn parameter
- * (or jdbc.sql.locale.column Map entry) of the constructors may be null, since it will not be used.
+ * (or jdbc.sql.locale.column
Map entry) of the constructors may be null, since it will not be used.
* @author Mattias Jiderhamn
*/
public class JdbcMessageProvider implements MessageProvider {
@@ -86,6 +86,10 @@ public JdbcMessageProvider(DataSource ds, String table, String idColumn, String
* jdbc.sql.table = resources
* jdbc.sql.locale.column = locale
* jdbc.sql.key.column = msgKey
+ *
+ * @param properties a Properties
value
+ * @throws ClassNotFoundException if an error occurs constructing the provider
+ * @throws SQLException if an error occurs constructing the provider
*/
public JdbcMessageProvider(Properties properties) throws ClassNotFoundException, SQLException {
String driver = properties.getProperty("jdbc.connect.driver");
@@ -169,7 +173,10 @@ protected String[] getValueColumns(ResultSet rs) throws SQLException {
* by subclasses to allow for proprietary interpretation of language data.
* The default implementation assumes the column with the name provided as languageColumn
* for the constructor contains the ISO-639 code.
+ *
+ * @param rs a ResultSet
value
* @return The Locale
of the current ResultSet
record.
+ * @throws SQLException if an error occurs getting the locale
*/
protected Locale getLocale(ResultSet rs) throws SQLException {
return new Locale(rs.getString(languageColumn).toLowerCase());
diff --git a/fork/commons-i18n/src/java/org/apache/commons/i18n/MessageManager.java b/fork/commons-i18n/src/java/org/apache/commons/i18n/MessageManager.java
index 3bb3c98ef3..a8091f85cb 100644
--- a/fork/commons-i18n/src/java/org/apache/commons/i18n/MessageManager.java
+++ b/fork/commons-i18n/src/java/org/apache/commons/i18n/MessageManager.java
@@ -223,6 +223,11 @@ public static String getText(String providerId, String id, String entry, Object[
* locale. The map contains keys of type {@link String}containing the keys
* of the available message entries and values of type {@link String}
* containing the localized message entries.
+ *
+ * @param id a String
value
+ * @param locale a Locale
value
+ * @return a Map<String,String>
value
+ * @throws MessageNotFoundException if the desired message is not found
*/
public static Map getEntries(String id,
Locale locale)
@@ -242,12 +247,18 @@ public static Map getEntries(String id,
throw exception;
}
- /**
- * Returns a map containing all available message entries for the given
- * locale. The map contains keys of type {@link String}containing the keys
- * of the available message entries and values of type {@link String}
- * containing the localized message entries.
- */
+ /**
+ * Returns a map containing all available message entries for the given
+ * locale. The map contains keys of type {@link String}containing the keys
+ * of the available message entries and values of type {@link String}
+ * containing the localized message entries.
+ *
+ * @param providerId a String
value
+ * @param id a String
value
+ * @param locale a Locale
value
+ * @return a Map<String,String>
value
+ * @throws MessageNotFoundException if the desired message is not found
+ */
public static Map getEntries(String providerId,
String id,
Locale locale)
diff --git a/fork/commons-i18n/src/java/org/apache/commons/i18n/MessageNotFoundException.java b/fork/commons-i18n/src/java/org/apache/commons/i18n/MessageNotFoundException.java
index c78d9f3f05..ec0c925163 100644
--- a/fork/commons-i18n/src/java/org/apache/commons/i18n/MessageNotFoundException.java
+++ b/fork/commons-i18n/src/java/org/apache/commons/i18n/MessageNotFoundException.java
@@ -31,6 +31,8 @@
*
*/
public class MessageNotFoundException extends RuntimeException {
+ private static final long serialVersionUID = 9044313257331004814L;
+
/**
* Constructs a new runtime exception with the specified detail message indicating that a particular message
* could not be found.
@@ -54,7 +56,7 @@ public MessageNotFoundException(String message) {
* @param message the detail message (which is saved for later retrieval
* by the {@link #getMessage()} method).
* @param cause the cause (which is saved for later retrieval by the
- * {@link #getCause()} method). (A null value is
+ * {@link #getCause()} method). (A null
value is
* permitted, and indicates that the cause is nonexistent or
* unknown.)
*/
diff --git a/fork/commons-i18n/src/java/org/apache/commons/i18n/MessageProvider.java b/fork/commons-i18n/src/java/org/apache/commons/i18n/MessageProvider.java
index 399a82b2d6..65fdaf25da 100644
--- a/fork/commons-i18n/src/java/org/apache/commons/i18n/MessageProvider.java
+++ b/fork/commons-i18n/src/java/org/apache/commons/i18n/MessageProvider.java
@@ -47,7 +47,7 @@ public interface MessageProvider {
/**
* @param id unique id that specifies a particular message
* @param locale the locale for which to return the entries
- * @return returns a map <entry(String) -> localized text(String) of
+ * @return returns a map <entry(String) -> localized text(String)
of
* message entries matching the given message id and locale
* @throws MessageNotFoundException thrown if no message could be found matching the given message id
*/
diff --git a/fork/commons-i18n/src/java/org/apache/commons/i18n/ResourceBundleMessageProvider.java b/fork/commons-i18n/src/java/org/apache/commons/i18n/ResourceBundleMessageProvider.java
index 09f46953f5..6d7f3cea54 100644
--- a/fork/commons-i18n/src/java/org/apache/commons/i18n/ResourceBundleMessageProvider.java
+++ b/fork/commons-i18n/src/java/org/apache/commons/i18n/ResourceBundleMessageProvider.java
@@ -65,7 +65,9 @@ public ResourceBundleMessageProvider(String baseName,
}
}
/**
+ * Create a new ResourceBundleMessageProvider instance.
*
+ * @param baseName a String
value
* @throws MessageNotFoundException Thrown if the resource bundle does not exist.
*/
public ResourceBundleMessageProvider(String baseName) throws MessageNotFoundException {
diff --git a/fork/commons-i18n/src/test/org/apache/commons/i18n/MessageProviderTestBase.java b/fork/commons-i18n/src/test/org/apache/commons/i18n/MessageProviderTestBase.java
index f8c5926000..0ed424a980 100644
--- a/fork/commons-i18n/src/test/org/apache/commons/i18n/MessageProviderTestBase.java
+++ b/fork/commons-i18n/src/test/org/apache/commons/i18n/MessageProviderTestBase.java
@@ -27,8 +27,8 @@
* If creating new implementations, consider subclassing this class to test the behaviour of that implementation.
* The tests assume the provided MessageProvider
* contains the following entries:
- *
*
+ * Describes entries for the message provider
*
* Language/Locale
* ID
@@ -70,7 +70,6 @@
* This entry is not translated to any other languages
*
*
- *
* Specifically, the ID nonExistentId
and the entry nonExistentEntry
of ID
* helloWorld
must NOT be existent.
*/
@@ -102,7 +101,7 @@ public void tearDown() throws Exception {
/**
* Test functionality of getText() method, which should be common for all implementations of the
* MessageProvider
interface.
- * @param messageProvider
+ * @param messageProvider a MessageProvider
value
*/
protected void testGetText(MessageProvider messageProvider) {
// Explicit default locale
diff --git a/fork/commons-i18n/src/test/org/apache/commons/i18n/MockProviderTestBase.java b/fork/commons-i18n/src/test/org/apache/commons/i18n/MockProviderTestBase.java
index c983c8b9bd..4d1518fc3c 100644
--- a/fork/commons-i18n/src/test/org/apache/commons/i18n/MockProviderTestBase.java
+++ b/fork/commons-i18n/src/test/org/apache/commons/i18n/MockProviderTestBase.java
@@ -46,6 +46,8 @@ protected void addMockProvider() {
/**
* Add mock provider to MessageManager
.
+ *
+ * @param providerId a String
value
*/
protected void addMockProvider(final String providerId) {
// Mock message provider that returns a string made up of the arguments passed to it.
diff --git a/fork/commons-i18n/src/test/org/apache/commons/i18n/XMLMessageProviderTest.java b/fork/commons-i18n/src/test/org/apache/commons/i18n/XMLMessageProviderTest.java
index 9d488e5682..b24d70dccf 100644
--- a/fork/commons-i18n/src/test/org/apache/commons/i18n/XMLMessageProviderTest.java
+++ b/fork/commons-i18n/src/test/org/apache/commons/i18n/XMLMessageProviderTest.java
@@ -108,6 +108,8 @@ public void testGetEntries() {
/**
* Constructor for MessageManagerTest.
+ *
+ * @param testName a String
value
*/
public XMLMessageProviderTest(String testName) {
super(testName);
diff --git a/marketdata/marketdata-api/.gitignore b/marketdata/marketdata-api/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/marketdata/marketdata-api/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/marketdata/marketdata-api/src/main/java/org/marketcetera/marketdata/MarketDataClient.java b/marketdata/marketdata-api/src/main/java/org/marketcetera/marketdata/MarketDataClient.java
index b2efae30fd..9ad635b17a 100644
--- a/marketdata/marketdata-api/src/main/java/org/marketcetera/marketdata/MarketDataClient.java
+++ b/marketdata/marketdata-api/src/main/java/org/marketcetera/marketdata/MarketDataClient.java
@@ -53,7 +53,7 @@ Deque getSnapshot(Instrument inInstrument,
/**
* Gets a subset of the most recent snapshot available of the given market data.
*
- * Market data must be pre-requested via {@link #request(ClientContext, MarketDataRequest, boolean)}.
+ *
Market data must be pre-requested via {@link #request(MarketDataRequest, MarketDataListener)}.
*
* @param inInstrument an Instrument
value
* @param inContent a Content
value
diff --git a/marketdata/marketdata-api/src/main/java/org/marketcetera/marketdata/MarketDataClientFactory.java b/marketdata/marketdata-api/src/main/java/org/marketcetera/marketdata/MarketDataClientFactory.java
index adeff64252..104e529b46 100644
--- a/marketdata/marketdata-api/src/main/java/org/marketcetera/marketdata/MarketDataClientFactory.java
+++ b/marketdata/marketdata-api/src/main/java/org/marketcetera/marketdata/MarketDataClientFactory.java
@@ -16,7 +16,7 @@ public interface MarketDataClientFactory
{
/**
- * Create a {@link MarketDataServiceClient} instance.
+ * Create a {@link MarketDataClient} instance.
*
* @param inParameters a ParameterClazz
value
* @return a MarketDataServiceClient
value
diff --git a/marketdata/marketdata-core/.gitignore b/marketdata/marketdata-core/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/marketdata/marketdata-core/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/marketdata/marketdata-core/src/main/java/org/marketcetera/marketdata/AbstractMarketDataModule.java b/marketdata/marketdata-core/src/main/java/org/marketcetera/marketdata/AbstractMarketDataModule.java
index dde7910caa..97fd166af9 100644
--- a/marketdata/marketdata-core/src/main/java/org/marketcetera/marketdata/AbstractMarketDataModule.java
+++ b/marketdata/marketdata-core/src/main/java/org/marketcetera/marketdata/AbstractMarketDataModule.java
@@ -56,6 +56,7 @@
*
* Module Features
*
+ * Indicates the module features
* Capabilities Data Emitter
* Stops data flows No
* Start Operation Starts the feed, logs into it.
@@ -351,7 +352,7 @@ protected void preStop()
/**
* Get the feed value.
*
- * @return a MarketDataFeed
value
+ * @return a MarketDataFeed<T,C>
value
*/
protected MarketDataFeed getFeed()
{
diff --git a/marketdata/marketdata-server/src/main/java/org/marketcetera/marketdata/core/provider/MarketDataCacheElement.java b/marketdata/marketdata-core/src/main/java/org/marketcetera/marketdata/MarketDataCacheElement.java
similarity index 96%
rename from marketdata/marketdata-server/src/main/java/org/marketcetera/marketdata/core/provider/MarketDataCacheElement.java
rename to marketdata/marketdata-core/src/main/java/org/marketcetera/marketdata/MarketDataCacheElement.java
index 0abc15948a..2f1b33877e 100644
--- a/marketdata/marketdata-server/src/main/java/org/marketcetera/marketdata/core/provider/MarketDataCacheElement.java
+++ b/marketdata/marketdata-core/src/main/java/org/marketcetera/marketdata/MarketDataCacheElement.java
@@ -1,4 +1,4 @@
-package org.marketcetera.marketdata.core.provider;
+package org.marketcetera.marketdata;
import java.util.ArrayList;
import java.util.Collection;
@@ -18,9 +18,6 @@
import org.marketcetera.event.TradeEvent;
import org.marketcetera.event.impl.QuoteEventBuilder;
import org.marketcetera.event.util.MarketstatEventCache;
-import org.marketcetera.marketdata.Content;
-import org.marketcetera.marketdata.OrderBook;
-import org.marketcetera.marketdata.core.Messages;
import org.marketcetera.trade.Instrument;
import org.marketcetera.util.misc.ClassVersion;
@@ -203,8 +200,6 @@ private void doBookUpdate(Content inContent,
orderbook.process(quoteEvent);
latestTop = orderbook.getTopOfBook();
inoutResults.add(quoteEvent);
- } else {
- throw new IllegalArgumentException(Messages.CONTENT_REQUIRES_QUOTE_EVENTS.getText(inContent,event.getClass().getName()));
}
}
}
diff --git a/marketdata/marketdata-core/src/main/java/org/marketcetera/marketdata/MarketDataProviderStatus.java b/marketdata/marketdata-core/src/main/java/org/marketcetera/marketdata/MarketDataProviderStatus.java
index 1bbd342b2e..7c263a4f74 100644
--- a/marketdata/marketdata-core/src/main/java/org/marketcetera/marketdata/MarketDataProviderStatus.java
+++ b/marketdata/marketdata-core/src/main/java/org/marketcetera/marketdata/MarketDataProviderStatus.java
@@ -2,9 +2,6 @@
import java.io.Serializable;
-import org.marketcetera.marketdata.FeedStatus;
-import org.marketcetera.marketdata.MarketDataStatus;
-
/* $License$ */
/**
@@ -36,7 +33,7 @@ public String getProvider()
/**
* Sets the provider value.
*
- * @param a String
value
+ * @param inProvider a String
value
*/
public void setProvider(String inProvider)
{
diff --git a/marketdata/marketdata-rpc-client/.gitignore b/marketdata/marketdata-rpc-client/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/marketdata/marketdata-rpc-client/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/marketdata/marketdata-rpc-core/.gitignore b/marketdata/marketdata-rpc-core/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/marketdata/marketdata-rpc-core/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/marketdata/marketdata-rpc-core/src/test/java/org/marketcetera/marketdata/rpc/MarketDataRpcUtilTest.java b/marketdata/marketdata-rpc-core/src/test/java/org/marketcetera/marketdata/rpc/MarketDataRpcUtilTest.java
index e815bc064a..6d668e0f34 100644
--- a/marketdata/marketdata-rpc-core/src/test/java/org/marketcetera/marketdata/rpc/MarketDataRpcUtilTest.java
+++ b/marketdata/marketdata-rpc-core/src/test/java/org/marketcetera/marketdata/rpc/MarketDataRpcUtilTest.java
@@ -682,7 +682,7 @@ public static void verifyMarketDataEvent(MarketDataTypesRpc.MarketDataEvent inEx
/**
* Verify the given RPC event matches the given event.
*
- * @param inEvent a MarketDataTypesRpc.Event
value
+ * @param inExpectedEvent a MarketDataTypesRpc.Event
value
* @param inActualEvent an Event
value
*/
public static void verifyEvent(MarketDataTypesRpc.Event inExpectedEvent,
diff --git a/marketdata/marketdata-rpc-server/.gitignore b/marketdata/marketdata-rpc-server/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/marketdata/marketdata-rpc-server/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/marketdata/marketdata-rpc-server/src/test/java/org/marketcetera/marketdata/rpc/MockMarketDataServiceAdapter.java b/marketdata/marketdata-rpc-server/src/test/java/org/marketcetera/marketdata/rpc/MockMarketDataServiceAdapter.java
index 25e83cd4ee..85ef77b37a 100644
--- a/marketdata/marketdata-rpc-server/src/test/java/org/marketcetera/marketdata/rpc/MockMarketDataServiceAdapter.java
+++ b/marketdata/marketdata-rpc-server/src/test/java/org/marketcetera/marketdata/rpc/MockMarketDataServiceAdapter.java
@@ -243,7 +243,7 @@ public void reset()
capabilityRequests.set(0);
}
/**
- * Records requests to {@link MockMarketDataServiceAdapter#getSnapshot(Instrument, Content, String)}.
+ * Records requests to {@link MockMarketDataServiceAdapter#getSnapshot(Instrument, Content)}.
*
* @author Colin DuPlantis
* @version $Id$
diff --git a/marketdata/marketdata-server/.gitignore b/marketdata/marketdata-server/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/marketdata/marketdata-server/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/marketdata/marketdata-server/src/main/java/org/marketcetera/marketdata/cache/MarketDataCacheModule.java b/marketdata/marketdata-server/src/main/java/org/marketcetera/marketdata/cache/MarketDataCacheModule.java
index a6a1022074..f97f9d985a 100644
--- a/marketdata/marketdata-server/src/main/java/org/marketcetera/marketdata/cache/MarketDataCacheModule.java
+++ b/marketdata/marketdata-server/src/main/java/org/marketcetera/marketdata/cache/MarketDataCacheModule.java
@@ -4,7 +4,7 @@
import org.marketcetera.event.Event;
import org.marketcetera.event.HasInstrument;
import org.marketcetera.marketdata.Content;
-import org.marketcetera.marketdata.core.provider.MarketDataCacheElement;
+import org.marketcetera.marketdata.MarketDataCacheElement;
import org.marketcetera.marketdata.service.MarketDataCacheManager;
import org.marketcetera.marketdata.service.MarketDataCacheProvider;
import org.marketcetera.module.AbstractDataReemitterModule;
diff --git a/marketdata/marketdata-server/src/main/java/org/marketcetera/marketdata/core/manager/MarketDataManagerModule.java b/marketdata/marketdata-server/src/main/java/org/marketcetera/marketdata/core/manager/MarketDataManagerModule.java
index 615cfcd021..b790f87cfa 100644
--- a/marketdata/marketdata-server/src/main/java/org/marketcetera/marketdata/core/manager/MarketDataManagerModule.java
+++ b/marketdata/marketdata-server/src/main/java/org/marketcetera/marketdata/core/manager/MarketDataManagerModule.java
@@ -10,9 +10,9 @@
import org.marketcetera.event.Event;
import org.marketcetera.event.HasInstrument;
import org.marketcetera.marketdata.Content;
+import org.marketcetera.marketdata.MarketDataCacheElement;
import org.marketcetera.marketdata.MarketDataRequest;
import org.marketcetera.marketdata.core.Messages;
-import org.marketcetera.marketdata.core.provider.MarketDataCacheElement;
import org.marketcetera.module.AbstractDataReemitterModule;
import org.marketcetera.module.DataFlowID;
import org.marketcetera.module.DataFlowRequester;
@@ -40,6 +40,7 @@
*
* Module Features
*
+ * MarketDataManagerModule Capabilites
* Capabilities Data Requester
* Stops data flows Yes
* Start Operation None
@@ -147,7 +148,7 @@ public long getSubscriberTimeout()
/**
* Sets the subscriberTimeout value.
*
- * @param a long
value
+ * @param inSubscriberTimeout a long
value
*/
public void setSubscriberTimeout(long inSubscriberTimeout)
{
diff --git a/marketdata/marketdata-server/src/main/java/org/marketcetera/marketdata/core/manager/MarketDataManagerModuleFactory.java b/marketdata/marketdata-server/src/main/java/org/marketcetera/marketdata/core/manager/MarketDataManagerModuleFactory.java
index dc079047a8..90d78967e1 100644
--- a/marketdata/marketdata-server/src/main/java/org/marketcetera/marketdata/core/manager/MarketDataManagerModuleFactory.java
+++ b/marketdata/marketdata-server/src/main/java/org/marketcetera/marketdata/core/manager/MarketDataManagerModuleFactory.java
@@ -14,6 +14,7 @@
*
* Module Features
*
+ * MarketDataManagerModuleFactory Capabilities
* Capabilities Data Requester
* Stops data flows Yes
* Start Operation None
diff --git a/marketdata/marketdata-server/src/main/java/org/marketcetera/marketdata/core/provider/MarketDataProviderWatcher.java b/marketdata/marketdata-server/src/main/java/org/marketcetera/marketdata/core/provider/MarketDataProviderWatcher.java
index dd9696091a..74a6dcb558 100644
--- a/marketdata/marketdata-server/src/main/java/org/marketcetera/marketdata/core/provider/MarketDataProviderWatcher.java
+++ b/marketdata/marketdata-server/src/main/java/org/marketcetera/marketdata/core/provider/MarketDataProviderWatcher.java
@@ -119,7 +119,7 @@ public List getMarketDataStatusListeners()
/**
* Sets the marketDataStatusListeners value.
*
- * @param a List<MarketDataStatusListener>
value
+ * @param inMarketDataStatusListeners a List<MarketDataStatusListener>
value
*/
public void setMarketDataStatusListeners(List inMarketDataStatusListeners)
{
@@ -131,7 +131,6 @@ public void setMarketDataStatusListeners(List inMarket
/* (non-Javadoc)
* @see org.marketcetera.marketdata.core.provider.MarketDataStatusProvider#addMarketDataStatusListener(org.marketcetera.marketdata.core.provider.MarketDataStatusListener)
*/
-// @Override
public void addMarketDataStatusListener(MarketDataStatusListener inMarketDataStatusListener)
{
marketDataStatusListeners.add(inMarketDataStatusListener);
@@ -139,7 +138,6 @@ public void addMarketDataStatusListener(MarketDataStatusListener inMarketDataSta
/* (non-Javadoc)
* @see org.marketcetera.marketdata.core.provider.MarketDataStatusProvider#removeMarketDataStatusListener(org.marketcetera.marketdata.core.provider.MarketDataStatusListener)
*/
-// @Override
public void removeMarketDataStatusListener(MarketDataStatusListener inMarketDataStatusListener)
{
marketDataStatusListeners.remove(inMarketDataStatusListener);
@@ -147,7 +145,6 @@ public void removeMarketDataStatusListener(MarketDataStatusListener inMarketData
/* (non-Javadoc)
* @see org.marketcetera.marketdata.core.provider.MarketDataStatusProvider#isRunning()
*/
-// @Override
public boolean isRunning()
{
return lastStatus;
diff --git a/marketdata/marketdata-server/src/main/java/org/marketcetera/marketdata/service/MarketDataEventModuleConnectorFactory.java b/marketdata/marketdata-server/src/main/java/org/marketcetera/marketdata/service/MarketDataEventModuleConnectorFactory.java
index b0ec1c26c1..d55a00cb88 100644
--- a/marketdata/marketdata-server/src/main/java/org/marketcetera/marketdata/service/MarketDataEventModuleConnectorFactory.java
+++ b/marketdata/marketdata-server/src/main/java/org/marketcetera/marketdata/service/MarketDataEventModuleConnectorFactory.java
@@ -12,7 +12,8 @@
* ModuleFactory
implementation for the MarketDataEventModuleConnector
market data connector.
*
* The factory has the following characteristics.
- *
+ *
+ * MarketDataEventModuleConnectorFactory characteristics
* Provider URN: metc:mdata:connector
* Cardinality: Singleton
* Instance URN: metc:mdata:connector:single
diff --git a/marketdata/marketdata-server/src/test/java/org/marketcetera/marketdata/core/provider/MarketdataCacheElementTest.java b/marketdata/marketdata-server/src/test/java/org/marketcetera/marketdata/core/provider/MarketdataCacheElementTest.java
index 2d9e081480..d6aadf3be9 100644
--- a/marketdata/marketdata-server/src/test/java/org/marketcetera/marketdata/core/provider/MarketdataCacheElementTest.java
+++ b/marketdata/marketdata-server/src/test/java/org/marketcetera/marketdata/core/provider/MarketdataCacheElementTest.java
@@ -18,6 +18,7 @@
import org.marketcetera.event.impl.QuoteEventBuilder;
import org.marketcetera.event.impl.TopOfBookEventBuilder;
import org.marketcetera.marketdata.Content;
+import org.marketcetera.marketdata.MarketDataCacheElement;
import org.marketcetera.marketdata.OrderBook;
import org.marketcetera.trade.Equity;
import org.marketcetera.trade.Instrument;
diff --git a/marketdata/marketdata-server/src/test/java/org/marketcetera/marketdata/module/TestFeedModule.java b/marketdata/marketdata-server/src/test/java/org/marketcetera/marketdata/module/TestFeedModule.java
index 7ac0313f71..0a7e7d5427 100644
--- a/marketdata/marketdata-server/src/test/java/org/marketcetera/marketdata/module/TestFeedModule.java
+++ b/marketdata/marketdata-server/src/test/java/org/marketcetera/marketdata/module/TestFeedModule.java
@@ -10,6 +10,7 @@
*
* Module Features
*
+ * Describes the module characteristics
* Factory: {@link TestFeedModuleFactory}
* See {@link AbstractMarketDataModule parent} for module features.
*
diff --git a/marketdata/marketdata-server/src/test/java/org/marketcetera/marketdata/module/TestFeedModuleFactory.java b/marketdata/marketdata-server/src/test/java/org/marketcetera/marketdata/module/TestFeedModuleFactory.java
index 5ad68c1100..acc8648b36 100644
--- a/marketdata/marketdata-server/src/test/java/org/marketcetera/marketdata/module/TestFeedModuleFactory.java
+++ b/marketdata/marketdata-server/src/test/java/org/marketcetera/marketdata/module/TestFeedModuleFactory.java
@@ -12,13 +12,14 @@
*
* The factory has the following characteristics.
*
+ * Describes the module characteristics
* Provider URN: metc:mdata:feeder
* Cardinality: Singleton
* Instance URN: metc:mdata:bogus:feeder
* Auto-Instantiated: Yes
* Auto-Started: Yes
* Instantiation Arguments: None
- * Module Type: {@link FeederModule}
+ * Module Type: {@link TestFeedModule}
*
*
* @author Colin DuPlantis
diff --git a/metrics/metrics-db/.gitignore b/metrics/metrics-db/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/metrics/metrics-db/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/metrics/metrics-db/src/main/java/org/marketcetera/metrics/dao/PersistentMetric.java b/metrics/metrics-db/src/main/java/org/marketcetera/metrics/dao/PersistentMetric.java
index 9cfc5eed0f..ece8a4904c 100644
--- a/metrics/metrics-db/src/main/java/org/marketcetera/metrics/dao/PersistentMetric.java
+++ b/metrics/metrics-db/src/main/java/org/marketcetera/metrics/dao/PersistentMetric.java
@@ -37,7 +37,7 @@ public String getName()
/**
* Sets the name value.
*
- * @param a String
value
+ * @param inName a String
value
*/
public void setName(String inName)
{
@@ -55,7 +55,7 @@ public Date getTimestamp()
/**
* Sets the timestamp value.
*
- * @param a Date
value
+ * @param inTimestamp a Date
value
*/
public void setTimestamp(Date inTimestamp)
{
@@ -73,7 +73,7 @@ public MetricType getType()
/**
* Sets the type value.
*
- * @param a MetricType
value
+ * @param inType a MetricType
value
*/
public void setType(MetricType inType)
{
@@ -91,7 +91,7 @@ public long getCount()
/**
* Sets the count value.
*
- * @param a long
value
+ * @param inCount a long
value
*/
public void setCount(long inCount)
{
@@ -127,7 +127,7 @@ public BigDecimal getMean()
/**
* Sets the mean value.
*
- * @param a BigDecimal
value
+ * @param inMean a BigDecimal
value
*/
public void setMean(BigDecimal inMean)
{
@@ -145,7 +145,7 @@ public BigDecimal getM1()
/**
* Sets the m1 value.
*
- * @param a BigDecimal
value
+ * @param inM1 a BigDecimal
value
*/
public void setM1(BigDecimal inM1)
{
@@ -163,7 +163,7 @@ public BigDecimal getM5()
/**
* Sets the m5 value.
*
- * @param a BigDecimal
value
+ * @param inM5 a BigDecimal
value
*/
public void setM5(BigDecimal inM5)
{
@@ -181,7 +181,7 @@ public BigDecimal getM15()
/**
* Sets the m15 value.
*
- * @param a BigDecimal
value
+ * @param inM15 a BigDecimal
value
*/
public void setM15(BigDecimal inM15)
{
@@ -199,7 +199,7 @@ public BigDecimal getMin()
/**
* Sets the min value.
*
- * @param a BigDecimal
value
+ * @param inMin a BigDecimal
value
*/
public void setMin(BigDecimal inMin)
{
@@ -217,7 +217,7 @@ public BigDecimal getMax()
/**
* Sets the max value.
*
- * @param a BigDecimal
value
+ * @param inMax a BigDecimal
value
*/
public void setMax(BigDecimal inMax)
{
@@ -235,7 +235,7 @@ public BigDecimal getStdDev()
/**
* Sets the stdDev value.
*
- * @param a BigDecimal
value
+ * @param inStdDev a BigDecimal
value
*/
public void setStdDev(BigDecimal inStdDev)
{
@@ -253,7 +253,7 @@ public BigDecimal getMedian()
/**
* Sets the median value.
*
- * @param a BigDecimal
value
+ * @param inMedian a BigDecimal
value
*/
public void setMedian(BigDecimal inMedian)
{
@@ -271,7 +271,7 @@ public BigDecimal getP75()
/**
* Sets the p75 value.
*
- * @param a BigDecimal
value
+ * @param inP75 a BigDecimal
value
*/
public void setP75(BigDecimal inP75)
{
@@ -289,7 +289,7 @@ public BigDecimal getP95()
/**
* Sets the p95 value.
*
- * @param a BigDecimal
value
+ * @param inP95 a BigDecimal
value
*/
public void setP95(BigDecimal inP95)
{
@@ -307,7 +307,7 @@ public BigDecimal getP98()
/**
* Sets the p98 value.
*
- * @param a BigDecimal
value
+ * @param inP98 a BigDecimal
value
*/
public void setP98(BigDecimal inP98)
{
@@ -325,7 +325,7 @@ public BigDecimal getP99()
/**
* Sets the p99 value.
*
- * @param a BigDecimal
value
+ * @param inP99 a BigDecimal
value
*/
public void setP99(BigDecimal inP99)
{
@@ -343,7 +343,7 @@ public BigDecimal getP999()
/**
* Sets the p999 value.
*
- * @param a BigDecimal
value
+ * @param inP999 a BigDecimal
value
*/
public void setP999(BigDecimal inP999)
{
@@ -361,7 +361,7 @@ public BigDecimal getMeanRate()
/**
* Sets the meanRate value.
*
- * @param a BigDecimal
value
+ * @param inMeanRate a BigDecimal
value
*/
public void setMeanRate(BigDecimal inMeanRate)
{
@@ -379,7 +379,7 @@ public String getRateUnit()
/**
* Sets the rateUnit value.
*
- * @param a String
value
+ * @param inRateUnit a String
value
*/
public void setRateUnit(String inRateUnit)
{
@@ -397,7 +397,7 @@ public String getDurationUnit()
/**
* Sets the durationUnit value.
*
- * @param a String
value
+ * @param inDurationUnit a String
value
*/
public void setDurationUnit(String inDurationUnit)
{
@@ -415,7 +415,7 @@ public int getHour()
/**
* Sets the hour value.
*
- * @param an int
value
+ * @param inHour an int
value
*/
public void setHour(int inHour)
{
@@ -433,7 +433,7 @@ public int getMinute()
/**
* Sets the minute value.
*
- * @param an int
value
+ * @param inMinute an int
value
*/
public void setMinute(int inMinute)
{
@@ -451,7 +451,7 @@ public int getSecond()
/**
* Sets the second value.
*
- * @param an int
value
+ * @param inSecond an int
value
*/
public void setSecond(int inSecond)
{
@@ -469,7 +469,7 @@ public int getMillis()
/**
* Sets the millis value.
*
- * @param an int
value
+ * @param inMillis an int
value
*/
public void setMillis(int inMillis)
{
diff --git a/metrics/metrics-log/.gitignore b/metrics/metrics-log/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/metrics/metrics-log/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/modules/cep/esper/.gitignore b/modules/cep/esper/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/modules/cep/esper/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/modules/cep/esper/src/main/java/org/marketcetera/modules/cep/esper/CEPEsperFactory.java b/modules/cep/esper/src/main/java/org/marketcetera/modules/cep/esper/CEPEsperFactory.java
index 909ba7ee21..fa90dab9e2 100644
--- a/modules/cep/esper/src/main/java/org/marketcetera/modules/cep/esper/CEPEsperFactory.java
+++ b/modules/cep/esper/src/main/java/org/marketcetera/modules/cep/esper/CEPEsperFactory.java
@@ -15,7 +15,8 @@
* request and they are auto-started.
*
* The factory has the following characteristics.
- *
+ *
+ * CEPEsperFactory characteristics
* Provider URN: metc:cep:esper
* Cardinality: Multi-Instance
* Auto-Instantiated: Yes
diff --git a/modules/cep/esper/src/main/java/org/marketcetera/modules/cep/esper/CEPEsperProcessor.java b/modules/cep/esper/src/main/java/org/marketcetera/modules/cep/esper/CEPEsperProcessor.java
index 52c9837dd3..ae313a33db 100644
--- a/modules/cep/esper/src/main/java/org/marketcetera/modules/cep/esper/CEPEsperProcessor.java
+++ b/modules/cep/esper/src/main/java/org/marketcetera/modules/cep/esper/CEPEsperProcessor.java
@@ -48,7 +48,8 @@
* reported and ignored.
*
* Module Features
- *
+ *
+ * CEPEsperProcessor capabilities
* Capabilities Data Emitter, Data Receiver
* DataFlow Request Parameters String
: CEP query; String[]
: Multiple CEP queries
* Stops data flows If it encounters an error when creating statements in external time mode.
diff --git a/modules/cep/esper/src/test/java/org/marketcetera/modules/cep/esper/EsperModuleTest.java b/modules/cep/esper/src/test/java/org/marketcetera/modules/cep/esper/EsperModuleTest.java
index faa9151d1d..e4cbef493d 100644
--- a/modules/cep/esper/src/test/java/org/marketcetera/modules/cep/esper/EsperModuleTest.java
+++ b/modules/cep/esper/src/test/java/org/marketcetera/modules/cep/esper/EsperModuleTest.java
@@ -58,7 +58,7 @@ protected Class> getIncorrectQueryException() {
/**
* We have the following data flow:
- * CopierModule --> CEP --> Sink
+ * CopierModule --> CEP --> Sink
* Feed 3 events into copier (which just re-emits it), and then test that it goes through to the Sink via Esper
*
* @throws Exception if there were unexpected errors.
diff --git a/modules/cep/system/.gitignore b/modules/cep/system/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/modules/cep/system/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/modules/cep/system/src/main/java/org/marketcetera/modules/cep/system/CEPSystemFactory.java b/modules/cep/system/src/main/java/org/marketcetera/modules/cep/system/CEPSystemFactory.java
index 0259a402bc..c28e5761c6 100644
--- a/modules/cep/system/src/main/java/org/marketcetera/modules/cep/system/CEPSystemFactory.java
+++ b/modules/cep/system/src/main/java/org/marketcetera/modules/cep/system/CEPSystemFactory.java
@@ -10,7 +10,8 @@
* See {@link CEPSystemProcessor} for an explanation of how the System CEP module works.
*
* The factory has the following characteristics.
- *
+ *
+ * CEPSystemFactory Characteristics
* Provider URN: metc:cep:system
* Cardinality: Multi-Instance
* Auto-Instantiated: Yes
diff --git a/modules/cep/system/src/main/java/org/marketcetera/modules/cep/system/CEPSystemProcessor.java b/modules/cep/system/src/main/java/org/marketcetera/modules/cep/system/CEPSystemProcessor.java
index 18e8894252..e4dd7d7e25 100644
--- a/modules/cep/system/src/main/java/org/marketcetera/modules/cep/system/CEPSystemProcessor.java
+++ b/modules/cep/system/src/main/java/org/marketcetera/modules/cep/system/CEPSystemProcessor.java
@@ -16,7 +16,8 @@
*
*
* Module Features
- *
+ *
+ * CEPSystemProcessor Capabilities
* Capabilities Data Emitter, Data Receiver
* DataFlow Request Parameters String
: The CEP query
* Stops data flows No
diff --git a/modules/machine-learning/tensorflow/.gitignore b/modules/machine-learning/tensorflow/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/modules/machine-learning/tensorflow/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/modules/machine-learning/tensorflow/src/main/java/org/marketcetera/tensorflow/converter/TensorFlowConverterModule.java b/modules/machine-learning/tensorflow/src/main/java/org/marketcetera/tensorflow/converter/TensorFlowConverterModule.java
index a5d0d5d690..77c67a350d 100644
--- a/modules/machine-learning/tensorflow/src/main/java/org/marketcetera/tensorflow/converter/TensorFlowConverterModule.java
+++ b/modules/machine-learning/tensorflow/src/main/java/org/marketcetera/tensorflow/converter/TensorFlowConverterModule.java
@@ -29,7 +29,8 @@
* Converts conventional data types to {@link Tensor} objects.
*
* Module Features
- *
+ *
+ * TensorFlowConverterModule capabilities
* Capabilities Data Emitter, Data Receiver
* DataFlow Request Parameters none
* Stops data flows n/a
diff --git a/modules/machine-learning/tensorflow/src/main/java/org/marketcetera/tensorflow/converter/TensorFlowConverterModuleFactory.java b/modules/machine-learning/tensorflow/src/main/java/org/marketcetera/tensorflow/converter/TensorFlowConverterModuleFactory.java
index a0ac023655..622eea0c2b 100644
--- a/modules/machine-learning/tensorflow/src/main/java/org/marketcetera/tensorflow/converter/TensorFlowConverterModuleFactory.java
+++ b/modules/machine-learning/tensorflow/src/main/java/org/marketcetera/tensorflow/converter/TensorFlowConverterModuleFactory.java
@@ -13,7 +13,8 @@
* Provider that will convert incoming data flow data to {@link Tensor} types.
*
* The factory has the following characteristics.
- *
+ *
+ * TensorFlowConverterModuleFactory characteristics
* Provider URN: metc:tensorflow:converter
* Cardinality: Single Instance
* Auto-Instantiated: Yes
diff --git a/modules/machine-learning/tensorflow/src/main/java/org/marketcetera/tensorflow/model/TensorFlowModelModuleFactory.java b/modules/machine-learning/tensorflow/src/main/java/org/marketcetera/tensorflow/model/TensorFlowModelModuleFactory.java
index ebe01c9567..8fa5030058 100644
--- a/modules/machine-learning/tensorflow/src/main/java/org/marketcetera/tensorflow/model/TensorFlowModelModuleFactory.java
+++ b/modules/machine-learning/tensorflow/src/main/java/org/marketcetera/tensorflow/model/TensorFlowModelModuleFactory.java
@@ -12,7 +12,8 @@
* Provides a module that invokes an existing TensorFlow model.
*
* The factory has the following characteristics.
- *
+ *
+ * TensorFlowModelModuleFactory characteristics
* Provider URN: metc:tensorflow:model
* Cardinality: Single Instance
* Auto-Instantiated: Yes
diff --git a/modules/marketdata/bogus/.gitignore b/modules/marketdata/bogus/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/modules/marketdata/bogus/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/modules/marketdata/bogus/src/main/java/org/marketcetera/marketdata/bogus/BogusFeedModule.java b/modules/marketdata/bogus/src/main/java/org/marketcetera/marketdata/bogus/BogusFeedModule.java
index 3d9082253d..43310b002d 100644
--- a/modules/marketdata/bogus/src/main/java/org/marketcetera/marketdata/bogus/BogusFeedModule.java
+++ b/modules/marketdata/bogus/src/main/java/org/marketcetera/marketdata/bogus/BogusFeedModule.java
@@ -17,7 +17,8 @@
* Module for {@link BogusFeed}.
*
* Module Features
- *
+ *
+ * Describes the module attributes
* Factory: {@link BogusFeedModuleFactory}
* See {@link AbstractMarketDataModule parent} for module features.
*
diff --git a/modules/marketdata/bogus/src/main/java/org/marketcetera/marketdata/bogus/BogusFeedModuleFactory.java b/modules/marketdata/bogus/src/main/java/org/marketcetera/marketdata/bogus/BogusFeedModuleFactory.java
index b446e2d42a..9d5c9b708c 100644
--- a/modules/marketdata/bogus/src/main/java/org/marketcetera/marketdata/bogus/BogusFeedModuleFactory.java
+++ b/modules/marketdata/bogus/src/main/java/org/marketcetera/marketdata/bogus/BogusFeedModuleFactory.java
@@ -21,7 +21,8 @@
* ModuleFactory
implementation for the BogusFeed
market data provider.
*
* The factory has the following characteristics.
- *
+ *
+ * Describes the module attributes
* Provider URN: metc:mdata:bogus
* Cardinality: Singleton
* Instance URN: metc:mdata:bogus:single
diff --git a/modules/marketdata/csv/.gitignore b/modules/marketdata/csv/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/modules/marketdata/csv/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/modules/marketdata/csv/src/main/java/org/marketcetera/marketdata/csv/BasicCSVFeedEventTranslator.java b/modules/marketdata/csv/src/main/java/org/marketcetera/marketdata/csv/BasicCSVFeedEventTranslator.java
index 3092093dec..f269f69125 100644
--- a/modules/marketdata/csv/src/main/java/org/marketcetera/marketdata/csv/BasicCSVFeedEventTranslator.java
+++ b/modules/marketdata/csv/src/main/java/org/marketcetera/marketdata/csv/BasicCSVFeedEventTranslator.java
@@ -73,7 +73,8 @@
* more detailed behavior.
*
* The default implementation expects data in the following format:
- *
+ *
+ * BasicCSVFeedEventTranslator data format
* Column0 BID ASK TRADE DIVIDEND STAT
* Column1 Timestamp Timestamp Timestamp Timestamp Timestamp
* Column2 Symbol Symbol Symbol Equity Symbol Symbol
diff --git a/modules/marketdata/marketdata-exsim/.gitignore b/modules/marketdata/marketdata-exsim/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/modules/marketdata/marketdata-exsim/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/modules/marketdata/marketdata-exsim/src/main/java/org/marketcetera/marketdata/exsim/ExsimFeedModuleFactory.java b/modules/marketdata/marketdata-exsim/src/main/java/org/marketcetera/marketdata/exsim/ExsimFeedModuleFactory.java
index 2c51d5d764..1620f1f442 100644
--- a/modules/marketdata/marketdata-exsim/src/main/java/org/marketcetera/marketdata/exsim/ExsimFeedModuleFactory.java
+++ b/modules/marketdata/marketdata-exsim/src/main/java/org/marketcetera/marketdata/exsim/ExsimFeedModuleFactory.java
@@ -18,7 +18,8 @@
* ModuleFactory
implementation for the ExsimFeed
market data provider.
*
* The factory has the following characteristics.
- *
+ *
+ * ExsimFeedModuleFactory characteristics
* Provider URN: metc:mdata:exsim
* Cardinality: Singleton
* Instance URN: metc:mdata:exsim:single
diff --git a/modules/marketdata/marketdata-manual/.gitignore b/modules/marketdata/marketdata-manual/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/modules/marketdata/marketdata-manual/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/modules/marketdata/marketdata-manual/src/main/java/org/marketcetera/marketdata/manual/ManualFeedModuleFactory.java b/modules/marketdata/marketdata-manual/src/main/java/org/marketcetera/marketdata/manual/ManualFeedModuleFactory.java
index 9de2565443..a03b77831b 100644
--- a/modules/marketdata/marketdata-manual/src/main/java/org/marketcetera/marketdata/manual/ManualFeedModuleFactory.java
+++ b/modules/marketdata/marketdata-manual/src/main/java/org/marketcetera/marketdata/manual/ManualFeedModuleFactory.java
@@ -18,6 +18,7 @@
*
* The factory has the following characteristics.
*
+ * Manual Feed Module Capabilities
* Provider URN: metc:mdata:manual
* Cardinality: Singleton
* Instance URN: metc:mdata:manual:single
diff --git a/modules/marketdata/marketdata-recorder/.gitignore b/modules/marketdata/marketdata-recorder/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/modules/marketdata/marketdata-recorder/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/modules/marketdata/marketdata-recorder/src/main/java/org/marketcetera/marketdata/recorder/MarketDataRecorderModule.java b/modules/marketdata/marketdata-recorder/src/main/java/org/marketcetera/marketdata/recorder/MarketDataRecorderModule.java
index 2256ad70d6..49fbba386c 100644
--- a/modules/marketdata/marketdata-recorder/src/main/java/org/marketcetera/marketdata/recorder/MarketDataRecorderModule.java
+++ b/modules/marketdata/marketdata-recorder/src/main/java/org/marketcetera/marketdata/recorder/MarketDataRecorderModule.java
@@ -55,7 +55,8 @@
* Provides an implementation that writes market data to files in a given directory.
*
* Module Features
- *
+ *
+ * MarketDataRecorderModule featues
* Capabilities Data Receiver,Data Emitter
* Stops data flows No
* Start Operation Checks that the directory exists and is writable
diff --git a/modules/marketdata/marketdata-recorder/src/main/java/org/marketcetera/marketdata/recorder/MarketDataRecorderModuleFactory.java b/modules/marketdata/marketdata-recorder/src/main/java/org/marketcetera/marketdata/recorder/MarketDataRecorderModuleFactory.java
index bd064b267d..70a66b96e0 100644
--- a/modules/marketdata/marketdata-recorder/src/main/java/org/marketcetera/marketdata/recorder/MarketDataRecorderModuleFactory.java
+++ b/modules/marketdata/marketdata-recorder/src/main/java/org/marketcetera/marketdata/recorder/MarketDataRecorderModuleFactory.java
@@ -16,7 +16,8 @@
*
*
* The factory has the following characteristics.
- *
+ *
+ * MarketDataRecorderModuleFactory characteristics
* Provider URN: metc:mdata:recorder
* Cardinality: Multi-Instance
* Auto-Instantiated: No
diff --git a/modules/marketdata/yahoo/.gitignore b/modules/marketdata/yahoo/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/modules/marketdata/yahoo/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/modules/marketdata/yahoo/src/main/java/org/marketcetera/marketdata/yahoo/YahooFeedModule.java b/modules/marketdata/yahoo/src/main/java/org/marketcetera/marketdata/yahoo/YahooFeedModule.java
index 126d671dae..b272acfcf8 100644
--- a/modules/marketdata/yahoo/src/main/java/org/marketcetera/marketdata/yahoo/YahooFeedModule.java
+++ b/modules/marketdata/yahoo/src/main/java/org/marketcetera/marketdata/yahoo/YahooFeedModule.java
@@ -16,7 +16,8 @@
*
*
* Module Features
- *
+ *
+ * YahooFeedModule capabilities
* Capabilities Data Emitter
* Stops data flows No
* Start Operation Starts the feed, logs into it.
diff --git a/modules/misc/.gitignore b/modules/misc/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/modules/misc/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/modules/misc/src/main/java/org/marketcetera/modules/async/SimpleAsyncProcessor.java b/modules/misc/src/main/java/org/marketcetera/modules/async/SimpleAsyncProcessor.java
index 67fd7bed80..7c05a68857 100644
--- a/modules/misc/src/main/java/org/marketcetera/modules/async/SimpleAsyncProcessor.java
+++ b/modules/misc/src/main/java/org/marketcetera/modules/async/SimpleAsyncProcessor.java
@@ -98,7 +98,8 @@
* while the sink module processes the event (for example, logs it).
*
* Module Features
- *
+ *
+ * Describes the module attributes
* Capabilities Data Emitter, Data Reciever
* DataFlow Request Parameters None.
* Stops data flows No.
diff --git a/modules/misc/src/main/java/org/marketcetera/modules/async/SimpleAsyncProcessorFactory.java b/modules/misc/src/main/java/org/marketcetera/modules/async/SimpleAsyncProcessorFactory.java
index 09efaad7f8..1cce1f9c6a 100644
--- a/modules/misc/src/main/java/org/marketcetera/modules/async/SimpleAsyncProcessorFactory.java
+++ b/modules/misc/src/main/java/org/marketcetera/modules/async/SimpleAsyncProcessorFactory.java
@@ -11,7 +11,8 @@
* is different from the thread on which the data is received..
*
* The factory has the following characteristics.
- *
+ *
+ * Describes the module attributes
* Provider URN: metc:async:simple
* Cardinality: Multi-Instance
* Auto-Instantiated: Yes
diff --git a/modules/misc/src/main/java/org/marketcetera/modules/csv/CSVEmitter.java b/modules/misc/src/main/java/org/marketcetera/modules/csv/CSVEmitter.java
index 463f7d8b20..14f2aa137e 100644
--- a/modules/misc/src/main/java/org/marketcetera/modules/csv/CSVEmitter.java
+++ b/modules/misc/src/main/java/org/marketcetera/modules/csv/CSVEmitter.java
@@ -51,7 +51,8 @@
*
*
* Module Features
- *
+ *
+ * Describes the module attributes
* Capabilities Data Emitter
* DataFlow Request Parameters String, File or URL. Usage explained above.
* Stops data flows Yes, if there's no more data to emit or if there was an error reading data from the file/URL.
diff --git a/modules/misc/src/main/java/org/marketcetera/modules/csv/CSVEmitterFactory.java b/modules/misc/src/main/java/org/marketcetera/modules/csv/CSVEmitterFactory.java
index 26498fc4c4..2ee02f9e32 100644
--- a/modules/misc/src/main/java/org/marketcetera/modules/csv/CSVEmitterFactory.java
+++ b/modules/misc/src/main/java/org/marketcetera/modules/csv/CSVEmitterFactory.java
@@ -10,7 +10,8 @@
* Provider that will emit data contained in CSV as a series of maps.
*
* The factory has the following characteristics.
- *
+ *
+ * Describes the module attributes
* Provider URN: metc:csv:system
* Cardinality: Singleton
* InstanceURN: metc:csv:system:single
diff --git a/modules/misc/src/main/java/org/marketcetera/modules/headwater/HeadwaterModule.java b/modules/misc/src/main/java/org/marketcetera/modules/headwater/HeadwaterModule.java
index 4141c65d26..08dd0d6406 100644
--- a/modules/misc/src/main/java/org/marketcetera/modules/headwater/HeadwaterModule.java
+++ b/modules/misc/src/main/java/org/marketcetera/modules/headwater/HeadwaterModule.java
@@ -23,17 +23,17 @@
/**
* Provides an insertion point to a module framework data flow.
*
- * Module Features
+ *
Module Features
*
+ * Headwater Module Attributes
* Capabilities Data Emitter
* DataFlow Request Parameters none
* Stops data flows n/a
* Start Operation n/a
* Stop Operation n/a
- * Management Interface n/a
+ * Management Interface n/a
* Factory {@link HeadwaterModuleFactory}
*
- *
*
* @author Colin DuPlantis
* @version $Id$
diff --git a/modules/misc/src/main/java/org/marketcetera/modules/headwater/HeadwaterModuleFactory.java b/modules/misc/src/main/java/org/marketcetera/modules/headwater/HeadwaterModuleFactory.java
index 6265c35e79..bbba1dc673 100644
--- a/modules/misc/src/main/java/org/marketcetera/modules/headwater/HeadwaterModuleFactory.java
+++ b/modules/misc/src/main/java/org/marketcetera/modules/headwater/HeadwaterModuleFactory.java
@@ -11,7 +11,8 @@
* Creates {@link HeadwaterModule} objects.
*
* The factory has the following characteristics.
- *
+ *
+ * Headerwater Module Attributes
* Provider URN: metc:misc:headwater
* Cardinality: Multi-Instance
* Auto-Instantiated: No
diff --git a/modules/misc/src/main/java/org/marketcetera/modules/publisher/PublisherModule.java b/modules/misc/src/main/java/org/marketcetera/modules/publisher/PublisherModule.java
index cdae54467a..a15a0810d7 100644
--- a/modules/misc/src/main/java/org/marketcetera/modules/publisher/PublisherModule.java
+++ b/modules/misc/src/main/java/org/marketcetera/modules/publisher/PublisherModule.java
@@ -13,7 +13,8 @@
* Publishes received data to a given publisher before optionally passing it on in the flow.
*
* Module Features
- *
+ *
+ * Describes the module attributes
* Capabilities Data Emitter, Data Receiver
* Stops data flows No
* Start Operation None
diff --git a/packages/dare-package/.gitignore b/packages/dare-package/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/packages/dare-package/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/packages/dare-package/src/main/java/org/marketcetera/server/DareApplication.java b/packages/dare-package/src/main/java/org/marketcetera/server/DareApplication.java
index cfcdc341f6..387f7a0b96 100644
--- a/packages/dare-package/src/main/java/org/marketcetera/server/DareApplication.java
+++ b/packages/dare-package/src/main/java/org/marketcetera/server/DareApplication.java
@@ -23,7 +23,6 @@
import org.marketcetera.admin.user.PersistentUserFactory;
import org.marketcetera.brokers.BrokerSelector;
import org.marketcetera.brokers.service.FixSessionProvider;
-import org.marketcetera.client.rpc.server.TradeRpcService;
import org.marketcetera.cluster.ClusterDataFactory;
import org.marketcetera.cluster.SimpleClusterDataFactory;
import org.marketcetera.cluster.rpc.ClusterRpcService;
@@ -59,12 +58,14 @@
import org.marketcetera.trade.AverageFillPriceFactory;
import org.marketcetera.trade.BasicSelector;
import org.marketcetera.trade.SimpleAverageFillPriceFactory;
+import org.marketcetera.trade.client.DirectTradeClient;
import org.marketcetera.trade.event.connector.IncomingTradeMessageBroadcastConnector;
import org.marketcetera.trade.event.connector.IncomingTradeMessageConverterConnector;
import org.marketcetera.trade.event.connector.IncomingTradeMessagePersistenceConnector;
import org.marketcetera.trade.event.connector.OrderConverterConnector;
import org.marketcetera.trade.event.connector.OutgoingMessageCachingConnector;
import org.marketcetera.trade.event.connector.OutgoingMessagePersistenceConnector;
+import org.marketcetera.trade.rpc.server.TradeRpcService;
import org.marketcetera.trade.service.MessageOwnerService;
import org.marketcetera.trade.service.impl.MessageOwnerServiceImpl;
import org.marketcetera.util.log.SLF4JLoggerProxy;
@@ -197,6 +198,16 @@ public DirectMarketDataClient getMarketDataClient()
{
return new DirectMarketDataClient();
}
+ /**
+ * Get the trade client value.
+ *
+ * @return a DirectTradeClient
value
+ */
+ @Bean
+ public DirectTradeClient getTradeClient()
+ {
+ return new DirectTradeClient();
+ }
/**
* Get the strategy message factory value.
*
diff --git a/packages/dare-package/src/main/resources/db/migration/psql/V114__strategy.sql b/packages/dare-package/src/main/resources/db/migration/psql/V114__strategy.sql
index b91c012d2e..94e4374e34 100644
--- a/packages/dare-package/src/main/resources/db/migration/psql/V114__strategy.sql
+++ b/packages/dare-package/src/main/resources/db/migration/psql/V114__strategy.sql
@@ -38,11 +38,12 @@ insert into metc_permissions values(((select max(id) from metc_permissions)+1),n
insert into metc_permissions values(((select max(id) from metc_permissions)+1),now(),0,'Remove events generated by strategies','ClearStrategyEventsAction');
insert into metc_permissions values(((select max(id) from metc_permissions)+1),now(),0,'Access to cancel strategies being uploaded','CancelStrategyUploadAction');
insert into metc_permissions values(((select max(id) from metc_permissions)+1),now(),0,'Access to read strategy messages','ReadStrategyMessagesAction');
-insert into metc_permissions values(((select max(id) from metc_permissions)+1),now(),0,'Access to rcreate strategy messages','CreateStrategyMessagesAction');
+insert into metc_permissions values(((select max(id) from metc_permissions)+1),now(),0,'Access to create strategy messages','CreateStrategyMessagesAction');
+insert into metc_permissions values(((select max(id) from metc_permissions)+1),now(),0,'Access to delete strategy messages','DeleteStrategyMessagesAction');
insert into metc_roles_permissions select a.id as roles_id,b.id as permissions_id from metc_roles a,metc_permissions b where b.name like '%Strategy%Action' and (a.name='Trader' or a.name='TraderAdmin');
--
--- Name: metc_strategy_messages; Type: TABLE; Schema: public; Owner: metc
+-- Name: metc_strategy_messages; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE metc_strategy_messages (
@@ -51,12 +52,14 @@ CREATE TABLE metc_strategy_messages (
update_count integer NOT NULL,
message character varying(255),
message_timestamp timestamp without time zone,
- severity integer,
+ severity character varying(255),
+ strategy_message_id bigint NOT NULL,
strategy_instance_id bigint
);
+
--
--- Name: metc_strategy_messages metc_strategy_messages_pkey; Type: CONSTRAINT; Schema: public; Owner: metc
+-- Name: metc_strategy_messages metc_strategy_messages_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY metc_strategy_messages
@@ -64,8 +67,17 @@ ALTER TABLE ONLY metc_strategy_messages
--
--- Name: metc_strategy_messages fk66jhynr1a7r5x55l5c0x0hasx; Type: FK CONSTRAINT; Schema: public; Owner: metc
+-- Name: metc_strategy_messages uk_ehwshs455mw0dcui1x6ra8a3y; Type: CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY metc_strategy_messages
+ ADD CONSTRAINT uk_ehwshs455mw0dcui1x6ra8a3y UNIQUE (strategy_message_id);
+
+
+--
+-- Name: metc_strategy_messages fk66jhynr1a7r5x55l5c0x0hasx; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY metc_strategy_messages
ADD CONSTRAINT fk66jhynr1a7r5x55l5c0x0hasx FOREIGN KEY (strategy_instance_id) REFERENCES metc_strategy_instances(id);
+
diff --git a/packages/dare-package/src/main/resources/db/migration/psql/V115__suggestion_permissions.sql b/packages/dare-package/src/main/resources/db/migration/psql/V115__suggestion_permissions.sql
new file mode 100644
index 0000000000..f03691cd96
--- /dev/null
+++ b/packages/dare-package/src/main/resources/db/migration/psql/V115__suggestion_permissions.sql
@@ -0,0 +1,3 @@
+insert into metc_permissions values(((select max(id) from metc_permissions)+1),now(),0,'Access to read ltrade suggestions','ViewSuggestionsAction');
+insert into metc_permissions values(((select max(id) from metc_permissions)+1),now(),0,'Access to create ltrade suggestions','SendSuggestionAction');
+insert into metc_roles_permissions select a.id as roles_id,b.id as permissions_id from metc_roles a,metc_permissions b where b.name like '%Suggestion%Action' and (a.name='Trader' or a.name='TraderAdmin');
diff --git a/packages/dare-package/src/test/cmd_exec/conf/application.properties b/packages/dare-package/src/test/cmd_exec/conf/application.properties
index 513dcedaed..05ab13935d 100644
--- a/packages/dare-package/src/test/cmd_exec/conf/application.properties
+++ b/packages/dare-package/src/test/cmd_exec/conf/application.properties
@@ -14,6 +14,7 @@ spring.flyway.enabled=true
metc.ws.hostname=0.0.0.0
# interval in seconds at which to record metrics
metc.metric.service.log.reporter.interval=10
+# list of classes that can be marshaled to and from XML
metc.xml.context.path.classes=org.marketcetera.trade.Equity,org.marketcetera.trade.Future
# determines how long to delay evaluation of work units
metc.cluster.work.unit.evaluation.delay=1000
diff --git a/packages/docker-package/.gitignore b/packages/docker-package/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/packages/docker-package/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/photon/.gitignore b/photon/.gitignore
new file mode 100644
index 0000000000..eacf31a678
--- /dev/null
+++ b/photon/.gitignore
@@ -0,0 +1 @@
+/target-ide/
diff --git a/photon/src/main/java/org/marketcetera/ui/DragResizer.java b/photon/src/main/java/org/marketcetera/ui/DragResizer.java
deleted file mode 100644
index 29191c7ddd..0000000000
--- a/photon/src/main/java/org/marketcetera/ui/DragResizer.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package org.marketcetera.ui;
-
-
-import javafx.event.EventHandler;
-import javafx.scene.Cursor;
-import javafx.scene.input.MouseEvent;
-import javafx.scene.layout.Region;
-
-/**
- * {@link DragResizer} can be used to add mouse listeners to a {@link Region}
- * and make it resizable by the user by clicking and dragging the border in the
- * same way as a window.
- *
- * Only height resizing is currently implemented. Usage:
DragResizer.makeResizable(myAnchorPane);
- *
- * @author atill
- *
- */
-public class DragResizer {
-
- /**
- * The margin around the control that a user can click in to start resizing
- * the region.
- */
- private static final int RESIZE_MARGIN = 5;
-
- private final Region region;
-
- private double y;
-
- private boolean initMinHeight;
-
- private boolean dragging;
-
- private DragResizer(Region aRegion) {
- region = aRegion;
- }
-
- public static void makeResizable(Region region) {
- final DragResizer resizer = new DragResizer(region);
-
- region.setOnMousePressed(new EventHandler() {
- @Override
- public void handle(MouseEvent event) {
- resizer.mousePressed(event);
- }});
- region.setOnMouseDragged(new EventHandler() {
- @Override
- public void handle(MouseEvent event) {
- resizer.mouseDragged(event);
- }});
- region.setOnMouseMoved(new EventHandler() {
- @Override
- public void handle(MouseEvent event) {
- resizer.mouseOver(event);
- }});
- region.setOnMouseReleased(new EventHandler() {
- @Override
- public void handle(MouseEvent event) {
- resizer.mouseReleased(event);
- }});
- }
-
- protected void mouseReleased(MouseEvent event) {
- dragging = false;
- region.setCursor(Cursor.DEFAULT);
- }
-
- protected void mouseOver(MouseEvent event) {
- if(isInDraggableZone(event) || dragging) {
- region.setCursor(Cursor.S_RESIZE);
- }
- else {
- region.setCursor(Cursor.DEFAULT);
- }
- }
-
- protected boolean isInDraggableZone(MouseEvent event) {
- return event.getY() > (region.getHeight() - RESIZE_MARGIN);
- }
-
- protected void mouseDragged(MouseEvent event) {
- if(!dragging) {
- return;
- }
-
- double mousey = event.getY();
-
- double newHeight = region.getMinHeight() + (mousey - y);
-
- region.setMinHeight(newHeight);
-
- y = mousey;
- }
-
- protected void mousePressed(MouseEvent event) {
-
- // ignore clicks outside of the draggable margin
- if(!isInDraggableZone(event)) {
- return;
- }
-
- dragging = true;
-
- // make sure that the minimum height is set to the current height once,
- // setting a min height that is smaller than the current height will
- // have no effect
- if (!initMinHeight) {
- region.setMinHeight(region.getHeight());
- initMinHeight = true;
- }
-
- y = event.getY();
- }
-}
diff --git a/photon/src/main/java/org/marketcetera/ui/Draggable.java b/photon/src/main/java/org/marketcetera/ui/Draggable.java
deleted file mode 100644
index a44d673e0a..0000000000
--- a/photon/src/main/java/org/marketcetera/ui/Draggable.java
+++ /dev/null
@@ -1,152 +0,0 @@
-package org.marketcetera.ui;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import javafx.event.EventHandler;
-import javafx.scene.Node;
-import javafx.scene.input.MouseEvent;
-
-/**
- * Generalised implementation of 'Draggability' of a {@link Node}. The Draggable class is used as a 'namespace' for the internal
- * class/interfaces/enum.
- * @author phill
- *
- */
-public class Draggable {
- public enum Event {
- None, DragStart, Drag, DragEnd
- }
-
- /**
- * Marker for an entity that has draggable nature.
- * @author phill
- */
- public interface Interface {
- public abstract Draggable.Nature getDraggableNature();
- }
-
- public interface Listener {
- public void accept(Nature draggableNature, Event dragEvent);
- }
-
- /**
- * Class that encapsulates the draggable nature of a node.
- *
- * EventNode: the event that receives the drag events
- * One or more DragNodes: that move in response to the drag events. The EventNode is usually (but not always) a
- * DragNode
- * Listeners: listen for the drag events
- *
- * @author phill
- *
- */
- public static final class Nature implements EventHandler {
- private double lastMouseX = 0, lastMouseY = 0; // scene coords
-
- private boolean dragging = false;
-
- private final boolean enabled = true;
- private final Node eventNode;
- private final List dragNodes = new ArrayList<>();
- private final List dragListeners = new ArrayList<>();
-
- public Nature(final Node node) {
- this(node, node);
- }
-
- public Nature(final Node eventNode, final Node... dragNodes) {
- this.eventNode = eventNode;
- this.dragNodes.addAll(Arrays.asList(dragNodes));
- this.eventNode.addEventHandler(MouseEvent.ANY, this);
- }
-
- public final boolean addDraggedNode(final Node node) {
- if (!this.dragNodes.contains(node)) {
- return this.dragNodes.add(node);
- }
- return false;
- }
-
- public final boolean addListener(final Listener listener) {
- return this.dragListeners.add(listener);
- }
-
- public final void detatch() {
- this.eventNode.removeEventFilter(MouseEvent.ANY, this);
- }
-
- public final List getDragNodes() {
- return new ArrayList<>(this.dragNodes);
- }
-
- public final Node getEventNode() {
- return this.eventNode;
- }
-
- @Override
- public final void handle(final MouseEvent event) {
- if (MouseEvent.MOUSE_PRESSED == event.getEventType()) {
- if (this.enabled && this.eventNode.contains(event.getX(), event.getY())) {
- this.lastMouseX = event.getSceneX();
- this.lastMouseY = event.getSceneY();
- event.consume();
- }
- } else if (MouseEvent.MOUSE_DRAGGED == event.getEventType()) {
- if (!this.dragging) {
- this.dragging = true;
- for (final Listener listener : this.dragListeners) {
- listener.accept(this, Draggable.Event.DragStart);
- }
- }
- if (this.dragging) {
- final double deltaX = event.getSceneX() - this.lastMouseX;
- final double deltaY = event.getSceneY() - this.lastMouseY;
-
- for (final Node dragNode : this.dragNodes) {
- final double initialTranslateX = dragNode.getTranslateX();
- final double initialTranslateY = dragNode.getTranslateY();
- dragNode.setTranslateX(initialTranslateX + deltaX);
- dragNode.setTranslateY(initialTranslateY + deltaY);
- }
-
- this.lastMouseX = event.getSceneX();
- this.lastMouseY = event.getSceneY();
-
- event.consume();
- for (final Listener listener : this.dragListeners) {
- listener.accept(this, Draggable.Event.Drag);
- }
- }
- } else if (MouseEvent.MOUSE_RELEASED == event.getEventType()) {
- if (this.dragging) {
- event.consume();
- this.dragging = false;
- for (final Listener listener : this.dragListeners) {
- listener.accept(this, Draggable.Event.DragEnd);
- }
- }
- }
-
- }
-
- public final boolean removeDraggedNode(final Node node) {
- return this.dragNodes.remove(node);
- }
-
- public final boolean removeListener(final Listener listener) {
- return this.dragListeners.remove(listener);
- }
-
- /**
- * When the initial mousePressed is missing we can supply the first coordinates programmatically.
- * @param lastMouseX
- * @param lastMouseY
- */
- public final void setLastMouse(final double lastMouseX, final double lastMouseY) {
- this.lastMouseX = lastMouseX;
- this.lastMouseY = lastMouseY;
- }
- }
-}
diff --git a/photon/src/main/java/org/marketcetera/ui/LoginView.java b/photon/src/main/java/org/marketcetera/ui/LoginView.java
index 07c3017dde..dd8fbb5fd5 100644
--- a/photon/src/main/java/org/marketcetera/ui/LoginView.java
+++ b/photon/src/main/java/org/marketcetera/ui/LoginView.java
@@ -16,7 +16,6 @@
import org.springframework.stereotype.Component;
import io.grpc.StatusRuntimeException;
-import javafx.application.Platform;
import javafx.beans.value.ChangeListener;
import javafx.event.ActionEvent;
import javafx.geometry.Insets;
@@ -171,8 +170,7 @@ private void onLogin(ActionEvent inEvent)
*/
private void onCloseRequest(WindowEvent inEvent)
{
- // shutdown the whole app
- Platform.exit();
+ PhotonApp.getApp().doAppShutdown();
}
/**
* main scene of the dialog
diff --git a/photon/src/main/java/org/marketcetera/ui/PhotonApp.java b/photon/src/main/java/org/marketcetera/ui/PhotonApp.java
index 8ce11caffb..3d126d020a 100644
--- a/photon/src/main/java/org/marketcetera/ui/PhotonApp.java
+++ b/photon/src/main/java/org/marketcetera/ui/PhotonApp.java
@@ -3,12 +3,9 @@
import java.awt.Taskbar;
import java.awt.Taskbar.Feature;
import java.awt.Toolkit;
-import java.io.IOException;
-import java.util.Properties;
import org.marketcetera.ui.events.LoginEvent;
import org.marketcetera.ui.events.LogoutEvent;
-import org.marketcetera.ui.service.DisplayLayoutService;
import org.marketcetera.ui.service.PhotonNotificationService;
import org.marketcetera.ui.service.SessionUser;
import org.marketcetera.ui.service.StyleService;
@@ -23,9 +20,7 @@
import javafx.application.Application;
import javafx.application.Platform;
-import javafx.fxml.FXMLLoader;
import javafx.geometry.Orientation;
-import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.Separator;
@@ -46,11 +41,19 @@
* @author Colin DuPlantis
* @version $Id$
* @since $Release$
- * @see https://openjfx.io/openjfx-docs/#maven
*/
public class PhotonApp
extends Application
{
+ /**
+ * Main application entry point.
+ *
+ * @param args a String[]
value
+ */
+ public static void main(String[] args)
+ {
+ launch();
+ }
/* (non-Javadoc)
* @see javafx.application.Application#init()
*/
@@ -58,11 +61,11 @@ public class PhotonApp
public void init()
throws Exception
{
+ instance = this;
super.init();
applicationContext = new AnnotationConfigApplicationContext("org.marketcetera","com.marketcetera");
webMessageService = applicationContext.getBean(UiMessageService.class);
styleService = applicationContext.getBean(StyleService.class);
- displayLayoutService = applicationContext.getBean(DisplayLayoutService.class);
webMessageService.register(this);
}
/* (non-Javadoc)
@@ -106,13 +109,7 @@ public void start(Stage inPrimaryStage)
}
}
inPrimaryStage.setOnCloseRequest(closeEvent -> {
- isShuttingDown = true;
- webMessageService.post(new LogoutEvent());
- try {
- ((ConfigurableApplicationContext)applicationContext).close();
- } catch (Exception ignored) {}
- Platform.exit();
- System.exit(0);
+ doAppShutdown();
});
VBox.setVgrow(menuLayout,
Priority.NEVER);
@@ -130,6 +127,19 @@ public void start(Stage inPrimaryStage)
inPrimaryStage.show();
doLogin();
}
+ /**
+ * Shutdown the app.
+ */
+ public void doAppShutdown()
+ {
+ isShuttingDown = true;
+ webMessageService.post(new LogoutEvent());
+ try {
+ ((ConfigurableApplicationContext)applicationContext).close();
+ } catch (Exception ignored) {}
+ Platform.exit();
+ System.exit(0);
+ }
/**
* Receive LoginEvent
values.
*
@@ -173,6 +183,33 @@ public void onLogout(LogoutEvent inEvent)
}
});
}
+ /**
+ * Get the primary application stage.
+ *
+ * @return a Stage
value
+ */
+ public static Stage getPrimaryStage()
+ {
+ return primaryStage;
+ }
+ /**
+ * Get the main workspace.
+ *
+ * @return a Pane
value
+ */
+ public static Pane getWorkspace()
+ {
+ return workspace;
+ }
+ /**
+ * Get the main singleton application instance.
+ *
+ * @return a PhotonApp
value
+ */
+ public static PhotonApp getApp()
+ {
+ return instance;
+ }
/**
* Initialize the workspace footer.
*/
@@ -213,6 +250,9 @@ private void initializeFooter()
clockLabel,
userLabel);
}
+ /**
+ * Build and show the main application menu.
+ */
private void showMenu()
{
SessionUser currentUser = SessionUser.getCurrent();
@@ -230,53 +270,15 @@ private void showMenu()
}
applicationMenu.refreshMenuPermissions();
}
+ /**
+ * Perform the login sequence, including showing the login dialog to the user.
+ */
private void doLogin()
{
LoginView loginView = applicationContext.getBean(LoginView.class);
loginView.showAndWait();
showMenu();
}
- static void setRoot(String fxml)
- throws IOException
- {
- scene.setRoot(loadFXML(fxml));
- }
-
- private static Parent loadFXML(String fxml)
- throws IOException
- {
- FXMLLoader fxmlLoader = new FXMLLoader(PhotonApp.class.getResource(fxml + ".fxml"));
- return fxmlLoader.load();
- }
- public static Stage getPrimaryStage()
- {
- return primaryStage;
- }
- public static Pane getWorkspace()
- {
- return workspace;
- }
- public static void main(String[] args)
- {
- launch();
- }
- private Properties displayProperties;
- /**
- * base key for {@see UserAttributeType} display layout properties
- */
- private static final String propId = PhotonApp.class.getSimpleName();
- /**
- * workspace width key name
- */
- private static final String workspaceWidthProp = propId + "_workspaceWidth";
- /**
- * workspace height key name
- */
- private static final String workspaceHeightProp = propId + "_workspaceHeight";
- /**
- * workspace layout key name
- */
- private static final String mainWorkspaceLayoutKey = propId + "_workspaceDisplayLayout";
/**
* footer holder for the server connection status image
*/
@@ -313,7 +315,7 @@ public static void main(String[] args)
private ToolBar footerToolBar;
private PhotonNotificationService notificationService;
/**
- * provides access to display layout services
+ * singleton applcation isntance
*/
- private DisplayLayoutService displayLayoutService;
+ private static PhotonApp instance;
}
diff --git a/photon/src/main/java/org/marketcetera/ui/PhotonServices.java b/photon/src/main/java/org/marketcetera/ui/PhotonServices.java
index a5d224feab..6b3212b558 100644
--- a/photon/src/main/java/org/marketcetera/ui/PhotonServices.java
+++ b/photon/src/main/java/org/marketcetera/ui/PhotonServices.java
@@ -21,6 +21,8 @@
import org.marketcetera.core.BigDecimalUtil;
import org.marketcetera.core.time.TimeFactoryImpl;
import org.marketcetera.persist.SummaryNDEntityBase;
+import org.marketcetera.trade.HasInstrument;
+import org.marketcetera.trade.Instrument;
import org.marketcetera.ui.service.ServiceManager;
import org.marketcetera.ui.service.SessionUser;
import org.marketcetera.ui.service.admin.AdminClientService;
@@ -183,6 +185,30 @@ public void updateItem(Clazz inData,
};
}
}
+ /**
+ * Render the given column as an Instrument cell.
+ *
+ * @param inTableColumn a TableColumn<? extends HasInstrument,Instrument>
value
+ * @return a TableCell<? extends HasInstrument,Instrument>
value
+ */
+ public static TableCell extends HasInstrument,Instrument> renderInstrumentCell(TableColumn extends HasInstrument,Instrument> inTableColumn)
+ {
+ TableCell extends HasInstrument,Instrument> tableCell = new TableCell<>() {
+ @Override
+ protected void updateItem(Instrument inItem,
+ boolean isEmpty)
+ {
+ super.updateItem(inItem,
+ isEmpty);
+ this.setText(null);
+ this.setGraphic(null);
+ if(!isEmpty && inItem != null){
+ this.setText(inItem.getFullSymbol());
+ }
+ }
+ };
+ return tableCell;
+ }
public static TableCell renderNumberCell(TableColumn inTableColumn)
{
TableCell tableCell = new TableCell<>() {
@@ -201,6 +227,37 @@ protected void updateItem(BigDecimal inItem,
};
return tableCell;
}
+ /**
+ * Create a TableCell
BigDecimal
implementation that is rendered with the given scale.
+ *
+ * @param the type of the row item in the table
+ * @param inTableColumn a TableColumn<T,BigDecimal
value
+ * @param inPreferredScale an int
value
+ * @param inMaxScale an int
value
+ * @return a TableCell<T,BigDecimal>
value
+ */
+ public static TableCell renderNumberCell(TableColumn inTableColumn,
+ int inPreferredScale,
+ int inMaxScale)
+ {
+ TableCell tableCell = new TableCell<>() {
+ @Override
+ protected void updateItem(BigDecimal inItem,
+ boolean isEmpty)
+ {
+ super.updateItem(inItem,
+ isEmpty);
+ this.setText(null);
+ this.setGraphic(null);
+ if(!isEmpty && inItem != null){
+ this.setText(BigDecimalUtil.renderDecimal(inItem,
+ inPreferredScale,
+ inMaxScale));
+ }
+ }
+ };
+ return tableCell;
+ }
public static TableCell renderCurrencyCell(TableColumn inTableColumn)
{
TableCell tableCell = new TableCell<>() {
diff --git a/photon/src/main/java/org/marketcetera/ui/PrimaryController.java b/photon/src/main/java/org/marketcetera/ui/PrimaryController.java
deleted file mode 100644
index 609bf40a4e..0000000000
--- a/photon/src/main/java/org/marketcetera/ui/PrimaryController.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.marketcetera.ui;
-
-import java.io.IOException;
-import javafx.fxml.FXML;
-
-public class PrimaryController {
-
- @FXML
- private void switchToSecondary() throws IOException {
- PhotonApp.setRoot("secondary");
- }
-}
diff --git a/photon/src/main/java/org/marketcetera/ui/SecondaryController.java b/photon/src/main/java/org/marketcetera/ui/SecondaryController.java
deleted file mode 100644
index 9cc72bd1f3..0000000000
--- a/photon/src/main/java/org/marketcetera/ui/SecondaryController.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.marketcetera.ui;
-
-import java.io.IOException;
-import javafx.fxml.FXML;
-
-public class SecondaryController {
-
- @FXML
- private void switchToPrimary() throws IOException {
- PhotonApp.setRoot("primary");
- }
-}
\ No newline at end of file
diff --git a/photon/src/main/java/org/marketcetera/ui/admin/view/PermissionView.java b/photon/src/main/java/org/marketcetera/ui/admin/view/PermissionView.java
index 94b054a18f..226eaa8053 100644
--- a/photon/src/main/java/org/marketcetera/ui/admin/view/PermissionView.java
+++ b/photon/src/main/java/org/marketcetera/ui/admin/view/PermissionView.java
@@ -60,7 +60,7 @@ public class PermissionView
* Create a new PermissionView instance.
*
* @param inParentWindow a Region
value
- * @param inNewWindowEvent a NewWindowEvent
value
+ * @param inEvent a NewWindowEvent
value
* @param inViewProperties a Properties
value
*/
public PermissionView(Region inParentWindow,
diff --git a/photon/src/main/java/org/marketcetera/ui/admin/view/RoleView.java b/photon/src/main/java/org/marketcetera/ui/admin/view/RoleView.java
index 84c0dce5b2..c86c0ca084 100644
--- a/photon/src/main/java/org/marketcetera/ui/admin/view/RoleView.java
+++ b/photon/src/main/java/org/marketcetera/ui/admin/view/RoleView.java
@@ -70,7 +70,7 @@ public class RoleView
* Create a new RoleView instance.
*
* @param inParentWindow a Region
value
- * @param inNewWindowEvent a NewWindowEvent
value
+ * @param inEvent a NewWindowEvent
value
* @param inViewProperties a Properties
value
*/
public RoleView(Region inParentWindow,
diff --git a/photon/src/main/java/org/marketcetera/ui/admin/view/UserView.java b/photon/src/main/java/org/marketcetera/ui/admin/view/UserView.java
index 63f979d666..995709c6e7 100644
--- a/photon/src/main/java/org/marketcetera/ui/admin/view/UserView.java
+++ b/photon/src/main/java/org/marketcetera/ui/admin/view/UserView.java
@@ -63,7 +63,7 @@ public class UserView
* Create a new UserView instance.
*
* @param inParentWindow a Region
value
- * @param inNewWindowEvent a NewWindowEvent
value
+ * @param inEvent a NewWindowEvent
value
* @param inViewProperties a Properties
value
*/
public UserView(Region inParentWindow,
diff --git a/photon/src/main/java/org/marketcetera/ui/events/NewWindowEvent.java b/photon/src/main/java/org/marketcetera/ui/events/NewWindowEvent.java
index 1e96e885b5..949dc0f2a7 100644
--- a/photon/src/main/java/org/marketcetera/ui/events/NewWindowEvent.java
+++ b/photon/src/main/java/org/marketcetera/ui/events/NewWindowEvent.java
@@ -20,7 +20,7 @@ public interface NewWindowEvent
/**
* Get the icon to display for the window, if any.
*
- * @return a URL value or null
+ * @return a URL
value or null
*/
default URL getWindowIcon()
{
diff --git a/photon/src/main/java/org/marketcetera/ui/fix/view/FixSessionView.java b/photon/src/main/java/org/marketcetera/ui/fix/view/FixSessionView.java
index f4317461b6..6e44744cfc 100644
--- a/photon/src/main/java/org/marketcetera/ui/fix/view/FixSessionView.java
+++ b/photon/src/main/java/org/marketcetera/ui/fix/view/FixSessionView.java
@@ -14,15 +14,12 @@
import java.util.function.Function;
import java.util.function.Predicate;
-import javax.annotation.PostConstruct;
-
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.controlsfx.dialog.Wizard;
import org.controlsfx.dialog.Wizard.LinearFlow;
import org.controlsfx.dialog.WizardPane;
import org.marketcetera.admin.AdminPermissions;
-import org.marketcetera.brokers.BrokerStatusListener;
import org.marketcetera.cluster.MutableClusterData;
import org.marketcetera.cluster.SimpleClusterData;
import org.marketcetera.core.Pair;
@@ -31,6 +28,7 @@
import org.marketcetera.fix.FixSession;
import org.marketcetera.fix.FixSessionAttributeDescriptor;
import org.marketcetera.fix.FixSessionDay;
+import org.marketcetera.fix.FixSessionInstanceData;
import org.marketcetera.fix.FixSessionStatus;
import org.marketcetera.fix.MutableActiveFixSession;
import org.marketcetera.fix.impl.SimpleActiveFixSession;
@@ -75,6 +73,7 @@
import javafx.scene.control.Label;
import javafx.scene.control.MenuItem;
import javafx.scene.control.SelectionMode;
+import javafx.scene.control.TableCell;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.Tooltip;
@@ -156,7 +155,7 @@ public String getViewName()
* Create a new FixSessionView instance.
*
* @param inParent a Region
value
- * @param inNewWindowEvent a NewWindowEvent
value
+ * @param inEvent a NewWindowEvent
value
* @param inProperties a Properties
value
*/
public FixSessionView(Region inParent,
@@ -174,8 +173,9 @@ public FixSessionView(Region inParent,
protected void onStart()
{
fixAdminClient = serviceManager.getService(AdminClientService.class);
- rootLayout = new VBox(5);
- buttonLayout = new HBox(5);
+ rootLayout = new VBox();
+ buttonLayout = new HBox();
+ rootLayout.setPadding(new Insets(10));
addFixSessionButton = new Button("Add FIX Session");
addFixSessionButton.setOnAction(inEvent -> {
MutableClusterData clusterData = new SimpleClusterData();
@@ -189,8 +189,9 @@ protected void onStart()
true);
});
buttonLayout.getChildren().add(addFixSessionButton);
+ buttonLayout.setPadding(new Insets(5));
+ addFixSessionButton.visibleProperty().set(authzHelperService.hasPermission(AdminPermissions.AddSessionAction));
initializeTable();
- fixSessionsTable.prefWidthProperty().bind(getParentWindow().widthProperty());
rootLayout.prefHeightProperty().bind(getParentWindow().heightProperty());
rootLayout.getChildren().addAll(fixSessionsTable,
buttonLayout);
@@ -244,6 +245,7 @@ public void run()
}}
);
});
+ fixSessionsTable.prefWidthProperty().bind(getParentWindow().widthProperty());
fixSessionsTable.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
}
/**
@@ -270,15 +272,16 @@ private void initializeColumns()
{
nameTableColumn = new TableColumn<>("Name");
nameTableColumn.setCellValueFactory(new PropertyValueFactory<>("name"));
- brokerIdTableColumn = new TableColumn<>("BrokerId");
+ brokerIdTableColumn = new TableColumn<>("Broker Id");
brokerIdTableColumn.setCellValueFactory(new PropertyValueFactory<>("brokerId"));
- hostIdTableColumn = new TableColumn<>("HostId");
+ hostIdTableColumn = new TableColumn<>("Host Id");
hostIdTableColumn.setCellValueFactory(new PropertyValueFactory<>("hostId"));
statusTableColumn = new TableColumn<>("Status");
statusTableColumn.setCellValueFactory(new PropertyValueFactory<>("status"));
- senderSequenceNumberTableColumn = new TableColumn<>("SenderSeqNum");
+ statusTableColumn.setCellFactory(tableColumn -> renderFixSessionStatusCell(tableColumn));
+ senderSequenceNumberTableColumn = new TableColumn<>("Sender Seq Num");
senderSequenceNumberTableColumn.setCellValueFactory(new PropertyValueFactory<>("senderSeqNum"));
- targetSequenceNumberTableColumn = new TableColumn<>("TargetSeqNum");
+ targetSequenceNumberTableColumn = new TableColumn<>("Target Seq Num");
targetSequenceNumberTableColumn.setCellValueFactory(new PropertyValueFactory<>("targetSeqNum"));
fixSessionsTable.getColumns().add(nameTableColumn);
fixSessionsTable.getColumns().add(brokerIdTableColumn);
@@ -287,6 +290,30 @@ private void initializeColumns()
fixSessionsTable.getColumns().add(senderSequenceNumberTableColumn);
fixSessionsTable.getColumns().add(targetSequenceNumberTableColumn);
}
+ /**
+ * Render the given column as a FIX status cell.
+ *
+ * @param inTableColumn a TableColumn<DisplayFixSession,FixSessionStatus>
value
+ * @return a TableCell<DisplayFixSession,FixSessionStatus>
value
+ */
+ protected TableCell renderFixSessionStatusCell(TableColumn inTableColumn)
+ {
+ TableCell tableCell = new TableCell<>() {
+ @Override
+ protected void updateItem(FixSessionStatus inItem,
+ boolean isEmpty)
+ {
+ super.updateItem(inItem,
+ isEmpty);
+ this.setText(null);
+ this.setGraphic(null);
+ if(!isEmpty && inItem != null){
+ this.setText(inItem.getHumanReadable());
+ }
+ }
+ };
+ return tableCell;
+ }
/**
* Perform the context menu session action according to the given parameters.
*
@@ -586,8 +613,6 @@ public void onExitingPage(Wizard inWizard)
public void onEnteringPage(Wizard inWizard)
{
super.onEnteringPage(inWizard);
- hostnameTextField.setText(inFixSession.sourceProperty().get().getFixSession().getHost());
- portTextField.setText(String.valueOf(inFixSession.sourceProperty().get().getFixSession().getPort()));
if(inFixSession.sourceProperty().get().getFixSession().isAcceptor()) {
hostnameTextField.setTooltip(new Tooltip("The acceptor hostname is determined by the server and is not modifiable"));
hostnameTextField.setDisable(true);
@@ -597,6 +622,9 @@ public void onEnteringPage(Wizard inWizard)
testConnectionButton.setVisible(false);
testConnectionLabel.setDisable(true);
testConnectionLabel.setVisible(false);
+ FixSessionInstanceData instanceData = AdminClientService.getInstance().getFixSessionInstanceData(inFixSession.sourceProperty().get().getFixSession().getAffinity());
+ hostnameTextField.setText(instanceData.getHostname());
+ portTextField.setText(String.valueOf(instanceData.getPort()));
} else {
hostnameTextField.setTooltip(new Tooltip("Hostname of the FIX gateway to connect to"));
hostnameTextField.setDisable(false);
@@ -606,6 +634,13 @@ public void onEnteringPage(Wizard inWizard)
testConnectionButton.setVisible(!networkInvalid.get());
testConnectionLabel.setDisable(networkInvalid.get());
testConnectionLabel.setVisible(!networkInvalid.get());
+ if(inIsNew) {
+ hostnameTextField.setText("exchange.marketcetera.com");
+ portTextField.setText("7004");
+ } else {
+ hostnameTextField.setText(inFixSession.sourceProperty().get().getFixSession().getHost());
+ portTextField.setText(String.valueOf(inFixSession.sourceProperty().get().getFixSession().getPort()));
+ }
}
inWizard.invalidProperty().bind(networkInvalid);
}
diff --git a/photon/src/main/java/org/marketcetera/ui/marketdata/view/MarketDataDetailView.java b/photon/src/main/java/org/marketcetera/ui/marketdata/view/MarketDataDetailView.java
index 89c07efac5..7306917711 100644
--- a/photon/src/main/java/org/marketcetera/ui/marketdata/view/MarketDataDetailView.java
+++ b/photon/src/main/java/org/marketcetera/ui/marketdata/view/MarketDataDetailView.java
@@ -24,9 +24,9 @@
import org.marketcetera.ui.PhotonServices;
import org.marketcetera.ui.events.NewWindowEvent;
import org.marketcetera.ui.marketdata.event.MarketDataDetailEvent;
-import org.marketcetera.ui.marketdata.event.MarketDataSuggestionEvent;
import org.marketcetera.ui.marketdata.service.MarketDataClientService;
import org.marketcetera.ui.service.trade.TradeClientService;
+import org.marketcetera.ui.trade.event.SuggestionEvent;
import org.marketcetera.ui.view.AbstractContentView;
import org.marketcetera.ui.view.ContentView;
import org.marketcetera.util.log.SLF4JLoggerProxy;
@@ -169,7 +169,7 @@ protected void onStart()
* Create a new MarketDataDetailView instance.
*
* @param inParent a Region
value
- * @param inNewWindowEvent a NewWindowEvent
value
+ * @param inEvent a NewWindowEvent
value
* @param inProperties a Properties
value
*/
public MarketDataDetailView(Region inParent,
@@ -313,8 +313,9 @@ private void buyOrSellAction(Side inSide,
suggestion.setIdentifier("Market Data List View Action");
suggestion.setScore(BigDecimal.ONE);
suggestion.setOrder(orderSingle);
- uiMessageService.post(new MarketDataSuggestionEvent(inSide.name() + " " + marketDataInstrument.getSymbol(),
- suggestion));
+ uiMessageService.post(applicationContext.getBean(SuggestionEvent.class,
+ inSide.name() + " " + marketDataInstrument.getSymbol(),
+ suggestion));
}
/**
* Execute the market data request.
@@ -391,7 +392,6 @@ private void updateViewProperties()
getViewProperties().setProperty(symbolKey,
marketDataInstrument.getFullSymbol());
}
- System.out.println("COCO: view properties are now " + getViewProperties());
}
/**
* Update the display table.
diff --git a/photon/src/main/java/org/marketcetera/ui/marketdata/view/MarketDataItem.java b/photon/src/main/java/org/marketcetera/ui/marketdata/view/MarketDataItem.java
index 680c9207e9..4517f2e657 100644
--- a/photon/src/main/java/org/marketcetera/ui/marketdata/view/MarketDataItem.java
+++ b/photon/src/main/java/org/marketcetera/ui/marketdata/view/MarketDataItem.java
@@ -99,7 +99,7 @@ public ReadOnlyStringProperty tradeExchangeProperty()
/**
* Get the lastPriceProperty value.
*
- * @return a ReadOnlyObjectProperty
value
+ * @return a ReadOnlyObjectProperty<BigDecimal>
value
*/
public ReadOnlyObjectProperty lastPriceProperty()
{
@@ -108,7 +108,7 @@ public ReadOnlyObjectProperty lastPriceProperty()
/**
* Get the lastQuantityProperty value.
*
- * @return a ReadOnlyObjectProperty
value
+ * @return a ReadOnlyObjectProperty<BigDecimal>
value
*/
public ReadOnlyObjectProperty lastQuantityProperty()
{
@@ -117,7 +117,7 @@ public ReadOnlyObjectProperty lastQuantityProperty()
/**
* Get the tradeTimestampProperty value.
*
- * @return a ReadOnlyObjectProperty
value
+ * @return a ReadOnlyObjectProperty<DateTime>
value
*/
public ReadOnlyObjectProperty tradeTimestampProperty()
{
@@ -126,7 +126,7 @@ public ReadOnlyObjectProperty tradeTimestampProperty()
/**
* Get the bidTimestampProperty value.
*
- * @return a ReadOnlyObjectProperty
value
+ * @return a ReadOnlyObjectProperty<DateTime>
value
*/
public ReadOnlyObjectProperty bidTimestampProperty()
{
@@ -135,7 +135,7 @@ public ReadOnlyObjectProperty bidTimestampProperty()
/**
* Get the askTimestampProperty value.
*
- * @return a ReadOnlyObjectProperty
value
+ * @return a ReadOnlyObjectProperty<DateTime>
value
*/
public ReadOnlyObjectProperty askTimestampProperty()
{
@@ -162,7 +162,7 @@ public ReadOnlyStringProperty askExchangeProperty()
/**
* Get the bidQuantityProperty value.
*
- * @return a ReadOnlyObjectProperty
value
+ * @return a ReadOnlyObjectProperty<BigDecimal>
value
*/
public ReadOnlyObjectProperty bidQuantityProperty()
{
@@ -171,7 +171,7 @@ public ReadOnlyObjectProperty bidQuantityProperty()
/**
* Get the bidPriceProperty value.
*
- * @return a ReadOnlyObjectProperty
value
+ * @return a ReadOnlyObjectProperty<BigDecimal>
value
*/
public ReadOnlyObjectProperty bidPriceProperty()
{
@@ -180,7 +180,7 @@ public ReadOnlyObjectProperty bidPriceProperty()
/**
* Get the askPriceProperty value.
*
- * @return a ReadOnlyObjectProperty
value
+ * @return a ReadOnlyObjectProperty<BigDecimal>
value
*/
public ReadOnlyObjectProperty askPriceProperty()
{
@@ -189,7 +189,7 @@ public ReadOnlyObjectProperty askPriceProperty()
/**
* Get the askQuantityProperty value.
*
- * @return a ReadOnlyObjectProperty
value
+ * @return a ReadOnlyObjectProperty<BigDecimal>
value
*/
public ReadOnlyObjectProperty askQuantityProperty()
{
@@ -198,7 +198,7 @@ public ReadOnlyObjectProperty askQuantityProperty()
/**
* Get the previousClosePriceProperty value.
*
- * @return a ReadOnlyObjectProperty
value
+ * @return a ReadOnlyObjectProperty<BigDecimal>
value
*/
public ReadOnlyObjectProperty previousClosePriceProperty()
{
@@ -207,7 +207,7 @@ public ReadOnlyObjectProperty previousClosePriceProperty()
/**
* Get the openPriceProperty value.
*
- * @return a ReadOnlyObjectProperty
value
+ * @return a ReadOnlyObjectProperty<BigDecimal>
value
*/
public ReadOnlyObjectProperty openPriceProperty()
{
@@ -216,7 +216,7 @@ public ReadOnlyObjectProperty openPriceProperty()
/**
* Get the highPriceProperty value.
*
- * @return a ReadOnlyObjectProperty
value
+ * @return a ReadOnlyObjectProperty<BigDecimal>
value
*/
public ReadOnlyObjectProperty highPriceProperty()
{
@@ -225,7 +225,7 @@ public ReadOnlyObjectProperty highPriceProperty()
/**
* Get the lowPriceProperty value.
*
- * @return a ReadOnlyObjectProperty
value
+ * @return a ReadOnlyObjectProperty<BigDecimal>
value
*/
public ReadOnlyObjectProperty lowPriceProperty()
{
@@ -234,7 +234,7 @@ public ReadOnlyObjectProperty lowPriceProperty()
/**
* Get the closePriceProperty value.
*
- * @return a ReadOnlyObjectProperty
value
+ * @return a ReadOnlyObjectProperty<BigDecimal>
value
*/
public ReadOnlyObjectProperty closePriceProperty()
{
@@ -243,7 +243,7 @@ public ReadOnlyObjectProperty closePriceProperty()
/**
* Get the tradeVolumeProperty value.
*
- * @return a ReadOnlyObjectProperty
value
+ * @return a ReadOnlyObjectProperty<BigDecimal>
value
*/
public ReadOnlyObjectProperty tradeVolumeProperty()
{
@@ -252,7 +252,7 @@ public ReadOnlyObjectProperty tradeVolumeProperty()
/**
* Get the provider property value.
*
- * @return a ReadOnlyStringProperty,/code> value
+ * @return a ReadOnlyStringProperty
value
*/
public ReadOnlyStringProperty providerProperty()
{
diff --git a/photon/src/main/java/org/marketcetera/ui/marketdata/view/MarketDataListView.java b/photon/src/main/java/org/marketcetera/ui/marketdata/view/MarketDataListView.java
index 645b2d9b42..8f0bf07187 100644
--- a/photon/src/main/java/org/marketcetera/ui/marketdata/view/MarketDataListView.java
+++ b/photon/src/main/java/org/marketcetera/ui/marketdata/view/MarketDataListView.java
@@ -24,9 +24,9 @@
import org.marketcetera.ui.events.NewWindowEvent;
import org.marketcetera.ui.events.NotificationEvent;
import org.marketcetera.ui.marketdata.event.MarketDataDetailEvent;
-import org.marketcetera.ui.marketdata.event.MarketDataSuggestionEvent;
import org.marketcetera.ui.marketdata.service.MarketDataClientService;
import org.marketcetera.ui.service.trade.TradeClientService;
+import org.marketcetera.ui.trade.event.SuggestionEvent;
import org.marketcetera.ui.view.AbstractContentView;
import org.marketcetera.ui.view.ContentView;
import org.marketcetera.util.log.SLF4JLoggerProxy;
@@ -161,7 +161,7 @@ protected void onClientDisconnect()
* Create a new MarketDataListView instance.
*
* @param inParent a Region
value
- * @param inNewWindowEvent a NewWindowEvent
value
+ * @param inEvent a NewWindowEvent
value
* @param inProperties a Properties
value
*/
public MarketDataListView(Region inParent,
@@ -425,8 +425,9 @@ private void buyOrSellAction(MarketDataItem inSelectedItem,
suggestion.setIdentifier("Market Data List View Action");
suggestion.setScore(BigDecimal.ONE);
suggestion.setOrder(orderSingle);
- uiMessageService.post(new MarketDataSuggestionEvent(inSide.name() + " " + inSelectedItem.symbolProperty().get(),
- suggestion));
+ uiMessageService.post(applicationContext.getBean(SuggestionEvent.class,
+ inSide.name() + " " + inSelectedItem.symbolProperty().get(),
+ suggestion));
}
/**
* Prepare a nice, human-readable rendering of the given market data item.
diff --git a/photon/src/main/java/org/marketcetera/ui/marketdata/view/MarketDataQuoteItem.java b/photon/src/main/java/org/marketcetera/ui/marketdata/view/MarketDataQuoteItem.java
index 4bf5d0fa17..56e3939347 100644
--- a/photon/src/main/java/org/marketcetera/ui/marketdata/view/MarketDataQuoteItem.java
+++ b/photon/src/main/java/org/marketcetera/ui/marketdata/view/MarketDataQuoteItem.java
@@ -20,7 +20,7 @@
/* $License$ */
/**
- *
+ * Provides a display implementation of a market data quote.
*
* @author Colin DuPlantis
* @version $Id$
@@ -28,6 +28,11 @@
*/
public class MarketDataQuoteItem
{
+ /**
+ * Create a new MarketDataQuoteItem instance.
+ *
+ * @param inInstrument an Instrument
value
+ */
public MarketDataQuoteItem(Instrument inInstrument)
{
instrument = inInstrument;
@@ -40,7 +45,7 @@ public MarketDataQuoteItem(Instrument inInstrument)
/**
* Create a new MarketDataQuoteItem instance.
*
- * @param inQuoteEvent
+ * @param inQuoteEvent a QuoteEvent
value
*/
public MarketDataQuoteItem(QuoteEvent inQuoteEvent)
{
@@ -57,7 +62,7 @@ public MarketDataQuoteItem(QuoteEvent inQuoteEvent)
/**
* Get the quoteActionProperty value.
*
- * @return a ObjectProperty
value
+ * @return an ObjectProperty<QuoteAction>
value
*/
public ObjectProperty quoteActionProperty()
{
@@ -66,7 +71,7 @@ public ObjectProperty quoteActionProperty()
/**
* Get the eventTypeProperty value.
*
- * @return a ObjectProperty
value
+ * @return an ObjectProperty<EventType>
value
*/
public ObjectProperty eventTypeProperty()
{
@@ -75,7 +80,7 @@ public ObjectProperty eventTypeProperty()
/**
* Get the quoteLevelProperty value.
*
- * @return a IntegerProperty
value
+ * @return an IntegerProperty
value
*/
public IntegerProperty quoteLevelProperty()
{
@@ -84,7 +89,7 @@ public IntegerProperty quoteLevelProperty()
/**
* Get the quoteCountProperty value.
*
- * @return a IntegerProperty
value
+ * @return an IntegerProperty
value
*/
public IntegerProperty quoteCountProperty()
{
@@ -102,7 +107,7 @@ public StringProperty symbolProperty()
/**
* Get the timestampProperty value.
*
- * @return a ObjectProperty
value
+ * @return an ObjectProperty<DateTime>
value
*/
public ObjectProperty timestampProperty()
{
@@ -120,7 +125,7 @@ public StringProperty exchangeProperty()
/**
* Get the quantityProperty value.
*
- * @return a ObjectProperty
value
+ * @return an ObjectProperty<BigDecimal>
value
*/
public ObjectProperty quantityProperty()
{
@@ -129,12 +134,17 @@ public ObjectProperty quantityProperty()
/**
* Get the priceProperty value.
*
- * @return a ObjectProperty
value
+ * @return an ObjectProperty<BigDecimal>
value
*/
public ObjectProperty priceProperty()
{
return priceProperty;
}
+ /**
+ * Update the item with the given event.
+ *
+ * @param inEvent an Event
value
+ */
public void update(Event inEvent)
{
SLF4JLoggerProxy.trace(this,
@@ -152,14 +162,44 @@ public void update(Event inEvent)
quoteCountProperty.set(quoteEvent.getCount());
}
}
+ /**
+ * quote action property value
+ */
private final ObjectProperty quoteActionProperty = new SimpleObjectProperty<>();
+ /**
+ * event type property value
+ */
private final ObjectProperty eventTypeProperty = new SimpleObjectProperty<>();
+ /**
+ * quote level property value
+ */
private final IntegerProperty quoteLevelProperty = new SimpleIntegerProperty();
+ /**
+ * quote count property value
+ */
private final IntegerProperty quoteCountProperty = new SimpleIntegerProperty();
+ /**
+ * instrument value
+ */
private final Instrument instrument;
+ /**
+ * symbol property
+ */
private final StringProperty symbolProperty;
+ /**
+ * timestamp property
+ */
private final ObjectProperty timestampProperty;
+ /**
+ * exchange property
+ */
private final StringProperty exchangeProperty;
+ /**
+ * quantity property
+ */
private final ObjectProperty