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


Java EdmProperty.getName方法代码示例

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


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

示例1: setDefaultValue

import org.odata4j.edm.EdmProperty; //导入方法依赖的package包/类
/**
 * スキーマ定義をもとにOPropertyにデフォルト値を設定. <br />
 * MERGEの場合、キー, updated, published以外の項目にデフォルト値は設定しない
 * @param ep EdmProperty
 * @param propName プロパティ名
 * @param op OProperty
 * @param metadata EdmDataServicesスキーマ定義
 * @return Oproperty
 */
@Override
protected OProperty<?> setDefaultValue(EdmProperty ep, String propName, OProperty<?> op, EdmDataServices metadata) {

    if (metadata != null) {
        // スキーマ情報の取得
        EdmEntitySet edmEntitySet = metadata.findEdmEntitySet(getEntitySetName());
        EdmEntityType edmEntityType = edmEntitySet.getType();
        // スキーマに定義されたキーリストを取得
        List<String> keysDefined = edmEntityType.getKeys();
        String epName = ep.getName();

        // キー, updated, published以外の項目にデフォルト値は設定しない
        if (!keysDefined.contains(epName) && !Common.P_PUBLISHED.getName().equals(epName)
                && !Common.P_UPDATED.getName().equals(epName)) {
            return null;
        }
    }

    return super.setDefaultValue(ep, propName, op, metadata);
}
 
开发者ID:personium,项目名称:personium-core,代码行数:30,代码来源:ODataMergeResource.java

示例2: createNewComplexProperties

import org.odata4j.edm.EdmProperty; //导入方法依赖的package包/类
/**
 * ComplexTypeスキーマを参照して、必須チェックとデフォルト値の設定を行う.
 * @param metadata スキーマ情報
 * @param edmComplexType ComplexTypeのスキーマ情報
 * @param complexProperties ComplexTypePropertyのList
 * @return デフォルト値を設定したComplexTypeプロパティの一覧
 */
protected List<OProperty<?>> createNewComplexProperties(EdmDataServices metadata,
        EdmComplexType edmComplexType,
        Map<String, OProperty<?>> complexProperties) {
    List<OProperty<?>> newComplexProperties = new ArrayList<OProperty<?>>();
    for (EdmProperty ctp : edmComplexType.getProperties()) {
        // プロパティ情報を取得する
        String compPropName = ctp.getName();
        OProperty<?> complexProperty = complexProperties.get(compPropName);
        if (ctp.getType().isSimple()) {
            // シンプル型の場合
            complexProperty = getSimpleProperty(ctp, compPropName, complexProperty);
        } else {
            // Complex型の場合
            complexProperty = getComplexProperty(ctp, compPropName, complexProperty, metadata);
        }
        if (complexProperty != null) {
            newComplexProperties.add(complexProperty);
        }
    }
    return newComplexProperties;
}
 
开发者ID:personium,项目名称:personium-core,代码行数:29,代码来源:AbstractODataResource.java

示例3: getFeedCustomizationMapping

import org.odata4j.edm.EdmProperty; //导入方法依赖的package包/类
private FeedCustomizationMapping getFeedCustomizationMapping(String entitySetName) {
  if (!cachedMappings.containsKey(entitySetName)) {
    FeedCustomizationMapping rt = new FeedCustomizationMapping();
    EdmDataServices metadata = getMetadata();
    if (metadata != null) {
      EdmEntitySet ees = metadata.findEdmEntitySet(entitySetName);
      if (ees == null) {
        rt = EMPTY_MAPPING;
      } else {
        EdmEntityType eet = ees.getType();
        for (EdmProperty ep : eet.getProperties()) {
          if ("SyndicationTitle".equals(ep.getFcTargetPath()) && "false".equals(ep.getFcKeepInContent()))
            rt.titlePropName = ep.getName();
          if ("SyndicationSummary".equals(ep.getFcTargetPath()) && "false".equals(ep.getFcKeepInContent()))
            rt.summaryPropName = ep.getName();
        }
      }
    }
    cachedMappings.put(entitySetName, rt);
  }
  FeedCustomizationMapping mapping = cachedMappings.get(entitySetName);
  return mapping == null || mapping == EMPTY_MAPPING ? null : mapping;
}
 
