Chua kotak kabar terbaru chua kotak, bassis kotak yang manis Chua memang memiliki banyak fans. Kesibukan selalu menghampiri grup band Kotak. Namun kesibukan itu tidak menghalangi pemain bass Kotak, Swasti Sabdastantri atau Chua untuk tetap berkuliah.
Chua mengaku antara jadwal manggung Kotak dan kuliahnya tidak pernah bersatu. Alhasil mahasiswi jurusan periklanan di London School itu harus
Tuesday, November 2, 2010
Konser Dari Gitaris untuk Indonesia
Konser Dari gitaris untuk Indonesia merupakan konser amal dari para gitaris indonesia untuk indonesia. menanggapi banyaknya bencana yang belakangan ini terjadi seperti letusan merapi dan tsunami mentawai. para musisi khususnya gitaris indonesia papan atas berinisiatif untuk menggalang dana dari konser amal bertajuk dari gitaris untuk indonesia. Siapa saja gitaris yang ikut ambil bagian di konser
Sunday, October 31, 2010
Alexandria Mills Miss World 2010
Alexandria Mills Pemenang Miss World 2010. Siapa sebenarnya Alexandria Mills yang berhasil menjadi juara miss world 2010? Simak sedikit profil Alexandria Mills Juara Miss World. Kontestan asal Amerika Serikat ini berhasil mengalahkan dua kandidat lainnya yang berasal dari Botswana dan Venezuela. Pemilik postur tubuh 175 cm dan punya hobi traveling, fotografi, dan perkusi. Moto hidupnya yaitu
Pernikahan Okan Cornelius
Pernikahan Okan Cornelius, Aktor Okan Cornelius akan segera melangsungkan pernikahannya dengan kekasihnya bernama vivien tanggal 13 november 2010. seperti apa konsep pesta pernikahan okan cornelius? Konsep resepsi pernikahan Okan pun terbilang unik. Pria yang pernah membintang sinetron Kawin Muda bersama Agnes Monica ini akan menghadirkan pesta topeng. Wow!
“Kalau untuk resepsinya kayak pesta
“Kalau untuk resepsinya kayak pesta
Friday, October 29, 2010
Film Arwah Goyang Karawang Jupe Dewi Persik
Film Arwah Goyang karawang adalah salah satu judul film horror indonesia terbaru yang rencananya akan dibintangi oleh julia perez dan dewi persik, namun perseteruan terjadi karena dewi persik lagi lagi membuat sensasi dengan mangkir dari jadwal syuting film arwah goyang karawang. Jupe yang kekasih Gaston Castano itu menganggap Dewi Persik tidak profesional karena mangkir syuting.
Dewi
Dewi
Thursday, October 28, 2010
Letusan Merapi, Tsunami Mentawai Duka Indonesia
Letusan merapi dan tsunami mentawai merupakan duka bagi indonesia, bencana alam terjadi berturut turut di indonesia mulai dari banjir wasior, gunung merapi meletus hingga tsunami mentawai yang diawali dengan gempa. sekarang Indonesia tengah menjadi sorotan dunia dan diberitakan di CNN, BBC dan stasiun berita internasional lainnya terkait dengan bencana alam di indonesia baru baru ini. sempat
Miyabi di Jakarta Syuting Film
Beberapa hari lalu sempat tersiar kabar bahwa Miyabi alias maria ozawa nampak terlihat sedang berbelanja di mall grand indonesia. tampaknya miyabi datang diam diam ke indonesia agar tidak terjadi kehebohan dan juga pencekalan miyabi seperti kasus pencekalan kedatangan tera patrick dan saat maria ozawa alias miyabi membintangi film menculik miyabi.
Keberadaan Miyabi di Indonesia diakui oleh ody
Keberadaan Miyabi di Indonesia diakui oleh ody
Sunday, October 24, 2010
Profil Klantink Juara IMB 2010
Profil Klantink juara IMB 2010, anda bisa menemukan profil dari pengamen jalanan asal surabaya yang meraih gelar juara di malam grand final indonesia mencari bakat dan mengungguli putri ayu penyanyi seriosa melalui hasil polling SMS tipis, siapa sebenarnya klantink? berikut adalah sedikit ulasan singkat mengenai klantink bagi para fans juara imb 2010 klantink.
Klantink adalah kelompok musik
Klantink adalah kelompok musik
Juara IMB | Pemenang Indonesia Mencari Bakat Klantink
Juara IMB pemenang indonesia mencari bakat telah ditemukan, juara kontes indonesia mencari bakat jatuh kepada sekelompok pengamen asal surabaya yaitu klantink yang mengungguli putri ayu yang juga bagus sebagai penyanyi seriosa. kemenangan klantink sebagai juara IMB 2010 juga tak lepas dari polling SMS penonton yang mendukung klantink.
Sebagai pemenang indonesia mencari bakat alias IMB 2010,
Sebagai pemenang indonesia mencari bakat alias IMB 2010,
Nia Ramadhani Ganti Nama Ramadania Ardiansyah Bakrie
Nia Ramadhani mengganti namanya menjadi Ramadania Ardiansyah Bakrie mengikuti nama suaminya dan klan bakrie. gosip nama baru nia ramadhani ini langsung menjadi berita selebritis terbaru minggu ini, apakah alasan nia ramadhani berganti nama? Perubahan nama tersebut dilakukan untuk mempercepat proses hukum yang suatu hari akan terjadi. Selain itu, Nia juga membenarkan nama baru sebagai bentuk
Thursday, October 21, 2010
JSF 2.0 - New features (part 3 of 3)
Requirements:
This is the third post about new features that could be found in JSF 2.0 comparing to JSF 1.x. In the previous post (part 1), I described templating mechanism and simplified navigation model. In the second post (part 2), I described resource loading mechanism. In this post I would like to focus on the built in Ajax support and on possibility to create bookmarkable URLs.
- working example from previous post as a basis
- support for Ajax
- support for GET and creating bookmarkable URLs
This is the third post about new features that could be found in JSF 2.0 comparing to JSF 1.x. In the previous post (part 1), I described templating mechanism and simplified navigation model. In the second post (part 2), I described resource loading mechanism. In this post I would like to focus on the built in Ajax support and on possibility to create bookmarkable URLs.
Ajax support.
Ajax is a very wide issue. I would like to show only one of the simplest example - refreshing part of the page after some action. The purpose of this example is to show that using simple Ajax does not require any additional configuration or libraries.
In the sample application I have a page bikesList.xhtml. This page shows the bikes list in selected category (category is chosen in main menu on left). Some of the bikes have discount price. I have two buttons (above the displayed bikes list) acting as bike list filters. Pressing those buttons causes filtering the list and reloading it on the view. For example: if I press a button "Discount bikes" (in red box), only one bike will be shown on a list (Magnum bike with doscount price, marked by red box). If I press "All bikes" - all bikes from the category will be shown:
The idea is to reload the bike list after pressing the button, without reloading the whole page. This is done by Ajax call which is "hooked" to the buttons:
<ui:define name="content">Ajax call defined by <f:ajax render="bikesTable" /> causes reloading the corresponding part of thw page with id=bikesTable. In our case this is the list <h:dataTable id="bikesTable" ... > which shows all or filtered bikes. Simple - isn't it?
<h:commandButton actionListener="#{bikesListBean.showAllBikes}" value="#{msg['bikes.filter.all']}">
<f:ajax render="bikesTable" />
</h:commandButton>
<h:commandButton actionListener="#{bikesListBean.showDiscountBikes}" value="#{msg['bikes.filter.discount']}">
<f:ajax render="bikesTable" />
</h:commandButton>
<h:dataTable id="bikesTable" value="#{bikesListBean.bikesList}" var="b">
...
</ui:define>
Creating bookmarkable URLs (GET support).
Why do I need GET? Consider this situation: I found interesting bike in the Bike Shop. I would like to get the URL and send it to someone in order to show what I found. Quite normal thing isn't it? Unfortunately not possible in JSF 1.x because of lack of GET support. JSF 1.x is POST-centric, so passing parameters in the URL wiht GET was not possible - so I have no way to save the URL.
JSF 2.0 provided GET support by introducing so-called "view parameters". A page which uses a special component for view parameters, is able to catch incoming view parameters (they are in the URL) and update page model (i.e. fields in managed bean) with their values. Moreover standard conversion and validation of the incoming parameters is possible - just like for the POST data.
How it work in real example? Let's go back to our sample application. We have a page named bikesList.xhtml which shows all bikes. We also have a page named bikeDetails.xhtml which shows the detail of selected bike. I would like to see the particular bike and take the URL with it and send it to someone. So the bikeDetails.xhtml page will contain view parameter component:
<f:metadata>Page expects the URL parameter named bikeId, then value of this parameter is copied into the model to the field #{bikeDetails.bikeId}. For now skip <f:event .../> component - I will back to it at the end.
<f:viewParam name="bikeId" value="#{bikeDetails.bikeId}"/>
<f:event type="preRenderView" listener="#{bikeDetails.loadBike}"/>
</f:metadata>
Where those parameters are created and passed to the URL? JSF 2.0 provides two components allowing to add GET parameters to the target URL: <h:button /> and <h:link />(they work similar to the POST-centric <h:commandButton /> and <h:commandLink). In our example bikesList.xhtml page uses <h:button /> for each presented bike to construct the button which navigates us to bikeDetails.xhtml and sets bikeId as a parameter:
<h:dataTable id="bikesTable" value="#{bikesListBean.bikesList}" var="b">
...
<h:button outcome="bikeDetails" value="#{msg['bikes.list.seebike']}">
<f:param name="bikeId" value="#{b.id}"/>
</h:button>
...
</h:dataTable>Notice outcome attribute and its value - it points to the target page where view parameters component is used. Simplified navigation is used here. Generated URL looks like this:http://localhost:8080/JSF2Features/faces/bikeDetails.xhtml?bikeId=5
We have bokkmarkable URL which can be saved and sent to other people and used later.
Solution with view parameters on bikeDetails.xhtml uses another new feature in JSF 2.0: system events. We register a special listener using the tag
<f:event type="preRenderView" listener="#{bikeDetails.loadBike}"/>The listener is executed before the view is rendered. What is the benefit? When a view is reached, view parameter is copied into the managed bean and listener is executed and after that the whole view (page) is rendered. Our listener uses passed bikeId to load the selected bike from repository like database. When the page is rendered, the proper bike is loaded from repository and ready to be displayed - we do not have to wait for loading the data.
That's all. We are ready to test the application. After deploying application on the server and starting the server, we have to open a browser and type in URL:
http://localhost:8080/JSF2Features
-------------------------------------------
Download source files:
Note: make sure that Java, Eclipse and Tomcat are properly installed and configured for running the project (additional configuration may be required if different directories are used).
Eclipse complete sample project is here (with all required libraries). The sample project is a ready to run application which contains all described JSF 2.0 features in first, second and this (third) post. You can also download a war file located here (just copy it inside webapps folder in Your Tomcat and start Tomcat with the script startup.bat)
Jonas Rivano Profil Foto
Jonas Rivano Profil dan Foto, Nama Jonas Rivano sekarang akrab di telinga para pecinta sinetron khususnya kemilau cinta kamila, akting jonas rivano bersama asmirandah di kemilau cinta kamila dari season 1 hingga 3 saat ini memang membuat nama jonas melambung. Ingin tau lebih jauh tentang profil jonas rivano si pemeran anak kembar Fadil dan Taufan dalam Kemilau Cinta Kamila.
Berikut Biografi
Berikut Biografi
Wednesday, October 20, 2010
Foto Pre Wedding Kiki Amalia Markus Horizon
Foto prewedding kiki amalia dan kiper timnas indonesia markus horizon alias haris maulana sudah beredar, nampaknya tidak lama lagi pernikahan kiki amalia dan haris maulana akan segera dilangsungkan, seperti apa konsep pernikahan dan foto prewedding kiki amalia? apakah mirip dengan foto prewedding jupe gaston yang menunjulkan sensualitas dan erotisme? mari kita simak foto prewedding kiki amalia
JSF 2.0 - New features (part 2 of 3)
Requirements:
- working example from previous post as a basis
- resource loading
Resource loading.
What are resources in terms of a web application? It can be images files, JavaScript script files or CSS files used on web pages in the application - so some external files accessible by special tags in the page source. In the JSF application we also name as resources message bundle files.
Just as a short reminder for message bundles:
1. We create message bundle files for each language we would like to support. Then we add some lines into the configuration in faces-config.xml where we define what language will be supported (<locale-config> section) and we define EL access object (<var>msg</var>) for the created message bundle files:
2. We use message from the bundle files by calling defined EL accessor in the page source, for example:
<h:outputText value="#{msg['top.name']}" />This approach gives us the most important benefit: localization of the application. Based on the browser's language, suitable message bundle file is used (EN or PL in above example).
So far so good - nothing new is here when comparing to JSF 1.x. But what about other resources like JS, CSS or image files? JSF 2.0 can handle those resources in a more intelligent way than before - a special ResourceHandler is used for load resources from some predefined locations. According to the documentation resources are expected to be placed in:
WebRoot is a root of web application - in the Eclipse generated web projects it is the directory named "WebContent". Part resourceIdentifier have this structure:
WebRoot/resources/<resourceIdentifier>
WebRoot is a root of web application - in the Eclipse generated web projects it is the directory named "WebContent". Part resourceIdentifier have this structure:
[localePrefix/][libraryName/][libraryVersion/]resourceName[/resourceVersion]
resourceIdentifier defines the subdirectory structure inside WebRoot/resources/directory. And the most important part: localePrefix means that resources can be localized based on the browser's language, like message bundles. Part libraryName can be use to group resources by their type in different directories, for example "css", "images", "scripts".
Let' see how it work in a sample application. As I wrote in previous post, we used shopTemplate.xhtml file as a template page for all pages in application. The second purpose of this file (next to defining reusable parts) is to separate the structure from the presentation - template page will include all CSS files and common images files. We will use new ResourceHandler in order to load some CSS and images suitable for current browser language:
- images: we have two pictures (bike_logo.jpg and flag.gif) in sample application visible in the header - they will change depending on current browser language
- CSS: depending on current browser language, different CSS will be loaded. The only difference between loaded CSS's is footer color (just to show that CSS is really changed)
How to load such resources on the page? First we have to perform additional configuration to enable loading resources using proper localePrefix ("pl" and "en" on the screenshot above). We have to create a special localized entry named javax.faces.resource.localePrefix in a resource-bundle file. This file must be configured as message-bundle in faces-config.xml - we can not use resource bundles (used for localized messages as shown above) to put entry there:
Now we can use the resources on the shopTemplate.xhtml page:
Please note that we use here a new JSF 2.0 tag:
<h:outputStylesheet library="css" name="layout.css" />Attributes library and name correspond to the libraryName and resourceName from <resourceIdentifier> respectively.
If we want to load JS scripts we have to use additional JSF 2.0 tag: <h:outputScript ... /> wich has additional attribute named target - specifying where to render script link.
Loading images with standard tag <h:graphicImage ... /> is possible in two ways:
- using attributes library and name correspond to the libraryName and resourceName from <resourceIdentifier> respectively (like for CSS)
- using special EL expression "#{resource['images:bike_logo.jpg']}" (wartch out for letters: EL has resource word but in the WebContent there is a resources directory!)
Note about testing: in order to test if images and CSS (footer color) changes when browser language is changed, I recommend clean the browser cache and restart it completely before testing (sometimes image cache prevents from changing the image). The test result should be:
PL version:
EN version:
-------------------------------------------
Download source files:
The complete working example of mentioned application which will contain all described features, will be available in the last (third) article of this serie.
Monday, October 18, 2010
Mulan Jameela Hamil Gosip
Mulan Jameela Hamil? siapakah yang menghamili mulan jameela? hingga kini gosip hamilnya mulan jameela masih menjadi misteri mengingat status mulan jameela yang sekarang adalah janda. hingga kini ahmad dhani pun masih diam membisu menanggapi kabar mulan jameela hamil. tidak hanya dhani yang diam namun Maia Estianty rekan mulan jameela (Dulu Mulan Kwok) di Ratu juga no comment soal hamilnya mulan
Foto prewedding Julia Perez
Foto prewedding jupe dengan gaston menuai banyak kontroversi, banyak yang bilang bahwa foto prewedding jupe dan gaston ini terlanjut vulgar dan seksi. seperti apa foto prewedding julia perez gaston yang dimaksud? anda bisa temukan foto prewedding jupe di bawah ini namun versi sensor. Download Foto prewedding Jupe gaston.
"Itu memang foto-foto prewed gue, tapi acara nikahnya masih lama. Enggak
"Itu memang foto-foto prewed gue, tapi acara nikahnya masih lama. Enggak
Sunday, October 17, 2010
JSF 2.0 - New features (part 1 of 3)
Requirements:
- working "Hello World" example in JSF 2.0 as a basis (from here)
- templating with Facelets
- simplified page navigation
Sample application:
In order to go higher than "Hello World" level we will create fully functional mini application which will serve as an example for mentioned JSF 2.0 features.
Let's assume that we are creating a web application for bicycle shop. Our application should present a list of available bikes. Bikes will be divided because of their type like MTB, Trekking and Cross bikes. In addition bike list will have a filter allowing to display only bikes with a special discount price. User should be able to display detailed information about selected bike from the presented list. We will use those pages in application:
- bikesShop.xhtml - start page presenting information about bike shop
- bikesList.xhtml - page presenting bikes of given type
- bikeDetails.xhtml - page presenting detailed information about bike displayed on bikesList.xhtml
Under the hood we will use those classes:
Web application will have popular and standard layout - header on top, menu on left, content on righ, footer on bottom. Header will have shop's logo and name, menu will have bike types listed, content will have some information about the shop and will display bikes list for given type, footer will be empty with some background color. The whole application will look like this:
- BikeDataProvider.java - singleton, acts as service which belongs to business logic. Responsible for loading bikes of certain type and loading single bike with its details. For simplicity all bikes instances are created and stored inside that class.
- Bike.java - a class from the model representing single bike instance. A list of bike instances is created and used inside BikeDataProvider.java.
- BikeDetails.java, BikesList.java - managed beans used for bikeDetails.xhtml and bikesList.xhtml respectively. They call BikeDataProvider.java for loading bikes list or single bike.
Web application will have popular and standard layout - header on top, menu on left, content on righ, footer on bottom. Header will have shop's logo and name, menu will have bike types listed, content will have some information about the shop and will display bikes list for given type, footer will be empty with some background color. The whole application will look like this:
bikesShop.xhtml:
bikesList.xhtml:
bikesDetails.xhtml:
Facelets - templating.
One of the key feature of Facelets is ability to create page templates. Have a look at our sample applications screenshot above - all of them have common content like header, left menu and footer. If we had JSF application based on JSP pages without using Facelets, those elements would be included separately into source code of each web page. Imagine small change in the header - it may become a maintenance nightmare because we have to change source code of all pages where header is visible. With the Facelets is it possible to extract common content and put it into one page template. The template has special sections where variable content will be displayed - pages which use the template "injects" to those sections their specific content.
For our application we will create a template page named shopTemplate.xhtml which will act as a template for three pages visible above (bikesShop.xhtml, bikesList.xhtml, bikeDetails.xhtml). The whole page layout common for all pages will be defined inside the single template page. This gives us another advantage - we can follow one of the best practises in designing web pages here - separate the structure from the presentation. The template will contain only the pages structure while the whole presentation will be placed in separate CSS file used by template. The source code for the template will look like this:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Bike Shop 2.0</title>
</h:head>
<h:body>
<div id="container">
<div id="top">
<!-- logo and name goes here -->
</div>
<div id="leftnav">
<h:form>
<!-- links goes here -->
</h:form>
</div>
<div id="content">
<ui:insert name="content" />
</div>
<div id="footer">
####
</div>
</div>
</h:body>
</html>
Please note the element <ui:insert name="content" /> inside the div named "content". It represents variable content which will be displayed in this place. Pages bikesShop.xhtml, bikesList.xhtml and bikeDetails.xhtml will "inject" here their content using special syntax. Let's have a look how bikesShop.xhtml page display its content using the template. Here is the code for bikesShop.xhtml:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<ui:composition template="shopTemplate.xhtml">
<ui:define name="content">
Lorem ipsum dolor sit amet...
</ui:define>
</ui:composition>
</html>
First note that bikesShop.xhtml page have no <head> or <body> tags - they are defined in the template. A special element <ui:composition template="shopTemplate.xhtml"> tells the page to use the mentioned template.
As I wrote, the template has a special section for inserting the variable content (<ui:insert name="content" />). The page bikesShop.xhtml defines content to be placed into that section by using the tag <ui:define name="content"> ... </ui:define> - note that attribute name="content" is the same for <ui:insert/> and <ui:define />. Pages bikesList.xhtml and bikeDetails.xhtml use the same mechanism (they have the same <ui:define /> tag in their source).
That's all about templates.
Simplified page navigation.
Every page navigation in JSF 1.x required a proper entry in faces-config.xml file. It was something like this:
<navigation-rule>
<description>Welcome page to message page</description>
<from-view-id>/index.jsp</from-view-id>
<navigation-case>
<from-outcome>helloMessage</from-outcome>
<to-view-id>/message.jsp</to-view-id>
</navigation-case>
</navigation-rule>
JSF 2.0 provides a simplified navigation model - we do not need any entries (navigation rules) in the faces-config.xml file. Why?
Suppose we have a method used for navigation which returns some string value. This string value (known as outcome) is taken by a navigation handler and the handler checks for navigation rules in faces-config.xml which have defined the same from-outcome value. When the rule is found, it is applied and a proper navigation is done. This is how it worked in JSF 1.x and how it works in JSF 2.0. But JSF 2.0 navigation handler does additional operation here: if no matching from-outcome value is found in faces-config.xml (in other words: there is no navigation rule to apply), handler checks also existing pages names (view identifiers). If existing page name matches returned outcome value, the navigation is done to that page.
For example if we have a navigation method in some backing bean:
public String getBikes(){
bikesList = ... // load some bikes
return "bikesList";
}
and there is a page named bikesList.xhtml, invoking this method will cause the navigation to that page - without defining proper navigation rule in faces-config.xml.
-------------------------------------------
Download source files:
The complete working example of mentioned application which will contain all described features, will be available in the last (third) article of this serie.
Album Baru Dance Company
The Dance Company Merilis album baru yang tidak lazim untuk band indonesia, band yang digawangi pongki,baim,nugie dan aryo wahab ini merilis album baru yang berisi lagu anak anak. Berikut berita mengenai album baru the dance company yang pernah tenar dengan single Papa Rock 'n' Roll.
The Dance Company merilis album anak-anak baru-baru ini. Untuk album tersebut, mereka pun mengganti nama band
The Dance Company merilis album anak-anak baru-baru ini. Untuk album tersebut, mereka pun mengganti nama band
Zaskia Adya Mecca Melahirkan
Zaskia Adya Mecca Melahirkan bayi perempuan yang diberi nama Kanna Syabilla Bramantyo. Zaskia melahirkan dengan selamat anak pertama mereka pada Minggu (17/10) pukul 17.10 WIB. Hingga kini saya belum dapat foto putri Zaskia Adya mecca.
"Alhamdulillah...Telah lahir anak kami: Kanna Sybilla Bramantyo. Pukul 5.10 wib. Terima kasih buat doanya," tulis Hanung dalam akun Twitter-nya @hanungbramantyo.
"Alhamdulillah...Telah lahir anak kami: Kanna Sybilla Bramantyo. Pukul 5.10 wib. Terima kasih buat doanya," tulis Hanung dalam akun Twitter-nya @hanungbramantyo.
Friday, October 15, 2010
Pernikahan Kiki Amalia
Kiki Amalia salah satu artis seksi indonesia ini dikabarkan akan segera menuju jenjang pernikahan di penghujung tahun 2010 ini tepatnya di bulan desember. Kiki Amalia akan menikah dengan kekasihnya yang bernama Markus Horison yang juga dikenal sebagai pemain sepakbola nasional indonesia. Pernikahan Kiki Amalia dan Markus Horison tentunya akan menambah daftar panjang artis yang menikah di tahun
Subscribe to:
Posts (Atom)