diff --git a/languages/csharp/src/main/kotlin/io/vrap/codegen/languages/csharp/extensions/CsharpObjectTypeExtensions.kt b/languages/csharp/src/main/kotlin/io/vrap/codegen/languages/csharp/extensions/CsharpObjectTypeExtensions.kt index 23e2c4ae..f2a996f6 100644 --- a/languages/csharp/src/main/kotlin/io/vrap/codegen/languages/csharp/extensions/CsharpObjectTypeExtensions.kt +++ b/languages/csharp/src/main/kotlin/io/vrap/codegen/languages/csharp/extensions/CsharpObjectTypeExtensions.kt @@ -73,6 +73,9 @@ interface CsharpObjectTypeExtensions : ExtensionsBase { if (props.any { it.simpleName() == "Date" || (it is VrapArrayType && (it.itemType.simpleName() == "Date")) }) { usings = usings.plus("commercetools.Base.Models") } + if (props.any { it.simpleName() == "Stream" || it is VrapArrayType && it.itemType.simpleName() == "Stream" }) { + usings = usings.plus("System.IO") + } if (isInterface || this.discriminator.isNullOrEmpty().not() || (this.isInlineType && (this.type as ObjectType).discriminator.isNullOrEmpty().not())) { usings = usings.plus("commercetools.Base.CustomAttributes") .plus("System") diff --git a/languages/csharp/src/main/kotlin/io/vrap/codegen/languages/csharp/extensions/CsharpVrapExtensions.kt b/languages/csharp/src/main/kotlin/io/vrap/codegen/languages/csharp/extensions/CsharpVrapExtensions.kt index a73e8791..7819eb8f 100644 --- a/languages/csharp/src/main/kotlin/io/vrap/codegen/languages/csharp/extensions/CsharpVrapExtensions.kt +++ b/languages/csharp/src/main/kotlin/io/vrap/codegen/languages/csharp/extensions/CsharpVrapExtensions.kt @@ -17,7 +17,7 @@ fun VrapType.simpleName(): String { is VrapScalarType -> this.scalarType is VrapDateTimeType -> this.simpleClassName is VrapEnumType -> "I"+this.simpleClassName - is VrapObjectType -> if(this.simpleClassName == "Date" || this.simpleClassName == "DateTime" || this.simpleClassName == "TimeSpan" || this.simpleClassName == "Object") this.simpleClassName else "I${this.simpleClassName}" + is VrapObjectType -> if(this.simpleClassName == "Date" || this.simpleClassName == "DateTime" || this.simpleClassName == "TimeSpan" || this.simpleClassName == "Object" || this.simpleClassName == "Stream") this.simpleClassName else "I${this.simpleClassName}" is VrapAnyType -> this.baseType is VrapArrayType -> """IList\<${this.itemType.simpleName()}\>""" is VrapNilType -> throw IllegalStateException("$this has no simple class name.") diff --git a/languages/csharp/src/main/kotlin/io/vrap/codegen/languages/csharp/predicates/CsharpQueryPredicateRenderer.kt b/languages/csharp/src/main/kotlin/io/vrap/codegen/languages/csharp/predicates/CsharpQueryPredicateRenderer.kt index cd4c88d2..ee442871 100644 --- a/languages/csharp/src/main/kotlin/io/vrap/codegen/languages/csharp/predicates/CsharpQueryPredicateRenderer.kt +++ b/languages/csharp/src/main/kotlin/io/vrap/codegen/languages/csharp/predicates/CsharpQueryPredicateRenderer.kt @@ -120,7 +120,7 @@ class CsharpQueryPredicateRenderer constructor(val basePackage: String, override private fun VrapType.toBuilderDsl(propertyName: String, propertyType: AnyType, vrapType: VrapObjectType, isItemType: Boolean = false) : String { val methodName = propertyName.upperCamelCase() - if (this.simpleName() == "DateTime" || this.simpleName() == "Date" || this.simpleName() == "TimeSpan" || this.simpleName() == Object::class.java.simpleName) { + if (this.simpleName() == "DateTime" || this.simpleName() == "Date" || this.simpleName() == "TimeSpan" || this.simpleName() == "Stream" || this.simpleName() == Object::class.java.simpleName) { return """ |public IComparisonPredicateBuilder<${vrapType.builderDslName()}, ${propertyType.comparisonValue()}> $methodName() |{ diff --git a/languages/javalang/builder-renderer/java-builder-client/src/main/kotlin/io/vrap/codegen/languages/javalang/client/builder/predicates/JavaQueryPredicateRenderer.kt b/languages/javalang/builder-renderer/java-builder-client/src/main/kotlin/io/vrap/codegen/languages/javalang/client/builder/predicates/JavaQueryPredicateRenderer.kt index e9a4cc01..24e2101f 100644 --- a/languages/javalang/builder-renderer/java-builder-client/src/main/kotlin/io/vrap/codegen/languages/javalang/client/builder/predicates/JavaQueryPredicateRenderer.kt +++ b/languages/javalang/builder-renderer/java-builder-client/src/main/kotlin/io/vrap/codegen/languages/javalang/client/builder/predicates/JavaQueryPredicateRenderer.kt @@ -100,7 +100,9 @@ class JavaQueryPredicateRenderer constructor(val basePackage: String, override v methodName = "_$methodName" } - if (this.simpleName() == ZonedDateTime::class.simpleName || this.simpleName() == LocalTime::class.simpleName || this.simpleName() == LocalDate::class.simpleName || this.simpleName() == Object::class.java.simpleName) { + if (this.simpleName() == ZonedDateTime::class.simpleName || this.simpleName() == LocalTime::class.simpleName + || this.simpleName() == LocalDate::class.simpleName || this.simpleName() == Object::class.java.simpleName + || this.simpleName() == java.io.File::class.simpleName) { return """ |public ${propertyType.comparisonPredicate()}<${vrapType.builderDslName()}> $methodName() { | return new ${propertyType.comparisonPredicate()}<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("${propertyName}")), diff --git a/languages/javalang/builder-renderer/java-builder-client/src/main/kotlin/io/vrap/codegen/languages/javalang/client/builder/test/JavaBuilderTestRenderer.kt b/languages/javalang/builder-renderer/java-builder-client/src/main/kotlin/io/vrap/codegen/languages/javalang/client/builder/test/JavaBuilderTestRenderer.kt index 2538b435..666603c1 100644 --- a/languages/javalang/builder-renderer/java-builder-client/src/main/kotlin/io/vrap/codegen/languages/javalang/client/builder/test/JavaBuilderTestRenderer.kt +++ b/languages/javalang/builder-renderer/java-builder-client/src/main/kotlin/io/vrap/codegen/languages/javalang/client/builder/test/JavaBuilderTestRenderer.kt @@ -26,7 +26,8 @@ class JavaBuilderTestRenderer constructor(override val vrapTypeProvider: VrapTyp fun render(type: ObjectType): TemplateFile { val vrapType = vrapTypeProvider.doSwitch(type).toJavaVType() as VrapObjectType - val properties = type.properties.filterNot { it.deprecated() || it.isPatternProperty() || it.name == type.discriminator() } + val properties = type.properties.filterNot { it.deprecated() || it.isPatternProperty() || it.name == type.discriminator() || it.type.isFile() + || (it.type is ArrayType && (it.type as ArrayType).items.isFile()) } val content = """ |package ${vrapType.`package`}; |