Example #1
0
 private boolean existAttribute(Attribute attr) {
   boolean exist = false;
   if (this.model.getAttributeModel() != null) {
     for (Attribute attrexist : this.model.getAttributeModel().getAttributes()) {
       if (attrexist.getInternalName().equals(attr.getInternalName())) {
         exist = true;
       }
     }
   }
   return exist;
 }
Example #2
0
 private Long getHighestInternalId() {
   Long l = new Long(0);
   for (Attribute attr : model.getAttributeModel().getAttributes()) {
     if (attr.getInternalId() != null) {
       if (l.longValue() < attr.getInternalId()) {
         l = attr.getInternalId();
         l++;
       }
     }
   }
   return l;
 }
Example #3
0
  private void setTranslationForAttribute(Attribute attr, EntityAttributeTableModel model) {
    List<TranslationVO> lstTranslation = new ArrayList<TranslationVO>();

    for (LocaleInfo info : LocaleDelegate.getInstance().getAllLocales(false)) {
      Map<String, String> mpValues = new HashMap<String, String>();
      mpValues.put(TranslationVO.labelsField[0], attr.getLabel());
      mpValues.put(TranslationVO.labelsField[1], attr.getDescription());
      TranslationVO voTranslation =
          new TranslationVO(info.localeId, info.title, info.language, mpValues);
      lstTranslation.add(voTranslation);
    }

    model.addTranslation(attr, lstTranslation);
  }
Example #4
0
  @Override
  public void applyState() throws InvalidStateException {
    if (rbCopyAttributes.isSelected() || rbAssignAttributes.isSelected()) {
      EntityAttributeSelectTableModel model =
          (EntityAttributeSelectTableModel) tblFields.getModel();
      List<Attribute> lstAttribute = model.getAttributes();
      EntityAttributeTableModel modelAttribute = new EntityAttributeTableModel();
      for (Attribute attr : lstAttribute) {
        if (attr.isForResume()) modelAttribute.addAttribute(attr);
      }
      for (Attribute attr : modelAttribute.getAttributes()) {
        if (!existAttribute(attr)) {
          if (attr.getInternalId() == null) attr.setInternalId(getHighestInternalId());
          if (this.model.isEditMode()) {
            // attr.setDistinct(false); // @todo uncomment this. some databases can not handle
            // unique and nullable fields
            attr.setMandatory(false);
          }
          this.model.getAttributeModel().addAttribute(attr);
          setTranslationForAttribute(attr, this.model.getAttributeModel());
        }
      }
    } else if (rbTemplateAttributes.isSelected()) {
      EntityAttributeSelectTableModel model =
          (EntityAttributeSelectTableModel) tblFields.getModel();
      List<Attribute> lstAttribute = model.getAttributes();
      EntityAttributeTableModel modelAttribute = new EntityAttributeTableModel();
      for (Attribute attr : this.model.getAttributeModel().getAttributes()) {
        modelAttribute.addAttribute(attr);
        modelAttribute.addTranslation(
            attr, this.model.getAttributeModel().getTranslation().get(attr));
      }

      for (Attribute attr : lstAttribute) {
        if (!existAttribute(attr)) {
          attr.setInternalId(getHighestInternalId());
          modelAttribute.addAttribute(attr);
          setTranslationForAttribute(attr, modelAttribute);
        }
      }
      this.model.setAttributeModel(modelAttribute);
    } else if (rbImportTable.isSelected()) {
      String jdbc = getJDBCUrl();

      this.model.setJdbcUrl(jdbc);
      this.model.setExternalUser(tfImportUser.getText().trim());
      this.model.setExternalPassword(tfImportPassword.getText().trim());
      this.model.setExternalTable((String) cbxImportTables.getSelectedItem());
      this.model.setImportTable(true);
      List<MasterDataVO> lstVO =
          MetaDataDelegate.getInstance()
              .transformTable(
                  jdbc,
                  model.getExternalUser(),
                  model.getExternalPassword(),
                  model.getExternalUser().trim().toUpperCase(),
                  model.getExternalTable());
      EntityAttributeTableModel modelAttribute = new EntityAttributeTableModel();
      for (MasterDataVO vo : lstVO) {
        Attribute attr = new Attribute();
        attr.setField((String) vo.getField("name"));
        attr.setInternalName((String) vo.getField("name"));
        attr.setDbName((String) vo.getField("dbfield"));
        attr.setDescription((String) vo.getField("description"));
        DataTyp datatyp = new DataTyp();
        datatyp.setJavaType((String) vo.getField("datatype"));
        datatyp.setPrecision((Integer) vo.getField("dataprecision"));
        datatyp.setScale((Integer) vo.getField("datascale"));
        attr.setDatatyp(datatyp);
        attr.setLogBook((Boolean) vo.getField("logbook"));
        attr.setDistinct((Boolean) vo.getField("unique"));
        attr.setMandatory((Boolean) vo.getField("nullable"));
        attr.setLabel((String) vo.getField("label"));
        modelAttribute.addAttribute(attr);
      }
      this.model.setAttributeModel(modelAttribute);
    }

    super.applyState();
  }