You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2020/10/15 13:14:08 UTC

[myfaces-tobago] 02/02: demo

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

lofwyr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces-tobago.git

commit 300f2a27b6c679357be3052b45b16815abcac8de
Author: Udo Schnurpfeil <ud...@irian.eu>
AuthorDate: Thu Oct 15 15:13:50 2020 +0200

    demo
---
 .../org/apache/myfaces/tobago/example/demo/AstroData.java   | 10 +++++-----
 .../apache/myfaces/tobago/example/demo/SolarConverter.java  | 13 ++++++++++---
 2 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/AstroData.java b/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/AstroData.java
index 46447ee..f5cea8f 100644
--- a/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/AstroData.java
+++ b/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/AstroData.java
@@ -42,12 +42,12 @@ import java.util.stream.Stream;
 @Named
 public class AstroData implements Serializable {
 
-  private List<SolarObject> dataList;
-  private Map<String, SolarObject> dataMap;
+  private final List<SolarObject> dataList;
+  private final Map<String, SolarObject> dataMap;
 
-  private List<SelectItem> planets;
-  private List<SelectItem> terrestrialPlanets;
-  private List<SelectItem> giantPlanets;
+  private final List<SelectItem> planets;
+  private final List<SelectItem> terrestrialPlanets;
+  private final List<SelectItem> giantPlanets;
 
   public AstroData() {
 
diff --git a/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SolarConverter.java b/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SolarConverter.java
index 99f4d67..bafc6bf 100644
--- a/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SolarConverter.java
+++ b/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SolarConverter.java
@@ -22,14 +22,16 @@ package org.apache.myfaces.tobago.example.demo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import javax.enterprise.inject.spi.CDI;
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 import javax.faces.convert.Converter;
 import javax.faces.convert.ConverterException;
+import javax.faces.convert.FacesConverter;
 import javax.inject.Inject;
 import java.lang.invoke.MethodHandles;
 
-//@FacesConverter(forClass = SolarObject.class)// XXX fixme: is not running with Quarkus!
+@FacesConverter(forClass = SolarObject.class)// XXX fixme: is not running with Quarkus!
 public class SolarConverter implements Converter<SolarObject> {
 
   private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@@ -40,8 +42,13 @@ public class SolarConverter implements Converter<SolarObject> {
   @Override
   public SolarObject getAsObject(final FacesContext context, final UIComponent component, final String value)
       throws ConverterException {
+
+    if (astroData == null) { // XXX @Inject doesn't work in some cases
+      astroData = CDI.current().select(AstroData.class).get();
+    }
+
     final SolarObject solarObject = value != null ? astroData.find(value) : null;
-    LOG.info("{} -> {}", value, solarObject);
+    LOG.info("{} [String] -> {} [SolarObject]", value, solarObject);
     return solarObject;
   }
 
@@ -49,7 +56,7 @@ public class SolarConverter implements Converter<SolarObject> {
   public String getAsString(final FacesContext context, final UIComponent component, final SolarObject value)
       throws ConverterException {
     final String result = value.getName();
-    LOG.info("{} -> {}", value, result);
+    LOG.info("{} [SolarObject] -> {} [String]", value, result);
     return result;
   }
 }