/** Die Methode speichert den Inhalt des Text Felder in die Datenbank */ private boolean addToDB() { myFrame.setCursorWait(); Vector<ContainerAttribute> myAtt = new Vector<ContainerAttribute>(); String objKey = ReqField.get(0).getText(); if (objKey.isEmpty() == false) { for (int i = 1; i < ReqField.size(); i++) { if (ReqField.get(i).getAtt().size() != 0 && ReqField.get(i).getText().isEmpty() == false) { myAtt.addAll(ReqField.get(i).getAtt()); } } for (int i = 0; i < OptField.size(); i++) { if (OptField.get(i).getAtt().size() != 0 && OptField.get(i).getText().isEmpty() == false) { myAtt.addAll(OptField.get(i).getAtt()); } } int ret = -1; // New Entry if (isNewEntry == true) { if (theDb.getObject(objKey) == null) { ret = theDb.setObject( new ContainerObject( -1, theDb.convTypeNameToTypeId(this.entryTypeString), objKey, myAtt)); } else { JOptionPane.showMessageDialog( null, Main.myLang.getString(Main.myLang.getString("textFildTab.existingkey.message")), Main.myLang.getString(Main.myLang.getString("textFildTab.existingkey.title")), JOptionPane.ERROR_MESSAGE); } } // Edit Entry else { if (theDb.getObject(objKey) != null) { } else { JOptionPane.showMessageDialog( null, Main.myLang.getString(Main.myLang.getString("textFildTab.changedkey.message")), Main.myLang.getString(Main.myLang.getString("textFildTab.changedkey.title")), JOptionPane.WARNING_MESSAGE); } ret = theDb.setObject( new ContainerObject( obj.getId(), theDb.convTypeNameToTypeId(this.entryTypeString), objKey, myAtt)); } // file into DB if (ret != -1) { try { theDb.setAllFiles(this.fileModel.getData(), ret); obj = theDb.getObject(ret); myFrame.setCursorNormal(); return true; } catch (PacketTooBigException e) { JOptionPane.showMessageDialog( null, Main.myLang.getString(Main.myLang.getString("textFildTab.FileSizeToSmall.message")), Main.myLang.getString(Main.myLang.getString("textFildTab.FileSizeToSmall.title")), JOptionPane.ERROR_MESSAGE); myFrame.setCursorNormal(); } } myFrame.setCursorNormal(); return false; } else { JOptionPane.showMessageDialog( null, Main.myLang.getString(Main.myLang.getString("textFildTab.missingKey.message")), Main.myLang.getString(Main.myLang.getString("textFildTab.missingKey.title")), JOptionPane.ERROR_MESSAGE); myFrame.setCursorNormal(); return false; } }
/** * Die Methode initialisiert Text Areas * * @return gui.CTex_TextArea */ private TextArea getTextArea( boolean isRequired, final String typeName, Undomanager manager, final JButton addObject, final JButton addCondition) { final TextArea TextArea; ContainerAttribute e = null; Vector<ContainerAttribute> attV = new Vector<ContainerAttribute>(); if (obj != null) { // wenn ein aus Objekt if (entryTypeKeyVar == typeName) { attV.add( new ContainerAttribute(-1, -1, obj.getKey(), false, new Vector<ContainerAttribute>())); TextArea = new TextArea(theDb, entryTypeKeyVar, attV, this); } else { Vector<ContainerAttribute> v = obj.getAttributes(); Iterator<ContainerAttribute> i = v.iterator(); // load Attribute attV.clear(); while (i.hasNext()) { e = i.next(); if (theDb.convTypeIdToTypeName(e.getObjectTypeId()).equals(typeName)) { attV.add(e); } } // if has Value or not if (attV.size() != 0) { TextArea = new TextArea( theDb, theDb.convTypeIdToTypeName(attV.get(0).getObjectTypeId()), attV, this); } else { attV.add( new ContainerAttribute( -1, theDb.convTypeNameToTypeId(typeName), "", false, new Vector<ContainerAttribute>())); TextArea = new TextArea(theDb, typeName, attV, this); } } } else { TextArea = new TextArea(theDb, typeName, attV, this); } // action of addObject "Objecte werden Gelb markiert und Links Weis" addObject.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent obj) { TextArea.setObject(); } }); // action of addCondition "Condition werden Grun markiert" addCondition.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent con) { TextArea.addCondition(); } }); if (!isRequired) { OptField.add(TextArea); addTextFieldOpt(OptField.get(OptField.size() - 1), manager); this.OptAreaId++; } else { ReqField.add(TextArea); addTextFieldReq(ReqField.get(ReqField.size() - 1), manager); this.ReqAreaId++; } // Save TextAreas for AutoGeneration Key if (typeName.equals("author")) { this.autor = TextArea; } else if (typeName.equals("year")) { this.year = TextArea; } return TextArea; }