Units/amount complete.
This commit is contained in:
		| @@ -173,7 +173,7 @@ public class ShoppingList | |||||||
|         return resultList; |         return resultList; | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
| 	public boolean send() | 	public boolean sendViaEmail() | ||||||
| 	{ | 	{ | ||||||
| 		StringBuilder shoppingListString = new StringBuilder(); | 		StringBuilder shoppingListString = new StringBuilder(); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -59,6 +59,9 @@ public class ShoppingListEntry | |||||||
| 		Connection conn = null; | 		Connection conn = null; | ||||||
| 		try | 		try | ||||||
| 		{			 | 		{			 | ||||||
|  | 			if(amount <= 0 && unit != null && !unit.isDummy) | ||||||
|  | 				return false; | ||||||
|  | 			 | ||||||
| 			conn = DatabaseHandler.getInstance().getConnection(); | 			conn = DatabaseHandler.getInstance().getConnection(); | ||||||
| 			 | 			 | ||||||
| 			if(!combinationExists(this.getParentList(), this.getProduct(), this.getUnit())) | 			if(!combinationExists(this.getParentList(), this.getProduct(), this.getUnit())) | ||||||
| @@ -85,7 +88,7 @@ public class ShoppingListEntry | |||||||
| 			} | 			} | ||||||
| 			else | 			else | ||||||
| 			{ | 			{ | ||||||
| 				updateAmount(); | 				return updateAmount(false); | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		catch(Exception e) | 		catch(Exception e) | ||||||
| @@ -113,6 +116,9 @@ public class ShoppingListEntry | |||||||
| 		Connection conn = null; | 		Connection conn = null; | ||||||
| 		try | 		try | ||||||
| 		{			 | 		{			 | ||||||
|  | 			if(amount <= 0 && unit != null && !unit.isDummy) | ||||||
|  | 				return false; | ||||||
|  | 			 | ||||||
| 			conn = DatabaseHandler.getInstance().getConnection(); | 			conn = DatabaseHandler.getInstance().getConnection(); | ||||||
| 			 | 			 | ||||||
| 			if(this.getAmount() == 0 || this.getUnit().isDummy()) | 			if(this.getAmount() == 0 || this.getUnit().isDummy()) | ||||||
| @@ -127,7 +133,7 @@ public class ShoppingListEntry | |||||||
| 				 | 				 | ||||||
| 				long numAffectedRows = preparedStmt.executeUpdate(); | 				long numAffectedRows = preparedStmt.executeUpdate(); | ||||||
| 			    Miscellaneous.logEvent("AMOUNT OF UPDATED ROWS: " + numAffectedRows, 5); | 			    Miscellaneous.logEvent("AMOUNT OF UPDATED ROWS: " + numAffectedRows, 5); | ||||||
| 			    ResultSet rs = preparedStmt.getGeneratedKeys(); | //			    ResultSet rs = preparedStmt.getGeneratedKeys(); | ||||||
| 	//		    if (numAffectedRows > 0) | 	//		    if (numAffectedRows > 0) | ||||||
| 	//		    { | 	//		    { | ||||||
| 					preparedStmt.close(); | 					preparedStmt.close(); | ||||||
| @@ -137,7 +143,9 @@ public class ShoppingListEntry | |||||||
| 			else | 			else | ||||||
| 			{ | 			{ | ||||||
| 				if(combinationExists(this.getParentList(), this.getProduct(), this.getUnit())) | 				if(combinationExists(this.getParentList(), this.getProduct(), this.getUnit())) | ||||||
| 					return updateAmount(); | 					return updateAmount(true); | ||||||
|  | 				else | ||||||
|  | 					return true;	// Combination to be deleted does not exist. So what? | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		catch(Exception e) | 		catch(Exception e) | ||||||
| @@ -159,7 +167,7 @@ public class ShoppingListEntry | |||||||
| 		return false; | 		return false; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	protected boolean updateAmount() | 	protected boolean updateAmount(boolean delete) | ||||||
| 	{ | 	{ | ||||||
| 		String query = "SELECT * FROM listEntries WHERE listId=? AND productId=? AND unit=?"; | 		String query = "SELECT * FROM listEntries WHERE listId=? AND productId=? AND unit=?"; | ||||||
| 		 | 		 | ||||||
| @@ -179,14 +187,22 @@ public class ShoppingListEntry | |||||||
| 	        if(res.next()) | 	        if(res.next()) | ||||||
| 	        { | 	        { | ||||||
| 	        	float currentAmount = res.getFloat("amount"); | 	        	float currentAmount = res.getFloat("amount"); | ||||||
| 	        	if(currentAmount + this.getAmount() > 0) | 	        	 | ||||||
|  | 	        	boolean condition = true; | ||||||
|  | 	        	if(delete) | ||||||
|  | 	        		condition = currentAmount - this.getAmount() > 0; | ||||||
|  | 	        		 | ||||||
|  | 	        	if(condition) | ||||||
| 	        	{ | 	        	{ | ||||||
| 	        		// Update the amount | 	        		// Update the amount | ||||||
| 	        		String updateQuery  = "UPDATE listEntries set=? WHERE listId=? AND productId=? AND unit=?"; | 	        		String updateQuery  = "UPDATE listEntries SET amount=? WHERE listId=? AND productId=? AND unit=?"; | ||||||
| 					preparedStmt = conn.prepareStatement(updateQuery); | 					preparedStmt = conn.prepareStatement(updateQuery); | ||||||
| 					 | 					 | ||||||
|  | 					if(delete) | ||||||
|  | 						preparedStmt.setFloat(1, currentAmount - this.getAmount()); | ||||||
|  | 					else | ||||||
| 						preparedStmt.setFloat(1, currentAmount + this.getAmount()); | 						preparedStmt.setFloat(1, currentAmount + this.getAmount()); | ||||||
| 					preparedStmt.setLong(2, this.getProduct().getId()); | 					preparedStmt.setLong(2, this.getParentList().getId()); | ||||||
| 					preparedStmt.setLong(3, this.getProduct().getId()); | 					preparedStmt.setLong(3, this.getProduct().getId()); | ||||||
| 					preparedStmt.setLong(4, this.getUnit().getId()); | 					preparedStmt.setLong(4, this.getUnit().getId()); | ||||||
| 		 | 		 | ||||||
| @@ -194,11 +210,11 @@ public class ShoppingListEntry | |||||||
| 					 | 					 | ||||||
| 					long numAffectedRows = preparedStmt.executeUpdate(); | 					long numAffectedRows = preparedStmt.executeUpdate(); | ||||||
| 				    Miscellaneous.logEvent("AMOUNT OF UPDATED ROWS: " + numAffectedRows, 5); | 				    Miscellaneous.logEvent("AMOUNT OF UPDATED ROWS: " + numAffectedRows, 5); | ||||||
| 				    ResultSet rs = preparedStmt.getGeneratedKeys(); | //				    ResultSet rs = preparedStmt.getGeneratedKeys(); | ||||||
| 				    if (numAffectedRows > 0) | 				    if (numAffectedRows > 0) | ||||||
| 				    { | 				    { | ||||||
| 				    	Miscellaneous.logEvent("Amount added to existing entry.", 2); | 				    	Miscellaneous.logEvent("Amount added to existing entry.", 2); | ||||||
| 				    	rs.close(); | //				    	rs.close(); | ||||||
| 						preparedStmt.close(); | 						preparedStmt.close(); | ||||||
| 						return true; | 						return true; | ||||||
| 				    }					     | 				    }					     | ||||||
| @@ -209,7 +225,7 @@ public class ShoppingListEntry | |||||||
| 	        		String updateQuery  = "DELETE FROM listEntries WHERE listId=? AND productId=? AND unit=?"; | 	        		String updateQuery  = "DELETE FROM listEntries WHERE listId=? AND productId=? AND unit=?"; | ||||||
| 					preparedStmt = conn.prepareStatement(updateQuery); | 					preparedStmt = conn.prepareStatement(updateQuery); | ||||||
| 					 | 					 | ||||||
| 					preparedStmt.setLong(1, this.getProduct().getId()); | 					preparedStmt.setLong(1, this.getParentList().getId()); | ||||||
| 					preparedStmt.setLong(2, this.getProduct().getId()); | 					preparedStmt.setLong(2, this.getProduct().getId()); | ||||||
| 					preparedStmt.setLong(3, this.getUnit().getId()); | 					preparedStmt.setLong(3, this.getUnit().getId()); | ||||||
| 		 | 		 | ||||||
| @@ -217,14 +233,16 @@ public class ShoppingListEntry | |||||||
| 					 | 					 | ||||||
| 					long numAffectedRows = preparedStmt.executeUpdate(); | 					long numAffectedRows = preparedStmt.executeUpdate(); | ||||||
| 				    Miscellaneous.logEvent("AMOUNT OF UPDATED ROWS: " + numAffectedRows, 5); | 				    Miscellaneous.logEvent("AMOUNT OF UPDATED ROWS: " + numAffectedRows, 5); | ||||||
| 				    ResultSet rs = preparedStmt.getGeneratedKeys(); | //				    ResultSet rs = preparedStmt.getGeneratedKeys(); | ||||||
| 				    if (numAffectedRows > 0) | 				    if (numAffectedRows > 0) | ||||||
| 				    { | 				    { | ||||||
| 				    	Miscellaneous.logEvent("Resulting amount < 0, entry deleted.", 2); | 				    	Miscellaneous.logEvent("Resulting amount < 0, entry deleted.", 2); | ||||||
| 				    	rs.close(); | //				    	rs.close(); | ||||||
| 						preparedStmt.close(); | 						preparedStmt.close(); | ||||||
| 						return true; | 						return true; | ||||||
| 				    } | 				    } | ||||||
|  | 				    else | ||||||
|  | 						preparedStmt.close(); | ||||||
| 	        	} | 	        	} | ||||||
| 	        } | 	        } | ||||||
| 	         | 	         | ||||||
| @@ -254,8 +272,6 @@ public class ShoppingListEntry | |||||||
| 			 | 			 | ||||||
| 	        ResultSet res = preparedStmt.executeQuery(); | 	        ResultSet res = preparedStmt.executeQuery(); | ||||||
| 	         | 	         | ||||||
| 	        boolean found = false; |  | ||||||
| 	         |  | ||||||
| 	        if(res.next()) | 	        if(res.next()) | ||||||
| 	        	entryAmount = res.getLong("combinationAmount"); | 	        	entryAmount = res.getLong("combinationAmount"); | ||||||
| 	         | 	         | ||||||
| @@ -272,4 +288,18 @@ public class ShoppingListEntry | |||||||
| 		 | 		 | ||||||
| 		return false; | 		return false; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public String toString() | ||||||
|  | 	{ | ||||||
|  | 		if(this.getUnit() != null) | ||||||
|  | 		{ | ||||||
|  | 			if(!this.getUnit().isDummy()) | ||||||
|  | 				return String.valueOf(getAmount()) + " " + getUnit().getMainName() + " " + getProduct().getName(); | ||||||
|  | 		} | ||||||
|  | 		 | ||||||
|  | 		return getProduct().getName(); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	 | ||||||
| } | } | ||||||
|   | |||||||
| @@ -31,9 +31,9 @@ public class Start | |||||||
| //		                System.out.println("Found double dash with command " + argstring.substring(2, len) ); | //		                System.out.println("Found double dash with command " + argstring.substring(2, len) ); | ||||||
| 		                String argName = argstring.substring(2, len); | 		                String argName = argstring.substring(2, len); | ||||||
| 		                doubleOptsList.add(argName); | 		                doubleOptsList.add(argName); | ||||||
| 		                if(argName.equalsIgnoreCase("amount")) | 		                if(argName.equalsIgnoreCase("shoppingAmount")) | ||||||
| 		                	amount = Float.parseFloat(args[i+1].replace("\"", "")); | 		                	amount = Float.parseFloat(args[i+1].replace("\"", "")); | ||||||
| 		                else if(argName.equalsIgnoreCase("unitName")) | 		                else if(argName.equalsIgnoreCase("shoppingUnit")) | ||||||
| 		                	unitName = args[i+1].replace("\"", ""); | 		                	unitName = args[i+1].replace("\"", ""); | ||||||
| 		                else if(argName.equalsIgnoreCase("shoppingProduct")) | 		                else if(argName.equalsIgnoreCase("shoppingProduct")) | ||||||
| 			                productName = args[i+1].replace("\"", ""); | 			                productName = args[i+1].replace("\"", ""); | ||||||
| @@ -75,25 +75,28 @@ public class Start | |||||||
| 				    	Unit u = Unit.getByName(unitName); | 				    	Unit u = Unit.getByName(unitName); | ||||||
| 				    	Product p = Product.getByName(productName); | 				    	Product p = Product.getByName(productName); | ||||||
| 				    	 | 				    	 | ||||||
| 				    	if(list == null) |  | ||||||
| 				    		exitWithError(Settings.languageBlock.get("couldNotCreateList")); |  | ||||||
| 				    	 |  | ||||||
| 				    	if(p == null) |  | ||||||
| 				    		exitWithError(Settings.languageBlock.get("productNotFound") + " " + productName); |  | ||||||
| 				    	 |  | ||||||
| 			    		ShoppingListEntry entry = new ShoppingListEntry(); | 			    		ShoppingListEntry entry = new ShoppingListEntry(); | ||||||
| 			    		entry.setParentList(list); | 			    		entry.setParentList(list); | ||||||
| 			    		entry.setProduct(p); | 			    		entry.setProduct(p); | ||||||
| 			    		entry.setAmount(amount); | 			    		entry.setAmount(amount); | ||||||
| 			    		entry.setUnit(u); | 			    		entry.setUnit(u); | ||||||
| 			    		 | 			    		 | ||||||
|  | 			    		if(amount > 0 && (u == null || u.isDummy)) | ||||||
|  | 			    			entry.setUnit(Unit.getPieceUnit()); | ||||||
|  | 			    		 | ||||||
|  | 				    	if(list == null) | ||||||
|  | 				    		exitWithError(Settings.languageBlock.get("couldNotCreateList")); | ||||||
|  | 				    	 | ||||||
|  | 				    	if(p == null) | ||||||
|  | 				    		exitWithError(Settings.languageBlock.get("productNotFound") + " " + entry.toString()); | ||||||
|  | 				    	 | ||||||
| 			    		if(entry.create()) | 			    		if(entry.create()) | ||||||
| 			    		{ | 			    		{ | ||||||
| 			    			DatabaseHandler.getInstance().disconnect(); | 			    			DatabaseHandler.getInstance().disconnect(); | ||||||
| 			    			System.exit(0); | 			    			System.exit(0); | ||||||
| 			    		} | 			    		} | ||||||
| 			    		else | 			    		else | ||||||
| 			    			exitWithError(Settings.languageBlock.get("couldNotAddProdToList") + " " + productName); | 			    			exitWithError(Settings.languageBlock.get("couldNotAddProdToList") + " " + entry.toString()); | ||||||
| 				    } | 				    } | ||||||
| 				    else | 				    else | ||||||
| 				    	System.out.println(Settings.languageBlock.get("noProdSpecified")); | 				    	System.out.println(Settings.languageBlock.get("noProdSpecified")); | ||||||
| @@ -103,26 +106,57 @@ public class Start | |||||||
| 				    { | 				    { | ||||||
| 				    	ShoppingList list = ShoppingList.getMostRecentList(); | 				    	ShoppingList list = ShoppingList.getMostRecentList(); | ||||||
| 				    	Product p = Product.getByName(productName); | 				    	Product p = Product.getByName(productName); | ||||||
|  | 				    	Unit u = Unit.getByName(unitName); | ||||||
|  | 				    	 | ||||||
|  | 			    		ShoppingListEntry entry = new ShoppingListEntry(); | ||||||
|  | 			    		entry.setParentList(list); | ||||||
|  | 			    		entry.setProduct(p); | ||||||
|  | 			    		entry.setAmount(amount); | ||||||
|  | 			    		entry.setUnit(u); | ||||||
|  | 			    		 | ||||||
|  | 			    		if(amount > 0 && (u == null || u.isDummy)) | ||||||
|  | 			    			entry.setUnit(Unit.getPieceUnit()); | ||||||
| 			    		 | 			    		 | ||||||
| 				    	if(list == null) | 				    	if(list == null) | ||||||
| 				    		exitWithError(Settings.languageBlock.get("couldNotCreateList")); | 				    		exitWithError(Settings.languageBlock.get("couldNotCreateList")); | ||||||
| 				    	 | 				    	 | ||||||
| 				    	if(p == null) | 				    	if(p == null) | ||||||
| 				    		exitWithError(Settings.languageBlock.get("productNotFound") + " " + productName); | 				    		exitWithError(Settings.languageBlock.get("productNotFound") + " " + entry.toString()); | ||||||
| 			    		 | 			    		 | ||||||
| 			    		for(ShoppingListEntry entry : list.getEntries()) |  | ||||||
| 			    		{ |  | ||||||
| 			    			if(entry.getProduct().equals(p)) |  | ||||||
| 			    			{ |  | ||||||
| 			    		if(entry.delete()) | 			    		if(entry.delete()) | ||||||
| 			    		{ | 			    		{ | ||||||
| 			    			DatabaseHandler.getInstance().disconnect(); | 			    			DatabaseHandler.getInstance().disconnect(); | ||||||
| 			    			System.exit(0); | 			    			System.exit(0); | ||||||
| 			    		} | 			    		} | ||||||
| 			    		else | 			    		else | ||||||
| 					    			Miscellaneous.logEvent(Settings.languageBlock.get("couldNotRemoveProdFromList") + " " + productName, 2); | 			    			exitWithError(Settings.languageBlock.get("couldNotRemoveProdFromList") + " " + entry.toString()); | ||||||
| 				    		} | 			    			 | ||||||
| 			    		} | //			    		for(ShoppingListEntry entry : list.getEntries()) | ||||||
|  | //			    		{ | ||||||
|  | //			    			if(entry.getProduct().equals(p)) | ||||||
|  | //			    			{ | ||||||
|  | //			    				if(amount > 0 && u != null && !u.isDummy()) | ||||||
|  | //								{ | ||||||
|  | //									/* | ||||||
|  | //									 * Amount and unit specified. Adjust entries that may exist. | ||||||
|  | //									 */ | ||||||
|  | //								} | ||||||
|  | //			    				else | ||||||
|  | //			    				{ | ||||||
|  | //			    					/* | ||||||
|  | //			    					 * No amount unit or unit specified. Delete all existing entries | ||||||
|  | //			    					 * of that product from the list.  | ||||||
|  | //			    					 */ | ||||||
|  | //						    		if(entry.delete()) | ||||||
|  | //						    		{ | ||||||
|  | //						    			DatabaseHandler.getInstance().disconnect(); | ||||||
|  | //						    			System.exit(0); | ||||||
|  | //						    		} | ||||||
|  | //						    		else | ||||||
|  | //						    			Miscellaneous.logEvent(Settings.languageBlock.get("couldNotRemoveProdFromList") + " " + productName, 2); | ||||||
|  | //			    				} | ||||||
|  | //				    		} | ||||||
|  | //			    		} | ||||||
| 			    		// If it wasn't on the list - why care? | 			    		// If it wasn't on the list - why care? | ||||||
| 		    			DatabaseHandler.getInstance().disconnect(); | 		    			DatabaseHandler.getInstance().disconnect(); | ||||||
| 		    			System.exit(0); | 		    			System.exit(0); | ||||||
| @@ -131,7 +165,7 @@ public class Start | |||||||
| 				    	System.out.println(Settings.languageBlock.get("noProdSpecified")); | 				    	System.out.println(Settings.languageBlock.get("noProdSpecified")); | ||||||
| 				    break; | 				    break; | ||||||
| 			    case "sendList": | 			    case "sendList": | ||||||
| 			    	if(ShoppingList.getMostRecentList().send()) | 			    	if(ShoppingList.getMostRecentList().sendViaEmail()) | ||||||
| 			    	{ | 			    	{ | ||||||
| //				    	System.out.println("Liste wurde verschickt."); | //				    	System.out.println("Liste wurde verschickt."); | ||||||
| 				    	DatabaseHandler.getInstance().disconnect(); | 				    	DatabaseHandler.getInstance().disconnect(); | ||||||
|   | |||||||
| @@ -19,6 +19,7 @@ static ArrayList<Unit> unitCache = null; | |||||||
| 	String abbreviation; | 	String abbreviation; | ||||||
| 	boolean isDefault; | 	boolean isDefault; | ||||||
| 	boolean isDummy; | 	boolean isDummy; | ||||||
|  | 	boolean isPiece; | ||||||
| 	 | 	 | ||||||
| 	public long getId() | 	public long getId() | ||||||
| 	{ | 	{ | ||||||
| @@ -29,6 +30,14 @@ static ArrayList<Unit> unitCache = null; | |||||||
| 		this.id = id; | 		this.id = id; | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
|  | 	public String getMainName() | ||||||
|  | 	{ | ||||||
|  | 		if(name.contains(";")) | ||||||
|  | 			return name.split(";")[0]; | ||||||
|  | 		else | ||||||
|  | 			return name; | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
| 	public String getName() | 	public String getName() | ||||||
| 	{ | 	{ | ||||||
| 		return name; | 		return name; | ||||||
| @@ -65,6 +74,15 @@ static ArrayList<Unit> unitCache = null; | |||||||
| 		this.isDummy = isDummy; | 		this.isDummy = isDummy; | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
|  | 	public boolean isPiece() | ||||||
|  | 	{ | ||||||
|  | 		return isPiece; | ||||||
|  | 	} | ||||||
|  | 	public void setPiece(boolean isPiece) | ||||||
|  | 	{ | ||||||
|  | 		this.isPiece = isPiece; | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
| 	public static ArrayList<Unit> readAllUnits() | 	public static ArrayList<Unit> readAllUnits() | ||||||
| 	{ | 	{ | ||||||
| 		if(unitCache == null) | 		if(unitCache == null) | ||||||
| @@ -97,6 +115,7 @@ static ArrayList<Unit> unitCache = null; | |||||||
| 		        	u.setAbbreviation(res.getString("abbreviation")); | 		        	u.setAbbreviation(res.getString("abbreviation")); | ||||||
| 		        	u.setDefault(res.getInt("isDefault") == 1); | 		        	u.setDefault(res.getInt("isDefault") == 1); | ||||||
| 		        	u.setDummy(res.getInt("isDummy") == 1); | 		        	u.setDummy(res.getInt("isDummy") == 1); | ||||||
|  | 		        	u.setPiece(res.getInt("isPiece") == 1); | ||||||
| 		        	 | 		        	 | ||||||
| 		        	unitCache.add(u); | 		        	unitCache.add(u); | ||||||
| 		        } | 		        } | ||||||
| @@ -133,11 +152,14 @@ static ArrayList<Unit> unitCache = null; | |||||||
| 		 | 		 | ||||||
| 		for(Unit u : readAllUnits()) | 		for(Unit u : readAllUnits()) | ||||||
| 		{ | 		{ | ||||||
| 			if(u.getName().equalsIgnoreCase(unitName)) | 			for(String unitSynonym : u.getName().split(";")) | ||||||
|  | 			{ | ||||||
|  | 				if(unitSynonym.equalsIgnoreCase(unitName)) | ||||||
| 					return u; | 					return u; | ||||||
| 			else if(u.getName().equalsIgnoreCase(unitName.replace("-", " "))) | 				else if(unitSynonym.equalsIgnoreCase(unitName.replace("-", " "))) | ||||||
| 					return u; | 					return u; | ||||||
| 			} | 			} | ||||||
|  | 		} | ||||||
| 		 | 		 | ||||||
| 		return null; | 		return null; | ||||||
| 	} | 	} | ||||||
| @@ -145,6 +167,9 @@ static ArrayList<Unit> unitCache = null; | |||||||
| 	@Override | 	@Override | ||||||
| 	public String toString() | 	public String toString() | ||||||
| 	{ | 	{ | ||||||
|  | 		if(getName().contains(";")) | ||||||
|  | 			return getName().split(";")[0]; | ||||||
|  | 		else | ||||||
| 			return getName(); | 			return getName(); | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
| @@ -161,7 +186,7 @@ static ArrayList<Unit> unitCache = null; | |||||||
| 	 | 	 | ||||||
| 	public boolean create() | 	public boolean create() | ||||||
| 	{ | 	{ | ||||||
| 		String query = "INSERT INTO units (name, abbreviation, isDefault, isDummy) VALUES (?, ?, ?, ?)"; | 		String query = "INSERT INTO units (name, abbreviation, isDefault, isDummy, isPiece) VALUES (?, ?, ?, ?, ?)"; | ||||||
| 		Connection conn = DatabaseHandler.getInstance().getConnection(); | 		Connection conn = DatabaseHandler.getInstance().getConnection(); | ||||||
| 		PreparedStatement preparedStmt = null; | 		PreparedStatement preparedStmt = null; | ||||||
| 		try | 		try | ||||||
| @@ -180,6 +205,11 @@ static ArrayList<Unit> unitCache = null; | |||||||
| 			else | 			else | ||||||
| 				preparedStmt.setInt(4, 0); | 				preparedStmt.setInt(4, 0); | ||||||
|  |  | ||||||
|  | 			if(this.isPiece) | ||||||
|  | 				preparedStmt.setInt(5, 1); | ||||||
|  | 			else | ||||||
|  | 				preparedStmt.setInt(5, 0); | ||||||
|  | 		     | ||||||
| 		    preparedStmt.executeUpdate(); | 		    preparedStmt.executeUpdate(); | ||||||
| 		    ResultSet rs = preparedStmt.getGeneratedKeys(); | 		    ResultSet rs = preparedStmt.getGeneratedKeys(); | ||||||
| 		    if (rs.next()) | 		    if (rs.next()) | ||||||
| @@ -219,4 +249,26 @@ static ArrayList<Unit> unitCache = null; | |||||||
| 	       | 	       | ||||||
| 		return false; | 		return false; | ||||||
| 	} | 	} | ||||||
|  | 	 | ||||||
|  | 	public static Unit getDefaultUnit() | ||||||
|  | 	{ | ||||||
|  | 		for(Unit u : readAllUnits()) | ||||||
|  | 		{ | ||||||
|  | 			if(u.isDefault()) | ||||||
|  | 				return u; | ||||||
|  | 		} | ||||||
|  | 		 | ||||||
|  | 		return null; | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	public static Unit getPieceUnit() | ||||||
|  | 	{ | ||||||
|  | 		for(Unit u : readAllUnits()) | ||||||
|  | 		{ | ||||||
|  | 			if(u.isPiece()) | ||||||
|  | 				return u; | ||||||
|  | 		} | ||||||
|  | 		 | ||||||
|  | 		return null; | ||||||
|  | 	} | ||||||
| } | } | ||||||
		Reference in New Issue
	
	Block a user