Beispiel #1
0
  @Override
  public JSONObject open() throws ImetaException {
    try {
      JSONObject rtn = new JSONObject();
      JSONArray cArr = new JSONArray();
      String id = this.getId();

      InjectorMeta step = (InjectorMeta) super.getStep();
      // 得到form
      this.columnFormDataMeta = new ColumnFormDataMeta(id, null);
      this.columnFormMeta = new ColumnFormMeta(columnFormDataMeta);

      // 得到步骤名称
      this.name =
          new LabelInputMeta(
              id + ".name",
              "步骤名称",
              null,
              null,
              "步骤名称必须填写",
              super.getStepMeta().getName(),
              null,
              ValidateForm.getInstance().setRequired(false));
      this.name.setSingle(true);

      // 字段

      this.fields = new LabelGridMeta(id + "_fields", "字段", 200);

      GridHeaderDataMeta fieldTypeDataMeta =
          new GridHeaderDataMeta(id + "_fields.type", "类型", null, false, 100);
      fieldTypeDataMeta.setOptions(
          super.getOptionsByStringArrayWithNumberValue(ValueMetaInterface.typeCodes, false));

      this.fields.addHeaders(
          new GridHeaderDataMeta[] {
            new GridHeaderDataMeta(
                id + "_fields.fieldId", "#", GridHeaderDataMeta.HEADER_TYPE_NUMBER, false, 50),
            new GridHeaderDataMeta(id + "_fields.name", "字段名称", null, false, 80),
            fieldTypeDataMeta,
            new GridHeaderDataMeta(id + "_fields.length", "长度", null, false, 50),
            new GridHeaderDataMeta(id + "_fields.precision", "精度", null, false, 50),
          });
      this.fields.setSingle(true);
      this.fields.setHasBottomBar(true);
      this.fields.setHasAdd(true, true, "jQuery.imeta.steps.injector.btn.injectorAdd");
      this.fields.setHasDelete(true, true, "jQuery.imeta.parameter.fieldsDelete");

      String[] values = step.getName();
      if (values != null && values.length > 0)
        for (int i = 0; i < values.length; i++) {

          this.fields.addRow(
              new Object[] {
                String.valueOf(i + 1),
                new GridCellDataMeta(null, step.getName()[i], GridCellDataMeta.CELL_TYPE_INPUT),
                new GridCellDataMeta(
                    null, String.valueOf(step.getType()[i]), GridCellDataMeta.CELL_TYPE_SELECT),
                new GridCellDataMeta(
                    null, String.valueOf(step.getLength()[i]), GridCellDataMeta.CELL_TYPE_INPUT),
                new GridCellDataMeta(
                    null, String.valueOf(step.getPrecision()[i]), GridCellDataMeta.CELL_TYPE_INPUT)
              });
        }

      // 装载到form
      columnFormMeta.putFieldsetsContent(new BaseFormMeta[] {this.name, this.fields});

      // 确定,取消
      columnFormMeta.putFieldsetsFootButtons(
          new ButtonMeta[] {super.getOkBtn(), super.getCancelBtn()});

      cArr.add(columnFormMeta.getFormJo());

      rtn.put("items", cArr);
      rtn.put("title", super.getStepMeta().getName());

      return rtn;
    } catch (Exception ex) {
      throw new ImetaException(ex.getMessage(), ex);
    }
  }
  @Override
  public JSONObject open() throws ImetaException {
    try {
      JSONObject rtn = new JSONObject();
      JSONArray cArr = new JSONArray();
      String id = this.getId();

      ColumnExistsMeta step = (ColumnExistsMeta) super.getStep();
      // 得到form
      this.columnFormDataMeta = new ColumnFormDataMeta(id, null);
      this.columnFormMeta = new ColumnFormMeta(columnFormDataMeta);

      // 得到步骤名称
      this.name =
          new LabelInputMeta(
              id + ".name",
              "步骤名称",
              null,
              null,
              "步骤名称必须填写",
              super.getStepName(),
              null,
              ValidateForm.getInstance().setRequired(true));
      this.name.setSingle(true);

      // 得到数据库连接
      this.connectionId =
          new LabelSelectMeta(
              id + ".connectionId",
              "数据库连接",
              null,
              null,
              null,
              String.valueOf((step.getDatabase() != null) ? step.getDatabase().getID() : ""),
              null,
              super.getConnectionLine());
      this.connectionId.setSingle(true);

      // 得到结构名称

      this.schemaname =
          new LabelInputMeta(
              id + ".schemaname",
              "结构名称",
              null,
              null,
              "结构名称必须填写",
              step.getSchemaname(),
              null,
              ValidateForm.getInstance().setRequired(true));
      this.schemaname.setSingle(true);

      // 得到表名
      this.tablename =
          new LabelInputMeta(
              id + ".tablename",
              "表名",
              null,
              null,
              "表名必须填写",
              step.getTablename(),
              null,
              ValidateForm.getInstance().setRequired(true));
      this.tablename.setSingle(true);
      this.tablename.setDisabled(!step.isTablenameInField());

      // 表名在域中istablenameInfield
      this.istablenameInfield =
          new LabelInputMeta(
              id + ".istablenameInfield",
              "表名在域中",
              null,
              null,
              String.valueOf(step.isTablenameInField()),
              null,
              InputDataMeta.INPUT_TYPE_CHECKBOX,
              ValidateForm.getInstance().setRequired(false));
      this.istablenameInfield.setSingle(false);
      this.istablenameInfield.addClick(
          "jQuery.imeta.steps.columnexists.listeners.istablenameInfield");
      // 表名域
      this.tablenamefield =
          new LabelSelectMeta(
              id + ".tablenamefield",
              "表名域",
              null,
              null,
              null,
              step.getDynamicTablenameField(),
              null,
              super.getPrevStepResultFields());
      this.tablenamefield.setSingle(true);
      this.tablenamefield.setDisabled(!step.isTablenameInField());
      this.tablenamefield.setHasEmpty(true);

      // 得到列名
      this.columnnamefield =
          new LabelSelectMeta(
              id + ".columnnamefield",
              "列名域",
              null,
              null,
              null,
              step.getDynamicColumnnameField(),
              null,
              super.getPrevStepResultFields());
      this.columnnamefield.setSingle(true);
      this.columnnamefield.setHasEmpty(true);

      // 得到结果域名
      this.resultfieldname =
          new LabelInputMeta(
              id + ".resultfieldname",
              "结果域名",
              null,
              null,
              "结果域名必须填写",
              step.getResultFieldName(),
              null,
              ValidateForm.getInstance().setRequired(true));
      this.resultfieldname.setSingle(true);

      // 装载到form
      columnFormMeta.putFieldsetsContent(
          new BaseFormMeta[] {
            this.name,
            this.connectionId,
            this.schemaname,
            this.tablename,
            this.istablenameInfield,
            this.tablenamefield,
            this.columnnamefield,
            this.resultfieldname
          });

      columnFormMeta.putFieldsetsFootButtons(
          new ButtonMeta[] {super.getOkBtn(), super.getCancelBtn()});

      cArr.add(columnFormMeta.getFormJo());

      rtn.put("items", cArr);
      rtn.put("title", super.getStepMeta().getName());

      return rtn;
    } catch (Exception ex) {
      throw new ImetaException(ex.getMessage(), ex);
    }
  }