// -------------------------------------------------------------------------------- private void updateDocument() { int typeIndex = typeCombo.getSelectionIndex(); if (typeIndex == -1) { return; } String value = valueText.getText(); Object newValue = null; String updateStr = null; switch (typeIndex) { case 0: // Double newValue = new Double(value); break; case 1: // Integer newValue = new Integer(value); break; case 2: // Long newValue = new Long(value); break; case 3: // String newValue = value; break; case 4: // List newValue = dataManager.getDB().eval(value, null); break; case 5: // Map newValue = dataManager.getDB().eval(value, null); break; case 6: // Date try { SimpleDateFormat df = new SimpleDateFormat("EEE MMM d HH:mm:ss z yyyy", Locale.ENGLISH); // df.set newValue = df.parse(value); } catch (Exception e) { // e.printStackTrace(); return; } break; case 7: // ObjectId newValue = new ObjectId(value); break; case 8: // Code newValue = new Code(value); break; case 9: // Binary not implemented break; case 10: // Boolean newValue = new Boolean(value); break; case 11: // null newValue = null; break; case 12: // Regex newValue = java.util.regex.Pattern.compile(value + ""); break; case 13: // Symbol // newValue = new Symbol( value ); break; case 14: // Code with scope // newValue = new CodeWScope( value, new BasicDBObject() ); break; case 15: // Timestamp break; case 16: // Minkey not supported yet break; case 17: // Maxkey not supported yet break; } dataManager.updateDocument(_id, editingFieldName, newValue); }
// -------------------------------------------------------------------------------- private void verifyData() { int typeIndex = typeCombo.getSelectionIndex(); if (typeIndex == -1) { return; } String value = valueText.getText(); boolean verified = false; switch (typeIndex) { case 0: // Double try { Double.parseDouble(value); verified = true; } catch (Exception e) { } break; case 1: // Integer try { Integer.parseInt(value); verified = true; } catch (Exception e) { } break; case 2: // Long try { Long.parseLong(value); verified = true; } catch (Exception e) { } break; case 3: // String verified = true; break; case 4: // List try { Object o = dataManager.getDB().eval(value, null); if (o instanceof BasicDBList) { verified = true; } } catch (Exception e) { } break; case 5: // Map try { Object o = dataManager.getDB().eval(value, null); if (o instanceof BasicDBObject) { verified = true; } } catch (Exception e) { } break; case 6: // Date try { DateFormat df = new SimpleDateFormat("EEE MMM d HH:mm:ss z yyyy", Locale.ENGLISH); df.parse(value); verified = true; } catch (Exception e) { // e.printStackTrace(); } break; case 7: // ObjectId try { new ObjectId(value); verified = true; } catch (Exception e) { } break; case 8: // Code verified = true; break; case 9: // Binary always false break; case 10: // Boolean if (value.equalsIgnoreCase("true") || value.equalsIgnoreCase("false")) { verified = true; } break; case 11: // null if (value.equalsIgnoreCase("null")) { verified = true; } break; case 12: // Regex try { java.util.regex.Pattern.compile(value); verified = true; } catch (Exception e) { } break; case 13: // Symbol not supported yet break; case 14: // Code with scope not supported yet break; case 15: // Timestamp not supported yet break; case 16: // Minkey not supported yet break; case 17: // Maxkey not supported yet break; } updateButton.setEnabled(verified); }