You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by lb...@apache.org on 2018/12/24 11:39:55 UTC
[camel-k] branch master updated (5140057 -> 94305dd)
This is an automated email from the ASF dual-hosted git repository.
lburgazzoli pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git.
from 5140057 chore(client): add a reset command
new a0b0881 Moving camel environment to API
new 40e9ab5 Moving Knative env serialization to API
new 9b0ad02 Add flows to types
new 38dce53 Add option to provide initial configuration to Knative
new d522efb Force setting the default port if missing
new 94305dd Adding JSON auto-conversion option
The 6 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
cmd/camel-k/main.go | 2 +-
cmd/kamel/main.go | 2 +-
.../camel/v1alpha1}/knative/register.go | 0
pkg/{util => apis/camel/v1alpha1}/knative/types.go | 0
pkg/apis/camel/v1alpha1/knative/types_support.go | 94 ++++++++++++++++++++++
pkg/apis/camel/v1alpha1/types.go | 3 +
pkg/apis/camel/v1alpha1/types_support.go | 10 +++
pkg/trait/knative.go | 58 +++++++------
.../camel/component/knative/KnativeComponent.java | 10 +++
.../knative/KnativeConversionProcessor.java | 28 +++++++
.../camel/component/knative/KnativeEndpoint.java | 20 +++--
11 files changed, 192 insertions(+), 35 deletions(-)
rename pkg/{util => apis/camel/v1alpha1}/knative/register.go (100%)
rename pkg/{util => apis/camel/v1alpha1}/knative/types.go (100%)
create mode 100644 pkg/apis/camel/v1alpha1/knative/types_support.go
create mode 100644 runtime/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeConversionProcessor.java
[camel-k] 05/06: Force setting the default port if missing
Posted by lb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
lburgazzoli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit d522efbcee0eca97bafa8c5709f1e012a8bbb4f1
Author: nferraro <ni...@gmail.com>
AuthorDate: Mon Dec 24 10:42:27 2018 +0100
Force setting the default port if missing
---
pkg/apis/camel/v1alpha1/knative/types_support.go | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/pkg/apis/camel/v1alpha1/knative/types_support.go b/pkg/apis/camel/v1alpha1/knative/types_support.go
index 97c6fe7..25f9ac9 100644
--- a/pkg/apis/camel/v1alpha1/knative/types_support.go
+++ b/pkg/apis/camel/v1alpha1/knative/types_support.go
@@ -29,12 +29,13 @@ func BuildCamelServiceDefinition(name string, serviceType CamelServiceType, rawu
if err != nil {
return nil, err
}
+ protocol := CamelProtocol(serviceURL.Scheme)
definition := CamelServiceDefinition{
Name: name,
Host: serviceURL.Host,
- Port: -1,
+ Port: defaultCamelProtocolPort(protocol),
ServiceType: serviceType,
- Protocol: CamelProtocol(serviceURL.Scheme),
+ Protocol: protocol,
Metadata: make(map[string]string),
}
portStr := serviceURL.Port()
@@ -54,6 +55,17 @@ func BuildCamelServiceDefinition(name string, serviceType CamelServiceType, rawu
return &definition, nil
}
+func defaultCamelProtocolPort(prot CamelProtocol) int {
+ switch prot {
+ case CamelProtocolHTTP:
+ return 80
+ case CamelProtocolHTTPS:
+ return 443
+ default:
+ return -1
+ }
+}
+
// Serialize serializes a CamelEnvironment
func (env *CamelEnvironment) Serialize() (string, error) {
res, err := json.Marshal(env)
[camel-k] 01/06: Moving camel environment to API
Posted by lb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
lburgazzoli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit a0b0881d6660e30251121d2aab1adf6a525f8727
Author: nferraro <ni...@gmail.com>
AuthorDate: Fri Dec 21 17:02:26 2018 +0100
Moving camel environment to API
---
cmd/camel-k/main.go | 2 +-
cmd/kamel/main.go | 2 +-
.../camel/v1alpha1}/knative/register.go | 0
pkg/{util => apis/camel/v1alpha1}/knative/types.go | 0
pkg/apis/camel/v1alpha1/knative/types_support.go | 54 ++++++++++++++++++++++
pkg/trait/knative.go | 29 ++++++------
6 files changed, 71 insertions(+), 16 deletions(-)
diff --git a/cmd/camel-k/main.go b/cmd/camel-k/main.go
index e5d71f3..67da2fe 100644
--- a/cmd/camel-k/main.go
+++ b/cmd/camel-k/main.go
@@ -28,7 +28,7 @@ import (
"github.com/operator-framework/operator-sdk/pkg/util/k8sutil"
sdkVersion "github.com/operator-framework/operator-sdk/version"
- _ "github.com/apache/camel-k/pkg/util/knative"
+ _ "github.com/apache/camel-k/pkg/apis/camel/v1alpha1/knative"
_ "github.com/apache/camel-k/pkg/util/openshift"
"github.com/sirupsen/logrus"
diff --git a/cmd/kamel/main.go b/cmd/kamel/main.go
index e711d0d..18822ea 100644
--- a/cmd/kamel/main.go
+++ b/cmd/kamel/main.go
@@ -26,7 +26,7 @@ import (
"github.com/apache/camel-k/pkg/client/cmd"
- _ "github.com/apache/camel-k/pkg/util/knative"
+ _ "github.com/apache/camel-k/pkg/apis/camel/v1alpha1/knative"
_ "github.com/apache/camel-k/pkg/util/openshift"
_ "k8s.io/client-go/plugin/pkg/client/auth/gcp"
)
diff --git a/pkg/util/knative/register.go b/pkg/apis/camel/v1alpha1/knative/register.go
similarity index 100%
rename from pkg/util/knative/register.go
rename to pkg/apis/camel/v1alpha1/knative/register.go
diff --git a/pkg/util/knative/types.go b/pkg/apis/camel/v1alpha1/knative/types.go
similarity index 100%
rename from pkg/util/knative/types.go
rename to pkg/apis/camel/v1alpha1/knative/types.go
diff --git a/pkg/apis/camel/v1alpha1/knative/types_support.go b/pkg/apis/camel/v1alpha1/knative/types_support.go
new file mode 100644
index 0000000..b8cc62d
--- /dev/null
+++ b/pkg/apis/camel/v1alpha1/knative/types_support.go
@@ -0,0 +1,54 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package knative
+
+import (
+ "net/url"
+ "strconv"
+)
+
+// BuildCamelServiceDefinition creates a CamelServiceDefinition from a given URL
+func BuildCamelServiceDefinition(name string, serviceType CamelServiceType, rawurl string) (*CamelServiceDefinition, error) {
+ serviceURL, err := url.Parse(rawurl)
+ if err != nil {
+ return nil, err
+ }
+ definition := CamelServiceDefinition{
+ Name: name,
+ Host: serviceURL.Host,
+ Port: -1,
+ ServiceType: serviceType,
+ Protocol: CamelProtocol(serviceURL.Scheme),
+ Metadata: make(map[string]string),
+ }
+ portStr := serviceURL.Port()
+ if portStr != "" {
+ port, err := strconv.Atoi(portStr)
+ if err != nil {
+ return nil, err
+ }
+ definition.Port = port
+ }
+ path := serviceURL.Path
+ if path != "" {
+ definition.Metadata[CamelMetaServicePath] = path
+ } else {
+ definition.Metadata[CamelMetaServicePath] = "/"
+ }
+ return &definition, nil
+}
diff --git a/pkg/trait/knative.go b/pkg/trait/knative.go
index ae2e30d..ae743af 100644
--- a/pkg/trait/knative.go
+++ b/pkg/trait/knative.go
@@ -33,6 +33,7 @@ import (
"github.com/apache/camel-k/pkg/metadata"
knativeutil "github.com/apache/camel-k/pkg/util/knative"
+ knativeapi "github.com/apache/camel-k/pkg/apis/camel/v1alpha1/knative"
eventing "github.com/knative/eventing/pkg/apis/eventing/v1alpha1"
serving "github.com/knative/serving/pkg/apis/serving/v1alpha1"
corev1 "k8s.io/api/core/v1"
@@ -296,19 +297,19 @@ func (t *knativeTrait) getConfigurationSerialized(e *Environment) (string, error
return string(res), nil
}
-func (t *knativeTrait) getConfiguration(e *Environment) (knativeutil.CamelEnvironment, error) {
- env := knativeutil.NewCamelEnvironment()
+func (t *knativeTrait) getConfiguration(e *Environment) (knativeapi.CamelEnvironment, error) {
+ env := knativeapi.NewCamelEnvironment()
// Sources
sourceChannels := t.getConfiguredSourceChannels()
for _, ch := range sourceChannels {
- svc := knativeutil.CamelServiceDefinition{
+ svc := knativeapi.CamelServiceDefinition{
Name: ch,
Host: "0.0.0.0",
Port: 8080,
- Protocol: knativeutil.CamelProtocolHTTP,
- ServiceType: knativeutil.CamelServiceTypeChannel,
+ Protocol: knativeapi.CamelProtocolHTTP,
+ ServiceType: knativeapi.CamelServiceTypeChannel,
Metadata: map[string]string{
- knativeutil.CamelMetaServicePath: "/",
+ knativeapi.CamelMetaServicePath: "/",
},
}
env.Services = append(env.Services, svc)
@@ -324,27 +325,27 @@ func (t *knativeTrait) getConfiguration(e *Environment) (knativeutil.CamelEnviro
if hostname == "" {
return env, errors.New("cannot find address of channel " + ch)
}
- svc := knativeutil.CamelServiceDefinition{
+ svc := knativeapi.CamelServiceDefinition{
Name: ch,
Host: hostname,
Port: 80,
- Protocol: knativeutil.CamelProtocolHTTP,
- ServiceType: knativeutil.CamelServiceTypeChannel,
+ Protocol: knativeapi.CamelProtocolHTTP,
+ ServiceType: knativeapi.CamelServiceTypeChannel,
Metadata: map[string]string{
- knativeutil.CamelMetaServicePath: "/",
+ knativeapi.CamelMetaServicePath: "/",
},
}
env.Services = append(env.Services, svc)
}
// Adding default endpoint
- defSvc := knativeutil.CamelServiceDefinition{
+ defSvc := knativeapi.CamelServiceDefinition{
Name: "default",
Host: "0.0.0.0",
Port: 8080,
- Protocol: knativeutil.CamelProtocolHTTP,
- ServiceType: knativeutil.CamelServiceTypeEndpoint,
+ Protocol: knativeapi.CamelProtocolHTTP,
+ ServiceType: knativeapi.CamelServiceTypeEndpoint,
Metadata: map[string]string{
- knativeutil.CamelMetaServicePath: "/",
+ knativeapi.CamelMetaServicePath: "/",
},
}
env.Services = append(env.Services, defSvc)
[camel-k] 04/06: Add option to provide initial configuration to
Knative
Posted by lb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
lburgazzoli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit 38dce53521e61a0118af2f8f6c5be5c820fef11f
Author: nferraro <ni...@gmail.com>
AuthorDate: Mon Dec 24 09:37:21 2018 +0100
Add option to provide initial configuration to Knative
---
pkg/apis/camel/v1alpha1/knative/types_support.go | 21 +++++++++++++++++++--
pkg/trait/knative.go | 23 +++++++++++++++++------
2 files changed, 36 insertions(+), 8 deletions(-)
diff --git a/pkg/apis/camel/v1alpha1/knative/types_support.go b/pkg/apis/camel/v1alpha1/knative/types_support.go
index 49df4c3..97c6fe7 100644
--- a/pkg/apis/camel/v1alpha1/knative/types_support.go
+++ b/pkg/apis/camel/v1alpha1/knative/types_support.go
@@ -54,12 +54,29 @@ func BuildCamelServiceDefinition(name string, serviceType CamelServiceType, rawu
return &definition, nil
}
-
// Serialize serializes a CamelEnvironment
-func (env CamelEnvironment) Serialize() (string, error) {
+func (env *CamelEnvironment) Serialize() (string, error) {
res, err := json.Marshal(env)
if err != nil {
return "", err
}
return string(res), nil
}
+
+// Deserialize deserializes a camel environment into this struct
+func (env *CamelEnvironment) Deserialize(str string) error {
+ if err := json.Unmarshal([]byte(str), env); err != nil {
+ return err
+ }
+ return nil
+}
+
+// ContainsService tells if the environment contains a service with the given name and type
+func (env *CamelEnvironment) ContainsService(name string, serviceType CamelServiceType) bool {
+ for _, svc := range env.Services {
+ if svc.Name == name && svc.ServiceType == serviceType {
+ return true
+ }
+ }
+ return false
+}
diff --git a/pkg/trait/knative.go b/pkg/trait/knative.go
index 60010b4..977d6ad 100644
--- a/pkg/trait/knative.go
+++ b/pkg/trait/knative.go
@@ -45,12 +45,13 @@ const (
)
type knativeTrait struct {
- BaseTrait `property:",squash"`
- Sources string `property:"sources"`
- Sinks string `property:"sinks"`
- MinScale *int `property:"minScale"`
- MaxScale *int `property:"maxScale"`
- Auto *bool `property:"auto"`
+ BaseTrait `property:",squash"`
+ Configuration string `property:"configuration"`
+ Sources string `property:"sources"`
+ Sinks string `property:"sinks"`
+ MinScale *int `property:"minScale"`
+ MaxScale *int `property:"maxScale"`
+ Auto *bool `property:"auto"`
}
func newKnativeTrait() *knativeTrait {
@@ -293,9 +294,16 @@ func (t *knativeTrait) getConfigurationSerialized(e *Environment) (string, error
func (t *knativeTrait) getConfiguration(e *Environment) (knativeapi.CamelEnvironment, error) {
env := knativeapi.NewCamelEnvironment()
+ if t.Configuration != "" {
+ env.Deserialize(t.Configuration)
+ }
+
// Sources
sourceChannels := t.getConfiguredSourceChannels()
for _, ch := range sourceChannels {
+ if env.ContainsService(ch, knativeapi.CamelServiceTypeChannel) {
+ continue
+ }
svc := knativeapi.CamelServiceDefinition{
Name: ch,
Host: "0.0.0.0",
@@ -311,6 +319,9 @@ func (t *knativeTrait) getConfiguration(e *Environment) (knativeapi.CamelEnviron
// Sinks
sinkChannels := t.getConfiguredSinkChannels()
for _, ch := range sinkChannels {
+ if env.ContainsService(ch, knativeapi.CamelServiceTypeChannel) {
+ continue
+ }
channel, err := t.retrieveChannel(e.Integration.Namespace, ch)
if err != nil {
return env, err
[camel-k] 02/06: Moving Knative env serialization to API
Posted by lb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
lburgazzoli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit 40e9ab5ee4e8ab853b0074da69dcedee262d1e33
Author: nferraro <ni...@gmail.com>
AuthorDate: Fri Dec 21 17:19:13 2018 +0100
Moving Knative env serialization to API
---
pkg/apis/camel/v1alpha1/knative/types_support.go | 11 +++++++++++
pkg/trait/knative.go | 10 ++--------
2 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/pkg/apis/camel/v1alpha1/knative/types_support.go b/pkg/apis/camel/v1alpha1/knative/types_support.go
index b8cc62d..49df4c3 100644
--- a/pkg/apis/camel/v1alpha1/knative/types_support.go
+++ b/pkg/apis/camel/v1alpha1/knative/types_support.go
@@ -18,6 +18,7 @@ limitations under the License.
package knative
import (
+ "encoding/json"
"net/url"
"strconv"
)
@@ -52,3 +53,13 @@ func BuildCamelServiceDefinition(name string, serviceType CamelServiceType, rawu
}
return &definition, nil
}
+
+
+// Serialize serializes a CamelEnvironment
+func (env CamelEnvironment) Serialize() (string, error) {
+ res, err := json.Marshal(env)
+ if err != nil {
+ return "", err
+ }
+ return string(res), nil
+}
diff --git a/pkg/trait/knative.go b/pkg/trait/knative.go
index ae743af..60010b4 100644
--- a/pkg/trait/knative.go
+++ b/pkg/trait/knative.go
@@ -18,7 +18,6 @@ limitations under the License.
package trait
import (
- "encoding/json"
"fmt"
"github.com/apache/camel-k/pkg/util/envvar"
@@ -31,9 +30,9 @@ import (
"github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
+ knativeapi "github.com/apache/camel-k/pkg/apis/camel/v1alpha1/knative"
"github.com/apache/camel-k/pkg/metadata"
knativeutil "github.com/apache/camel-k/pkg/util/knative"
- knativeapi "github.com/apache/camel-k/pkg/apis/camel/v1alpha1/knative"
eventing "github.com/knative/eventing/pkg/apis/eventing/v1alpha1"
serving "github.com/knative/serving/pkg/apis/serving/v1alpha1"
corev1 "k8s.io/api/core/v1"
@@ -289,12 +288,7 @@ func (t *knativeTrait) getConfigurationSerialized(e *Environment) (string, error
if err != nil {
return "", errors.Wrap(err, "unable fetch environment configuration")
}
-
- res, err := json.Marshal(env)
- if err != nil {
- return "", errors.Wrap(err, "unable to serialize Knative configuration")
- }
- return string(res), nil
+ return env.Serialize()
}
func (t *knativeTrait) getConfiguration(e *Environment) (knativeapi.CamelEnvironment, error) {
[camel-k] 03/06: Add flows to types
Posted by lb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
lburgazzoli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit 9b0ad0252e8a6fd19649e5becbbebb05e99f710c
Author: nferraro <ni...@gmail.com>
AuthorDate: Mon Dec 24 09:07:13 2018 +0100
Add flows to types
---
pkg/apis/camel/v1alpha1/types.go | 3 +++
pkg/apis/camel/v1alpha1/types_support.go | 10 ++++++++++
2 files changed, 13 insertions(+)
diff --git a/pkg/apis/camel/v1alpha1/types.go b/pkg/apis/camel/v1alpha1/types.go
index ef4dcc0..9951e3f 100644
--- a/pkg/apis/camel/v1alpha1/types.go
+++ b/pkg/apis/camel/v1alpha1/types.go
@@ -363,6 +363,9 @@ type Flow struct {
Steps []Step `json:"steps"`
}
+// Flows are collections of Flow
+type Flows []Flow
+
// Step --
type Step struct {
Kind string `json:"kind"`
diff --git a/pkg/apis/camel/v1alpha1/types_support.go b/pkg/apis/camel/v1alpha1/types_support.go
index 21df605..95a842f 100644
--- a/pkg/apis/camel/v1alpha1/types_support.go
+++ b/pkg/apis/camel/v1alpha1/types_support.go
@@ -19,6 +19,7 @@ package v1alpha1
import (
"fmt"
+ "gopkg.in/yaml.v2"
"strings"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -128,3 +129,12 @@ func TraitProfileByName(name string) TraitProfile {
}
return ""
}
+
+// Serialize serializes a Flow
+func (flows Flows) Serialize() (string, error) {
+ res, err := yaml.Marshal(flows)
+ if err != nil {
+ return "", err
+ }
+ return string(res), nil
+}
[camel-k] 06/06: Adding JSON auto-conversion option
Posted by lb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
lburgazzoli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit 94305ddbb1e1dca841976a30a401a2239b48d26a
Author: nferraro <ni...@gmail.com>
AuthorDate: Mon Dec 24 12:12:42 2018 +0100
Adding JSON auto-conversion option
---
.../camel/component/knative/KnativeComponent.java | 10 ++++++++
.../knative/KnativeConversionProcessor.java | 28 ++++++++++++++++++++++
.../camel/component/knative/KnativeEndpoint.java | 20 ++++++++++------
3 files changed, 51 insertions(+), 7 deletions(-)
diff --git a/runtime/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeComponent.java b/runtime/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeComponent.java
index 0767fda..264f644 100644
--- a/runtime/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeComponent.java
+++ b/runtime/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeComponent.java
@@ -30,6 +30,8 @@ public class KnativeComponent extends DefaultComponent {
private final KnativeConfiguration configuration;
private String environmentPath;
+ private boolean jsonSerializationEnabled;
+
public KnativeComponent() {
this(null);
}
@@ -116,4 +118,12 @@ public class KnativeComponent extends DefaultComponent {
return conf;
}
+
+ public boolean isJsonSerializationEnabled() {
+ return jsonSerializationEnabled;
+ }
+
+ public void setJsonSerializationEnabled(boolean jsonSerializationEnabled) {
+ this.jsonSerializationEnabled = jsonSerializationEnabled;
+ }
}
diff --git a/runtime/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeConversionProcessor.java b/runtime/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeConversionProcessor.java
new file mode 100644
index 0000000..6ff5830
--- /dev/null
+++ b/runtime/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeConversionProcessor.java
@@ -0,0 +1,28 @@
+package org.apache.camel.component.knative;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
+
+/**
+ * Converts objects prior to serializing them to external endpoints or channels
+ */
+public class KnativeConversionProcessor implements Processor {
+
+ private boolean enabled;
+
+ public KnativeConversionProcessor(boolean enabled) {
+ this.enabled = enabled;
+ }
+
+ @Override
+ public void process(Exchange exchange) throws Exception {
+ if (enabled) {
+ Object body = exchange.getIn().getBody();
+ if (body != null) {
+ byte[] newBody = Knative.MAPPER.writeValueAsBytes(body);
+ exchange.getIn().setBody(newBody);
+ exchange.getIn().setHeader("CE-ContentType", "application/json");
+ }
+ }
+ }
+}
diff --git a/runtime/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeEndpoint.java b/runtime/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeEndpoint.java
index 10f264c..89c7f3b 100644
--- a/runtime/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeEndpoint.java
+++ b/runtime/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeEndpoint.java
@@ -16,13 +16,6 @@
*/
package org.apache.camel.component.knative;
-import java.io.InputStream;
-import java.time.ZoneId;
-import java.time.ZonedDateTime;
-import java.time.format.DateTimeFormatter;
-import java.util.HashMap;
-import java.util.Map;
-
import org.apache.camel.CamelContext;
import org.apache.camel.Consumer;
import org.apache.camel.DelegateEndpoint;
@@ -44,6 +37,13 @@ import org.apache.camel.util.StringHelper;
import org.apache.camel.util.URISupport;
import org.apache.commons.lang3.StringUtils;
+import java.io.InputStream;
+import java.time.ZoneId;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.HashMap;
+import java.util.Map;
+
import static org.apache.camel.util.ObjectHelper.ifNotEmpty;
@@ -101,6 +101,11 @@ public class KnativeEndpoint extends DefaultEndpoint implements DelegateEndpoint
}
@Override
+ public KnativeComponent getComponent() {
+ return (KnativeComponent) super.getComponent();
+ }
+
+ @Override
public Producer createProducer() throws Exception {
return new KnativeProducer(
this,
@@ -121,6 +126,7 @@ public class KnativeEndpoint extends DefaultEndpoint implements DelegateEndpoint
// Always remove host so it's always computed from the URL and not inherited from the exchange
headers.remove("Host");
},
+ new KnativeConversionProcessor(getComponent().isJsonSerializationEnabled()),
endpoint.createProducer()
);
}