Skip to content

Commit

Permalink
Added Find function, added cursorToWineList and replaced Search butto…
Browse files Browse the repository at this point in the history
…n with test for find
  • Loading branch information
ben-r-teng committed Apr 1, 2019
1 parent 8ce7a28 commit 3fadfe8
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 34 deletions.
79 changes: 46 additions & 33 deletions app/src/main/java/com/example/wineapp/DataManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,6 @@ public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
// ============================================================================================

// Insert into DB
// TODO: Return Wine with updated id field
public Wine insertWine (Wine wine){
List<String> columnNames = new ArrayList<String>();
List<String> contents = new ArrayList<String>();
Expand Down Expand Up @@ -137,47 +136,61 @@ public Cursor selectAll() {
return c;
}

// // Find a specific record
// public Cursor find (List<String> columnNames, List<String> contents){

// String query = "SELECT " +
// TABLE_ROW_ID + ", " +
// TABLE_ROW_NAME + ", " +
// TABLE_ROW_BRAND +
// " from " +
// TABLE_WINE + " WHERE " +
// TABLE_ROW_NAME + " = '" + name + "';";
//
// Cursor c = db.rawQuery(query, null);
// return c;
// }

// Find a specific record
public List<Wine> find (List<String> columnNames, List<String> contents){

String query = "SELECT * from " + TABLE_WINE + " WHERE ";

// ============================================================================================
// Helper Functions
// ============================================================================================

public String verifyCols(List<String> columnNames){
String contentCols = "";
String andOp = "' AND ";
int strLen = andOp.length()-1;
for(int i = 0; i < columnNames.size(); i++){
// if(columnNames.get(i) in tableRowNames)
contentCols += columnNames.get(i) + ", ";
contentCols += columnNames.get(i) + " = '" + contents.get(i) + andOp;
}
contentCols = contentCols.trim();
contentCols.substring(0, contentCols.length()-1);
return contentCols;
contentCols = contentCols.substring(0, contentCols.length()-strLen);

query += contentCols + ";";

Cursor c = db.rawQuery(query, null);
return cursorToWineList(c);
}
public String verifyContents(List<String> contents){
String contentVals = "";
for(int i = 0; i < contents.size(); i++){
contentVals += "'" + contents.get(i) + "'" + ", ";

// Takes full cursors and makes wine objects with it
public List<Wine> cursorToWineList (Cursor c){
List<Wine> wineList = new ArrayList<>();
while (c.moveToNext()){
// Gets String at specified column
// TODO: Add grapetype once that is included in DB
Wine wine = new Wine(c.getInt(0), c.getString(1), c.getString(2), Wine.Color.valueOf(c.getString(5)),c.getDouble(4), "", c.getDouble(3));
wineList.add(wine);
}
contentVals = contentVals.trim();
contentVals.substring(0, contentVals.length()-1);
return contentVals;
return wineList;
}

// ============================================================================================
// Helper Functions
// ============================================================================================

// public String verifyCols(List<String> columnNames){
// String contentCols = "";
// for(int i = 0; i < columnNames.size(); i++){
// // if(columnNames.get(i) in tableRowNames)
// contentCols += columnNames.get(i) + ", ";
// }
// contentCols = contentCols.trim();
// contentCols.substring(0, contentCols.length()-1);
// return contentCols;
// }
// public String verifyContents(List<String> contents){
// String contentVals = "";
// for(int i = 0; i < contents.size(); i++){
// contentVals += "'" + contents.get(i) + "'" + ", ";
// }
// contentVals = contentVals.trim();
// contentVals.substring(0, contentVals.length()-1);
// return contentVals;
// }

public int getLastId(){
String query = "SELECT last_insert_rowid()";

Expand Down
16 changes: 15 additions & 1 deletion app/src/main/java/com/example/wineapp/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@

import java.util.Locale;
import java.util.Random;
import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity implements
View.OnClickListener,
Expand Down Expand Up @@ -65,7 +67,19 @@ public void onClick(View v){
showData(dm.selectAll());
break;
case R.id.btnSearch:
showData(dm.searchName(editSearch.getText().toString()));
List<String> columnNames = new ArrayList<String>();
List<String> contents = new ArrayList<String>();
columnNames.add(dm.tableRowNames.get(1));
columnNames.add(dm.tableRowNames.get(5));
contents.add("Wet Garbage");
contents.add((Wine.Color.RED).toString());
List<Wine> wineList = dm.find(columnNames, contents);
String out = "";
for(int i = 0; i < wineList.size(); i++){
out += wineList.get(i).toString() + " // ";
}
Log.i("WineList: ", out);
// showData(dm.searchName(editSearch.getText().toString()));
break;
case R.id.btnDebug:
Wine testWine = new Wine(0, "Wet Garbage", "Yellowtail", Wine.Color.RED, 5.22, "Concord", 9.0);
Expand Down

0 comments on commit 3fadfe8

Please sign in to comment.