本文整理汇总了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);
}
示例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;
}
示例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;
}
示例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;
}
示例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);
}
示例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);
}
}
示例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;
}
示例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");
}
}
示例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;
}