开发者ID:teiid,项目名称:oreva,代码行数:24,代码来源:AbstractODataConsumer.java

示例4: createNewComplexProperties

import org.odata4j.edm.EdmProperty; //导入方法依赖的package包/类
/**
 * ComplexTypeスキーマを参照して、必須チェックとデフォルト値の設定を行う.
 * @param metadata スキーマ情報
 * @param edmComplexType ComplexTypeのスキーマ情報
 * @param complexProperties ComplexTypePropertyのList
 * @return デフォルト値を設定したComplexTypeプロパティの一覧
 */
@Override
protected List<OProperty<?>> createNewComplexProperties(EdmDataServices metadata,
        EdmComplexType edmComplexType,
        Map<String, OProperty<?>> complexProperties) {
    // ComplexTypeスキーマを参照して、必須チェックとデフォルト値の設定を行う
    List<OProperty<?>> newComplexProperties = new ArrayList<OProperty<?>>();
    for (EdmProperty ctp : edmComplexType.getProperties()) {
        // プロパティ情報を取得する
        String compPropName = ctp.getName();
        OProperty<?> complexProperty = complexProperties.get(compPropName);
        if (ctp.getType().isSimple()) {
            // シンプル型の場合
            // MERGEの場合はデフォルト値を設定しない
            if (complexProperty == null) {
                continue;
            } else if (complexProperty.getValue() == null) {
                // Nullableチェック
                complexProperty = setDefaultValue(ctp, compPropName, complexProperty);
            }
        } else {
            // Complex型の場合
            complexProperty = getComplexProperty(ctp, compPropName, complexProperty, metadata);
        }
        if (complexProperty != null) {
            // MERGEリクエストでは、ComplexTypeのPropertyが指定されていない場合は無視する
            newComplexProperties.add(complexProperty);
        }
    }
    return newComplexProperties;
}
 
开发者ID:personium,项目名称:personium-core,代码行数:38,代码来源:ODataMergeResource.java

示例5: computeFeedCustomization

import org.odata4j.edm.EdmProperty; //导入方法依赖的package包/类
private static FeedCustomization computeFeedCustomization(EdmDataServices metadata, EdmEntityType eet) {
  PropertyCustomization syndicationTitle = null;
  PropertyCustomization syndicationSummary = null;
  for (EdmProperty ep : eet.getProperties()) {
    if ("SyndicationTitle".equals(ep.getFcTargetPath()))
      syndicationTitle = new PropertyCustomization(ep.getName(), !"false".equals(ep.getFcKeepInContent()));
    if ("SyndicationSummary".equals(ep.getFcTargetPath()))
      syndicationSummary = new PropertyCustomization(ep.getName(), !"false".equals(ep.getFcKeepInContent()));
  }
  return FeedCustomization.create(syndicationTitle, syndicationSummary);
}
 
开发者ID:teiid,项目名称:oreva,代码行数:12,代码来源:FeedCustomizations.java

示例6: createProperties

import org.odata4j.edm.EdmProperty; //导入方法依赖的package包/类
/**
 * Edmxに定義されているProperty/ComplexTypePropertyを登録する.
 * @param entity 登録対象のPropertyが定義されているEntityType/ComplexTypeオブジェクト
 * @param davCmp Collection操作用オブジェクト
 * @param producer ODataプロデューサー
 */
