|
Hi,
i am new bee to use jsf along with tiles. Can any body suggest me what all steps i require to integrate these two frameworks.
A small demo or example would be helpful.
Thanks in Advance.
|
|
|
|
|
Even i am looking for same solution...
|
|
|
|
|
Presumably you are looking for this tutorial[^].
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
i want to learn annotation in java. Could you tell me any link for annotation or any book for annotation.
|
|
|
|
|
Lars Vogel has some great tutorials on his website. One is about annotations in Java7:
http://www.vogella.com/articles/JavaAnnotations/article.html
|
|
|
|
|
Hi Vijay Kumar Jaiswal,
I just want to show the very very basic idea of annotation in Java ( ignored if you known before )
Annotation in Java looks like Comment.
+ Code comment : explanation for developers/readers.
+ Annotation: comment for Java complier.
|
|
|
|
|
Hi Vijay!
Please view the following link - the tutorial is a tutorial labelled "The Jvava Tutorial" which has a section catered to annotations:
http://docs.oracle.com/javase/tutorial/java/javaOO/annotations.html
Best of Luck!
Happy Reading!
With Kind Regards,
April
Comm100 - Leading Live Chat Software Provider
modified 27-May-14 8:30am.
|
|
|
|
|
|
|
private static final java.text.Collator COLLATOR = java.text.Collator.getInstance();
private static final String[] NORM_STRINGS = new String['z' - 'a' + 1];
{
COLLATOR.setStrength(Collator.PRIMARY);
for (char b = 'a'; b <= 'z'; b++)
{
NORM_STRINGS[b - 'a'] = new String(new char[] { b });
}
}
|
|
|
|
|
what do you want to do with this?
|
|
|
|
|
Well the code is self explainatory.
What I am really concerned about the block of code after statement termination character ';' - can this block of code be written the same way in C# or can be written in a function instead.
|
|
|
|
|
Hi guys I need some one who really worked in series project to explain some concept
my teacher making a big story about private variable.
people always says we used private to make java hide the containing
.
package Student;
public class Student {
public static void main(String[] args) {
information x = new information();
x.ID();
{
package Student ;
public class information{
private int ID=0;
private string name="";
private int GPA =0;
}
I know I can't change ID without using set and get but this my question
if I will use set and get I can make my life easy just make ID like this
public int ID=0;
instead using set and get method.
my teacher said to protect the information from user !!!!!!!!
I don't why he said that ?
because user will see message like enter number and then the code will do calculation
like :
Please enter two Numbers :
5
4
The result : 9
So I still I don't know why I should use private which force me to use set and get .
please guys help me and remember I know this stupid question but I ask because I know how to use private but I don't why ?
before I just write this question I read and watch online youtube but there nothing I get
I'm a person who has only small memory takes only logical things and throw illogical thing.
|
|
|
|
|
See this description[^].
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
You have to protect variables, because you depend in them.
Limiting the access to the getter and setter, you can depend on the variables to be used in the context you expect to have them.
Also, you can validate the value on the setter, which gives you the chance to to reject the value in case it is not ok (throw Exception). This protects your code from failing.
As a 3. argument: The same variable can be part of different methods/classes. but each name of a variable has to be unique, otherwise the code will fail.
So one limits down the range, where the variable exists as much as possible. therefor, one can use the same name again - not that one does it constantly, but one has the chance to.
And last but not least: it's simply good design/style to do so.
The usage of static should also be limited as much as possible.
There are some occasions where it is needed - but that should be used as less as possible.
Please read about the "encapsulation" - the link, that Richard posted. And please do some more research.
This is a basic of java development. One can't go without this, so you need to understand it.
|
|
|
|
|
guys I really grateful for your answers
|
|
|
|
|
I want to write product objects per consumer to a file based on region. This is the method:
protected static void writeRecordsToFiles(ProductConsumer[] consumers) {
try {
BufferedWriter[] bufferedWriters = {
new BufferedWriter(new FileWriter("data/US_Timezones/central.txt")),
new BufferedWriter(new FileWriter("data/US_Timezones/eastern.txt")),
new BufferedWriter(new FileWriter("data/US_Timezones/mountain.txt")),
new BufferedWriter(new FileWriter("data/US_Timezones/pacific.txt"))
};
for (int i = 0; i < bufferedWriters.length; i++) {
bufferedWriters[i].write(consumers[i].toString());
bufferedWriters[i].newLine();
bufferedWriters[i].flush();
for (ProductProducer record : consumers[i].msgList.get()) {
bufferedWriters[i].write(record.toString());
bufferedWriters[i].newLine();
bufferedWriters[i].flush();
}
bufferedWriters[i].close();
}
} catch (IOException ex) {
Logger.getLogger(Mp3Like1.class.getName()).log(Level.SEVERE, null, ex);
}
}
For this line:
for (ProductProducer record : consumers[i].msgList.get()) {
I get the error messages in Netbeans:
msgList has protected access in ProductConsumer
method get in interface List cannot be applied to given types;
required: int
found: no arguments
reason: actual and formal argument lists differ in length
where E is a type-variable:
E extends Object declared in interface List
Here is the code from the whole class, and from the rest of the classes. Thank you in advance:
package mp3like1;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.logging.Level;
import java.util.logging.Logger;
import parallelpatterns.ProductConsumer;
import parallelpatterns.ProductProducer;
public class Mp3Like1 {
public static void main(String[] args) {
long simStartTime = System.currentTimeMillis();
System.out.println("Simulation started at 0 secs: " + simStartTime + "\n");
ProductProducer producerOne = new ProductProducer("alaskan");
new Thread(producerOne).start();
ProductProducer producerTwo = new ProductProducer("hawaian");
new Thread(producerTwo).start();
ProductConsumer consumer1 = new ProductConsumer("eastern", producerOne, producerTwo, 500L);
Thread c1 = new Thread(consumer1);
c1.setDaemon(true);
c1.start();
ProductConsumer consumer2 = new ProductConsumer("central", producerOne, producerTwo, 600L);
Thread c2 = new Thread(consumer2);
c2.setDaemon(true);
c2.start();
ProductConsumer consumer3 = new ProductConsumer("mountain", producerOne, producerTwo, 700L);
Thread c3 = new Thread(consumer3);
c3.setDaemon(true);
c3.start();
ProductConsumer consumer4 = new ProductConsumer("pacific", producerOne, producerTwo, 800L);
Thread c4 = new Thread(consumer4);
c4.setDaemon(true);
c4.start();
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.println("Press a key to exit...");
in.read();
System.out.println("\nExiting....\n");
in.close();
System.out.println("\nTotal simulation runtime was: " + (System.currentTimeMillis() - simStartTime) * 1000.0 + " secs.");
} catch (IOException ioe) {
ioe.printStackTrace();
} finally {
System.out.println("\nEastern Timezone's messages: \n" + consumer1 + "\n");
System.out.println("\nCentral Timezone's messages: \n" + consumer2 + "\n");
System.out.println("\nMountain Timezone's messages: \n" + consumer3 + "\n");
System.out.println("\nPacific Timezone's messages: \n" + consumer4 + "\n");
System.exit(0);
}
}
protected static void writeRecordsToFiles(ProductConsumer[] consumers) {
try {
BufferedWriter[] bufferedWriters = {
new BufferedWriter(new FileWriter("data/US_Timezones/central.txt")),
new BufferedWriter(new FileWriter("data/US_Timezones/eastern.txt")),
new BufferedWriter(new FileWriter("data/US_Timezones/mountain.txt")),
new BufferedWriter(new FileWriter("data/US_Timezones/pacific.txt"))
};
for (int i = 0; i < bufferedWriters.length; i++) {
bufferedWriters[i].write(consumers[i].toString());
bufferedWriters[i].newLine();
bufferedWriters[i].flush();
for (ProductProducer record : consumers[i].msgList.get()) {
bufferedWriters[i].write(record.toString());
bufferedWriters[i].newLine();
bufferedWriters[i].flush();
}
bufferedWriters[i].close();
}
} catch (IOException ex) {
Logger.getLogger(Mp3Like1.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
package domain;
public class Product {
private String ProductID;
private String ProductName;
private String ProductDescription;
private Double weight;
private Double cost;
public Product() {
}
public Product(String prd) {
}
public String getProductID() {
return ProductID;
}
public void setProductID(String ProductID) {
this.ProductID = ProductID;
}
public String getProductName() {
return ProductName;
}
public void setProductName(String ProductName) {
this.ProductName = ProductName;
}
public String getProductDescription() {
return ProductDescription;
}
public void setProductDescription(String ProductDescription) {
this.ProductDescription = ProductDescription;
}
public Double getWeight() {
return weight;
}
public void setWeight(Double weight) {
this.weight = weight;
}
public Double getCost() {
return cost;
}
public void setCost(Double cost) {
this.cost = cost;
}
public Product(String ProductID, String ProductName, String ProductDescription, Double weight, Double cost) {
this.ProductID = ProductID;
this.ProductName = ProductName;
this.ProductDescription = ProductDescription;
this.weight = weight;
this.cost = cost;
}
@Override
public String toString() {
return "Product{" + "ProductID=" + ProductID + ", ProductName=" + ProductName + ", ProductDescription=" + ProductDescription + ", weight=" + weight + ", cost=" + cost + '}';
}
}
package domain;
import java.util.Date;
public class ProductMessage {
private Product product;
private Date timeStamp;
private String region;
public ProductMessage(Product product, Date timeStamp, String region) {
this.product = product;
this.timeStamp = timeStamp;
this.region = region;
}
public ProductMessage() {}
public Product getProduct() {
return product;
}
public void setProduct(Product product) {
this.product = product;
}
public Date getTimeStamp() {
return timeStamp;
}
public void setTimeStamp(Date timeStamp) {
this.timeStamp = timeStamp;
}
public String getRegion() {
return region;
}
public void setRegion(String region) {
this.region = region;
}
@Override
public String toString() {
return "ProductMessage{" + "product=" + product + ", timeStamp=" + timeStamp + ", region=" + region + '}';
}
}
package parallelpatterns;
import domain.ProductMessage;
import java.util.ArrayList;
import java.util.List;
public class ProductConsumer implements Runnable {
private ProductProducer producerOne;
private ProductProducer producerTwo;
private String region;
private long sleepInterval;
protected List<ProductMessage> msgList;
public ProductConsumer(String region, ProductProducer producerOne,
ProductProducer producerTwo, long sleepInterval) {
this.producerOne = producerOne;
this.producerTwo = producerTwo;
this.region = region;
this.sleepInterval = sleepInterval;
msgList = new ArrayList<ProductMessage>();
}
public void run() {
while (true) {
checkProducerForMessage(producerOne);
checkProducerForMessage(producerTwo);
}
}
protected synchronized void checkProducerForMessage(ProductProducer prd) {
ProductMessage message = prd.getMessage(region);
if (message != null) {
msgList.add(message);
System.out.println("Consumer: " + region + " region got message: \n" +
message + "\nof total " + prd.getListSize() + " messages...");
}
try {
Thread.sleep(sleepInterval);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
@Override
public String toString() {
String messageString = "";
for (ProductMessage m : msgList) {
messageString += m + "\n";
}
return messageString;
}
}
package parallelpatterns;
import domain.Product;
import domain.ProductMessage;
import java.util.Date;
import java.util.Random;
public class ProductProducer implements Runnable {
private String prd;
static final int MAXQUEUE = 5;
private java.util.List<ProductMessage> messageList;
public ProductProducer(String prd){
this.prd = prd;
messageList = new java.util.ArrayList<ProductMessage>();
}
@Override
public void run() {
while (true) {
putMessage();
try {
Thread.sleep(1000L);
} catch (InterruptedException e) {
}
}
}
private synchronized void putMessage() {
while (messageList.size() >= MAXQUEUE) {
try {
wait(500L);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
Random rnd = new Random();
Product[] products = {
new Product("5A2C", "Widget", "The famous widget device (just a few are still available).",25.57, 99.99) ,
new Product("7F5A", "WidgetPlusPlus", "Highly improved version of original Widget product.", 19.67, 149.49)
};
rnd = new Random();
Product rndPrd = products[rnd.nextInt(products.length)];
String[] regions = {"eastern", "central", "mountain", "pacific" };
String rndReg = regions[rnd.nextInt(regions.length)];
messageList.add(new ProductMessage(rndPrd, new Date(),rndReg));
System.out.println("Producer: " + prd + " Queue: " + messageList.size() + " total at " + new Date());
System.out.println("Producer: " + prd + " Queue: " + messageList.get(0).getRegion());
notify();
}
public synchronized ProductMessage getMessage(String region) {
ProductMessage message = null;
while (messageList.size() == 0) {
try {
notify();
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("Consumer " + region + " checking region value from top element of queue: " + messageList.get(0).getRegion());
if (region.equals(messageList.get(0).getRegion())) {
return messageList.remove(0);
}
notify();
return message;
}
public int getListSize() {
return messageList.size();
}
}
|
|
|
|
|
The ProductConsumer class is in a different package from your main program so its protected member is not accessible.
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
|
Thanks, I am not sure why OP needs three different packages. I see also that you have answered this with a lot of useful detail, in Q&A.
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
Well, it's good to use different packages though.
Some code organization is welcome. But yes, that makes more sense when more classes are in there.
But hey, he's developing his skills. Looks good.
|
|
|
|
|
TorstenH. wrote: Well, it's good to use different packages though. True, but only if the design calls for it.
TorstenH. wrote: he's developing his skills. And that's the important bit.
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
I placed the method
public static void writeRecordsToFiles(ProductConsumer[] consumers) in the ProductConsumer class, but Netbeans gave me the same error message, "cannot find symbol: method messageList(), location: class ProductConsumer," so I need to create a method messageList() in ProductConsumer. Thanks.
modified 22-Dec-12 19:21pm.
|
|
|
|
|
Firstly you need to understand the product you are using: Netbeans does not produce these error messages, they come from the Java compiler; this is a Java program error. Secondly you need to look at your use of the package keyword, as I mentioned in my earlier message. And thirdly, go back to the responses that Torsten.H has given you about your use of messageList() .
One of these days I'm going to think of a really clever signature.
|
|
|
|
|