Hello,

Before I start out with my question I would like to tell you upfront that I am 
quite new to Seam/EJB3/JSF, I am certain that parts of my question will be a 
little offtopic with regards to the forum topic. However I did actually search 
the net and did not really find a solution: most of the information was 
outdated (old examples for JSF1) or did not describe something along the lines 
I wanted to do. So far for the disclaimer ;-)

Software used:

  | JBoss 4.2.1
  | Seam 2.0CR2
  | JSF 1.2
  | 
  | 
  | I am trying to setup an application with generates lists of allowed 
chemicals for inland vessels. These lists are multilingual, eg a list can be 
generated in several languages.
  | 
  | The chemical entity looks like this:
  | 
  | 
  |   | @Entity
  |   | public class Chemical implements Serializable {
  |   |         private static final long serialVersionUID = 
-81501463360195381L;
  |   | 
  |   |         private int id;
  |   |         private int un;
  |   |         
  |   |         private int maxFillRate;
  |   |         private boolean allowPumpRoom;
  |   |         private TemperatureClass temperatureClass;
  |   |         private boolean explosionProtection;
  |   |         private double density;
  |   |         private String classification;
  |   |         private int relievePressure;
  |   |         
  |   |         private Date updated;
  |   |         private User updatedby;
  |   |         
  |   |         private String classificationCode;
  |   |         private String packageGroup;
  |   |         
  |   |         private int bluelights;
  |   | 
  |   |         transient private boolean removed;
  |   |         transient private Vector<String> removedBy = new 
Vector<String>();
  |   |         
  |   |         private Set<ChemicalNote> notes;
  |   |         private Set<Compatibility> compatibility;
  |   |         private Set<Danger> dangers;
  |   |         private Set<Equipment> equipment;
  |   |         
  |   |         private SamplingDevice samplingDevice;
  |   |         
  |   |         private Set<Translation> translations;
  |   | 
  |   |         // getters and setters
  |   | }
  |   | 
  | 
  | I will focus on the translations part, which is the part I am having 
trouble with. 
  | 
  | 
  |   | @Entity
  |   | public class Translation implements Serializable {
  |   | 
  |   |         private static final long serialVersionUID = 
3885895866444687204L;
  |   | 
  |   |         private int id;
  |   |         
  |   |         private Chemical chemical;
  |   |         private String name;
  |   |         private String language;
  |   |         
  |   |         private User updatedby;
  |   |         private Date updated;
  |   | 
  |   | }
  |   | 
  | 
  | 
  | On the page showing the list of chemicals I would like to show the 
translation for the name of the chemical. There is a very basic backingbean:
  | 
  | 
  |   | @Name("chemical")
  |   | @Scope(CONVERSATION)
  |   | @Stateful
  |   | public class ChemicalAction implements Serializable, ChemicalInterface {
  |   |         private static final long serialVersionUID = 
-5723276978457496053L;
  |   | 
  |   |         @PersistenceContext
  |   |         EntityManager em;
  |   | 
  |   |         @Logger
  |   |         Log log;
  |   |         
  |   |     @In
  |   |     FacesContext facesContext;
  |   | 
  |   |         public java.util.List<Chemical> getChemicals() {
  |   |                 
  |   |                 java.util.List<Chemical> chemicals = 
  |   |                         em.createQuery("select c from Chemical c order 
by c.un").getResultList();
  |   | 
  |   |                 return chemicals;
  |   |         }
  |   | 
  |   |         ...
  |   | }
  |   | 
  | 
  | and a little snippet of the xhtml page:
  | 
  | 
  |   |                         <ui:repeat value="#{chemical.chemicals}" 
var="c">
  |   |                                 #{c.id} - #{c.un} - <ui:repeat 
value="#{c.translations}" var="t">#{t.name}</ui:repeat> <br />
  |   |                         </ui:repeat>
  |   | 
  | 
  | As you can see I try to loop through all the chemicals (which works) and 
also through all the translations (which does not work - it generates "Property 
'name' not found on type org.hibernate.collection.PersistentSet").
  | 
  | Well the question boils down to: How can I select just one item from a 
java.util.Set based on the current locale? 
  | 
  | Additional questions could be:
  | 
  |   | Does this need a custom component?
  |   | If so, can I add java.util.Set to a tld?
  |   | How to work around this error?
  |   | 
  | 
  | If additional information is needed, I will be happy to provide it. Thanks 
in advance.

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4099669#4099669

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4099669
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to