@SuppressWarnings("unchecked")
protected void createProperties(EdmStructuralType entity, DavCmp davCmp, PersoniumODataProducer producer) {
    Iterable<EdmProperty> properties = entity.getDeclaredProperties();
    EdmDataServices userMetadata = null;
    String edmTypeName = Property.EDM_TYPE_NAME;
    if (entity instanceof EdmComplexType) {
        edmTypeName = ComplexTypeProperty.EDM_TYPE_NAME;
    }
    for (EdmProperty property : properties) {
        String name = property.getName();
        log.debug(edmTypeName + ": " + name);
        if (name.startsWith("_")) {
            continue;
        }
        if (userMetadata == null) {
            userMetadata = CtlSchema.getEdmDataServicesForODataSvcSchema().build();
            odataEntityResource.setEntitySetName(edmTypeName);
        }
        CollectionKind kind = property.getCollectionKind();
        if (kind != null && !kind.equals(CollectionKind.NONE) && !kind.equals(CollectionKind.List)) {
            throw PersoniumCoreException.BarInstall.JSON_FILE_FORMAT_ERROR.params(METADATA_XML);
        }
        JSONObject json = new JSONObject();
        json.put("Name", property.getName());
        if (entity instanceof EdmComplexType) {
            json.put("_ComplexType.Name", entity.getName());
        } else {
            json.put("_EntityType.Name", entity.getName());
            json.put("IsKey", false); // Iskey対応時に設定する必要あり
            json.put("UniqueKey", null); // UniqueKey対応時に設定する必要あり
        }
        String typeName = property.getType().getFullyQualifiedTypeName();
        if (!property.getType().isSimple() && typeName.startsWith("UserData.")) {
            typeName = typeName.replace("UserData.", "");
        }
        json.put("Type", typeName);
        json.put("Nullable", property.isNullable());
        json.put("DefaultValue", property.getDefaultValue());
        json.put("CollectionKind", property.getCollectionKind().toString());
        StringReader stringReader = new StringReader(json.toJSONString());
        OEntityWrapper oew = odataEntityResource.getOEntityWrapper(stringReader,
                odataEntityResource.getOdataResource(), userMetadata);
        // ComplexTypePropertyの登録
        producer.createEntity(edmTypeName, oew);
    }
}
 
开发者ID:personium,项目名称:personium-core,代码行数:53,代码来源:BarFileReadRunner.java

示例7: 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

示例8: 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

示例9: fillInPojo

import org.odata4j.edm.EdmProperty; //导入方法依赖的package包/类
/**
 * Populates a new POJO instance of type pojoClass using data from the given structural object.
 */
protected <T> T fillInPojo(OStructuralObject sobj, EdmStructuralType stype, PropertyModel propertyModel,
    Class<T> pojoClass) throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {

  T pojo = pojoClass.newInstance();
  fireUnmarshalEvent(pojo, sobj, TriggerType.Before);

  for (Iterator<EdmProperty> it = stype.getProperties().iterator(); it.hasNext();) {
    EdmProperty property = it.next();
    Object value = null;
    try {
      value = sobj.getProperty(property.getName()).getValue();
    } catch (Exception ex) {
      // property not define on object
      if (property.isNullable()) {
        continue;
      } else {
        throw new RuntimeException("missing required property " + property.getName());
      }
    }

    if (property.getCollectionKind() == EdmProperty.CollectionKind.NONE) {
      if (property.getType().isSimple()) {
        // call the setter.
        propertyModel.setPropertyValue(pojo, property.getName(), value);
      } else {
        // complex.
        // hmmh, value is a Collection<OProperty<?>>...why is it not an OComplexObject.

        propertyModel.setPropertyValue(
            pojo,
            property.getName(),
            value == null
                ? null
                : toPojo(
                    OComplexObjects.create((EdmComplexType) property.getType(), (List<OProperty<?>>) value),
                    propertyModel.getPropertyType(property.getName())));
      }
    } else {
      // collection.
      OCollection<? extends OObject> collection = (OCollection<? extends OObject>) value;
      List<Object> pojos = new ArrayList<Object>();
      for (OObject item : collection) {
        if (collection.getType().isSimple()) {
          pojos.add(((OSimpleObject<?>) item).getValue());
        } else {
          // turn OComplexObject into a pojo
          pojos.add(toPojo((OComplexObject) item, propertyModel.getCollectionElementType(property.getName())));
        }
      }
      propertyModel.setCollectionValue(pojo, property.getName(), pojos);
    }
  }

  return pojo;
}
 
开发者ID:teiid,项目名称:oreva,代码行数:59,代码来源:InMemoryProducer.java


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