Requirement Constraints

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Monday, 21 May 2012

ZK Simple Sightseeing Application Part 1

Posted on 01:00 by Unknown

After reading the following article,
http://books.zkoss.org/wiki/ZK_Getting_Started/Creating_a_Simple_Sightseeing_Application

I decided to connect with the DB and to make database driven application.



Let me split this tasks into different part as follows

Part 1 :  Make the application to work with ZK6 Version
Part 2 :  Using mysql, create the table and insert some values into the table for sight seeing, then
             connect with DB Using hybrid and retrieve the list from the DB.


Here is the Part 1

Environment

1. ZK 6 CE Version
2. Java 1.6 JRE



Step : 1

Create a New ZK Project. Let us name this project as ResortHib


Step : 2 Creating resort.zul

Right Click on Webcontent folder and Click New->Zul File and give the file name as resort.zul
Remove the default content in the resort.zul file and paste the following content.
        [Note: Same content of the resort.zul from the ZK Simple Sightseeing Application. No Change]

Here is the code for resort.zul

<?script content="zk.googleAPIkey='ABQIAAAAmGxmYR57XDAbAumS9tV5fxQXyylOlR69a1vFTcUcpV6DXdesOBSMEHfkewcSzwEwBT7UzVx8ep8vjA'"?>

<window id="win" title="ZK Tutorial" border="normal"
 apply="org.zkforge.resort.ui.ResortController" width="1024px">
<hbox>
<listbox id="lb" hflex="1">
<listhead sizable="true">
<listheader label="Name" width="100px"/>
<listheader label="Description" width="285px"/>
</listhead>
</listbox>
<gmaps id="gmap" zoom="16" showTypeCtrl="true" mapType="satellite" showLargeCtrl="true" width="610px" height="400px">
<ginfo id="ginfo"/>
</gmaps>
</hbox>
<groupbox id="gb" mold="3d" width="100%">
<caption label="Resort"/>
Name:<textbox readonly="true" id="name"/>
Description:<textbox readonly="true" id="desc"/>
Longitude:<doublebox readonly="true" id="longtitude"/>
Latitude:<doublebox readonly="true" id="latitude"/>
</groupbox>
</window>



Step : 2 Creating Resort.java

Right click on Java Resources and Click New->Class. Give package name as
        org.zkforge.resort.model and class name as Resort.java

Copy all the code from ZK Simple Sightseeing Application Resort.java and paste here.

Here is the Resort.Java code


package org.zkforge.resort.model;

import java.util.LinkedList;
import java.util.List;

public class Resort {
    private String _name;
    private String _description;
    private double _latitude;
    private double _longitude;
 
    public Resort() {
    }

    public Resort(String name, String description, double latitude, double longitude) {
        _name = name;
        _description = description;
        _latitude = latitude;
        _longitude = longitude;
    }

    public String getName() {
        return _name;
    }

    public void setName(String name) {
        _name = name;
    }

    public String getDescription() {
        return _description;
    }

    public void setDescription(String description) {
        _description = description;
    }

    public double getLatitude() {
        return _latitude;
    }

    public void setLatitude(double latitude) {
        _latitude = latitude;
    }

    public double getLongitude() {
        return _longitude;
    }

    public void setLongitude(double longitude) {
        _longitude = longitude;
    }

    public static List<Resort> getAll() {
        List<Resort> resorts = new LinkedList<Resort>();
        resorts.add(new Resort("La Tour Eiffel", "Insolite ! D\351couvrez la Tour Eiffel autrement.", 48.858559939099997D, 2.2945332527D));
        resorts.add(new Resort("Buckingham Palace", "Buckingham Palace is the official London residence of the sovereign.", 51.501369818199997D, -0.14166891570000001D));
        resorts.add(new Resort("\u6771\u4EAC\u30BF\u30EF", "\u7DCF\u65704\u4E07\u306E\u5149\u30D5\u30A1\u30F3\u30BF\u30B8\u30FC\u3068\u90FD\u5185\u6700\u5927\u7D1A15\uFF4D\u306E\u30C4\u30EA\u30FC\uFF01", 35.658348757799999D, 139.7457217178D));
        resorts.add(new Resort("Der K\366lner Dom", "Offizieller Name Hohe Domkirche St. Peter und Maria", 50.941420677099998D, 6.9586372374999996D));
        resorts.add(new Resort("ecosmos", "ecosmos Office", 12.956048, 77.590599));
     
        return resorts;
    }
 
 
}


