I have created a function that is supposed to go through a text file (csv) and read the information in it and then add it do a dataobject (which just holds the info in textfields and a combobox) which when filled adds itself to the jpanel. The issue I am having is when it adds to the jpanel I want to add the dataobject to an arraylist (for future saving)
The ArrayList is giving me issues on what it is saving/adding. I have to clear the arraylist so that I don't end up with duplicate information, but when I clear the arraylist, it clears that arraylist in my database object. I believe I'm just over thinking the issue at hand and figured I would post it here to see if someone can pick up on what I'm missing.
public void ReadFile() {
String one, two, three, four, five, six, data1, data2, data3, data4, data5, data6, data7, data8, data9, data10;
ArrayList allData = new ArrayList();
ArrayList<DataObject> list = new ArrayList<DataObject>();
try {
com.csvreader.CsvReader reader = new CsvReader(CsvPath);
reader.readHeaders();
while(reader.readRecord()) {
//get the data from file
one = reader.get("Info One");
two = reader.get("Info Two");
three = reader.get("Info Three");
four = reader.get("Info Four");
five = reader.get("Info Five");
six = reader.get("Info Six");
data1 = reader.get("Data#1");
data2 = reader.get("Data#2");
data3 = reader.get("Data#3");
data4 = reader.get("Data#4");
data5 = reader.get("Data#5");
data6 = reader.get("Data#6");
data7 = reader.get("Data#7");
data8 = reader.get("Data#8");
data9 = reader.get("Data#9");
data10 = reader.get("Data#10");
//add data to array
allData.add(data1);
allData.add(data2);
allData.add(data3);
allData.add(data4);
allData.add(data5);
allData.add(data6);
allData.add(data7);
allData.add(data8);
allData.add(data9);
allData.add(data10);
//grab the info and put it in a new database object
DatabaseObject ndbo = new DatabaseObject(one, two, three, four, five, six, allDccs);
//grab info from database object and store for writing to file
list.add(ndbo);
//clear ArrayList allDccs
//issues with arraylist, it clears completely leaving the databaseobject without info
allDccs.clear();
}
//close reader
reader.close();
//iterate through and add DatabaseObjects to jPanel
Iterator<DatabaseObject> iter = list.iterator();
while(iter.hasNext()) {
DatabaseObject ndbo = iter.next();
row++; //increment row by 1
constraints(row, ndbo, jPanel3); //add the databaseobject to the jPanel
}
System.out.println(list);
} catch(Exception e) {
e.printStackTrace();
}
}
Output:
[ID=1,Drive1,User1,Dot1,Float1,Int1,[],
ID=2,Drive2,User2,Dot2,Float2,Int2,[],
ID=3,Drive3,User3,Dot3,Float3,Int3,[],
ID=4,Drive4,User4,Dot4,Float4,Int4,[],
ID=5,Drive5,User5,Dot5,Float5,Int5,[],
ID=6,Drive6,User6,Dot6,Float6,Int6,[],
ID=7,Drive7,User7,Dot7,Float7,Int7,[],
ID=8,Drive8,User8,Dot8,Float8,Int8,[],
ID=9,Drive9,User9,Dot9,Float9,Int9,[]]
Since I clear the ArrayList allData it leaves that field in my DatabaseObject blank. But I clear it because I don't want any old data going into a different DatabaseObject.
Desired Output:
[ID=1,Drive1,User1,Dot1,Float1,Int1,[Date1, Date2, Date3, Date4, Date5, Date6, Date7, Date8, Date9, Date10],
ID=2,Drive2,User2,Dot2,Float2,Int2,[Girl1, Girl2, Girl3, Girl4, Girl5, Girl6, Girl7, Girl8, Girl9, Girl10],
ID=3,Drive3,User3,Dot3,Float3,Int3,[Boy1, Boy2, Boy3, Boy4, Boy5, Boy6, Boy7, Boy8, Boy9, Boy10],
ID=4,Drive4,User4,Dot4,Float4,Int4,[Couple1, Coupl2, Coupl3, Coupl4, Couple5, Couple6, Couple7, Couple8, Couple9, Couple10],
ID=5,Drive5,User5,Dot5,Float5,Int5,[Day1, Day2, Day3, Day4, Day5, Day6, Day7, Day8, Day9, Day10],
ID=6,Drive6,User6,Dot6,Float6,Int6,[Week1, Week2, Week3, Weel4, Week5, Week6, Week7, Week8, Week9, Week10],
ID=7,Drive7,User7,Dot7,Float7,Int7,[Hour1, Hour2, Hour3, Hour4, Hour5, Hour6, Hour7, Hour8, Hour9, Hour10],
ID=8,Drive8,User8,Dot8,Float8,Int8,[Min1, Min2, Min3, Min4, Min5, Min6, Min7, Min8, Min9, Min10],
ID=9,Drive9,User9,Dot9,Float9,Int9,[Time1, Time2, Time3, Time4, Time5, Time6, Time7, Time8, Time9, Time10]]
As you can see the desired output has the info that I enter into the arraylist for the comboboxes
Also, if you need me to post the DatabaseObject source I can do that, just state so.
I appreciate any and all help