当前位置: 首页>>代码示例>>Java>>正文


Java EdmProperty.getDefaultValue方法代码示例

本文整理汇总了Java中org.odata4j.edm.EdmProperty.getDefaultValue方法的典型用法代码示例。如果您正苦于以下问题:Java EdmProperty.getDefaultValue方法的具体用法?Java EdmProperty.getDefaultValue怎么用?Java EdmProperty.getDefaultValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.odata4j.edm.EdmProperty的用法示例。


在下文中一共展示了EdmProperty.getDefaultValue方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: setDefaultValue

import org.odata4j.edm.EdmProperty; //导入方法依赖的package包/类
/**
 * デフォルト値の設定.
 * @param ep EdmProperty
 * @param propName プロパティ名
 * @param op OProperty
 * @param metadata EdmDataServicesスキーマ定義
 * @return Oproperty
 */
protected OProperty<?> setDefaultValue(EdmProperty ep, String propName, OProperty<?> op, EdmDataServices metadata) {
    // スキーマ上定義されているのに入力の存在しない Property
    // デフォルト値が定義されていればそれをいれる。
    // ComplexTypeそのものの項目、または配列の項目であればデフォルト値は設定しない
    NamespacedAnnotation<?> annotation = ep.findAnnotation(Common.P_NAMESPACE.getUri(),
            Property.P_IS_DECLARED.getName());
    if (annotation != null && !(Boolean.valueOf(annotation.getValue().toString()))) {
        return null;
    }
    if (ep.getType().isSimple() && !ep.getCollectionKind().equals(CollectionKind.List)
            && ep.getDefaultValue() != null) {
        op = generateDefautlProperty(ep);
    } else if (ep.isNullable()) {
        // nullableがtrueであれば。nullの入ったプロパティ
        // TODO これでいいのか?
        op = OProperties.null_(propName, ep.getType().getFullyQualifiedTypeName());
    } else {
        // nullableがfalseであれば。エラーとする
        throw PersoniumCoreException.OData.INPUT_REQUIRED_FIELD_MISSING.params(propName);
    }
    return op;
}
 
开发者ID:personium,项目名称:personium-core,代码行数:31,代码来源:AbstractODataResource.java

示例2: createPropWithDefaultValue

import org.odata4j.edm.EdmProperty; //导入方法依赖的package包/类
private OProperty<?> createPropWithDefaultValue(EdmProperty prop) {
  String defaultValue = prop.getDefaultValue();
  EdmSimpleType<?> type = (EdmSimpleType<?>) prop.getType();

  // Trying to re-use the JsonTypeConverter that will convert string to 
  // corresponding types, the JsonTokenType is a required parameter, just
  // fake it here.
  JsonTokenType jsonTokenType = JsonTokenType.STRING;

  if (type == EdmSimpleType.BOOLEAN) {
    jsonTokenType = JsonTokenType.TRUE;
  }
  // The default value should match the data type, if it is a number, then it should not have () to enclose them.
  if (type != null && type == EdmSimpleType.INT16 || type == EdmSimpleType.INT32 || type == EdmSimpleType.INT64
      || type == EdmSimpleType.SINGLE || type == EdmSimpleType.DOUBLE || type == EdmSimpleType.DECIMAL) {
    if (defaultValue != null && defaultValue.length() > 0) {
      if (defaultValue.startsWith("(") && defaultValue.endsWith(")")) {
        defaultValue = defaultValue.replace("(", "").replace(")", "");
      }
    }
  }
  return JsonTypeConverter.parse(prop.getName(), type, defaultValue, jsonTokenType);
}
 
开发者ID:teiid,项目名称:oreva,代码行数:24,代码来源:ConsumerCreateEntityRequest.java

示例3: AppendDefaultValueForNullField

