The java application will be a class whose purpose to accept raw data from a PHP site in the form of arrays, compare those arrays and list any discrepancies. There will be a total 3 different types of arrays. One array will be the headers to identity each element of the data being imported by the user. The second array will consist of data from the user end i.e. data they are currently importing. The third array will be data from the MySQL database. The data returned by the java app should try keep the same format as much as possible. See below for details of the project
Additionally a small gui should be made that can accept array values via txt.
The application will need to run on windows/linux operating systems, hence java as preference be sure to chose compatible libraries.
I require the project to well commented as well tested.
Please ask me as many questions as required before you accept the project.
Thank you.
## Deliverables
Array Details examples:
**Header Array Two dimensional:**
**Array['subscription'] => [0] (**
** [0] => array(**
** [**subscription_field**] => "some_value",** **this bit is just to define the type of header**
** [field] => "First Name"** **this bit is the human readable title of the header**
** ) ,**
** **
** [1] => array(**
** [**org_customfield_id**] => "4",** **type of header again, but this time referring to a custom field id 4**
** [field] => "Children"** **this bit is the human readable title of the header**
** )**
**)**
Subscription_field refers to only first_name, last_name and email
Org_customfield_id value matches with the value of customfield_id
Note: There can be unlimited number of customfields in the array.
**CSV Import Array:**
** **
**[0] => David **
**[1] => Brown**
**[2] => 2 Children**
**[3] => <asdf@[login to view URL]>**
**[4] => 2005**
**[5] => 16/04/12**
Note again this can change in size based on the number of
custom fields in the headers array.
**Array from MySQL DB (Two Dimensional):**
[subscription_id] => 3
[organisation_id] => 1
[user_group_id] =>
[email] => <12345@[login to view URL]>
[first_name] => david
[last_name] => jones
[status] => active
[date_created] => 2012-06-18 12:33:13
[date_updated] => NA
[notes] => New User
[SubscriptionCustomfield] => Array
[0] => Array
(
** [subscription_id] => 3 (Identifier field)**
[org_customfield_id] => 1
[value] => Hotdog Stand
)
[1] => Array
(
**[subscription_id] => 3**
[org_customfield_id] => 2
[value] => Lemonade
)
Null values you can ignore in the processing.
Rules:
First and Last Name = Match
Email Address = Match
Summary of functionary of java app.
Functionality
- Accept CSV array
- Accept MYSQL array
- Compare
- Get Duplicates: return @list of csv duplicates, @corresponding list of mysql duplicates with ref to subscription id'
- Get non duplicates: array of CSV entries non duplicated that can be inserted into mysql db
Thank you.