JSF :: Populating A Datatable From Onetomany Collection
Apr 9, 2015
I am having a hard time trying to wrap my head around trying to get a couple of columns in a datatable populated with values from a @OneToMany collection. The concept is simple but my brain refuses to grasp it!! I will try to make this brief...
I have several forms built with primefaces 3.5 using NetBeans 8 IDE on a JBoss EAP 6.21 server, and JPA 2.1 annotations. Data is extracted from an Oracle 11 database, which consists of several lookup tables, as well as a primary table and secondary table. Using the EntityManager createQuery method I query the database, which of course returns a resultset. The query grabs all records from the primary, as well as values from 2 specific columns of the secondary database, based on search criteria entered by the user on a primefaces search form. The returned results are then iterated through, this is where I am trying to get the values from the secondary table to populate specific fields in the datatable.Here is the applicable code from the list.xhtml form containing the datatable:
As odd as the code may look (and I will completely understand anyone cringing as to some of the coding methods I use), specifically with the ui:repeat tags nested inside the datatable tag of the list.xhtml form, I strangely do see the values from the secondary table showing up in the form showing the results in a datatable. However, when the user clicks on a specific record in the returned resultset listed in the datatable, another form is opened and populated with the values from the datatable, but the 2 fields on that form that should be populated with the 2 values I referred to before from the secondary table (i.e. policy1Num and totalPayoutAmt) do not have the values in them.
This is partly because I have those 2 fields in the editable form pointing to the managed bean of the secondary table (code from that bean not shown here), rather than the same "polNum. policy1 Num" and "totPayout.totalPayoutAmt" var I am using in the list.xhtml form. How those values are being successfully returned into the datatable of the list.xhtml form - I happened to "stumble" across the use of the "polNum" and "totPayout" vars with the "policy Payment Collection" list. I do not know how to do the same thing for those 2 fields in the editable form.how a datatable gets populated, specifically with values in a @OneToMany collection,
I have a method that accepts JSONArray as parameter and returns the values of it as ArrayList Object. My question which of these ways is appropriate in populating the ArrayList object this method populates the arraylist upon creation of object (I don't know what the right term to use, but as netbeans IDE suggest, JSONArray object should be final since it was used in inner class.).
private List<String> getStringList(final JSONArray jsonArr) { return new ArrayList<String>() { { try { for (int i = 0; i < jsonArr.length(); i++) { add(jsonArr.getString(i)); } } catch (JSONException ex) { ex.printStackTrace(); } } }; }
this second method is the usual way of populating collection
private List<String> getStringList(JSONArray jsonArr) { List<String> strList = new ArrayList<String>(); try { for (int i = 0; i < jsonArr.length(); i++) { strList.add(jsonArr.getString(i)); } } catch (JSONException ex) { ex.printStackTrace(); } }
What are the advantages and disadvantages between the two? like which is faster? or which consumed larger memory?
I have a requirement like in a Rich datatable, and i have placed two links up and down in one of the column of each row, here i wanted to swap rows (move up/ down ) the rows when i click the link on a perticular row. is it possible with jsf/ java script?
This is the method public void populateMatrices(int [][]mat1, int [][]mat2). I know how to do it for one matrix, but what do we do for the additional matrix? Here is the code I have so far.
for (int row =0; row<mat1.length;row++){ for (int column = 0; column<mat1[row].length;column++){ mat1[row][column]=1 + (int)(Math.random()*5);
I am trying to populate a Jlist for information stored on a database. The database contains football club names, but instead of being populated with their names it just has a hexadecimal reference ( Club@183357c4 ) for each club object.
I have been given a task to do, which is to create a memberList and populate it with data. The constructor has been created with me, but I am required to add code to display the memberList. I am also required to creates a method to display members.This is the method I created:
/** * Populates the list of members. * Displays the membership numbers and names of library members in ascending membership number order. * The first member is selected by default. */ public void displayMembers() { initComponents(); library = new LibraryCoord(); Collection<Member> Member = library.getMembers(); memberList.setListData(Member); memberList.setSelectedIndex(0);
[code]....
The code below TO DO is mine.What is meant to happen when I run the project is for a GUI form list to show the members of memberList. However, it does not.
When I have a datatable of primefaces with paginator and its only readable and not editable, its not needed to be inside of a form, right? although I have seen it many times inside of it
1. If we have and xhtml page and we just have a datatable to show some records through a managed bean, I think there is no validation phase, apply request values phase... so it would be a faces request but not with the lifecycle of a jsf request, right?
2. In the previous case because the normal phases of a jsf request are not going to be called, the method that will be called in the backing bean to get the records, could be called more than once although its not a normal faces request?
I'm not sure this is right... Is there a way to automate this process? What if we have arrays like int[][][] Terms? This is terrible... Is there a software tool for this?
I used Primefaces 4.0.7.I has trouble with checkboxes, which are not change,with unselected checkboxes when I press . I mean, i selected someone from selectone menu in my bsPanel(first panel) and then the datatable fills with his/her duty.Then I select all the duties in the datatable to assign to someone else in bilgiPanel. Then duties assign this person and then i choose same person in the top panel(bsPanel),then datable seems with selected sutiesHere xhtml file;
I have created one dataTable in page and shown some columns but I want to show only those columns which have entries ( if any column doesn't have record then it should not be displayed on the page.) . How should I put validation on this and display table.
I have requirement, in that I am showing a Datatable, above that table i have form in that i can register a employee, after clicking on submit employee data have to be saved in the database aswell as i have to update datable, so that I can see that registered employee in that Datatable, how can i full fill this requirement. I am using jsf 2.0, ejb3.0,jpa 2.0.
In managed bean I am calling this service as fallow in init method, and i am binding same this. employee list to UI
public String getAllEmployeesfronHr() { this.employees = customerservice.getallEmployees(); System.out.println(this.employees.size() + "=================size of employee"); return ""; }
For every submit button click i have to query database or is there any mechanism to update List / can we use entity manager in anyway so that we can update Employee List....
I have created Person.java with the following attributes:
private String firstName; private String lastName; private int age;
My main method parses the XML, loops through each person, and gets the attributes for each.
I need to create instances of my Person class. I could write something like this:
Person person = new Person(); for (int i = 0; i < attributes.getLength; i++) { if (attribute.getName(i) = "firstname") { person.firstName = attribute.getValue(i);} if (attribute.getName(i) = "lastname") { person.lastName = attribute.getValue(i); } if (attribute.getName(i) = "age") { person.age = attribute.getValue(i); } }
Since my actual XML has quite a few attributes, I would rather do something like this:
Person person = new Person(); for (int i = 0; i < attributes.getLength(); i++) { person[attribute.getName(i)] = attribute.getValue(i); }
import java.io.*; import java.util.Scanner; public class asciiFile { int height; int width; Scanner input; char[][] poop; public asciiFile(File f) throws FileNotFoundException{ //constructor
[code]...
The constructor is supposed to take an ASCII file, take the numbers in the file, and populate a 2D array with the numbers in the file.
For some reason, the for loop I use to populate the array works outside of the constructor. When I put it in one of the methods, it runs normally. However, when I keep it in the constructor, I get the following error:
Exception in thread "main" java.lang.NullPointerException
My code runs and populates an arraylist. However my break statement, while stopping the loop ends up being added to the arraylist. And I'm not sure how to fix this error.
public static void main(String args[]) throws Exception { // declaring variables String input = ""; // creating array list ArrayList<String> nameList = new ArrayList<String>();
We are getting "Code too large" compilation error for one of our class. This class contains public String fields for label ID and value. We use this class for localization, except for English all other language labels come from .properties files.
The reason we are getting this error is because we have a static block in which using reflection we are populating a HashMap with all public fields and their value. The number of fields have gone up to the extinct where we are crossing the 64K limit for a static method. One of the most feasible solution was to use .properties files for English labels as well.
I will be calling this class MyLabels. We defined a super class for MyLabels called MyLabelsExt. And now we are adding labels into the super class instead of the MyLabels. By running some tests we confirmed that the map that we initialize in MyLables class contains all the fields from both MyLabels and MyLabelsExt class.
How is the 64K limit error not coming if the labels are defined in a super class. Does that mean Java is able to identify that some of the fields are coming from parent class, and that is being treated as separate from the child class. And how is the map that we initialize having all the value.
When i click on 'Add Invoice' button open a dialog box. input data in dialog box. After click on 'Save Invoice' all the data of dialog box is render in primfaces datatable. After that click on 'Save Invoices' all data of primefaces datatable and HTML table data are store in ipsDetail and Invoice object of Managed Bean class.
Here, Problem is ipsDetail elements NULL when click on 'Save Invoice' button in addRow() so that primefaces datatable not updated. So that i can not insert new invoice data in database table.
I have a bookings table where customers can view their bookings and in the table there is a button with a command button that onclick goes to the dialogue to display the variable petUpdate value but if you have 2 bookings then all the update buttons display the value of the last petUpdate in the arrayList.
DataTable with the button
<p:dataTable id="bookingTable" var="customerBooking" value="#{booking.sessionBookingList}" editable="true" style="margin:0px 0px 20px 100px;font-size:15px;width:600px;" >
Code in the above datatable.......The commented out output label displays the correct value for each but when the button is clicked the dialog only displays the last ones value
I have small project to be implemented in Java, which, expected the management of a parking.
The project has a class abstract Vehicle, whence derive three classes: Car, Motorcycle, Heavy Vehicles; the cost estimated time for the 3 types of vehicles are: 2€ for Cars, 1€ for Motorcycle and 5€ for H.V.
In addition, in class Ticket will be stored the arrival time of the customer and the characteristics of his vehicle.
Finally, in the class Parking(which provides 80 places available), here it should be added the various types of vehicles.
Now, I though of using an Collection, as Set.. So that they can not, two Vheicle with same license plate.
I am using mysql database and I have downloaded the library also I have managed to get the database connection and query working. I need to know if I need to create separate classes to add/remove/edit items and view items? Do I need to put my database connection script in every class that I create or should I create methods for both the connection and the queries that will be called in the additional classes or methods that I have?
Below is what I have written so far and it is working, I will change the database and query soon to reflect the task I need to do because I have followed a tutorial.
Java Code:
/** * cdCollection.java */ package org.com.mm00422_prototype; //Import for the SQL package import java.sql.*;
//Registering the JDBC driver //Class.forName("com.mysql.jdbc.Driver");
The last line seems half cut. Does that indicate that there is memory leak in my application? I have not seen the app throwing the out of memory error.