Step : 3 Creating ResortController.java

Right click on Java Resources->Src and Click New->Class. Give package name as
        org.zkforge.resort.ui and class name as ResortController

Copy all the code from ZK Simple Sightseeing Application ResortController.java and paste here.

Here is the ResortController.java code


package org.zkforge.resort.ui;

import org.zkforge.resort.model.Resort;
import org.zkoss.gmaps.Ginfo;
import org.zkoss.gmaps.Gmaps;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Doublebox;
import org.zkoss.zul.ListModelList;
import org.zkoss.zul.Listbox;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;
import org.zkoss.zul.Textbox;

/**
*
* @author Phoenix
*
*/
public class ResortController extends GenericForwardComposer
{

    private static final long serialVersionUID = -4023064279380075239L;
    private Listbox lb;
    private Gmaps gmap;
private Ginfo ginfo;
private Textbox name;
    private Textbox desc;
    private Doublebox latitude;
    private Doublebox longtitude;

    public void doAfterCompose(Component comp) throws Exception {
        super.doAfterCompose(comp);
     
        lb.setItemRenderer(new ListitemRenderer()
{
            public void render(Listitem item, Object data) throws Exception {
                Resort value = (Resort)data;
                item.appendChild(new Listcell(value.getName()));
                item.appendChild(new Listcell(value.getDescription()));
                item.setValue(value);
            }
        });
     
        lb.setModel(new ListModelList(Resort.getAll()));
    }
 
    public void onSelect$lb() {
        refreshUI();
    }

    private void refreshUI() {
        Resort resort = (Resort) lb.getSelectedItem().getValue();
        double latitudeValue = resort.getLatitude();
        double longtitudeValue = resort.getLongitude();
     
        name.setValue(resort.getName());
        desc.setValue(resort.getName());
        latitude.setValue(resort.getLatitude());
        longtitude.setValue(resort.getLongitude());
        ginfo.setLat(latitudeValue);
        ginfo.setLng(longtitudeValue);
        ginfo.setContent(resort.getDescription());
        gmap.panTo(latitudeValue, longtitudeValue);
        gmap.setZoom(16);
        gmap.openInfo(ginfo);
    }
}




    After you copied, the first two lines will show error

import org.zkoss.gmaps.Ginfo;
import org.zkoss.gmaps.Gmaps;


    We need to put the gmap jar file in our lib folder. In order to do this, copy the gmapsz.jar
    file from the downloaded folder and paste in our webcontent->weblib folder.


    Now, again the following line will show the error
 

