This is an automated email from the ASF dual-hosted git repository.

marat pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-karavan.git


The following commit(s) were added to refs/heads/main by this push:
     new 650a4c49 Set Java 17 form Github Actions #834
650a4c49 is described below

commit 650a4c4912b46bca9a9b28ef034194c2fb07e489
Author: Marat Gubaidullin <[email protected]>
AuthorDate: Tue Aug 1 17:02:31 2023 -0400

    Set Java 17 form Github Actions #834
---
 .github/workflows/app.yml                          |   4 +-
 .github/workflows/cli.yml                          |   4 +-
 .github/workflows/headless.yml                     |   4 +-
 .github/workflows/operator.yml                     |   4 +-
 .github/workflows/vscode.yml                       |   4 +-
 .../src/designer/utils/KaravanIcons.tsx            | 210 ++++++++++++++++-----
 karavan-vscode/package.json                        |  84 +++++++++
 7 files changed, 260 insertions(+), 54 deletions(-)

diff --git a/.github/workflows/app.yml b/.github/workflows/app.yml
index fd66e351..51130882 100644
--- a/.github/workflows/app.yml
+++ b/.github/workflows/app.yml
@@ -20,11 +20,11 @@ jobs:
         with:
           path: karavan
 
-      - name: Set up JDK 11
+      - name: Set up JDK 17
         uses: actions/setup-java@v3
         with:
           distribution: adopt
-          java-version: 11
+          java-version: 17
 
       - name: Cache local Maven repository
         uses: actions/cache@v3
diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml
index 490002cb..18c51d0d 100644
--- a/.github/workflows/cli.yml
+++ b/.github/workflows/cli.yml
@@ -20,11 +20,11 @@ jobs:
         with:
           path: karavan
 
-      - name: Set up JDK 11
+      - name: Set up JDK 17
         uses: actions/setup-java@v3
         with:
           distribution: adopt
-          java-version: 11
+          java-version: 17
 
       - name: Cache local Maven repository
         uses: actions/cache@v3
diff --git a/.github/workflows/headless.yml b/.github/workflows/headless.yml
index 45614316..477e8629 100644
--- a/.github/workflows/headless.yml
+++ b/.github/workflows/headless.yml
@@ -20,11 +20,11 @@ jobs:
         with:
           path: karavan
 
-      - name: Set up JDK 11
+      - name: Set up JDK 17
         uses: actions/setup-java@v3
         with:
           distribution: adopt
-          java-version: 11
+          java-version: 17
 
       - name: Cache local Maven repository
         uses: actions/cache@v3
diff --git a/.github/workflows/operator.yml b/.github/workflows/operator.yml
index c88be6ec..d85ff301 100644
--- a/.github/workflows/operator.yml
+++ b/.github/workflows/operator.yml
@@ -25,11 +25,11 @@ jobs:
         uses: actions/checkout@v3
 
       #  Generate Karavan UI model and API, Kamelets and Components
-      - name: Set up JDK 11
+      - name: Set up JDK 17
         uses: actions/setup-java@v3
         with:
           distribution: adopt
-          java-version: 11
+          java-version: 17
 
       - name: Cache local Maven repository
         uses: actions/cache@v3
diff --git a/.github/workflows/vscode.yml b/.github/workflows/vscode.yml
index 865882ac..6f9ea727 100644
--- a/.github/workflows/vscode.yml
+++ b/.github/workflows/vscode.yml
@@ -18,11 +18,11 @@ jobs:
         uses: actions/checkout@v3
 
       #  Generate Karavan UI model and API, Kamelets and Components
-      - name: Set up JDK 11
+      - name: Set up JDK 17
         uses: actions/setup-java@v3
         with:
           distribution: adopt
-          java-version: 11
+          java-version: 17
 
       - name: Cache local Maven repository
         uses: actions/cache@v3
diff --git a/karavan-designer/src/designer/utils/KaravanIcons.tsx 
b/karavan-designer/src/designer/utils/KaravanIcons.tsx
index 63bb26db..6bd0e15b 100644
--- a/karavan-designer/src/designer/utils/KaravanIcons.tsx
+++ b/karavan-designer/src/designer/utils/KaravanIcons.tsx
@@ -180,17 +180,102 @@ export function KaravanIcon(className?: string) {
     );
 }
 
