cloudfoundry / cloudfoundry/cf-java-client
Feature request: Add support for arbitrary parameters when binding services via manifest.yml
Personne n'a encore pris cette issue.
- Langage dominant
- Java
- Étoiles
- 334
- Forks
- 319
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
Hello,
I want to report this error when we push an app manifest with binding parameters. It seems that the manifest yaml doesn't get parsed correctly because the format is not supported
java.lang.ClassCastException: Cannot cast java.util.LinkedHashMap to java.lang.String
at java.lang.Class.cast(Class.java:3369)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485)
at org.cloudfoundry.operations.applications.ApplicationManifestUtils.lambda$asList$2(ApplicationManifestUtils.java:160)
at java.util.Optional.ifPresent(Optional.java:159)
at org.cloudfoundry.operations.applications.ApplicationManifestUtils.as(ApplicationManifestUtils.java:131)
at org.cloudfoundry.operations.applications.ApplicationManifestUtils.asList(ApplicationManifestUtils.java:157)
at org.cloudfoundry.operations.applications.ApplicationManifestUtils.asListOfString(ApplicationManifestUtils.java:164)
at org.cloudfoundry.operations.applications.ApplicationManifestUtils.toApplicationManifest(ApplicationManifestUtils.java:346)
at org.cloudfoundry.operations.applications.ApplicationManifestUtils.lambda$doRead$9(ApplicationManifestUtils.java:236)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
at org.cloudfoundry.operations.applications.ApplicationManifestUtils.doRead(ApplicationManifestUtils.java:240)
at org.cloudfoundry.operations.applications.ApplicationManifestUtils.read(ApplicationManifestUtils.java:73)
at org.cloudfoundry.operations.applications.ApplicationManifestUtils$read.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
Manifest format:
---
applications:
- name: my-app
services:
- name: my-service1
parameters:
foo: bar
herp: derp
- name: my-service2
parameters:
foo: bar
For more details on the binding params please read: https://docs.cloudfoundry.org/devguide/services/application-binding.html#-binding-with-application-manifest
Best regards.
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par ApplicationManifestUtils, en particulier asList, asListOfString et toApplicationManifest, en utilisant le manifeste fourni comme cas de reproduction. Suivez la conversion des paramètres de service binding et vérifiez que les mappages de paramètres imbriqués sont analysés sans la ClassCastException signalée, tout en conservant leurs valeurs.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- api, cloud
- Type d'issue
- Fonctionnalité
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100