2017-02-08 9 views
1

Olingoを使用してOdata V4サービスを実装しました。私は
Aggregation.ApplySupported私のサービスへの注釈を含めることを試みています。しかし、注釈項の値は、$ $メタデータ文書では空白です。以下は私のコードスニペット私が行方不明ですいただきまし把握することはできません

List<CsdlAnnotation> list = new ArrayList<CsdlAnnotation>(); 
CsdlAnnotation annotationAttribute = new CsdlAnnotation(); 
annotationAttribute.setTerm("Aggregation.ApplySupported"); 
annotationAttribute.setExpression(new CsdlConstantExpression(CsdlConstantExpression.ConstantExpressionType.String, "true")); 
list.add(annotationAttribute); 
entityContainer.setAnnotations(list); 

$メタデータ

<EntityContainer Name="myContainer"> 
    <!-- .....sets --> 
    <Annotation> <!-- term is blank --> 
    <String>true</String> 
    </Annotation> 
</EntityContainer> 

です。 ありがとうございます。

答えて

1

プロバイダのgetTermメソッドをオーバーライドする必要があります。

@Override 
    public CsdlTerm getTerm(final FullQualifiedName termName) throws ODataException { 
     return new CsdlTerm().setAppliesTo(Arrays.asList("EntityContainer")) 
       .setName("ApplySupported"); 
    } 

ここでは例を参照してください:https://apache.googlesource.com/olingo-odata4/+/master/lib/server-core/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializerTest.java

関連する問題