Key Information

Register
Submit
The challenge is finished.

Challenge Overview

 

Project Overview

We have an existing application that we'd like to convert to to be able to run on Windows and OSX.  To do this we are thinking of migrating to Java.  Once the prototype is complete then we will like to add additinal features that don't exist today to the application.

This project will be a stand alone app that will assist users in mapping source/target fields across different types of data sources (i.e. CSV, SQL Server, Oracle, Salesforce.com)

Challenge Task Overview

This challenge should build the GUI by Java SWT.

SWT: http://www.eclipse.org/swt/

The Java App GUI should have the same or very similar GUI with the existing .NET application.

You need to install .NET framework to run the existing .NET application and the source code is also provided for reference.

The submission must include the packaged standlone runnable jar which can be executed in Windows and Mac OS directly. User should be able to run it by just simple double click.

Existing Object Model Introduction:

  • PROJECT
    • the overall container for mappings, source fields, and target fields; plus other properties of the currently-open project.
    • Each Project has these children:  MappingCollection, Source FieldCollection, Target FieldCollection.
  • MAPPINGCOLLECTION -- a strongly typed collection of Mappings.
  • MAPPING
    • a container for the fact that source field(s) should map to target field(s); plus data around Transformation to perform and Comments.
    • Each Mapping has these children:  Source FieldCollection, Target FieldCollection.
  • FIELDCOLLECTION -- a strongly typed collection of Fields.
  • FIELD -- the lowest level object, which represents a field and describes it, such as name, label, datatype, description.
Hierarchy:
  • Project
    • Mappings (MappingCollection)
      • Source Fields (FieldColection)
      • Target Fields (FieldCollection)
    • Source Fields (FieldCollection)
    • Target Fields (FieldCollection)
The reason Mappings have source/target field collections rather than just source/target fields, is to facilitate the mapping of multiple sources to the same target (for example, if you want to concatenate Address Line1 + Line2 + Line3 into single BillingStreet).
 
To simplify things, we could restrict each mapping to allow only 1 Source Field and 1 Target Field.
 

Testing

Please provide manual verification steps in deployment guide.

Technology Overview

  • Java
  • SWT


Final Submission Guidelines

  • Source Code
  • Deployment Guide

ELIGIBLE EVENTS:

2014 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30041215