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.
- Project
- Mappings (MappingCollection)
- Source Fields (FieldColection)
- Target Fields (FieldCollection)
- Source Fields (FieldCollection)
- Target Fields (FieldCollection)
- Mappings (MappingCollection)
Testing
Please provide manual verification steps in deployment guide.
Technology Overview
- Java
- SWT
Final Submission Guidelines
- Source Code
- Deployment Guide