import org.odata4j.edm.EdmProperty; //导入方法依赖的package包/类
private void AppendDefaultValueForNullField(EdmEntitySet ees) {
  Enumerable<OProperty<?>> propsEnum = Enumerable.create(props);
  EdmEntityType eType = ees.getType();
  Iterator<EdmProperty> mdProps = eType.getProperties().iterator();
  while (mdProps.hasNext()) {
    EdmProperty prop = mdProps.next();
    // this prop has default value, user does not set it in the request and it is simple type, populate with default value
    if (prop.getDefaultValue() != null && prop.getType().isSimple() && propsEnum.firstOrNull(OPredicates.propertyNameEquals(prop.getName())) == null) {
      OProperty<?> newProp = createPropWithDefaultValue(prop);
      super.properties(this, newProp);
    }
  }
}
 
开发者ID:teiid,项目名称:oreva,代码行数:14,代码来源:ConsumerCreateEntityRequest.java

示例4: generateDefautlProperty

import org.odata4j.edm.EdmProperty; //导入方法依赖的package包/类
/**
 * Entity Data Modelのプロパティスキーマ情報からODataプロパティのデフォルト値インスタンスを生成する.
 * @param ep Entity Data Modelのプロパティ
 * @return デフォルト値が入ったODataプロパティのインスタンス
 */
private OProperty<?> generateDefautlProperty(EdmProperty ep) {
    EdmType edmType = ep.getType();
    OProperty<?> op = null;

    // スキーマからDefault値を取得する。
    String defaultValue = ep.getDefaultValue();
    String propName = ep.getName();

    // Default値が特定の関数である場合は、値を生成する。
    if (EdmSimpleType.STRING.equals(edmType)) {
        // Typeが文字列でDefault値がCELLID()のとき。
        if (defaultValue.equals("UUID()")) {
            // Typeが文字列でDefault値がUUID()のとき。
            String newUuid = UUID.randomUUID().toString().replaceAll("-", "");
            op = OProperties.string(propName, newUuid);
        } else if (defaultValue.equals("null")) {
            // Typeが文字列でDefault値がnullのとき。
            op = OProperties.null_(propName, EdmSimpleType.STRING);
        } else {
            // Typeが文字列でDefault値その他の値のとき。
            op = OProperties.string(propName, defaultValue);
        }
    } else if (EdmSimpleType.DATETIME.equals(edmType)) {
        // Edm.DateTime型:
        if (null == defaultValue || defaultValue.equals("null")) {
            // defaultValueがnullまたは"null"であれば、nullを設定する
            op = OProperties.null_(propName, EdmSimpleType.DATETIME);
        } else {
            // -"\/Date(...)\/"の場合は設定値をデフォルト値にする
            // -"SYSUTCDATETIME()"の場合は現在時刻をデフォルト値にする
            // TODO この実装では Atom 出力時にDefault TimeZoneで出力されてしまう
            op = OProperties.datetime(propName,
                    new Date(getTimeMillis(defaultValue)));
        }

    } else if (EdmSimpleType.SINGLE.equals(edmType)) {
        // TypeがSINGLEでDefault値があるとき。
        op = OProperties.single(propName, Float.valueOf(defaultValue));
    } else if (EdmSimpleType.INT64.equals(edmType)) {
        // TypeがINT64でDefault値があるとき。
        op = OProperties.int64(propName, Long.valueOf(defaultValue));
    } else if (EdmSimpleType.INT32.equals(edmType)) {
        // TypeがINT32でDefault値があるとき。
        op = OProperties.int32(propName, Integer.valueOf(defaultValue));
    } else if (EdmSimpleType.BOOLEAN.equals(edmType)) {
        // TypeがBooleanでDefault値があるとき。
        op = OProperties.boolean_(propName, Boolean.parseBoolean(defaultValue));
    } else if (EdmSimpleType.DOUBLE.equals(edmType)) {
        // TypeがDoubleでDefault値があるとき。
        op = OProperties.double_(propName, Double.parseDouble(defaultValue));
    }

    return op;
}
 
开发者ID:personium,项目名称:personium-core,代码行数:60,代码来源:AbstractODataResource.java

示例5: resolvePropertyVariable