+export function CamelIcon(props?: (JSX.IntrinsicAttributes & 
React.SVGProps<SVGSVGElement>) | undefined) {
+    return (<svg
+            xmlns="http://www.w3.org/2000/svg";
+            xmlnsXlink="http://www.w3.org/1999/xlink";
+            width={24}
+            height={24}
+            preserveAspectRatio="xMidYMid"
+            viewBox="0 0 256 256"
+            {...props}
+            className="icon">
+            <defs>
+                <linearGradient
+                    id="b"
+                    x1="-12.564%"
+                    x2="101.304%"
+                    y1="108.214%"
+                    y2="-1.964%"
+                >
+                    <stop offset="0%" stopColor="#F69923" />
+                    <stop offset="10.996%" stopColor="#F79A23" />
+                    <stop offset="94.502%" stopColor="#E97826" />
+                </linearGradient>
+                <linearGradient
+                    id="d"
+                    x1="-12.564%"
+                    x2="101.304%"
+                    y1="108.214%"
+                    y2="-1.964%"
+                >
+                    <stop offset="0%" stopColor="#F69923" />
+                    <stop offset="8.048%" stopColor="#F79A23" />
+                    <stop offset="41.874%" stopColor="#E97826" />
+                </linearGradient>
+                <linearGradient
+                    id="e"
+                    x1="74.724%"
+                    x2="6.653%"
+                    y1="-3.059%"
+                    y2="100.066%"
+                >
+                    <stop offset="0%" stopColor="#F6E423" />
+                    <stop offset="41.191%" stopColor="#F79A23" />
+                    <stop offset="73.271%" stopColor="#E97826" />
+                </linearGradient>
+                <circle id="a" cx={128} cy={128} r={128} />
+            </defs>
+            <mask id="c" fill="#fff">
+                <use xlinkHref="#a" />
+            </mask>
+            <circle
+                cx={127.994}
+                cy={127.994}
+                r={123.111}
+                fill="url(#b)"
+                mask="url(#c)"
+            />
+            <path
+                fill="url(#d)"
+                d="M128 256C57.308 256 0 198.692 0 128 0 57.308 57.308 0 128 
0c70.692 0 128 57.308 128 128 0 70.692-57.308 128-128 128Zm0-9.768c65.298 0 
118.232-52.934 118.232-118.232S193.298 9.768 128 9.768 9.768 62.702 9.768 128 
62.702 246.232 128 246.232Z"
+                mask="url(#c)"
+            />
+            <path
+                fill="url(#e)"
+                d="M98.044 
75.517c-1.751-.002-3.524.01-5.292.061-2.056.06-4.817.713-8 1.785 53.775 40.834 
73.108 114.497 39.875 178.514 1.129.03 2.249.123 3.385.123 60.736 0 
111.492-42.323 124.609-99.071-38.542-45.178-90.813-81.314-154.578-81.412Z"
+                mask="url(#c)"
+                opacity={0.75}
+            />
+            <path
+                fill="#28170B"
+                d="M84.752 77.368C66.895 83.378 32.83 104.546.079 132.81c2.487 
67.334 57.028 121.313 124.548 123.07 33.233-64.016 
13.901-137.68-39.875-178.513Z"
+                mask="url(#c)"
+                opacity={0.75}
+            />
+            <path
+                fill="#FFF"
+                d="M128.747 54.005c-10.985 5.495 0 27.466 0 27.466C95.774 
108.954 102.78 155.9 64.312 155.9c-20.97 0-42.242-24.077-64.233-38.828-.283 
3.479-.785 6.972-.785 10.524 0 48.095 26.263 89.924 65.42 111.897 10.952-1.38 
22.838-4.114 31.05-9.592 43.146-28.765 53.857-83.491 71.487-109.925 
10.979-16.492 62.434-15.061 65.906-22.01 
5.502-10.991-10.99-27.467-16.491-27.467h-43.958c-3.071 
0-7.897-5.456-10.974-5.456h-16.492s-7.307-11.085-13.794-11.526c-.93-.066-1.83.053-2.7.488Z"
+                mask="url(#c)"
+            />
+        </svg>
+    );
+}
+
 export function getDesignerIcon(icon: string) {
     if (icon === 'routes') return (
         <svg className="top-icon" width="32px" height="32px" viewBox="0 0 32 
32" id="icon">
             <defs>
                 <style>{".cls-1{fill:none;}"}</style>
             </defs>
-            <path 
d="M29,10H24v2h5v6H22v2h3v2.142a4,4,0,1,0,2,0V20h2a2.0027,2.0027,0,0,0,2-2V12A2.0023,2.0023,0,0,0,29,10ZM28,26a2,2,0,1,1-2-2A2.0027,2.0027,0,0,1,28,26Z"/>
-            <path 
d="M19,6H14V8h5v6H12v2h3v6.142a4,4,0,1,0,2,0V16h2a2.0023,2.0023,0,0,0,2-2V8A2.0023,2.0023,0,0,0,19,6ZM18,26a2,2,0,1,1-2-2A2.0027,2.0027,0,0,1,18,26Z"/>
+            <path
+                
d="M29,10H24v2h5v6H22v2h3v2.142a4,4,0,1,0,2,0V20h2a2.0027,2.0027,0,0,0,2-2V12A2.0023,2.0023,0,0,0,29,10ZM28,26a2,2,0,1,1-2-2A2.0027,2.0027,0,0,1,28,26Z"/>
+            <path
+                
d="M19,6H14V8h5v6H12v2h3v6.142a4,4,0,1,0,2,0V16h2a2.0023,2.0023,0,0,0,2-2V8A2.0023,2.0023,0,0,0,19,6ZM18,26a2,2,0,1,1-2-2A2.0027,2.0027,0,0,1,18,26Z"/>
             <path
                 
d="M9,2H3A2.002,2.002,0,0,0,1,4v6a2.002,2.002,0,0,0,2,2H5V22.142a4,4,0,1,0,2,0V12H9a2.002,2.002,0,0,0,2-2V4A2.002,2.002,0,0,0,9,2ZM8,26a2,2,0,1,1-2-2A2.0023,2.0023,0,0,1,8,26ZM3,10V4H9l.0015,6Z"/>
-            <rect id="_Transparent_Rectangle_" data-name="&lt;Transparent 
Rectangle&gt;" className="cls-1" width="32" height="32"/>
+            <rect id="_Transparent_Rectangle_" data-name="&lt;Transparent 
Rectangle&gt;" className="cls-1" width="32"
+                  height="32"/>
         </svg>)
     if (icon === 'rest') return (
         <svg className="top-icon" viewBox="0 0 32 32">
@@ -216,7 +301,8 @@ export function getDesignerIcon(icon: string) {
             <rect x="4" y="15" width="13" height="2"/>
             <path 
d="M7,11a4,4,0,1,1,4-4A4,4,0,0,1,7,11ZM7,5A2,2,0,1,0,9,7,2,2,0,0,0,7,5Z" 
transform="translate(0 0)"/>
             <path 
d="M7,29a4,4,0,1,1,4-4A4,4,0,0,1,7,29Zm0-6a2,2,0,1,0,2,2A2,2,0,0,0,7,23Z" 
transform="translate(0 0)"/>
-            <path 
d="M25,20a4,4,0,1,1,4-4A4,4,0,0,1,25,20Zm0-6a2,2,0,1,0,2,2A2,2,0,0,0,25,14Z" 
transform="translate(0 0)"/>
+            <path 
d="M25,20a4,4,0,1,1,4-4A4,4,0,0,1,25,20Zm0-6a2,2,0,1,0,2,2A2,2,0,0,0,25,14Z"
+                  transform="translate(0 0)"/>
             <g id="_Transparent_Rectangle_" data-name="&lt;Transparent 
Rectangle&gt;">
                 <rect className="cls-1" width="32" height="32"/>
             </g>
@@ -228,20 +314,27 @@ export function getDesignerIcon(icon: string) {
                 <style>{".cls-1 {fill: none;}"}</style>
             </defs>
             <title>application</title>
-            <path 
d="M16,18H6a2,2,0,0,1-2-2V6A2,2,0,0,1,6,4H16a2,2,0,0,1,2,2V16A2,2,0,0,1,16,18ZM6,6V16H16V6Z"
 transform="translate(0 0)"/>
-            <path 
d="M26,12v4H22V12h4m0-2H22a2,2,0,0,0-2,2v4a2,2,0,0,0,2,2h4a2,2,0,0,0,2-2V12a2,2,0,0,0-2-2Z"
 transform="translate(0 0)"/>
-            <path 
d="M26,22v4H22V22h4m0-2H22a2,2,0,0,0-2,2v4a2,2,0,0,0,2,2h4a2,2,0,0,0,2-2V22a2,2,0,0,0-2-2Z"
 transform="translate(0 0)"/>
-            <path 
d="M16,22v4H12V22h4m0-2H12a2,2,0,0,0-2,2v4a2,2,0,0,0,2,2h4a2,2,0,0,0,2-2V22a2,2,0,0,0-2-2Z"
 transform="translate(0 0)"/>
+            <path 
d="M16,18H6a2,2,0,0,1-2-2V6A2,2,0,0,1,6,4H16a2,2,0,0,1,2,2V16A2,2,0,0,1,16,18ZM6,6V16H16V6Z"
+                  transform="translate(0 0)"/>
+            <path 
d="M26,12v4H22V12h4m0-2H22a2,2,0,0,0-2,2v4a2,2,0,0,0,2,2h4a2,2,0,0,0,2-2V12a2,2,0,0,0-2-2Z"
+                  transform="translate(0 0)"/>
+            <path 
d="M26,22v4H22V22h4m0-2H22a2,2,0,0,0-2,2v4a2,2,0,0,0,2,2h4a2,2,0,0,0,2-2V22a2,2,0,0,0-2-2Z"
+                  transform="translate(0 0)"/>
+            <path 
d="M16,22v4H12V22h4m0-2H12a2,2,0,0,0-2,2v4a2,2,0,0,0,2,2h4a2,2,0,0,0,2-2V22a2,2,0,0,0-2-2Z"
+                  transform="translate(0 0)"/>
             <g id="_Transparent_Rectangle_" data-name="&lt;Transparent 
Rectangle&gt;">
                 <rect className="cls-1" width="32" height="32"/>
             </g>
         </svg>
     )
     if (icon === 'error') return (
-        <svg className="top-icon" width="36px" height="36px" viewBox="0 0 36 
36" version="1.1" preserveAspectRatio="xMidYMid meet">
+        <svg className="top-icon" width="36px" height="36px" viewBox="0 0 36 
36" version="1.1"
+             preserveAspectRatio="xMidYMid meet">
             <circle className="clr-i-outline clr-i-outline-path-1" cx="18" 
cy="26.06" r="1.33"/>
-            <path className="clr-i-outline clr-i-outline-path-2" 
d="M18,22.61a1,1,0,0,1-1-1v-12a1,1,0,1,1,2,0v12A1,1,0,0,1,18,22.61Z"/>
-            <path className="clr-i-outline clr-i-outline-path-3" 
d="M18,34A16,16,0,1,1,34,18,16,16,0,0,1,18,34ZM18,4A14,14,0,1,0,32,18,14,14,0,0,0,18,4Z"/>
+            <path className="clr-i-outline clr-i-outline-path-2"
+                  
d="M18,22.61a1,1,0,0,1-1-1v-12a1,1,0,1,1,2,0v12A1,1,0,0,1,18,22.61Z"/>
+            <path className="clr-i-outline clr-i-outline-path-3"
+                  
d="M18,34A16,16,0,1,1,34,18,16,16,0,0,1,18,34ZM18,4A14,14,0,1,0,32,18,14,14,0,0,0,18,4Z"/>
             <rect x="0" y="0" width="36" height="36" fillOpacity="0"/>
         </svg>)
     if (icon === 'exception') return (
@@ -250,16 +343,20 @@ export function getDesignerIcon(icon: string) {
                 <style>{".cls-1{fill:none;}"}</style>
             </defs>
             <title>misuse--alt</title>
-            <polygon points="21.41 23 16 17.591 10.59 23 9 21.41 14.409 16 9 
10.591 10.591 9 16 14.409 21.409 9 23 10.591 17.591 16 23 21.41 21.41 23"/>
-            <path 
d="M16,4A12,12,0,1,1,4,16,12.0136,12.0136,0,0,1,16,4m0-2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Z"
 transform="translate(0)"/>
-            <rect id="_Transparent_Rectangle_" data-name="&lt;Transparent 
Rectangle&gt;" className="cls-1" width="32" height="32"/>
+            <polygon
+                points="21.41 23 16 17.591 10.59 23 9 21.41 14.409 16 9 10.591 
10.591 9 16 14.409 21.409 9 23 10.591 17.591 16 23 21.41 21.41 23"/>
+            <path 
d="M16,4A12,12,0,1,1,4,16,12.0136,12.0136,0,0,1,16,4m0-2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Z"
+                  transform="translate(0)"/>
+            <rect id="_Transparent_Rectangle_" data-name="&lt;Transparent 
Rectangle&gt;" className="cls-1" width="32"
+                  height="32"/>
         </svg>)
     if (icon === 'routeConfiguration') return (
         <svg className="top-icon" width="32" height="32" viewBox="0 0 32 32">
             <defs>
                 <style>{".cls-1{fill:none;}"}</style>
             </defs>
-            <path d="M28.83 21.17L25 17.37l.67-.67a1 1 0 000-1.41l-6-6a1 1 0 
00-1.41 0l-.79.79-6.76-6.79a1 1 0 00-1.41 0l-4 4-.12.15-4 6a1 1 0 00.12 1.26l3 
3a1 1 0 001.42 0L10 13.41l2.09 2.09-4.8 4.79a1 1 0 000 1.41l2 2a1 1 0 00.71.3 1 
1 0 00.52-.15l4.33-2.6 2.44 2.45a1 1 0 001.41 0l.67-.7 3.79 3.83a4 4 0 
005.66-5.66zM10 10.58l-5 5-1.71-1.71 3.49-5.24L10 5.41l6.09 6.09-2.59 2.58zm8 
11l-2.84-2.84-5 3-.74-.74L19 11.41 23.59 16zm9.42 3.83a2 2 0 01-2.83 
0l-3.8-3.79 2.83-2.83 3.8 3.79a2 2 0 0 [...]
+            <path
+                d="M28.83 21.17L25 17.37l.67-.67a1 1 0 000-1.41l-6-6a1 1 0 
00-1.41 0l-.79.79-6.76-6.79a1 1 0 00-1.41 0l-4 4-.12.15-4 6a1 1 0 00.12 1.26l3 
3a1 1 0 001.42 0L10 13.41l2.09 2.09-4.8 4.79a1 1 0 000 1.41l2 2a1 1 0 00.71.3 1 
1 0 00.52-.15l4.33-2.6 2.44 2.45a1 1 0 001.41 0l.67-.7 3.79 3.83a4 4 0 
005.66-5.66zM10 10.58l-5 5-1.71-1.71 3.49-5.24L10 5.41l6.09 6.09-2.59 2.58zm8 
11l-2.84-2.84-5 3-.74-.74L19 11.41 23.59 16zm9.42 3.83a2 2 0 01-2.83 
0l-3.8-3.79 2.83-2.83 3.8 3.79a2 2 0 010 [...]
             <path
                 d="M0 0H32V32H0z"
                 className="cls-1"
@@ -286,7 +383,8 @@ export function getDesignerIcon(icon: string) {
             <polygon points="31 16 24 23 22.59 21.59 28.17 16 22.59 10.41 24 9 
31 16"/>
             <polygon points="1 16 8 9 9.41 10.41 3.83 16 9.41 21.59 8 23 1 
16"/>
             <rect x="5.91" y="15" width="20.17" height="2" 
transform="translate(-3.6 27.31) rotate(-75)"/>
-            <rect id="_Transparent_Rectangle_" data-name="&lt;Transparent 
Rectangle&gt;" className="cls-1" width="32" height="32" transform="translate(0 
32) rotate(-90)"/>
+            <rect id="_Transparent_Rectangle_" data-name="&lt;Transparent 
Rectangle&gt;" className="cls-1" width="32"
+                  height="32" transform="translate(0 32) rotate(-90)"/>
         </svg>)
 }
 
@@ -303,9 +401,12 @@ export class BeanIcon extends React.Component<any> {
                 <rect x="15" y="6" width="13" height="2"/>
                 <rect x="15" y="24" width="13" height="2"/>
                 <rect x="4" y="15" width="13" height="2"/>
-                <path 
d="M7,11a4,4,0,1,1,4-4A4,4,0,0,1,7,11ZM7,5A2,2,0,1,0,9,7,2,2,0,0,0,7,5Z" 
transform="translate(0 0)"/>
-                <path 
d="M7,29a4,4,0,1,1,4-4A4,4,0,0,1,7,29Zm0-6a2,2,0,1,0,2,2A2,2,0,0,0,7,23Z" 
transform="translate(0 0)"/>
-                <path 
d="M25,20a4,4,0,1,1,4-4A4,4,0,0,1,25,20Zm0-6a2,2,0,1,0,2,2A2,2,0,0,0,25,14Z" 
transform="translate(0 0)"/>
+                <path 
d="M7,11a4,4,0,1,1,4-4A4,4,0,0,1,7,11ZM7,5A2,2,0,1,0,9,7,2,2,0,0,0,7,5Z"
+                      transform="translate(0 0)"/>
+                <path 
d="M7,29a4,4,0,1,1,4-4A4,4,0,0,1,7,29Zm0-6a2,2,0,1,0,2,2A2,2,0,0,0,7,23Z"
+                      transform="translate(0 0)"/>
+                <path 
d="M25,20a4,4,0,1,1,4-4A4,4,0,0,1,25,20Zm0-6a2,2,0,1,0,2,2A2,2,0,0,0,25,14Z"
+                      transform="translate(0 0)"/>
                 <g id="_Transparent_Rectangle_" data-name="&lt;Transparent 
Rectangle&gt;">
                     <rect className="cls-1" width="32" height="32"/>
                 </g>
@@ -323,10 +424,14 @@ export class DependencyIcon extends React.Component<any> {
                     <style>{".cls-1 {fill: none;}"}</style>
                 </defs>
                 <title>application</title>
-                <path 
d="M16,18H6a2,2,0,0,1-2-2V6A2,2,0,0,1,6,4H16a2,2,0,0,1,2,2V16A2,2,0,0,1,16,18ZM6,6V16H16V6Z"
 transform="translate(0 0)"/>
-                <path 
d="M26,12v4H22V12h4m0-2H22a2,2,0,0,0-2,2v4a2,2,0,0,0,2,2h4a2,2,0,0,0,2-2V12a2,2,0,0,0-2-2Z"
 transform="translate(0 0)"/>
-                <path 
d="M26,22v4H22V22h4m0-2H22a2,2,0,0,0-2,2v4a2,2,0,0,0,2,2h4a2,2,0,0,0,2-2V22a2,2,0,0,0-2-2Z"
 transform="translate(0 0)"/>
-                <path 
d="M16,22v4H12V22h4m0-2H12a2,2,0,0,0-2,2v4a2,2,0,0,0,2,2h4a2,2,0,0,0,2-2V22a2,2,0,0,0-2-2Z"
 transform="translate(0 0)"/>
+                <path 
d="M16,18H6a2,2,0,0,1-2-2V6A2,2,0,0,1,6,4H16a2,2,0,0,1,2,2V16A2,2,0,0,1,16,18ZM6,6V16H16V6Z"
+                      transform="translate(0 0)"/>
+                <path 
d="M26,12v4H22V12h4m0-2H22a2,2,0,0,0-2,2v4a2,2,0,0,0,2,2h4a2,2,0,0,0,2-2V12a2,2,0,0,0-2-2Z"
+                      transform="translate(0 0)"/>
+                <path 
d="M26,22v4H22V22h4m0-2H22a2,2,0,0,0-2,2v4a2,2,0,0,0,2,2h4a2,2,0,0,0,2-2V22a2,2,0,0,0-2-2Z"
+                      transform="translate(0 0)"/>
+                <path 
d="M16,22v4H12V22h4m0-2H12a2,2,0,0,0-2,2v4a2,2,0,0,0,2,2h4a2,2,0,0,0,2-2V22a2,2,0,0,0-2-2Z"
+                      transform="translate(0 0)"/>
                 <g id="_Transparent_Rectangle_" data-name="&lt;Transparent 
Rectangle&gt;">
                     <rect className="cls-1" width="32" height="32"/>
                 </g>
@@ -365,7 +470,8 @@ export class ConceptIcon extends React.Component<any> {
                 <title>concept</title>
                 <path
                     
d="M20.8851,19.4711a5.9609,5.9609,0,0,0,0-6.9422L23,10.4141l1.293,1.2929a.9995.9995,0,0,0,1.414,0l4-4a.9994.9994,0,0,0,0-1.414l-4-4a.9994.9994,0,0,0-1.414,0l-4,4a.9994.9994,0,0,0,0,1.414L21.5859,9l-2.1148,2.1149a5.9609,5.9609,0,0,0-6.9422,0L10,8.5859V2H2v8H8.5859l2.529,2.5289a5.9609,5.9609,0,0,0,0,6.9422L9,21.5859,7.707,20.293a.9994.9994,0,0,0-1.414,0l-4,4a.9994.9994,0,0,0,0,1.414l4,4a.9995.9995,0,0,0,1.414,0l4-4a.9994.9994,0,0,0,0-1.414L10.4141,23l2.1148-2.1149a5.960
 [...]
-                <rect id="_Transparent_Rectangle_" data-name="&lt;Transparent 
Rectangle&gt;" className="cls-1" width="32" height="32"/>
+                <rect id="_Transparent_Rectangle_" data-name="&lt;Transparent 
Rectangle&gt;" className="cls-1"
+                      width="32" height="32"/>
             </svg>
         )
     }
@@ -374,12 +480,16 @@ export class ConceptIcon extends React.Component<any> {
 export function AggregateIcon() {
     return (
         <svg xmlns="http://www.w3.org/2000/svg"; viewBox="0 0 700 700" 
className="icon">
-            <path d="M496.2 417.71l-130.22 101.1c-.19.14-.39.29-.59.42a28.39 
28.39 0 01-30.77 0c-.21-.13-.4-.28-.59-.42L203.8 417.71h292.4z"></path>
-            <path d="M516.1 426.23v202.1c0 4.12-3.34 7.46-7.45 
7.46H191.36c-4.11 0-7.46-3.34-7.46-7.46V426.22l138.52 107.53c.68.53 1.31.98 
1.94 1.38 7.79 5.04 16.72 7.55 25.66 7.55s17.86-2.52 25.66-7.55c.62-.4 1.25-.85 
1.94-1.38l138.5-107.52zM247.14 358.45l-12.91 
30.22-.03.06v.03c-.11.21-.21.43-.32.64s-.23.42-.36.61c-.08.14-.17.27-.27.4-.08.11-.16.21-.24.31-.1.13-.21.25-.31.36-.08.09-.16.18-.24.25-.05.06-.1.11-.16.15l-.27.25c-.17.15-.33.29-.51.42-.15.13-.3.23-.47.33-.19.13-.39.25-.59.36s
 [...]
-            <path d="M277.46 154.15V264.2c0 5.52-4.48 10-10 10H82.69c-5.52 
0-10-4.48-10-10V154.14l82.79 62.29c5.77 4.34 12.69 6.51 19.6 6.51s13.83-2.17 
19.6-6.51l82.78-62.28z"></path>
+            <path
+                d="M496.2 417.71l-130.22 101.1c-.19.14-.39.29-.59.42a28.39 
28.39 0 01-30.77 0c-.21-.13-.4-.28-.59-.42L203.8 417.71h292.4z"></path>
+            <path
+                d="M516.1 426.23v202.1c0 4.12-3.34 7.46-7.45 7.46H191.36c-4.11 
0-7.46-3.34-7.46-7.46V426.22l138.52 107.53c.68.53 1.31.98 1.94 1.38 7.79 5.04 
16.72 7.55 25.66 7.55s17.86-2.52 25.66-7.55c.62-.4 1.25-.85 
1.94-1.38l138.5-107.52zM247.14 358.45l-12.91 
30.22-.03.06v.03c-.11.21-.21.43-.32.64s-.23.42-.36.61c-.08.14-.17.27-.27.4-.08.11-.16.21-.24.31-.1.13-.21.25-.31.36-.08.09-.16.18-.24.25-.05.06-.1.11-.16.15l-.27.25c-.17.15-.33.29-.51.42-.15.13-.3.23-.47.33-.19.13-.39.25-.59.36s-.
 [...]
+            <path
+                d="M277.46 154.15V264.2c0 5.52-4.48 10-10 10H82.69c-5.52 
0-10-4.48-10-10V154.14l82.79 62.29c5.77 4.34 12.69 6.51 19.6 6.51s13.83-2.17 
19.6-6.51l82.78-62.28z"></path>
             <g>
                 <path d="M610.57 145.6l-76.07 57.24c-5.52 4.16-13.24 
4.16-18.76 0l-76.08-57.24h170.91z"></path>
-                <path d="M627.5 154.15V264.2c0 5.52-4.48 10-10 10H432.73c-5.52 
0-10-4.48-10-10V154.14l82.79 62.29c5.77 4.34 12.69 6.51 19.6 6.51s13.83-2.17 
19.6-6.51l82.78-62.28z"></path>
+                <path
+                    d="M627.5 154.15V264.2c0 5.52-4.48 10-10 10H432.73c-5.52 
0-10-4.48-10-10V154.14l82.79 62.29c5.77 4.34 12.69 6.51 19.6 6.51s13.83-2.17 
19.6-6.51l82.78-62.28z"></path>
             </g>
         </svg>
     );
@@ -388,7 +498,8 @@ export function AggregateIcon() {
 export function ChoiceIcon() {
     return (
         <svg xmlns="http://www.w3.org/2000/svg"; viewBox="0 0 700 700" 
className="icon">
-            <path d="M407.33 113.97V609.2c0 2.75-1.9 5-4.22 5H291.55c-2.33 
0-4.22-2.25-4.22-5V113.97c0-2.76 1.89-5 4.22-5h111.56c2.32 0 4.22 2.24 4.22 
5zM27.1 437.55l60.87-57.64c.95-.9 2.32-1.41 3.76-1.41H258.2c2.76 0 5 1.87 5 
4.17v111.65c0 2.3-2.24 4.17-5 4.17H91.54c-1.38 0-2.7-.48-3.65-1.32L27.2 
443.15c-1.77-1.58-1.81-3.99-.1-5.61zM667.57 285.62l-60.87 57.64c-.95.9-2.32 
1.41-3.76 1.41H436.47c-2.76 0-5-1.87-5-4.17V228.85c0-2.3 2.24-4.17 
5-4.17h166.66c1.38 0 2.7.48 3.65 1.32l60.69 54.02c [...]
+            <path
+                d="M407.33 113.97V609.2c0 2.75-1.9 5-4.22 5H291.55c-2.33 
0-4.22-2.25-4.22-5V113.97c0-2.76 1.89-5 4.22-5h111.56c2.32 0 4.22 2.24 4.22 
5zM27.1 437.55l60.87-57.64c.95-.9 2.32-1.41 3.76-1.41H258.2c2.76 0 5 1.87 5 
4.17v111.65c0 2.3-2.24 4.17-5 4.17H91.54c-1.38 0-2.7-.48-3.65-1.32L27.2 
443.15c-1.77-1.58-1.81-3.99-.1-5.61zM667.57 285.62l-60.87 57.64c-.95.9-2.32 
1.41-3.76 1.41H436.47c-2.76 0-5-1.87-5-4.17V228.85c0-2.3 2.24-4.17 
5-4.17h166.66c1.38 0 2.7.48 3.65 1.32l60.69 54.02c1. [...]
         </svg>
     );
 }
@@ -397,12 +508,16 @@ export function ChoiceIcon() {
 export function SplitIcon() {
     return (
         <svg xmlns="http://www.w3.org/2000/svg"; viewBox="0 0 700 700" 
className="icon">
-            <path d="M496.2 83.65l-130.22 101.1c-.19.14-.39.29-.59.42a28.39 
28.39 0 01-30.77 0c-.21-.13-.4-.28-.59-.42L203.8 83.65h292.4z"></path>
-            <path d="M516.1 92.17v202.1c0 4.12-3.34 7.46-7.45 
7.46H191.36c-4.11 0-7.46-3.34-7.46-7.46V92.16l138.52 107.53c.68.53 1.31.98 1.94 
1.38 7.79 5.04 16.72 7.55 25.66 7.55s17.86-2.52 25.66-7.55c.62-.4 1.25-.85 
1.94-1.38l138.5-107.52zM524.34 397.22l-12.91 
30.22-.03.06v.03c-.11.21-.21.43-.32.64s-.23.42-.36.61c-.08.14-.17.27-.27.4-.08.11-.16.21-.24.31-.1.13-.21.25-.31.36-.08.09-.16.18-.24.25-.05.06-.1.11-.16.15l-.27.25c-.17.15-.33.29-.51.42-.15.13-.3.23-.47.33-.19.13-.39.25-.59.36s-.
 [...]
-            <path d="M277.36 476.26v110.05c0 5.52-4.48 10-10 10H82.59c-5.52 
0-10-4.48-10-10V476.25l82.79 62.29c5.77 4.34 12.69 6.51 19.6 6.51s13.83-2.17 
19.6-6.51l82.78-62.28z"></path>
+            <path
+                d="M496.2 83.65l-130.22 101.1c-.19.14-.39.29-.59.42a28.39 
28.39 0 01-30.77 0c-.21-.13-.4-.28-.59-.42L203.8 83.65h292.4z"></path>
+            <path
+                d="M516.1 92.17v202.1c0 4.12-3.34 7.46-7.45 7.46H191.36c-4.11 
0-7.46-3.34-7.46-7.46V92.16l138.52 107.53c.68.53 1.31.98 1.94 1.38 7.79 5.04 
16.72 7.55 25.66 7.55s17.86-2.52 25.66-7.55c.62-.4 1.25-.85 
1.94-1.38l138.5-107.52zM524.34 397.22l-12.91 
30.22-.03.06v.03c-.11.21-.21.43-.32.64s-.23.42-.36.61c-.08.14-.17.27-.27.4-.08.11-.16.21-.24.31-.1.13-.21.25-.31.36-.08.09-.16.18-.24.25-.05.06-.1.11-.16.15l-.27.25c-.17.15-.33.29-.51.42-.15.13-.3.23-.47.33-.19.13-.39.25-.59.36s-.42
 [...]
+            <path
+                d="M277.36 476.26v110.05c0 5.52-4.48 10-10 10H82.59c-5.52 
0-10-4.48-10-10V476.25l82.79 62.29c5.77 4.34 12.69 6.51 19.6 6.51s13.83-2.17 
19.6-6.51l82.78-62.28z"></path>
             <g>
                 <path d="M610.48 467.71l-76.07 57.24c-5.52 4.16-13.24 
4.16-18.76 0l-76.08-57.24h170.91z"></path>
-                <path d="M627.41 476.26v110.05c0 5.52-4.48 10-10 
10H432.64c-5.52 0-10-4.48-10-10V476.25l82.79 62.29c5.77 4.34 12.69 6.51 19.6 
6.51s13.83-2.17 19.6-6.51l82.78-62.28z"></path>
+                <path
+                    d="M627.41 476.26v110.05c0 5.52-4.48 10-10 10H432.64c-5.52 
0-10-4.48-10-10V476.25l82.79 62.29c5.77 4.34 12.69 6.51 19.6 6.51s13.83-2.17 
19.6-6.51l82.78-62.28z"></path>
             </g>
         </svg>
     );
@@ -411,7 +526,8 @@ export function SplitIcon() {
 export function SagaIcon() {
     return (
         <svg xmlns="http://www.w3.org/2000/svg"; viewBox="0 0 700 700" 
className="icon">
-            <path d="M626.41 
255.77c-.56-4.77-2.95-9.03-6.71-11.99l-46.46-36.64-1.06-1.09-.8-.28c-.81-.52-1.67-.98-2.56-1.36-.43-.19-.85-.36-1.25-.5-.47-.16-.96-.31-1.51-.45-.47-.11-.96-.22-1.45-.3-.49-.08-.97-.14-1.43-.18-.96-.08-1.95-.08-2.91-.01-.41.03-.83.08-1.23.14-.41.06-.82.14-1.25.23l-.58.14c-.1.03-.2.05-.31.08-.11.03-.21.06-.3.09-.29.08-.57.18-.86.28-.49.17-.99.37-1.53.61l-.16.08c-.32.15-.65.31-.97.49-.49.26-.93.53-1.34.81-.39.26-.76.52-1.12.8l-46.96
 37.05a17.823 17.823 0 00-6.7 [...]
+            <path
+                d="M626.41 
255.77c-.56-4.77-2.95-9.03-6.71-11.99l-46.46-36.64-1.06-1.09-.8-.28c-.81-.52-1.67-.98-2.56-1.36-.43-.19-.85-.36-1.25-.5-.47-.16-.96-.31-1.51-.45-.47-.11-.96-.22-1.45-.3-.49-.08-.97-.14-1.43-.18-.96-.08-1.95-.08-2.91-.01-.41.03-.83.08-1.23.14-.41.06-.82.14-1.25.23l-.58.14c-.1.03-.2.05-.31.08-.11.03-.21.06-.3.09-.29.08-.57.18-.86.28-.49.17-.99.37-1.53.61l-.16.08c-.32.15-.65.31-.97.49-.49.26-.93.53-1.34.81-.39.26-.76.52-1.12.8l-46.96
 37.05a17.823 17.823 0 00-6.72  [...]
         </svg>
     );
 }
@@ -419,8 +535,10 @@ export function SagaIcon() {
 export function TransformIcon() {
     return (
         <svg xmlns="http://www.w3.org/2000/svg"; viewBox="0 0 700 700" 
className="icon">
-            <path d="M441.77 277.51l-82.73 64.23c-.07.05-.13.09-.19.13-5.37 
3.48-12.33 3.48-17.69.01-.07-.05-.13-.09-.18-.13l-82.76-64.24h183.54z"></path>
-            <path d="M462.2 287.02V420.7c0 .98-.79 1.77-1.77 1.77H239.57c-.98 
0-1.77-.79-1.77-1.77V287.02l90.91 70.56c.54.44 1.06.8 1.57 1.12 5.99 3.88 12.86 
5.81 19.72 5.81s13.73-1.94 19.73-5.81c.49-.32 1.01-.68 
1.58-1.13l90.89-70.55zM622.28 330.68l-35.89 31.78a1.48 1.48 0 01-1.98 
0l-35.89-31.78c-.3-.26-.48-.63-.51-1.03-.02-.4.11-.79.38-1.09l11.28-12.73c.55-.61
 1.49-.67 2.11-.12l12.44 
11.02c-5.24-51.26-28.18-99.47-64.84-136.12-35.82-35.82-81.13-58.05-131.04-64.27-.1
 0-.19-.03-.28-.06v.0 [...]
+            <path
+                d="M441.77 277.51l-82.73 64.23c-.07.05-.13.09-.19.13-5.37 
3.48-12.33 3.48-17.69.01-.07-.05-.13-.09-.18-.13l-82.76-64.24h183.54z"></path>
+            <path
+                d="M462.2 287.02V420.7c0 .98-.79 1.77-1.77 1.77H239.57c-.98 
0-1.77-.79-1.77-1.77V287.02l90.91 70.56c.54.44 1.06.8 1.57 1.12 5.99 3.88 12.86 
5.81 19.72 5.81s13.73-1.94 19.73-5.81c.49-.32 1.01-.68 
1.58-1.13l90.89-70.55zM622.28 330.68l-35.89 31.78a1.48 1.48 0 01-1.98 
0l-35.89-31.78c-.3-.26-.48-.63-.51-1.03-.02-.4.11-.79.38-1.09l11.28-12.73c.55-.61
 1.49-.67 2.11-.12l12.44 
11.02c-5.24-51.26-28.18-99.47-64.84-136.12-35.82-35.82-81.13-58.05-131.04-64.27-.1
 0-.19-.03-.28-.06v.09s [...]
         </svg>
     );
 }
@@ -428,7 +546,8 @@ export function TransformIcon() {
 export function FilterIcon() {
     return (
         <svg xmlns="http://www.w3.org/2000/svg"; id="a" viewBox="0 0 700 700" 
className="icon">
-            <path d="M565.62 156.56L413.36 350.33a10.032 10.032 0 00-2.14 
6.18v190.52c0 19.05-25.01 34.49-55.86 
34.49s-55.86-15.44-55.86-34.49V356.51c0-2.24-.75-4.42-2.14-6.18L145.1 
156.56c-5.15-6.56-.48-16.18 7.87-16.18h404.79c8.34 0 13.02 9.62 7.86 
16.18z"></path>
+            <path
+                d="M565.62 156.56L413.36 350.33a10.032 10.032 0 00-2.14 
6.18v190.52c0 19.05-25.01 34.49-55.86 
34.49s-55.86-15.44-55.86-34.49V356.51c0-2.24-.75-4.42-2.14-6.18L145.1 
156.56c-5.15-6.56-.48-16.18 7.87-16.18h404.79c8.34 0 13.02 9.62 7.86 
16.18z"></path>
         </svg>
     );
 }
@@ -489,7 +608,8 @@ export function Intercept() {
                 <style>{".cls-1 {    fill: none; }"}</style>
             </defs>
             <path d="M15 4H17V28H15z"></path>
-            <path d="M10 7v18H4V7h6m0-2H4a2 2 0 00-2 2v18a2 2 0 002 2h6a2 2 0 
002-2V7a2 2 0 00-2-2zM28 7v18h-6V7h6m0-2h-6a2 2 0 00-2 2v18a2 2 0 002 2h6a2 2 0 
002-2V7a2 2 0 00-2-2z"></path>
+            <path
+                d="M10 7v18H4V7h6m0-2H4a2 2 0 00-2 2v18a2 2 0 002 2h6a2 2 0 
002-2V7a2 2 0 00-2-2zM28 7v18h-6V7h6m0-2h-6a2 2 0 00-2 2v18a2 2 0 002 2h6a2 2 0 
002-2V7a2 2 0 00-2-2z"></path>
             <path
                 id="_Transparent_Rectangle_"
                 d="M0 0H32V32H0z"
@@ -536,8 +656,10 @@ export function InterceptSendToEndpoint() {
             <defs>
                 <style>{".cls-1 {    fill: none; }"}</style>
             </defs>
-            <path d="M6 30h12a2.002 2.002 0 002-2v-3h-2v3H6V4h12v3h2V4a2.002 
2.002 0 00-2-2H6a2.002 2.002 0 00-2 2v24a2.002 2.002 0 002 2z"></path>
-            <path d="M20.586 20.586L24.172 17 10 17 10 15 24.172 15 20.586 
11.414 22 10 28 16 22 22 20.586 20.586z"></path>
+            <path
+                d="M6 30h12a2.002 2.002 0 002-2v-3h-2v3H6V4h12v3h2V4a2.002 
2.002 0 00-2-2H6a2.002 2.002 0 00-2 2v24a2.002 2.002 0 002 2z"></path>
+            <path
+                d="M20.586 20.586L24.172 17 10 17 10 15 24.172 15 20.586 
11.414 22 10 28 16 22 22 20.586 20.586z"></path>
             <path
                 id="_Transparent_Rectangle_"
                 d="M0 0H32V32H0z"
@@ -553,8 +675,8 @@ export function SpringIcon() {
     return (
         <svg
             xmlns="http://www.w3.org/2000/svg";
-            width="32"
-            height="32"
+            width="24"
+            height="24"
             viewBox="0 0 32 32"
             className="icon">
             <g fill="none" fillRule="evenodd">
@@ -572,8 +694,8 @@ export function QuarkusIcon() {
     return (
         <svg
             xmlns="http://www.w3.org/2000/svg";
-            width="257"
-            height="257"
+            width="24"
+            height="24"
             preserveAspectRatio="xMidYMid"
             viewBox="-0.5 0 257 257"
             className="icon">
diff --git a/karavan-vscode/package.json b/karavan-vscode/package.json
index 62b98ed7..73546fe3 100644
--- a/karavan-vscode/package.json
+++ b/karavan-vscode/package.json
@@ -71,6 +71,7 @@
           "type": "string",
           "default": "quarkus",
           "enum": [
+            "camel-main",
             "quarkus",
             "spring-boot"
           ],
@@ -194,6 +195,20 @@
           "scope": "machine",
           "order": 70
         },
+        "Karavan.camelmainOpenshiftDeploy": {
+          "type": "string",
+          "default": "mvn -Popenshift clean package oc:build oc:resource 
oc:apply",
+          "description": "Camel-main deploy command for Openshift",
+          "scope": "machine",
+          "order": 70
+        },
+        "Karavan.camelmainKubernetesDeploy": {
+          "type": "string",
+          "default": "eval $(minikube -p minikube docker-env) && mvn 
-Pkubernetes clean package k8s:build k8s:resource k8s:apply",
+          "description": "Camel-main deploy command for Kubernetes",
+          "scope": "machine",
+          "order": 70
+        },
         "Karavan.applicationGitignore": {
           "type": "array",
           "uniqueItems": true,
@@ -256,6 +271,31 @@
           "scope": "machine",
           "order": 91
         },
+        "Karavan.camelmainApplicationProperties": {
+          "type": "array",
+          "uniqueItems": true,
+          "items": {
+            "type": "string"
+          },
+          "default": [
+            "camel.health.enabled=true",
+            "camel.health.exposure-level=full",
+            "camel.karavan.project-id=$NAME",
+            "camel.karavan.project-name=$NAME",
+            "camel.karavan.project-description=$NAME",
+            "camel.karavan.target=$TARGET",
+            "camel.jbang.gav=$GAV",
+            "camel.jbang.version=4.0.0-RC2",
+            "camel.jbang.runtime=$RUNTIME",
+            "camel.jbang.exportDir=.export",
+            "management.endpoints.web.exposure.include=health",
+            "management.health.probes.enabled=true",
+            "management.endpoint.health.show-details=always"
+          ],
+          "description": "Camel-main application.properties template",
+          "scope": "machine",
+          "order": 91
+        },
         "Karavan.quarkusOpenshiftProperties": {
           "type": "array",
           "uniqueItems": true,
@@ -345,6 +385,28 @@
           "scope": "machine",
           "order": 94
         },
+        "Karavan.camelmainOpenshiftProperties": {
+          "type": "array",
+          "uniqueItems": true,
+          "items": {
+            "type": "string"
+          },
+          "default": [
+            "camel.jbang.dependencies=camel:microprofile-health",
+            "# jkube properties",
+            "jkube.version=1.13.1",
+            "jkube.build.strategy=s2i",
+            "jkube.namespace=${NAMESPACE}",
+            
"jkube.generator.name=image-registry.openshift-image-registry.svc:5000/${NAMESPACE}/$NAME:${DATE}",
+            "jkube.imagePullPolicy=IfNotPresent",
+            "jkube.enricher.jkube-controller.type=Deployment",
+            "jkube.enricher.jkube-controller.replicaCount=1",
+            "jkube.enricher.jkube-service.port=80"
+          ],
+          "description": "application.properties template for camel-main on 
Kubernetes",
+          "scope": "machine",
+          "order": 94
+        },
         "Karavan.springbootKubernetesProperties": {
           "type": "array",
           "uniqueItems": true,
@@ -366,6 +428,28 @@
           "description": "application.properties template for camel-springboot 
on Kubernetes",
           "scope": "machine",
           "order": 95
+        },
+        "Karavan.camelmainKubernetesProperties": {
+          "type": "array",
+          "uniqueItems": true,
+          "items": {
+            "type": "string"
+          },
+          "default": [
+            "camel.jbang.dependencies=camel:microprofile-health",
+            "# jkube properties",
+            "jkube.version=1.13.1",
+            "jkube.build.strategy=docker",
+            "jkube.namespace=default",
+            "jkube.generator.name=default/$NAME:${DATE}",
+            "jkube.imagePullPolicy=IfNotPresent",
+            "jkube.enricher.jkube-controller.type=Deployment",
+            "jkube.enricher.jkube-controller.replicaCount=1",
+            "jkube.enricher.jkube-service.port=80"
+          ],
+          "description": "application.properties template for camel-main on 
Kubernetes",
+          "scope": "machine",
+          "order": 95
         }
       }
     },


Reply via email to