lb.setItemRenderer(new ListitemRenderer() {
public void render(Listitem item, Object data) throws Exception {


    The error because the above method has been depreciated in zk6. So let us use the latest method.
    Delete the doAfterCompose method and replace with the following

 
@SuppressWarnings({ "unchecked"})
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);

lb.setItemRenderer(new ListitemRenderer() {
@Override
public void render(Listitem item, Object arg1, int arg2)
throws Exception {
Resort value = (Resort) arg1;
item.appendChild(new Listcell(value.getName()));
item.appendChild(new Listcell(value.getDescription()));
item.setValue(value);

}
});
lb.setModel(new ListModelList(Resort.getAll()));
}

Step 4:  Run the application

       Double click resort.zul and right click and say run as -> Run on server.

       You can see the output in the internal browser.
     

Next Part 2, we will modify the ZK Project to retrive the data from the Database using hibernate.



Email ThisBlogThis!Share to XShare to Facebook
Posted in ZK Hibernate, ZK Application | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • ZK Example for inline Editing with Add New and Delete
    I am quite impressed on this demo from ZK . But adding new record and delete existing record is missing as part of typical CRUD. So i thoug...
  • EDI 5010 Documentation 837 Professional - Loop 2010BB Payer Name
    2010BB Payer Name          In this loop, all the information will be taken from Insurance master screen. Take a look of our sample screen...
  • EDI 5010 Documentation–837 - BHT - Beginning of Hierarchical Transaction
    BHT – Beginning of Hierarchical Transaction Loop Seg ID Segment Name Format Length Ref# Req Value   BHT Beginning of Hier...
  • Hibernate Validator Example 2
    In this example, we will see some more validation constraints such as @email, @past, @length, etc. And also we will also define custom error...
  • ZK Passing Parameter between two files using MVVM–Part 1
    Overview This is the first series of articles about Passing parameter between two zul files using MVVM Design pattern .This article will fo...
  • MVVM Command annotation and Notify change example
    Here is an example, how to pass parameter on a zul through MVVM Command binding annotation. ZK URL http://books.zkoss.org/wiki/ZK%20Develo...
  • History of Present Illness
    HPI - One of the main component of Clinical History. What is an HPI ? The history of present illness (HPI) is a chronological description...
  • Patient Demographics
    Patient browse (search) is the key element for any EMR / PMS Software. In my past 15 years experience, i involved more than 5 times in desig...
  • ViewModel Class Java Annotation @Init, @NotifyChange, @Command
    In following sections we'll list all syntaxes that can be used in implementing a ViewModel and applying ZK bind annotation. The ZK binde...
  • Good Website Design Links
    Form Design Label Placement in Forms International Address Fields in Web Forms 40 Eye-Catching Registration Pages blog-comment-form-...

Categories

  • Billing Process
  • C Workbook
  • C++ Workbook
  • Eclipse Tips
  • EDI 5010
  • EMR Appointment Features
  • EMR Labs Stuff
  • EMR PMS Links
  • EMR Use cases
  • EMR Vital Sign
  • Good Website Design
  • Hibernate Criteria Queries
  • Hibernate Introduction
  • Hibernate Introduction Setup
  • Hibernate Mapping
  • Hibernate POC
  • Hibernate Validator
  • Hibernate–Java Environment setup
  • HPI
  • Java
  • Maven
  • MU Certification
  • NPI
  • PQRS
  • Practice Management System
  • Spring Security
  • Tech Links
  • Today Tech Stuff
  • zk
  • ZK Hibernate
  • ZK 5 Databinding
  • ZK Application
  • ZK Calling Another ZUL
  • ZK CheckBox
  • ZK CreateComponents
  • ZK CSS
  • ZK extended Components
  • ZK Foreach
  • ZK Forum Posts
  • ZK Framework
  • ZK Hibernate Setup
  • ZK ID Space
  • ZK Include
  • ZK Installation
  • ZK iReport
  • ZK Layout
  • ZK Listitem Pagination
  • ZK Message Box
  • ZK MVC
  • ZK MVC Combox Box
  • ZK MVC CRUD Examples
  • ZK MVC Listbox
  • ZK MVVM
  • ZK MVVM Combo
  • ZK MVVM CRUD
  • ZK MVVM ListBox
  • ZK Spring
  • ZK TextBox

Blog Archive

  • ►  2013 (105)
    • ►  December (3)
    • ►  September (7)
    • ►  August (13)
    • ►  July (1)
    • ►  June (11)
    • ►  May (3)
    • ►  April (14)
    • ►  March (19)
    • ►  February (21)
    • ►  January (13)
  • ▼  2012 (177)
    • ►  December (1)
    • ►  November (13)
    • ►  October (19)
    • ►  September (24)
    • ►  August (26)
    • ►  July (6)
    • ►  June (37)
    • ▼  May (30)
      • Input Form Validation window
      • ZK Executions.createComponents
      • List Item Connected with Hibernate and Search Para...
      • ZK Hibernate Setup
      • Window Title Change Color
      • List item Data Binding
      • ZK Data Binding
      • Message Box Customization
      • MVC CRUD Application–Filter records in the list ba...
      • ZK Check Event Handling Using MVC
      • MVC CRUD Application with Auto filter for List item
      • Text Box on change and on Changing Event
      • Hibernate Criteria Queries
      • MVC CRUD Application
      • Hibernate Query uniqueResult Method
      • Hibernate retrieve the first record always when we...
      • Hibernate Introduction Part 4
      • ZK Data Binding Part 1
      • Simple Sightseeing Application Part 2
      • Window CSS
      • ZK Simple Sightseeing Application Part 1
      • Button CSS
      • Group Box with Collapse and Expand Button in the R...
      • Tuning Eclipse Performance and Avoiding OutOfMemor...
      • Listitem Mold Paging - Add components in the pagin...
      • ZK Calling Another ZUL File
      • ZK Installation Guide
      • List Box CSS
      • Eclipse Tips and Tricks
      • Hibernate Introduction Part 3
    • ►  April (16)
    • ►  March (1)
    • ►  January (4)
  • ►  2011 (5)
    • ►  December (1)
    • ►  November (1)
    • ►  July (1)
    • ►  June (1)
    • ►  April (1)
  • ►  2010 (1)
    • ►  September (1)
Powered by Blogger.

About Me

Unknown
View my complete profile