import org.odata4j.edm.EdmProperty; //导入方法依赖的package包/类
private Object resolvePropertyVariable(EdmProperty prop, PropertyPath path) {
  if (path.getNComponents() == 1) {
    String name = path.getLastComponent();
    if (Edm.Property.DefaultValue.equals(name)) {
      return prop.getDefaultValue();
    } else if (Edm.Property.CollectionKind.equals(name)) {
      return prop.getCollectionKind().toString();
    } else if (Edm.Property.EntityTypeName.equals(name)) {
      return prop.getDeclaringType().getName();
    } else if (Edm.Property.FixedLength.equals(name)) {
      return prop.getFixedLength() != null ? prop.getFixedLength().toString() : null;
    } else if (Edm.Property.MaxLength.equals(name)) {
      return prop.getMaxLength() != null ? prop.getMaxLength().toString() : null;
    } else if (Edm.Property.Name.equals(name)) {
      return prop.getName();
    } else if (Edm.Property.Namespace.equals(name)) {
      return prop.getDeclaringType().getNamespace();
    } else if (Edm.Property.Nullable.equals(name)) {
      return prop.isNullable() ? "true" : "false";
    } else if (Edm.Property.Type.equals(name)) {
      return prop.getType().getFullyQualifiedTypeName();
    } else if (Edm.Property.Precision.equals(name)) {
      return prop.getPrecision() == null ? null : prop.getPrecision().toString();
    } else if (Edm.Property.Scale.equals(name)) {
      return prop.getScale() == null ? null : prop.getScale().toString();
    } else if (decorator != null) {
      try {
        return decorator.resolvePropertyProperty(prop, path);
      } catch (IllegalArgumentException e) {
        throw new RuntimeException("EdmProperty property path " + path + " not found");
      }
    } else {
      throw new RuntimeException("EdmProperty property " + name + " not found");
    }
  } else {
    String navProp = path.getFirstComponent();
    // --to 1 props only
    // TODO: class maybe
    throw new RuntimeException("EdmProperty navigation property " + navProp + " not found or not supported");
  }
}
 
开发者ID:teiid,项目名称:oreva,代码行数:42,代码来源:MetadataProducer.java

示例6: getProperty

import org.odata4j.edm.EdmProperty; //导入方法依赖的package包/类
private OEntity getProperty(EdmStructuralType queryType, EdmStructuralType et, EdmProperty p, Context c) {
  List<OProperty<?>> props = new ArrayList<OProperty<?>>();
  if (c.pathHelper.isSelected(Edm.Property.Namespace)) {
    props.add(OProperties.string(Edm.Property.Namespace, et.getNamespace()));
  }
  if (c.pathHelper.isSelected(Edm.Property.EntityTypeName)) {
    props.add(OProperties.string(Edm.Property.EntityTypeName, et.getName()));
  }
  if (c.pathHelper.isSelected(Edm.Property.Name)) {
    props.add(OProperties.string(Edm.Property.Name, p.getName()));
  }
  if (c.pathHelper.isSelected(Edm.Property.Type)) {
    props.add(OProperties.string(Edm.Property.Type, p.getType().getFullyQualifiedTypeName()));
  }
  if (c.pathHelper.isSelected(Edm.Property.Nullable)) {
    props.add(OProperties.boolean_(Edm.Property.Nullable, p.isNullable()));
  }
  if (p.getDefaultValue() != null && c.pathHelper.isSelected(Edm.Property.DefaultValue)) {
    props.add(OProperties.string(Edm.Property.DefaultValue, p.getDefaultValue()));
  }
  if (p.getMaxLength() != null && c.pathHelper.isSelected(Edm.Property.MaxLength)) {
    props.add(OProperties.int32(Edm.Property.MaxLength, p.getMaxLength()));
  }
  if (p.getFixedLength() != null && c.pathHelper.isSelected(Edm.Property.FixedLength)) {
    props.add(OProperties.boolean_(Edm.Property.FixedLength, p.getFixedLength()));
  }
  if (p.getPrecision() != null && c.pathHelper.isSelected(Edm.Property.Precision)) {
    props.add(OProperties.int32(Edm.Property.Precision, p.getPrecision()));
  }
  if (p.getScale() != null && c.pathHelper.isSelected(Edm.Property.Scale)) {
    props.add(OProperties.int32(Edm.Property.Scale, p.getScale()));
  }
  if (p.getUnicode() != null && c.pathHelper.isSelected(Edm.Property.Unicode)) {
    props.add(OProperties.boolean_(Edm.Property.Unicode, p.getUnicode()));
  }
  // TODO: collation
  // TODO: ConcurrencyMode
  if (p.getCollectionKind() != CollectionKind.NONE) {
    props.add(OProperties.string(Edm.Property.CollectionKind, p.getCollectionKind().toString()));
  }

  this.addDocumenation(c, p, props);
  addAnnotationProperties(c, p, props);

  EdmEntitySet entitySet = edm.findEdmEntitySet(Edm.EntitySets.Properties);

  if (this.decorator != null) {
    this.decorator.decorateEntity(entitySet, p, queryType, props, c.flatten, c.locale, c.queryInfo != null ? c.queryInfo.customOptions : null);
  }

  return OEntities.create(entitySet,
      OEntityKey.create(Edm.Property.Namespace, et.getNamespace(), Edm.Property.EntityTypeName, et.getName(), Edm.Property.Name, p.getName()),
      props,
      Collections.<OLink> emptyList());
}
 
开发者ID:teiid,项目名称:oreva,代码行数:56,代码来源:MetadataProducer.java

示例7: writeProperties

import org.odata4j.edm.EdmProperty; //导入方法依赖的package包/类
private static void writeProperties(Iterable<EdmProperty> properties, XMLWriter2 writer) {
  for (EdmProperty prop : properties) {
    writer.startElement(new QName2("Property"));

    writer.writeAttribute("Name", prop.getName());
    writer.writeAttribute("Type", prop.getType().getFullyQualifiedTypeName());
    writer.writeAttribute("Nullable", Boolean.toString(prop.isNullable()));
    if (prop.getDefaultValue() != null) {
      writer.writeAttribute("DefaultValue", prop.getDefaultValue());
    }
    if (prop.getMaxLength() != null) {
      writer.writeAttribute("MaxLength", Integer.toString(prop.getMaxLength()));
    }
    if (prop.getFixedLength() != null) {
      writer.writeAttribute("FixedLength", Boolean.toString(prop.getFixedLength()));
    }
    if (!prop.getCollectionKind().equals(CollectionKind.NONE)) {
      writer.writeAttribute("CollectionKind", prop.getCollectionKind().toString());
    }

    if (prop.getPrecision() != null) {
      writer.writeAttribute("Precision", Integer.toString(prop.getPrecision()));
    }
    if (prop.getScale() != null) {
      writer.writeAttribute("Scale", Integer.toString(prop.getScale()));
    }
    if (prop.getCollation() != null) {
      writer.writeAttribute("Collation", prop.getCollation());
    }
    if (prop.getUnicode() != null) {
      writer.writeAttribute("Unicode", Boolean.toString(prop.getUnicode()));
    }
    if (prop.getConcurrencyMode() != null) {
      writer.writeAttribute("ConcurrencyMode", prop.getConcurrencyMode());
    }
    if (prop.getMimeType() != null) {
      writer.writeAttribute(new QName2(m, "MimeType", "m"), prop.getMimeType());
    }
    if (prop.getFcTargetPath() != null) {
      writer.writeAttribute(new QName2(m, "FC_TargetPath", "m"), prop.getFcTargetPath());
    }
    if (prop.getFcKeepInContent() != null) {
      writer.writeAttribute(new QName2(m, "FC_KeepInContent", "m"), prop.getFcKeepInContent());
    }
    if (prop.getFcNsPrefix() != null) {
      writer.writeAttribute(new QName2(m, "FC_NsPrefix", "m"), prop.getFcNsPrefix());
    }
    if (prop.getFcNsUri() != null) {
      writer.writeAttribute(new QName2(m, "FC_NsUri", "m"), prop.getFcNsUri());
    }

    writeAnnotationAttributes(prop, writer);
    writeAnnotationElements(prop, writer);
    writer.endElement("Property");
  }
}
 
开发者ID:teiid,项目名称:oreva,代码行数:57,代码来源:EdmxFormatWriter.java


注:本文中的org.odata4j.edm.EdmProperty.getDefaultValue方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。