<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-209912624834970009</id><updated>2011-10-17T11:23:14.908+03:00</updated><category term='Journal'/><category term='BB'/><category term='shopping'/><category term='JAVA'/><category term='Music'/><title type='text'>Peco de Lucia</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default?start-index=101&amp;max-results=100'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>157</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-6190101909007230709</id><published>2011-09-27T10:46:00.004+03:00</published><updated>2011-10-14T10:18:34.106+03:00</updated><title type='text'>JMS - 1</title><content type='html'>Messaging systems are&lt;br /&gt;composed of messaging &lt;span style="font-weight:bold;"&gt;clients&lt;/span&gt; and some kind of messaging middleware server. The &lt;span style="font-weight:bold;"&gt;clients&lt;/span&gt; send messages to the messaging server, which then distributes those messages&lt;br /&gt;to other &lt;span style="font-weight:bold;"&gt;clients&lt;/span&gt;. The &lt;span style="font-weight:bold;"&gt;client&lt;/span&gt; is a business application or component that is using the&lt;br /&gt;messaging API (in our case, JMS).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Centralized Architectures&lt;/h3&gt;&lt;br /&gt;Enterprise messaging systems that use a centralized architecture rely on a message&lt;br /&gt;server. A message server, also called a message router or broker, is responsible for delivering messages from one messaging client to other messaging clients.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Decentralized Architectures&lt;/h3&gt;&lt;br /&gt;All decentralized architectures currently use IP multicast at the network level. A messaging system based on multicasting has no centralized server.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Messaging Models&lt;/h3&gt;&lt;br /&gt;JMS supports two types of messaging models: point-to-point and publish-andsubscribe.&lt;br /&gt;These messaging models are sometimes referred to as messaging domains.&lt;br /&gt;Point-to-point messaging and publish-and-subscribe messaging are frequently shortened&lt;br /&gt;to p2p and pub/sub, respectively.&lt;br /&gt;&lt;br /&gt;In the simplest sense, publish-and-subscribe is intended for a one-to-many broadcast&lt;br /&gt;of messages, while point-to-point is intended for one-to-one delivery of messages.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;From a JMS perspective, messaging clients are called &lt;span style="font-weight:bold;"&gt;JMS clients&lt;/span&gt;, and the messaging system is called the &lt;span style="font-weight:bold;"&gt;JMS provider&lt;/span&gt;. A JMS application is a business system composed of many JMS clients and, generally, one JMS provider.&lt;br /&gt;&lt;br /&gt;In addition, a JMS client that produces a message is called a &lt;span style="font-weight:bold;"&gt;message producer&lt;/span&gt;, while a&lt;br /&gt;JMS client that receives a message is called a &lt;span style="font-weight:bold;"&gt;message consumer&lt;/span&gt;. A JMS client can be both a message producer and a message consumer. When we use the term consumer or producer, we mean a JMS client that consumes messages or produces messages, respectively.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Point-to-Point&lt;/h2&gt;&lt;br /&gt;The point-to-point messaging model allows JMS clients to send and receive messages&lt;br /&gt;both synchronously and asynchronously via virtual channels known as &lt;span style="font-weight:bold;"&gt;queues&lt;/span&gt;. In the point-to-point model, message producers are called &lt;span style="font-weight:bold;"&gt;senders&lt;/span&gt; and message consumers&lt;br /&gt;are called &lt;span style="font-weight:bold;"&gt;receivers&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;One of the distinguishing characteristics of point-to-point messaging is that messages sent to a queue are received by &lt;span style="font-weight:bold;"&gt;one and only one receiver&lt;/span&gt;, even though there may be many receivers listening on a queue for the same message.&lt;br /&gt;&lt;br /&gt;Point-to-point messaging supports asynchronous “fire and forget” messaging as well&lt;br /&gt;as synchronous request/reply messaging. Point-to-point messaging tends to be more&lt;br /&gt;coupled than the publish-and-subscribe model in that the sender generally knows how&lt;br /&gt;the message is going to be used and who is going to receive it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Publish-and-Subscribe&lt;/span&gt;&lt;br /&gt;In the publish-and-subscribe model, messages are published to a virtual channel called&lt;br /&gt;a &lt;span style="font-weight:bold;"&gt;topic&lt;/span&gt;. Message producers are called &lt;span style="font-weight:bold;"&gt;publishers&lt;/span&gt;, whereas message consumers are called&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;subscribers&lt;/span&gt;. Unlike the point-to-point model, messages published to a topic using the publish-and-subscribe model can be received by multiple subscribers. This technique is sometimes referred to as &lt;span style="font-weight:bold;"&gt;broadcasting&lt;/span&gt; a message. Every subscriber receives a copy of&lt;br /&gt;each message. The publish-and-subscribe messaging model is by and large a push-based&lt;br /&gt;model, where messages are automatically broadcast to consumers without them having&lt;br /&gt;to request or poll the topic for new messages.&lt;br /&gt;&lt;br /&gt;There are many different types of subscribers within the pub/sub messaging model.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Nondurable&lt;/span&gt; subscribers are temporary subscriptions that receive messages only when&lt;br /&gt;they are actively listening on the topic. &lt;span style="font-weight:bold;"&gt;Durable subscribers&lt;/span&gt;, on the other hand, will&lt;br /&gt;receive a copy of every message published, even if they are “offline” when the message&lt;br /&gt;is published. There is also the notion of &lt;span style="font-weight:bold;"&gt;dynamic durable&lt;/span&gt; subscribers and &lt;span style="font-weight:bold;"&gt;administered durable&lt;/span&gt; subscribers.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;JMS General API&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;Within the JMS general API, there are seven main JMS API interfaces related to sending&lt;br /&gt;and receiving JMS messages:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;• ConnectionFactory&lt;br /&gt;• Destination&lt;br /&gt;• Connection&lt;br /&gt;• Session&lt;br /&gt;• Message&lt;br /&gt;• MessageProducer&lt;br /&gt;• MessageConsumer&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;In JMS, the Session object holds the transactional unit of work for messaging, not the&lt;br /&gt;Connection object. This is different from JDBC, where the Connection object holds the&lt;br /&gt;transactional unit of work. This means that when using JMS, an application will typically have only a &lt;span style="font-weight:bold;"&gt;single Connection object&lt;/span&gt; but will have &lt;span style="font-weight:bold;"&gt;a pool of Session objects.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Point-to-Point API&lt;/h2&gt;&lt;br /&gt;The interfaces used for sending and&lt;br /&gt;receiving messages from a queue are as follows:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;• QueueConnectionFactory&lt;br /&gt;• Queue&lt;br /&gt;• QueueConnection&lt;br /&gt;• QueueSession&lt;br /&gt;• Message&lt;br /&gt;• QueueSender&lt;br /&gt;• QueueReceiver&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Publish-and-Subscribe API&lt;/h2&gt;&lt;br /&gt;The interfaces used within the pub/sub&lt;br /&gt;messaging model are as follows:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;• TopicConnectionFactory&lt;br /&gt;• Topic&lt;br /&gt;• TopicConnection&lt;br /&gt;• TopicSession&lt;br /&gt;• Message&lt;br /&gt;• TopicPublisher&lt;br /&gt;• TopicSubscriber&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;SOA has given rise to a new breed of middleware known as an Enterprise Service&lt;br /&gt;Bus, or ESB.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;An &lt;span style="font-weight:bold;"&gt;InitialContext&lt;/span&gt; is the starting point for any JNDI lookup—it’s similar in concept to the root of a filesystem. The InitialContext provides a network connection to the directory service that acts as a root for accessing JMS administered objects. The properties used to create an InitialContext depend on which JMS directory service you are using. You could configure the initial context properties using the &lt;span style="font-weight:bold;"&gt;Properties&lt;/span&gt; Object directly in your source code, or preferably using an external &lt;span style="font-weight:bold;"&gt;jndi.properties&lt;/span&gt; file located in the classpath of the application.&lt;br /&gt;&lt;br /&gt;The corresponding source code using the properties object would be as follows:&lt;br /&gt;&lt;blockquote&gt;Properties env = new Properties();&lt;br /&gt;env.put(Context.SECURITY_PRINCIPAL, "system");&lt;br /&gt;env.put(Context.SECURITY_CREDENTIALS, "manager");&lt;br /&gt;env.put(Context.INITIAL_CONTEXT_FACTORY,&lt;br /&gt;"org.apache.activemq.jndi.ActiveMQInitialContextFactory");&lt;br /&gt;env.put(Context.PROVIDER_URL, "tcp://localhost:61616");&lt;br /&gt;InitialContext ctx = new InitialContext(env);&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Once a JNDI InitialContext object is instantiated, it can be used to look up the Topic&lt;br /&gt;ConnectionFactory in the messaging server’s naming service:&lt;br /&gt;TopicConnectionFactory conFactory =&lt;br /&gt;(TopicConnectionFactory)ctx.lookup(topicFactory);&lt;br /&gt;&lt;br /&gt;The TopicConnectionFactory provides two overloaded versions of the createTopicCon&lt;br /&gt;nection() method:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;public TopicConnection createTopicConnection()&lt;br /&gt;throws JMSException, JMSSecurityException;&lt;br /&gt;public TopicConnection createTopicConnection(String username,&lt;br /&gt;String password) throws JMSException, JMSSecurityException;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The TopicConnection is created by the TopicConnectionFactory:&lt;br /&gt;// Look up a JMS connection factory and create the connection&lt;br /&gt;TopicConnectionFactory conFactory =&lt;br /&gt;(TopicConnectionFactory)ctx.lookup(topicFactory);&lt;br /&gt;TopicConnection connection = conFactory.createTopicConnection();&lt;br /&gt;&lt;br /&gt;The TopicConnection is an interface that extends javax.jms.Connection interface. It defines several generalpurpose methods used by clients of the TopicConnection. Among these methods are the start() , stop(), and close() methods:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;public interface Connection {&lt;br /&gt;public void start() throws JMSException;&lt;br /&gt;public void stop() throws JMSException;&lt;br /&gt;public void close() throws JMSException;&lt;br /&gt;...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public interface TopicConnection extends Connection {&lt;br /&gt;public TopicSession createTopicSession(boolean transacted,&lt;br /&gt;int acknowledgeMode)&lt;br /&gt;throws JMSException;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Closing a TopicConnection closes all the objects associated with the connection,&lt;br /&gt;including the TopicSession, TopicPublisher, and TopicSubscriber.&lt;br /&gt;&lt;br /&gt;After the TopicConnection is obtained, it’s used to create TopicSession objects:&lt;br /&gt;// Create two JMS session objects&lt;br /&gt;&lt;blockquote&gt;TopicSession pubSession = connection.createTopicSession(&lt;br /&gt;false, Session.AUTO_ACKNOWLEDGE);&lt;br /&gt;TopicSession subSession = connection.createTopicSession(&lt;br /&gt;false, Session.AUTO_ACKNOWLEDGE);&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The boolean parameter in the createTopicSession() method indicates whether the&lt;br /&gt;Session object will be transacted.&lt;br /&gt;The second parameter indicates the acknowledgment mode used by the JMS client. An&lt;br /&gt;acknowledgment is a notification to the message server that the client has received the&lt;br /&gt;message. In this case we chose AUTO_ACKNOWLEDGE, which means that the message is&lt;br /&gt;automatically acknowledged after it is received by the client.&lt;br /&gt;&lt;br /&gt;The TopicSession objects are used to create the TopicPublisher and TopicSubscriber.&lt;br /&gt;The TopicPublisher and TopicSubscriber objects are created with a Topic identifier and&lt;br /&gt;are dedicated to the TopicSession that created them; they operate under the control of&lt;br /&gt;a specific TopicSession:&lt;br /&gt;TopicPublisher publisher =&lt;br /&gt;pubSession.createPublisher(chatTopic);&lt;br /&gt;TopicSubscriber subscriber =&lt;br /&gt;subSession.createSubscriber(chatTopic);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The TopicSession is also used to create the Message objects that are delivered to the&lt;br /&gt;topic.&lt;br /&gt;TextMessage message = pubSession.createTextMessage();&lt;br /&gt;&lt;br /&gt;JNDI is used to locate a Topic object, which is an administered object like the Topic&lt;br /&gt;ConnectionFactory:&lt;br /&gt;InitialContext jndi = new InitialContext(env);&lt;br /&gt;...&lt;br /&gt;// Look up a JMS topic&lt;br /&gt;Topic chatTopic = (Topic)jndi.lookup(topicName);&lt;br /&gt;&lt;br /&gt;A Topic object is a handle or identifier for an actual topic, called a physical topic, on the messaging server. A physical topic is an electronic channel to which many clients can subscribe and publish.&lt;br /&gt;&lt;br /&gt;The Topic object has one method, getName(), the name identifier for the physical topic it represents.&lt;br /&gt;&lt;br /&gt;// Create a JMS publisher and subscriber&lt;br /&gt;TopicSubscriber subscriber =&lt;br /&gt;subSession.createSubscriber(chatTopic, null, true);&lt;br /&gt;&lt;br /&gt;A TopicSubscriber receives messages from a specific topic. The Topic object argument&lt;br /&gt;used in the createSubscriber() method identifies the topic from which the TopicSub&lt;br /&gt;scriber will receive messages. The second argument contains the message selector used&lt;br /&gt;to filter out only those messages we want to receive based on certain criteria. In this&lt;br /&gt;case, we set this value to null, indicating that we want to receive all messages. The third argument contains a boolean value indicating whether or not we want to receive messages we publish ourselves. In this case, we are setting the value to true, indicating that, as a subscriber to the topic, we do not want to see messages we publish.&lt;br /&gt;&lt;br /&gt;The pub/sub messaging model in JMS includes an in-process Java event model for&lt;br /&gt;handling incoming messages. This is similar to the event-driven model used by Java-&lt;br /&gt;Beans.‡ An object simply implements the listener interface, in this case the MessageLis&lt;br /&gt;tener, and then is registered with the TopicSubscriber. A TopicSubscriber may have&lt;br /&gt;only one MessageListener object. Here is the definition of the MessageListener &lt;br /&gt;&lt;br /&gt;interface&lt;br /&gt;used in JMS:&lt;br /&gt;package javax.jms;&lt;br /&gt;public interface MessageListener {&lt;br /&gt;public void onMessage(Message message);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;A message has three parts: &lt;span style="font-weight:bold;"&gt;a header, properties, and payload&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Message&lt;br /&gt;This type has no payload. It is useful for simple event notification.&lt;br /&gt;&lt;br /&gt;TextMessage&lt;br /&gt;This type carries a java.lang.String as its payload. It is useful for exchanging&lt;br /&gt;simple text messages and also for more complex character data, such as XML&lt;br /&gt;documents.&lt;br /&gt;&lt;br /&gt;ObjectMessage&lt;br /&gt;This type carries a serializable Java object as its payload. It’s useful for exchanging&lt;br /&gt;Java objects.&lt;br /&gt;&lt;br /&gt;BytesMessage&lt;br /&gt;This type carries an array of primitive bytes as its payload. It’s useful for exchanging&lt;br /&gt;data in an application’s native format, which may not be compatible with other&lt;br /&gt;existing Message types. It is also useful where JMS is used purely as a transport&lt;br /&gt;between two systems, and the message payload is opaque to the JMS client.&lt;br /&gt;&lt;br /&gt;StreamMessage&lt;br /&gt;This type carries a stream of primitive Java types (int, double, char, etc.) as its&lt;br /&gt;payload. It provides a set of convenience methods for mapping a formatted stream&lt;br /&gt;of bytes to Java primitives. It’s an easy programming model when exchanging&lt;br /&gt;primitive application data in a fixed order.&lt;br /&gt;&lt;br /&gt;MapMessage&lt;br /&gt;This type carries a set of name-value pairs as its payload. The payload is similar to&lt;br /&gt;a java.util.Properties object, except the values must be Java primitives or their&lt;br /&gt;wrappers. The MapMessage is useful for delivering keyed data.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;JMS consumers&lt;br /&gt;can choose to receive messages based on the values of certain headers and&lt;br /&gt;properties, using a special filtering mechanism called &lt;span style="font-weight:bold;"&gt;message selectors&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Automatically assigned headers&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;There are two types of delivery modes in JMS: persistent and nonpersistent. A persistent message should be delivered once-and-only-once, which means that if the JMS provider fails, the message is not lost; it will be delivered after the server recovers. A nonpersistent message is delivered at-most-once, which means that it can be lost permanently if the JMS provider fails.&lt;br /&gt;&lt;br /&gt;JMSDeliveryMode and the JMSPriority headers&lt;br /&gt;&lt;br /&gt;int deliverymode = message.getJMSDeliveryMode();&lt;br /&gt;if (deliverymode == javax.jms.DeliveryMode.PERSISTENT) {&lt;br /&gt;...&lt;br /&gt;} else { // equals DeliveryMode.NON_PERSISTENT&lt;br /&gt;...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// Set the JMS delivery mode on the message producer&lt;br /&gt;TopicPublisher topicPublisher = topicSession.createPublisher(topic);&lt;br /&gt;topicPublisher.setDeliveryMode(DeliveryMode.NON_PERSISTENT);&lt;br /&gt;&lt;br /&gt;String messageid = message.getJMSMessageID();&lt;br /&gt;&lt;br /&gt;long timestamp = message.getJMSTimestamp();&lt;br /&gt;&lt;br /&gt;long timeToLive = message.getJMSExpiration();&lt;br /&gt;&lt;br /&gt;TopicPublisher topicPublisher = topicSession.createPublisher(topic);&lt;br /&gt;// Set time to live as 1 hour (1000 millis x 60 sec x 60 min)&lt;br /&gt;topicPublisher.setTimeToLive(3600000);&lt;br /&gt;&lt;br /&gt;boolean isRedelivered = message.getJMSRedelivered()&lt;br /&gt;&lt;br /&gt;There are two categories of message priorities: levels 0–4 are gradations of normal priority, and levels 5–9 are gradations of expedited priority. The message servers may use a message’s priority to prioritize delivery of messages to consumers—messages with an expedited priority are delivered ahead of normal priority messages:&lt;br /&gt;int priority = message.getJMSPriority();&lt;br /&gt;&lt;br /&gt;The priority of messages can be declared by the JMS client using the setPriority()&lt;br /&gt;method on the producer:&lt;br /&gt;&lt;br /&gt;TopicPublisher topicPublisher = TopicSession.createPublisher(someTopic);&lt;br /&gt;topicPublisher.setPriority(9);&lt;br /&gt;&lt;br /&gt;Any direct programmatic invocation of the setJMSPriority() method will be ignored&lt;br /&gt;when the message is sent.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Developer assigned headers&lt;/h2&gt;&lt;br /&gt;message.setJMSReplyTo(topic);&lt;br /&gt;...&lt;br /&gt;Topic topic = (Topic) message.getJMSReplyTo();&lt;br /&gt;&lt;br /&gt;message.setJMSCorrelationID(identifier);&lt;br /&gt;...&lt;br /&gt;String correlationid = message.getJMSCorrelationID();&lt;br /&gt;&lt;br /&gt;&lt;h2&gt; Properties &lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;There are three basic categories of message properties: application-specific properties,JMS-defined properties, and provider-specific properties. Application properties are defined and applied to Message objects by the application developer; the JMS extension and provider-specific properties are additional headers that are, for the most part, automatically added by the JMS provider.&lt;br /&gt;&lt;br /&gt;message.setStringProperty("username",username);&lt;br /&gt;Property values can be any boolean, byte, short, int, long, float, double, or String.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      Message&lt;br /&gt;   CF - connection - session - /_ MessageProducer ---|&lt;br /&gt;          \  MessageConsumer ---|  &lt;br /&gt;   |           | &lt;br /&gt;   |              |&lt;br /&gt;   Destination --------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Point-to-Point API&lt;br /&gt;            Message&lt;br /&gt;   QCF - Qconnection - Qsession - /_ QueueSender ---|&lt;br /&gt;             \  QueueReceiver--|  &lt;br /&gt;   |          | &lt;br /&gt;   |             |&lt;br /&gt;   Queue -------------------------------------------&lt;br /&gt;&lt;br /&gt;Publish-and-Subscribe API&lt;br /&gt;&lt;br /&gt;            Message&lt;br /&gt;   TCF - TConnection - TSession - /_ TopicPublisher--|&lt;br /&gt;             \  TopicSubscriber-|  &lt;br /&gt;   |           | &lt;br /&gt;   |              |&lt;br /&gt;   Topic---------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public interface Message{&lt;br /&gt;....&lt;br /&gt;public short getShortProperty(String name)&lt;br /&gt;throws JMSException, MessageFormatException;&lt;br /&gt;&lt;br /&gt;public void setShortProperty(String name, short value)&lt;br /&gt;throws JMSException, MessageNotWriteableException;&lt;br /&gt;&lt;br /&gt;public Object getObjectProperty(String name)&lt;br /&gt;throws JMSException, MessageFormatException;&lt;br /&gt;&lt;br /&gt;public void setObjectProperty(String name, Object value)&lt;br /&gt;throws JMSException, MessageNotWriteableException;&lt;br /&gt;&lt;br /&gt;public void clearProperties()&lt;br /&gt;throws JMSException;&lt;br /&gt;&lt;br /&gt;public Enumeration getPropertyNames()&lt;br /&gt;throws JMSException;&lt;br /&gt;&lt;br /&gt;public boolean propertyExists(String name)&lt;br /&gt;throws JMSException;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;The properties can, however, be changed on that message by calling the method&lt;br /&gt;clearProperties(), which removes all the properties from the message so that new ones&lt;br /&gt;can be added.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note that in the Message interface you will not find corresponding setJMSX&lt;PROP&lt;br /&gt;ERTY&gt;() and getJMSX&lt;PROPERTY&gt;() methods defined; when used, they must be set in the&lt;br /&gt;same manner as application-specified properties:&lt;br /&gt;&lt;br /&gt;message.setStringProperty("JMSXGroupID", "ERF-001");&lt;br /&gt;message.setIntProperty("JMSXGroupSeq", 3);&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Provider-Specific Properties&lt;/h2&gt;&lt;br /&gt;Every JMS provider can define a set of proprietary properties that can be set by the&lt;br /&gt;client or the provider automatically. Provider-specific properties must start with the&lt;br /&gt;prefix JMS followed by the property name (JMS_&lt;vendor-property-name&gt;). The purpose&lt;br /&gt;of the provider-specific properties is to support proprietary vendor features.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Message Types&lt;/h2&gt;&lt;br /&gt;The six message interfaces are Message and its five subinterfaces:&lt;br /&gt;TextMessage, StreamMessage, MapMessage, ObjectMessage, and BytesMessage.&lt;br /&gt;&lt;br /&gt;-------------------&lt;br /&gt;As shown below, the Message type can be created and&lt;br /&gt;used as a JMS message with no payload:&lt;br /&gt;// Create and deliver a Message&lt;br /&gt;Message message = session.createMessage();&lt;br /&gt;publisher.publish(message);&lt;br /&gt;...&lt;br /&gt;// Receive a message on the consumer&lt;br /&gt;public void onMessage(Message message) {&lt;br /&gt;// No payload, just process event notification&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;This type of message contains only JMS headers and properties and is used in event&lt;br /&gt;notification.&lt;br /&gt;-------------------&lt;br /&gt;TextMessage textMessage = session.createTextMessage();&lt;br /&gt;textMessage.setText("Hello!");&lt;br /&gt;topicPublisher.publish(textMessage);&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;TextMessage textMessage = session.createTextMessage("Hello!");&lt;br /&gt;queueSender.send(textMessage);&lt;br /&gt;-------------------&lt;br /&gt;// Order is a serializable object&lt;br /&gt;Order order = new Order( );&lt;br /&gt;...&lt;br /&gt;ObjectMessage objectMessage = session.createObjectMessage();&lt;br /&gt;objectMessage.setObject(order);&lt;br /&gt;queueSender.send(objectMessage);&lt;br /&gt;...&lt;br /&gt;ObjectMessage objectMessage = session.createObjectMessage(order);&lt;br /&gt;topicPublisher.publish(objectMessage);&lt;br /&gt;&lt;br /&gt;-------------------&lt;br /&gt;BytesMessage bytesMessage = session.createBytesMessage();&lt;br /&gt;bytesMessage.writeChar('R');&lt;br /&gt;bytesMessage.writeInt(10);&lt;br /&gt;bytesMessage.writeUTF("OReilly");&lt;br /&gt;queueSender.send(bytesMessage);&lt;br /&gt;&lt;br /&gt;On the surface, the StreamMessage strongly resembles the BytesMessage, but they are&lt;br /&gt;not the same. The StreamMessage keeps track of the order and types of primitives written.For example, an exception would be&lt;br /&gt;thrown if you tried to read a long value as a short:&lt;br /&gt;&lt;br /&gt;-------------------&lt;br /&gt;StreamMessage streamMessage = session.createStreamMessage();&lt;br /&gt;streamMessage.writeLong(2938302);&lt;br /&gt;// The next line throws a JMSException&lt;br /&gt;short value = streamMessage.readShort()&lt;br /&gt;-------------------&lt;br /&gt;MapMessage mapMessage = session.createMapMessage();&lt;br /&gt;mapMessage.setInt("Age", 88);&lt;br /&gt;mapMessage.setFloat("Weight", 234);&lt;br /&gt;mapMessage.setString("Name", "Smith");&lt;br /&gt;mapMessage.setObject("Height", new Double(150.32));&lt;br /&gt;....&lt;br /&gt;int age = mapMessage.getInt("Age");&lt;br /&gt;float weight = mapMessage.getFloat("Weight");&lt;br /&gt;String name = mapMessage.getString("Name");&lt;br /&gt;Double height = (Double)mapMessage.getObject("Height");&lt;br /&gt;&lt;br /&gt;To avoid reading nonexistent name-value pairs, the MapMessage provides an&lt;br /&gt;itemExists() test method. In addition, the getMapNames() method lets a JMS client&lt;br /&gt;enumerate the names and use them to obtain all the values in the message. For example:&lt;br /&gt;&lt;br /&gt;public void onMessage(Message message) {&lt;br /&gt;MapMessage mapMessage = (MapMessage)message;&lt;br /&gt;Enumeration names = mapMessage.getMapNames();&lt;br /&gt;while(names.hasMoreElements()){&lt;br /&gt;String name = (String)names.nextElement();&lt;br /&gt;Object value = mapMessage.getObject(name);&lt;br /&gt;System.out.println("Name = "+name+", Value = "+value);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Read Only Messages&lt;/h2&gt;&lt;br /&gt;There are three acknowledgment modes that may be set by the JMS consumer when its session is created: AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE, and CLIENT_ACKNOWLEDGE. Here is how a pub/sub consumer sets one of the three acknowledgment modes:&lt;br /&gt;&lt;br /&gt;TopicSession topic = topicConnection.createTopicSession(false, Session.CLIENT_ACKNOWLEDGE);&lt;br /&gt;&lt;br /&gt;In CLIENT_ACKNOWLEDGE mode, the &lt;span style="font-weight:bold;"&gt;JMS consumer &lt;/span&gt;(client) explicitly acknowledges each message as it is received. The acknowledge() method on the Message interface is used&lt;br /&gt;for this purpose. For example:&lt;br /&gt;&lt;br /&gt;public void onMessage(Message message) {&lt;br /&gt;message.acknowledge();&lt;br /&gt;...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;Chapter 4 - Point-to-Point Messaging&lt;/h1&gt;&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;Chapter 5 - Publish-and-Subscribe Messaging&lt;/h1&gt;&lt;br /&gt;&lt;br /&gt;Each message is delivered to multiple message consumers, called &lt;span style="font-weight:bold;"&gt;subscribers&lt;/span&gt;.&lt;br /&gt;There are many types of subscribers, including &lt;span style="font-weight:bold;"&gt;durable, nondurable, and dynamic&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Another major difference between the pub/sub and p2p models is that, with the pub/&lt;br /&gt;sub model, message selectors are applied when the message is copied to each subscriber;&lt;br /&gt;whereas with the p2p model, message selectors are applied after the message has been&lt;br /&gt;added to the queue.&lt;br /&gt;&lt;br /&gt;The important point here is that &lt;span style="font-weight:bold;"&gt;multiple consumers&lt;/span&gt; may consume the message.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-6190101909007230709?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/6190101909007230709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=6190101909007230709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/6190101909007230709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/6190101909007230709'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2011/09/jms-1.html' title='JMS - 1'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-487246123996699912</id><published>2011-09-26T13:46:00.004+03:00</published><updated>2011-09-26T17:09:17.008+03:00</updated><title type='text'>JWS - reference</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Two ways to publish a web service using endpoint&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Endpoint.publish("http://127.0.0.1:9876/ts", new TimeServerImpl());&lt;br /&gt;&lt;br /&gt;Endpoint endpoint = Endpoint.create(new TimeServerImpl());&lt;br /&gt;endpoint.publish(url);&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2 ways to create a client:&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;QName qname = new QName("http://ts.ch01/", "TimeServerImplService");&lt;br /&gt;Service service = Service.create(url, qname);&lt;br /&gt;TimeServer eif = service.getPort(TimeServer.class);&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;or if you have already generated the artifacts with wsimport&lt;br /&gt;&lt;br /&gt;TeamsService service = new TeamsService();&lt;br /&gt;Teams port = service.getTeamsPort();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Document VS RPC&lt;/span&gt;&lt;br /&gt;Under the rpc style, the messages are named but not explicitly typed; under the &lt;br /&gt;document style, the messages are explicitly typed in an XSD document.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;WRAPPED vs UNWRAPPED&lt;/span&gt;&lt;br /&gt;The body of the unwrapped SOAP request envelope has two elements, named num1 and num2. These are numbers to be added. The SOAP body does not contain the name of the service operation that is to perform the addition and send the sum as a response. By contrast, the body of &lt;span style="font-weight:bold;"&gt;a wrapped SOAP request envelope has a single element named addNums, the name of the requested service operation&lt;/span&gt;, and two subelements, each holding a number to be added. &lt;span style="font-weight:bold;"&gt;The wrapped version makes the service operation explicit. &lt;/span&gt;The arguments for the operation are nested in an intuitive manner; that is, as subelements within the operation element addNums.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Guidelines for the wrapped document&lt;/span&gt; convention are straightforward. Here is a summary of the guidelines:&lt;br /&gt;&lt;br /&gt;The SOAP envelope's body should have only one part, that is, it should contain a single XML element with however many XML subelements are required. For example, even if a service operation expects arguments and returns a value, the parameters and return value do not occur as standalone XML elements in the SOAP body but, rather, as XML subelements within the main element. Example 2-9 illustrates with the addNums element as the single XML element in the SOAP body and the pair num1 and num2 as XML subelements.&lt;br /&gt;&lt;br /&gt;The relationship between the WSDL's XSD and the single XML element in the SOAP body is well defined. The document-style version of the TimeServer can be used to illustrate. In the XSD, there are four XSD complexType elements, each of which defines a data type. For example, there is a complexType with the name getTimeAsString and another with the name getTimeAsStringResponse. These definitions occur in roughly the bottom half of the XSD. In the top half are XML element definitions, each of which has a name and a type attribute. The complexTypes also have names, which are coordinated with the element names. For example, the complexType named getTimeAsString is matched with an element of the same name. Here is a segment of the XSD that shows the name coordination:&lt;br /&gt;&lt;br /&gt;&amp;lt;xs:element name="getTimeAsString"&lt;br /&gt;            type="tns:getTimeAsString"&amp;gt;&lt;br /&gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;&amp;lt;xs:element name="getTimeAsStringResponse"&lt;br /&gt;            type="tns:getTimeAsStringResponse"&amp;gt;&lt;br /&gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;xs:complexType name="getTimeAsString"&amp;gt;&amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;&amp;lt;xs:complexType name="getTimeAsStringResponse"&amp;gt;&lt;br /&gt;    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;      &amp;lt;xs:element name="return"&lt;br /&gt;                  type="xs:string" minOccurs="0"&amp;gt;&lt;br /&gt;      &amp;lt;/xs:element&amp;gt;&lt;br /&gt;    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;&amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;&lt;br /&gt;Further, each complexType is either empty (for instance, getTimeAsString) or contains an xs:sequence (for instance, getTimeAsStringResponse, which has an xs:sequence of one XML element). The xs:sequence contains typed arguments and typed returned values. The TimeServer example is quite simple in that the requests contain no arguments and the responses contain just one return value. Nonetheless, this segment of XSD shows the structure for the general case. For instance, if the getTimeAsStringResponse had several return values, then each would occur as an XML subelement within the xs:sequence. Finally, note that every XML element in this XSD segment (and, indeed, in the full XSD) is named and typed.&lt;br /&gt;&lt;br /&gt;The XML elements in the XSD serve as the wrappers for the SOAP message body. For the ch01.ts.TimeServer, a sample wrapped document is:&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" ?&amp;gt;&lt;br /&gt;&amp;lt;soapenv:Envelope&lt;br /&gt;     xmlns:soapenv="http://schemas.xmlsoap.or g/soap/envelope/"&lt;br /&gt;     xmlns:xsd="http://www.w3.org/2001/XMLSchema"&amp;gt;&lt;br /&gt;  &amp;lt;soapenv:Body&amp;gt;&lt;br /&gt;    &amp;lt;ans:getTimeAsElapsedResponse xmlns:ans="http://ts.ch01/"&amp;gt;&lt;br /&gt;      &amp;lt;return&amp;gt;1205030105192&amp;lt;/return&amp;gt;&lt;br /&gt;    &amp;lt;/ans:getTimeAsElapsedResponse&amp;gt;&lt;br /&gt;  &amp;lt;/soapenv:Body&amp;gt;&lt;br /&gt;&amp;lt;/soapenv:Envelope&amp;gt;          &lt;br /&gt;&lt;br /&gt;This is the same kind of SOAP body generated for an rpc-style service, which is precisely the point. The difference, again, is that the wrapped document-style service, unlike its rpc-style counterpart, includes explicit type and format information in an XSD from the WSDL's types section.&lt;br /&gt;&lt;br /&gt;The request wrapper has the same name as the service operation (for instance, addNums in Example 2-9), and the response wrapper should be the request wrapper's name with Response appended (for instance, addNumsResponse).&lt;br /&gt;&lt;br /&gt;The WSDL portType section now has named operations (e.g., getTimeAsString) whose messages are typed. For instance, the input (request) message getTimeAsString has the type tns:getTimeAsString, which is defined as one of the four complexTypes in the WSDL's XSD. For the document-style version of the service, here is the portType segment:&lt;br /&gt;&lt;br /&gt;&amp;lt;portType name="TimeServer"&amp;gt;&lt;br /&gt;  &amp;lt;operation name="getTimeAsString"&amp;gt;&lt;br /&gt;    &amp;lt;input message="tns:getTimeAsString"&amp;gt;&amp;lt;/input&amp;gt;&lt;br /&gt;    &amp;lt;output message="tns:getTimeAsStringResponse"&amp;gt;&amp;lt;/output&amp;gt;&lt;br /&gt;  &amp;lt;/operation&amp;gt;&lt;br /&gt;  &amp;lt;operation name="getTimeAsElapsed"&amp;gt;&lt;br /&gt;    &amp;lt;input message="tns:getTimeAsElapsed"&amp;gt;&amp;lt;/input&amp;gt;&lt;br /&gt;    &amp;lt;output message="tns:getTimeAsElapsedResponse"&amp;gt;&amp;lt;/output&amp;gt;&lt;br /&gt;  &amp;lt;/operation&amp;gt;&lt;br /&gt;&amp;lt;/portType&amp;gt;  &lt;br /&gt;&lt;br /&gt;The wrapped document convention, despite its unofficial status, has become prevalent. JWS supports the convention. By default, a Java SOAP-based web service is wrapped doc/lit, that is, wrapped document style with literal encoding.&lt;br /&gt;&lt;br /&gt;&lt;H3&gt;JAXB&lt;/H3&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;JAX-B supports conversions between Java and XML types.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The @XmlType and @XmlRootElement annotations direct the marshaling of Skier objects, where marshaling is the process of encoding an in-memory object (for example, a Skier) as an XML document so that, for instance, the encoding can be sent across a network to be unmarshaled or decoded at the other end. In common usage, the distinction between marshal and unmarshal is very close and perhaps identical to the serialize/deserialize distinction. I use the distinctions interchangeably. JAX-B supports the marshaling of in-memory Java objects to XML documents and the unmarshaling of XML documents to in-memory Java objects.&lt;br /&gt;&lt;br /&gt;The annotation @XmlType, applied in this example to the Person class, indicates that JAX-B should generate an XML Schema type from the Java type. The annotation @XmlRootElement, applied in this example to the Skier class, indicates that JAX-B should generate an XML document (outermost or root) element from the Java class. Accordingly, the resulting XML in this example is a document whose outermost element represents a skier; and the document has a nested element that represents a person.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Marshaling&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;JAXBContext ctx = JAXBContext.newInstance(Skier.class);&lt;br /&gt;Marshaller m = ctx.createMarshaller();&lt;br /&gt;m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);&lt;br /&gt;&lt;br /&gt;// Marshal a Skier object: 1st to stdout, 2nd to file&lt;br /&gt;Skier skier = createSkier();&lt;br /&gt;m.marshal(skier, System.out);&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Unmarshaling&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;Unmarshaller u = ctx.createUnmarshaller();&lt;br /&gt;Skier bd_clone = (Skier) u.unmarshal(new File(file_name));&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;@XmlRootElement(name = "getTimeAsElapsedResponse", namespace = "http://ts.ch02/")&lt;br /&gt;@XmlAccessorType(XmlAccessType.FIELD)&lt;br /&gt;@XmlType(name = "getTimeAsElapsedResponse", namespace = "http://ts.ch02/")&lt;br /&gt;public class GetTimeAsElapsedResponse {&lt;br /&gt;    @XmlElement(name = "return", namespace = "")&lt;br /&gt;    private long _return;&lt;br /&gt;    public long get_return() { return this._return; }&lt;br /&gt;&lt;br /&gt;    public void set_return(long _return) { this._return = _return; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;       &lt;br /&gt;&lt;br /&gt;The annotation in bold indicates that the field named _return will be marshaled and unmarshaled rather than a property defined with a get/set method pair that follows the usual JavaBean naming conventions.&lt;br /&gt;&lt;br /&gt;Other annotation attributes can be set to override the default naming conventions. For example, if the annotation in the Skier class declaration is changed to:&lt;br /&gt;&lt;br /&gt;@XmlRootElement(name = "NordicSkier")&lt;br /&gt;&lt;br /&gt;then the resulting XML document begins:&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&amp;gt;&lt;br /&gt;&amp;lt;NordicSkier&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-487246123996699912?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/487246123996699912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=487246123996699912' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/487246123996699912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/487246123996699912'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2011/09/jws-reference.html' title='JWS - reference'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-3193597680176351916</id><published>2011-09-26T10:00:00.001+03:00</published><updated>2011-09-26T13:44:25.561+03:00</updated><title type='text'>eclipse</title><content type='html'>syso&lt;br /&gt;&lt;br /&gt;ctrl +1 - quick fix&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-3193597680176351916?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/3193597680176351916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=3193597680176351916' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3193597680176351916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3193597680176351916'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2011/09/eclipse.html' title='eclipse'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-8107659797603875733</id><published>2011-09-20T10:47:00.003+03:00</published><updated>2011-09-22T14:59:55.526+03:00</updated><title type='text'>JWS - week 3</title><content type='html'>So far web services have been deployed using either Endpoint, HttpsServer, or Tomcat.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A JAS is a: Web Container, Message-oriented middleware, &lt;br /&gt;Enterprise Java Bean (EJB) container.&lt;br /&gt;&lt;br /&gt;JMS topics implement the publisher/subscriber model of messaging, whereas JMS queues implement the point-to-point model.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The endpoint is different when deployed as an EJB&lt;/span&gt;&lt;br /&gt;The endpoint URL for the EJB-based web service differs from WAR examples seen so far. For one thing, the name of the EAR file does not occur in the path as does the name of a WAR file. There are two pieces in the path section of the URL: the first is the SIB name with Service appended, giving FibEJBService in this example; the second is the SIB name, in this case FibEJB. The combination is shown in the URL below for the sample Perl client:&lt;br /&gt;&lt;br /&gt;#!/usr/bin/perl -w&lt;br /&gt;use SOAP::Lite;&lt;br /&gt;use strict;&lt;br /&gt;my $url = 'http://localhost:8081/FibEJBService/FibEJB?wsdl';&lt;br /&gt;my $service = SOAP::Lite-&gt;service($url);&lt;br /&gt;print $service-&gt;fib(7), "\n";&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-8107659797603875733?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/8107659797603875733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=8107659797603875733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/8107659797603875733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/8107659797603875733'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2011/09/jws-week-3.html' title='JWS - week 3'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-9027739188069460145</id><published>2011-09-12T10:13:00.015+03:00</published><updated>2011-09-15T16:26:26.127+03:00</updated><title type='text'>JWS - week 2</title><content type='html'>&lt;h3&gt;wsimport vs wsgen&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight:bold;"&gt;wsimport&lt;/span&gt; tool generates JAX-WS portable artifacts  used in JAX-WS clients and services. The tool reads a WSDL and generates all the required artifacts for web service development, deployment, and invocation.&lt;br /&gt;&lt;br /&gt;&lt;UL&gt;&lt;br /&gt;&lt;LI&gt;&lt;br /&gt;In the working directory, invoke the wsimport utility, which likewise comes with core Java 6:&lt;br /&gt;&lt;br /&gt;% wsimport -p teamsC -keep http://localhost:8888/teams?wsdl&lt;br /&gt;&lt;br /&gt;This utility generates various classes in the subdirectory teamsC (the -p flag stands for package). These classes make it easier to write a client against the service.&lt;br /&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI&gt;&lt;br /&gt;% wsimport&lt;br /&gt;&lt;br /&gt;displays a short report on how the utility can be used. The first example with wsimport produces client artifacts against the TimeServer service.&lt;br /&gt;&lt;br /&gt;After the ch01.ts.TimeServerPublisher application has been started, the command:&lt;br /&gt;% wsimport -keep -p client http://localhost:9876/ts?wsdl&lt;br /&gt;generates two source and two compiled files in the subdirectory client. &lt;br /&gt;&lt;/LI&gt;&lt;br /&gt;&lt;br /&gt;&lt;LI&gt;wsimport -keep -p client ts.wsdl&lt;/LI&gt;&lt;br /&gt;&lt;/UL&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight:bold;"&gt;wsgen&lt;/span&gt; tool reads a service endpoint implementation class and generates all of the portable artifacts for a JAX-WS web service..&lt;br /&gt;&lt;br /&gt;&lt;UL&gt;&lt;br /&gt;&lt;LI&gt;&lt;br /&gt;The wsgen utility also can be used to generate a WSDL document for a web service. For example, the command:&lt;br /&gt;&lt;br /&gt;% wsgen -cp "." -wsdl ch01.ts.TimeServerImpl    &lt;br /&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI&gt;&lt;br /&gt;The wsgen utility produces the classes required to build the WSDL, classes known as wsgen artifacts. The command:&lt;br /&gt;&lt;br /&gt;% wsgen -keep -cp . ch01.ts.TimeServerImpl&lt;br /&gt;&lt;/LI&gt;&lt;br /&gt;&lt;/UL&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;MessageContext&lt;/span&gt;, which is normally accessed in handlers: the subtypes SOAPMessageContext and LogicalMessageMessageContext are the parameter types, for example, in the handleMessage callbacks of SOAP and logical handlers, respectively.&lt;br /&gt;&lt;br /&gt;In a handler or SIB, Java provides access to HTTP messages in a &lt;span style="font-weight:bold;"&gt;MessageContext&lt;/span&gt;. In a Java-based client, Java likewise gives access to the HTTP level but in this case through the &lt;span style="font-weight:bold;"&gt;BindingProvider&lt;/span&gt; and the request/response contexts, which are exposed as BindingProvider properties. The code examples illustrate application-level as opposed to handler-level access to transport messages.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;SOAP Attachments&lt;/h3&gt;&lt;br /&gt;There are basically three options for SOAP attachments: &lt;span style="font-weight:bold;"&gt;SwA&lt;/span&gt; (SOAP with Attachments), the original SOAP specification for attachments; &lt;span style="font-weight:bold;"&gt;DIME&lt;/span&gt; (Direct Internet Message Encapsulation), a lightweight but by now old-fashioned encoding scheme for attachments; and &lt;span style="font-weight:bold;"&gt;MTOM&lt;/span&gt; (Message Transmission Optimization Mechanism), which is based on XOP (XML-Binary Optimized Packaging). JWS has a DIME extension whose main purpose is to interoperate with Microsoft clients. Up until the release of Microsoft Office 2003, a web service client written in Visual Basic for Applications (VBA) could handle only DIME rather than MTOM attachments. The SwA approach has drawbacks. For one, it is hard to use SwA with a document-style service, which is now the norm. Further, frameworks such as DotNet do not support SwA. MTOM has the W3C stamp of approval and enjoys widespread support; hence, MTOM is the efficient, modern, interoperable way to transmit binary data in SOAP-based web services.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;REST&lt;/h2&gt;&lt;br /&gt;As Web-based informational items, resources are pointless unless they have at least one representation. In the Web, representations are MIME-typed. The most common type of resource representation is probably still text/html, but nowadays resources tend to have multiple representations.&lt;br /&gt;&lt;br /&gt;The RESTful approach keeps the complexity out of the transport level, as a resource representation is transferred to the client as the body of an HTTP response message. By contrast, a SOAP-based service inevitably complicates the transport level because a SOAP message is encapsulated as the body of a transport message; for instance, an HTTP or SMTP message. SOAP requires messages within messages, whereas REST does not.&lt;br /&gt;&lt;br /&gt;The @WebService annotation signals that the messages exchanged between the service and its clients will be SOAP envelopes. The @WebServiceProvider signals that the exchanged messages will be XML documents of some type, a notion captured in the phrase raw XML&lt;br /&gt;&lt;br /&gt;A service annotated with &lt;span style="font-weight:bold;"&gt;@WebServiceProvider&lt;/span&gt; implements the Provider interface, which requires that the invoke method:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;public Source invoke(Source request)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;be defined. This method expects a &lt;span style="font-weight:bold;"&gt;Source&lt;/span&gt; of bytes (for instance, the bytes in an XML document that represents the service request) and returns a &lt;span style="font-weight:bold;"&gt;Source&lt;/span&gt; of bytes (the bytes in the XML response).&lt;br /&gt;&lt;br /&gt;A RESTful Provider implements the method:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;public Source invoke(Source request)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and a &lt;span style="font-weight:bold;"&gt;Dispatch&lt;/span&gt; object, sometimes described as a dynamic service proxy, provides an implementation of this method on the client side. Recall that a Source is a source of an XML document suitable as input to a Transform, which then generates a Result that is typically an XML document as well. The Dispatch to Provider relationship supports a natural exchange of XML documents between client and service:&lt;br /&gt;&lt;br /&gt;The client invokes the Dispatch method invoke, with an XML document as the Source argument. If the request does not require an XML document, then the Source argument can be null.&lt;br /&gt;&lt;br /&gt;The service-side runtime dispatches the client request to the Provider method invoke whose Source argument corresponds to the client-side Source.&lt;br /&gt;&lt;br /&gt;The service transforms the Source into some appropriate Result (for instance, a DOM tree), processes this Result in an application-appropriate way, and returns an XML source to the client. If no response is needed, null can be returned.&lt;br /&gt;&lt;br /&gt;The Dispatch method invoke returns a Source, sent from the service, that the client then transforms into an appropriate Result and processes as needed.&lt;br /&gt;&lt;br /&gt;The fact that the Provider method invoke and the Dispatch method invoke have the same signature underscores the natural fit between them.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;WADL&lt;/span&gt; stands for Web Application Description Language&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;JAX-RS&lt;/span&gt; (Java API for XML-RESTful Web Services)&lt;br /&gt;&lt;br /&gt;For now, &lt;span style="font-weight:bold;"&gt;JAX-WS&lt;/span&gt; and For now, JAX-WS and JAX-RS are separate frameworks. It would not be surprising if, in the future, the two frameworks merged are separate frameworks. It would not be surprising if, in the future, the two frameworks merged.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Java Web Services Security&lt;/h2&gt;&lt;br /&gt; &lt;span style="font-weight:bold;"&gt;HTTPS&lt;/span&gt; (HyperText Transport Protocol over Secure Socket Layer)&lt;br /&gt;&lt;br /&gt;Java has various packages that support SSL/TLS in general and HTTPS in particular. JSSE (Java Secure Sockets Extension) has been part of core Java since JDK 1.4. &lt;br /&gt;&lt;br /&gt;&lt;OL&gt;&lt;LI&gt;&lt;br /&gt;Peer authentication&lt;br /&gt;&lt;br /&gt;Alice needs Bob to authenticate himself so that she is sure about who is on the receiving end before she sends the secret message. Bob, too, needs Alice to authenticate herself so that he knows that the secret message is from her rather than an impostor such as Eve. This step also is described as mutual authentication or mutual challenge.&lt;br /&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI&gt;&lt;br /&gt;Confidentiality&lt;br /&gt;&lt;br /&gt;Once Alice and Bob have authenticated each other, Alice needs to encrypt the secret message in such a way that only Bob can decrypt it. Even if Eve intercepts the encrypted message, she should not be able to decrypt the message because doing so requires enormous computational power or incredibly good luck.&lt;br /&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI&gt;&lt;br /&gt;Integrity&lt;br /&gt;&lt;br /&gt;The message that Alice sends should be identical to the one that Bob receives. If not, an error condition should be raised. The received message might differ from the sent one for various reasons; for instance, noise in the communications channel or deliberate tampering by Eve. Any difference between the sent and the received message should be detected.&lt;br /&gt;&lt;/LI&gt;&lt;br /&gt;&lt;/OL&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Symmetric Encryption/Decryption&lt;/span&gt;&lt;br /&gt;Modern approaches to encryption follow two different approaches, symmetric and asymmetric. Under either approach, the bits to be encrypted (plain bits) are one input to an encryption engine and an encryption key is the other input (see Figure 5-3). The encrypted bits are the cipher bits. If the input bits represent text, then they are the plaintext and the output bits are the ciphertext. The cipher bits are one input to the decryption engine, and a decryption key is the other input. The decryption produces the original plain bits. In the symmetric approach, the same key—called the secret key or the single key—is used to encrypt and decrypt (see Figure 5-4). The symmetric approach has the advantage of being relatively fast, but the disadvantage of what is known as the key distribution problem. How is the secret key itself to be distributed to the sender and the receiver?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Asymmetric Encryption/Decryption&lt;/span&gt;&lt;br /&gt;In the asymmetric approach, the starting point is a key pair, which consists of a private key and a public key. As the names suggest, the private key should not be distributed but safeguarded by whoever generated the key pair. The public key can be distributed freely and publicly. If message bits are encrypted with the public key, they can be decrypted only with the private key, and vice-versa. Figure 5-5 illustrates. The asymmetric approach solves the key distribution problem, but asymmetric encryption and decryption are roughly a thousand times slower than their symmetric counterparts.&lt;br /&gt;&lt;br /&gt;&amp;lt;Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"&lt;br /&gt;           maxThreads="150" scheme="https" secure="true"&lt;br /&gt;           clientAuth="false" sslProtocol="TLS" /&amp;gt;&lt;br /&gt;&lt;br /&gt;The clientAuth attribute is set to false, thereby indicating that Tomcat does not challenge the client. The default client behavior is to challenge the server.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-9027739188069460145?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/9027739188069460145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=9027739188069460145' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/9027739188069460145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/9027739188069460145'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2011/09/jws-week-2.html' title='JWS - week 2'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-341741734042035301</id><published>2011-09-05T12:16:00.016+03:00</published><updated>2011-09-09T12:32:45.858+03:00</updated><title type='text'>JWS</title><content type='html'>WS&lt;br /&gt;&lt;UL&gt;&lt;br /&gt;&lt;LI&gt; SOAP &lt;/LI&gt;&lt;br /&gt;&lt;LI&gt; REST &lt;/LI&gt;&lt;br /&gt;&lt;/UL&gt;&lt;br /&gt;&lt;br /&gt;Simple Object Access Protocol (Service Oriented Architecture)&lt;br /&gt;Representational State Transfer &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A SOAP-based web service could be implemented as a single Java class but, following best practices, there should be an interface that declares the methods, which are the web service operations, and an implementation, which defines the methods declared in the interface. The interface is called the SEI: &lt;span style="font-weight:bold;"&gt;Service Endpoint Interface&lt;/span&gt;. The implementation is called the SIB: &lt;span style="font-weight:bold;"&gt;Service Implementation Bean&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The other WSDL section of interest is the last, the service section, and in particular the service location, in this case the URL http://localhost:9876/ts. The URL is called the &lt;span style="font-weight:bold;"&gt;service endpoint&lt;/span&gt; and it informs clients about where the service can be accessed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;message exchange pattern (MEP)&lt;/span&gt;—request/response&lt;br /&gt;&lt;br /&gt;WSDL - web service definition language&lt;br /&gt;&lt;br /&gt;A SOAP-based web service should provide, as a WSDL document, a service contract for its potential clients. So far we have seen how a Perl, a Ruby, and a Java client can request the WSDL at runtime for use in the underlying SOAP libraries. Chapter 2 studies the WSDL more closely and illustrates how it may be used to generate client-side artifacts such as Java classes, which in turn ease the coding of web service clients. The Java clients in Chapter 2 will not be written from scratch, as is our first Java client. Instead such clients will be written with the considerable aid of the wsimport utility, as was the TeamClient shown earlier. Chapter 2 also introduces JAX-B (Java API for XML-Binding), a collection of Java packages that coordinate Java data types and XML data types. The wsgen utility generates JAX-B artifacts that play a key role in this coordination; hence, wsgen also will get a closer look.&lt;br /&gt;&lt;br /&gt; XML-qualified name (a Java QName), which in turn consists of the service's local name (in this case, TimeServerImplService) and a namespace identifier (in this case, the URI http://ts.ch01/)&lt;br /&gt;&lt;br /&gt;Building a client for the web service&lt;br /&gt;  &lt;span style="font-weight:bold;"&gt;wsimport&lt;/span&gt; -keep -p client http://localhost:9876/ts?wsdl&lt;br /&gt;  &lt;span style="font-weight:bold;"&gt;wsimport&lt;/span&gt; -keep -p client ts.wsdl&lt;br /&gt;&lt;br /&gt;@WebMethod&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;@WebResult(partName = "time_response")&lt;/span&gt;&lt;br /&gt;String getTimeAsString();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2.2 &lt;span style="font-weight:bold;"&gt;WSDL Structure&lt;/span&gt;&lt;br /&gt;At a high level, a WSDL document is a contract between a service and its consumers. The contract provides such critical information as the service endpoint, the service operations, and the data types required for these operations. The service contract also indicates, in describing the messages exchanged in the service, the underlying service pattern, for instance, request/response or solicit/response. The outermost element (called the document or root element) in a WSDL is named definitions because the WSDL provides definitions grouped into the following sections:&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight:bold;"&gt;types section&lt;/span&gt;, which is optional, provides data type definitions under some data type system such as XML Schema. A particular document that defines data types is an XSD (XML Schema Definition). The types section holds, points to, or imports an XSD. If the types section is empty, as in the case of the TimeServer service, then the service uses only simple data types such as xsd:string and xsd:long.&lt;br /&gt;&lt;br /&gt;Although the WSDL 2.0 specification allows for alternatives to XML Schema (see http://www.w3.org/TR/wsdl20-altschemalangs), XML Schema is the default and the dominant type system used in WSDLs. Accordingly, the following examples assume XML Schema unless otherwise noted.&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight:bold;"&gt;message section&lt;/span&gt; defines the messages that implement the service. Messages are constructed from data types either defined in the immediately preceding section or, if the types section is empty, available as defaults. Further, the order of the messages indicates the service pattern. Recall that, for messages, the directional properties in and out are from the service's perspective: an in message is to the service, whereas an out message is from the service. Accordingly, the message order in/out indicates the request/response pattern, whereas the message order out/in indicates the solicit/response pattern. For the TimeServer service, there are four messages: a request and a response for the two operations, getTimeAsString and getTimeAsElapsed. The in/out order in each pair indicates a request/response pattern for the web service operations.&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight:bold;"&gt;portType section&lt;/span&gt; presents the service as named operations, with each operation as one or more messages. Note that the operations are named after methods annotated as @WebMethods, a point to be discussed in detail shortly. A web service's portType is akin to a Java interface in presenting the service abstractly, that is, with no implementation details.&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight:bold;"&gt;binding section&lt;/span&gt; is where the WSDL definitions go from the abstract to the concrete. A WSDL binding is akin to a Java implementation of an interface (that is, a WSDL portType). Like a Java implementation class, a WSDL binding provides important concrete details about the service. The binding section is the most complicated one because it must specify these implementation details of a service defined abstractly in the portType section:&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight:bold;"&gt;transport protocol&lt;/span&gt; to be used in sending and receiving the underlying SOAP messages. Either HTTP or SMTP (Simple Mail Transport Protocol) may be used for what is called the application-layer protocol; that is, the protocol for transporting the SOAP messages that implement the service. HTTP is by far the more popular choice. The WSDL for the TimeServer service contains this segment:&lt;br /&gt;&lt;br /&gt;&lt;soap:binding style="rpc"&lt;br /&gt;              transport="http://schemas.xmlsoap.org/soap/http"&gt;&lt;br /&gt;&lt;br /&gt;The value of the transport attribute signals that the service's SOAP messages will be sent and received over HTTP, which is captured in the slogan SOAP over HTTP.&lt;br /&gt;&lt;br /&gt;The style of the service, shown earlier as the value of the style attribute, takes either rpc or document as a value. The document style is the default, which explains why the SEI for the TimeServer service contains the annotation:&lt;br /&gt;&lt;br /&gt;@SOAPBinding(style = Style.RPC)           &lt;br /&gt;&lt;br /&gt;This annotation forces the style attribute to have the value rpc in the Java-generated WSDL. The difference between the rpc and the document style will be clarified shortly.&lt;br /&gt;&lt;br /&gt;The data format to be used in the SOAP messages. There are two choices, literal and encoded. These choices also will be clarified shortly.&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight:bold;"&gt;service section&lt;/span&gt; specifies one or more endpoints at which the service's functionality, the sum of its operations, is available. In technical terms, the service section lists one or more port elements, where a port consists of a portType (interface) together with a corresponding binding (implementation). The term port derives from distributed systems. An application hosted at a particular network address (for instance, 127.0.0.1) is available to clients, local or remote, through a specified port. For example, the TimeServer application is available to clients at port 9876.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;By default, a Java SOAP-based web service is &lt;span style="font-weight:bold;"&gt;wrapped doc/lit&lt;/span&gt;, that is, wrapped document style with literal encoding.&lt;br /&gt;&lt;br /&gt;The @XmlType and @XmlRootElement annotations direct the marshaling of Skier objects, where marshaling is the process of encoding an in-memory object (for example, a Skier) as an XML document so that, for instance, the encoding can be sent across a network to be unmarshaled or decoded at the other end. In common usage, the distinction between marshal and unmarshal is very close and perhaps identical to the serialize/deserialize distinction. I use the distinctions interchangeably. JAX-B supports the marshaling of in-memory Java objects to XML documents and the unmarshaling of XML documents to in-memory Java objects.&lt;br /&gt;&lt;br /&gt;The annotation &lt;span style="font-weight:bold;"&gt;@XmlType&lt;/span&gt;, applied in this example to the Person class, indicates that JAX-B should generate an XML Schema type from the Java type. The annotation &lt;span style="font-weight:bold;"&gt;@XmlRootElement&lt;/span&gt;, applied in this example to the Skier class, indicates that JAX-B should generate an XML document (outermost or root) element from the Java class. Accordingly, the resulting XML in this example is a document whose outermost element represents a skier; and the document has a nested element that represents a person.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;JAX-B&lt;/span&gt; JAVA To XML Binding&lt;br /&gt;&lt;br /&gt;@XmlRootElement(name = "getTimeAsElapsedResponse", namespace = "http://ts.ch02/")&lt;br /&gt;@XmlAccessorType(XmlAccessType.FIELD)&lt;br /&gt;@XmlType(name = "getTimeAsElapsedResponse", namespace = "http://ts.ch02/")&lt;br /&gt;public class GetTimeAsElapsedResponse {&lt;br /&gt;    @XmlElement(name = "return", namespace = "")&lt;br /&gt;    private long _return;&lt;br /&gt;    public long get_return() { return this._return; }&lt;br /&gt;&lt;br /&gt;    public void set_return(long _return) { this._return = _return; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@XmlRootElement(name = "NordicSkier")&lt;br /&gt;&lt;br /&gt;How the wsgen utility and the JAX-B packages interact in JWS now can be summarized. A Java web service in document rather than rpc style has a nonempty types section in its WSDL. This section defines, in the XML Schema language, the types required for the web service. The wsgen utility generates, from the SIB, Java classes that are counterparts of XSD types. These wsgen artifacts are available for the underlying JWS libraries, in particular for the JAX-B family of packages, to convert (marshal) instances of Java types (that is, Java in-memory objects) into XML instances of XML types (that is, into XML document instances that satisfy an XML Schema document). The inverse operation is used to convert (unmarshal) an XML document instance to an in-memory object, an object of a Java type or a comparable type in some other language. The wsgen utility thus produces the artifacts that support interoperability for a Java-based web service. The JAX-B libraries provide the under-the-hood support to convert between Java and XSD types. For the most part, the wsgen utility can be used without our bothering to inspect the artifacts that it produces. For the most part, JAX-B remains unseen infrastructure.&lt;br /&gt;&lt;br /&gt;SOAP Message&lt;br /&gt;&lt;br /&gt;Optional SOAP Header \_  SOAP Envelope&lt;br /&gt;Required SOAP Body   /&lt;br /&gt;&lt;br /&gt;Optional SOAP attachments&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;SOAP handlers&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Recall that a SOAP envelope has a required body, which may be empty, and an optional header. An intermediary should inspect and process only the elements in the SOAP header rather than anything in the SOAP body, which carries whatever cargo the sender intends for the ultimate receiver alone. The header, by contrast, is meant to carry whatever meta-information is appropriate for either the ultimate receiver or intermediaries. &lt;br /&gt;&lt;br /&gt;JWS provides a &lt;span style="font-weight:bold;"&gt;handler framework&lt;/span&gt; that allows application code to inspect and manipulate outgoing and incoming SOAP messages. A handler can be injected into the framework in two steps:&lt;br /&gt;&lt;br /&gt;&lt;OL&gt;&lt;LI&gt;&lt;br /&gt;One step is to create a &lt;span style="font-weight:bold;"&gt;handler class, which implements the Handler interface&lt;/span&gt; in the javax.xml.ws.handler package. JWS provides two Handler subinterfaces, LogicalHandler and SOAPHandler. As the names suggest, the LogicalHandler is protocol-neutral but the SOAPHandler is SOAP-specific. A LogicalHandler has access only to the message payload in the SOAP body, whereas a SOAPHandler has access to the entire SOAP message, including any optional headers and attachments. The class that implements either the LogicalHandler or the SOAPHandler interface needs to define three methods for either interface type, including handleMessage, which gives the programmer access to the underlying message. The other two shared methods are handleFault and close. The SOAPHandler interface requires the implementation to define a fourth method, getHeaders.&lt;/LI&gt;&lt;br /&gt;&lt;LI&gt;&lt;br /&gt;The other step is to &lt;span style="font-weight:bold;"&gt;place a handler within a handler chain&lt;/span&gt;. This is typically done through a configuration file, although handlers also can be managed through code.&lt;br /&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;br /&gt;&lt;br /&gt;JWS has two different ways to throw &lt;span style="font-weight:bold;"&gt;SOAP faults&lt;/span&gt; and the example illustrates both. The simplest way is to &lt;span style="font-weight:bold;"&gt;extend the Exception &lt;/span&gt;class (for example, with a class named FibException) and &lt;span style="font-weight:bold;"&gt;to throw the exception in a @WebMethod&lt;/span&gt; whenever appropriate. JWS then automatically maps the Java exception to a SOAP fault. The other way, which takes more work, is to &lt;span style="font-weight:bold;"&gt;throw a fault from a handler&lt;/span&gt;. In this case, a SOAPFaultException is created and then thrown.&lt;br /&gt;&lt;br /&gt;The top-to-bottom sequence of the handlers in the configuration file determines the order in which handler methods of one type (e.g., SOAPHandler) execute. The runtime ordering may differ from the order given in the configuration file. Here is the reason:&lt;br /&gt;&lt;br /&gt;&lt;UL&gt;&lt;LI&gt;&lt;br /&gt;For an outbound message (for instance, a client request under the request/response MEP), the handleMessage method or handleFault method in a LogicalHandler code execute before their counterparts in a SOAPHandler.&lt;/LI&gt;&lt;br /&gt;&lt;br /&gt;&lt;LI&gt;&lt;br /&gt;For an inbound message, the handleMessage method or handleFault method in a SOAPHandler code execute before their counterparts in a LogicalHandler.&lt;br /&gt;&lt;/LI&gt;&lt;br /&gt;&lt;/UL&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-341741734042035301?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/341741734042035301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=341741734042035301' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/341741734042035301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/341741734042035301'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2011/09/jws.html' title='JWS'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-7490831555716671611</id><published>2011-09-01T16:37:00.006+03:00</published><updated>2011-09-01T18:14:09.581+03:00</updated><title type='text'>JPA2</title><content type='html'>82&lt;br /&gt;&lt;br /&gt;&lt;B&gt;Identifier Generation&lt;/B&gt;&lt;br /&gt;&lt;br /&gt;@GeneratedValue&lt;br /&gt;&lt;br /&gt;AUTO, TABLE, SEQUENCE, or IDENTITY&lt;br /&gt;&lt;br /&gt;@Entity&lt;br /&gt;public class Employee {&lt;br /&gt;@Id @GeneratedValue(strategy=GenerationType.AUTO)&lt;br /&gt;private int id;&lt;br /&gt;// ...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;B&gt;Id Generation Using a Table&lt;/B&gt;&lt;br /&gt;&lt;br /&gt;@Id @GeneratedValue(strategy=GenerationType.TABLE)&lt;br /&gt;private int id;&lt;br /&gt;&lt;br /&gt;@TableGenerator(name="Emp_Gen")&lt;br /&gt;@Id @GeneratedValue(generator="Emp_Gen")&lt;br /&gt;private int id;&lt;br /&gt;&lt;br /&gt;@TableGenerator(name="Emp_Gen",&lt;br /&gt;table="ID_GEN",&lt;br /&gt;pkColumnName="GEN_NAME",&lt;br /&gt;valueColumnName="GEN_VAL")&lt;br /&gt;&lt;br /&gt;@TableGenerator(name="Address_Gen",&lt;br /&gt;table="ID_GEN",&lt;br /&gt;pkColumnName="GEN_NAME",&lt;br /&gt;valueColumnName="GEN_VAL",&lt;br /&gt;pkColumnValue="Addr_Gen",&lt;br /&gt;initialValue=10000,&lt;br /&gt;allocationSize=100)&lt;br /&gt;@Id @GeneratedValue(generator="Address_Gen")&lt;br /&gt;private int id;&lt;br /&gt;&lt;br /&gt;&lt;B&gt;Id Generation Using a Database Sequence&lt;/B&gt;&lt;br /&gt;&lt;br /&gt;@Id @GeneratedValue(strategy=GenerationType.SEQUENCE)&lt;br /&gt;private int id;&lt;br /&gt;&lt;br /&gt;@SequenceGenerator(name="Emp_Gen", sequenceName="Emp_Seq")&lt;br /&gt;@Id @GeneratedValue(generator="Emp_Gen")&lt;br /&gt;private int getId;&lt;br /&gt;&lt;br /&gt;CREATE SEQUENCE Emp_Seq&lt;br /&gt;MINVALUE 1&lt;br /&gt;START WITH 1&lt;br /&gt;INCREMENT BY 50&lt;br /&gt;&lt;br /&gt;&lt;B&gt;Id Generation Using Database Identity &lt;/B&gt;&lt;br /&gt;&lt;br /&gt;@Id @GeneratedValue(strategy=GenerationType.IDENTITY)&lt;br /&gt;private int id;&lt;br /&gt;&lt;br /&gt;There is no generator annotation for IDENTITY because it must be defined as part of the database schema definition for the primary key column of the entity. Because each entity primary key column defines its own identity characteristic, IDENTITY generation cannot be shared across multiple entity types.&lt;br /&gt;Another difference, hinted at earlier, between using IDENTITY and other id generation strategies is that the identifier will not be accessible until after the insert has occurred&lt;br /&gt;&lt;br /&gt;&lt;B&gt;Relationships&lt;/B&gt;&lt;br /&gt;&lt;br /&gt;Relantionship Concepts: &lt;br /&gt;&lt;UL&gt;&lt;br /&gt;&lt;LI&gt;Roles&lt;/LI&gt;&lt;br /&gt;&lt;LI&gt;Directionality&lt;/LI&gt;&lt;br /&gt;&lt;LI&gt;Cardinality&lt;/LI&gt;&lt;br /&gt;&lt;LI&gt;Ordinality&lt;/LI&gt;&lt;br /&gt;&lt;/UL&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Single-Valued Associations/&lt;/span&gt;&lt;br /&gt;An association from an entity instance to another entity instance (where the cardinality of the target is “one”) is called a single-valued association. The many-to-one and one-to-one relationship mappings fall into this category because the source entity refers to at most one target entity. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Many-to-One Mappings&lt;/span&gt;&lt;br /&gt;@Entity&lt;br /&gt;public class Employee {&lt;br /&gt;// ...&lt;br /&gt;@ManyToOne&lt;br /&gt;private Department department;&lt;br /&gt;// ...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;A many-to-one mapping is defined by annotating the attribute in the source entity (the attribute that refers to the target entity) with the @ManyToOne annotation&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Using Join Columns&lt;/span&gt;&lt;br /&gt;In almost every relationship, independent of source and target sides, one of the two sides will have the join column in its table. That side is called the owning side or the owner of the relationship. The side that does not have the join column is called the non-owning or inverse side.&lt;br /&gt;&lt;br /&gt;@Entity&lt;br /&gt;public class Employee {&lt;br /&gt;@Id private int id;&lt;br /&gt;@ManyToOne&lt;br /&gt;@JoinColumn(name="DEPT_ID")&lt;br /&gt;private Department department;&lt;br /&gt;// ...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;One-to-One Mappings&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;@Entity&lt;br /&gt;public class Employee {&lt;br /&gt;@Id private int id;&lt;br /&gt;private String name;&lt;br /&gt;@OneToOne&lt;br /&gt;@JoinColumn(name="PSPACE_ID")&lt;br /&gt;private ParkingSpace parkingSpace;&lt;br /&gt;// ...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Bidirectional One-to-One Mappings&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;@Entity&lt;br /&gt;public class ParkingSpace {&lt;br /&gt;@Id private int id;&lt;br /&gt;private int lot;&lt;br /&gt;private String location;&lt;br /&gt;@OneToOne(mappedBy="parkingSpace")&lt;br /&gt;private Employee employee;&lt;br /&gt;// ...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;The value of mappedBy is the name of&lt;br /&gt;the attribute in the owning entity that points back to the inverse entity.&lt;br /&gt;The two rules, then, for bidirectional one-to-one associations are the following:&lt;br /&gt;• The @JoinColumn annotation goes on the mapping of the entity that is mapped to&lt;br /&gt;the table containing the join column, or the owner of the relationship. This might&lt;br /&gt;be on either side of the association.&lt;br /&gt;• The mappedBy element should be specified in the @OneToOne annotation in the&lt;br /&gt;entity that does not define a join column, or the inverse side of the relationship.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;95&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-7490831555716671611?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/7490831555716671611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=7490831555716671611' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/7490831555716671611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/7490831555716671611'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2011/09/jpa2.html' title='JPA2'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-1248489764223292943</id><published>2011-07-25T16:49:00.005+03:00</published><updated>2011-07-25T18:39:30.607+03:00</updated><title type='text'>JPA2</title><content type='html'>69&lt;br /&gt;Persistence annotations can be applied at three different levels: class, method, and field&lt;br /&gt;&lt;br /&gt;The mapping annotations can be categorized as being in one of two categories: logical&lt;br /&gt;annotations and physical annotations&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ACCESSING ENTITY STATE&lt;/span&gt;&lt;br /&gt;If we annotate fields, the provider will get and set the fields of the entity using reflection. &lt;br /&gt;&lt;br /&gt;If the annotations are set on the getter methods of properties, those getter and setter methods will be invoked by the provider to access and set the state.&lt;br /&gt;&lt;br /&gt;@Entity&lt;br /&gt;public class Employee {&lt;br /&gt;@Id private int id;&lt;br /&gt;&lt;br /&gt;Mixed access&lt;br /&gt;@Entity&lt;br /&gt;@Access(AccessType.FIELD)&lt;br /&gt;public class Employee {&lt;br /&gt;public static final String LOCAL_AREA_CODE = "613";&lt;br /&gt;@Id private int id;&lt;br /&gt;@Transient private String phoneNum;&lt;br /&gt;…&lt;br /&gt;public int getId() { return id; }&lt;br /&gt;public void setId(int id) { this.id = id; }&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Mapping To A Table&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Listing 4-4. Overriding the Default Table Name&lt;br /&gt;@Entity&lt;br /&gt;@Table(name="EMP")&lt;br /&gt;public class Employee { ... }&lt;br /&gt;&lt;br /&gt;Listing 4-5. Setting a Schema&lt;br /&gt;@Entity&lt;br /&gt;@Table(name="EMP", schema="HR")&lt;br /&gt;public class Employee { ... }&lt;br /&gt;&lt;br /&gt;Listing 4-6. Setting a Catalog&lt;br /&gt;@Entity&lt;br /&gt;@Table(name="EMP", catalog="HR")&lt;br /&gt;public class Employee { ... }&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Mapping Simple Types&lt;/span&gt;&lt;br /&gt;If the type from the JDBC layer cannot be converted to the Java type of the&lt;br /&gt;field or property, an exception will normally be thrown, although it is not guaranteed.&lt;br /&gt;&lt;br /&gt;An optional @Basic annotation can be placed on a field or property to explicitly mark it as being persistent. This annotation is mostly for documentation purposes and is not required for the field or property to be persistent. Because of the annotation, we call mappings of simple types basic mappings. Now that we have seen how we can persist either fields or properties and how they are virtually equivalent in terms of persistence, we will just call them attributes. An attribute is a field or property of a class, and we will use the term attribute from now on to avoid having to continually refer to fields or properties in specific terms.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Column Mappings&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Listing 4-7. Mapping Attributes to Columns&lt;br /&gt;@Entity&lt;br /&gt;public class Employee {&lt;br /&gt;@Id&lt;br /&gt;@Column(name="EMP_ID")&lt;br /&gt;private int id;&lt;br /&gt;private String name;&lt;br /&gt;@Column(name="SAL")&lt;br /&gt;private long salary;&lt;br /&gt;@Column(name="COMM")&lt;br /&gt;private String comments;&lt;br /&gt;// ...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Lazy Fetching&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Listing 4-8. Lazy Field Loading&lt;br /&gt;@Entity&lt;br /&gt;public class Employee {&lt;br /&gt;// ...&lt;br /&gt;@Basic(fetch=FetchType.LAZY)&lt;br /&gt;@Column(name="COMM")&lt;br /&gt;private String comments;&lt;br /&gt;// ...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Second, on the surface it might appear that this is a good idea for certain attributes of an entity, but in practice it is almost never a good idea to lazily fetch simple types.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Large Objects&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Listing 4-9. Mapping a BLOB Column&lt;br /&gt;@Entity&lt;br /&gt;public class Employee {&lt;br /&gt;@Id&lt;br /&gt;private int id;&lt;br /&gt;@Basic(fetch=FetchType.LAZY)&lt;br /&gt;@Lob @Column(name="PIC")&lt;br /&gt;private byte[] picture;&lt;br /&gt;// ...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Enumerated Types&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;@Entity&lt;br /&gt;public class Employee {&lt;br /&gt;@Id private int id;&lt;br /&gt;private EmployeeType type;&lt;br /&gt;// ...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Listing 4-11. Mapping an Enumerated Type Using Strings&lt;br /&gt;@Entity&lt;br /&gt;public class Employee {&lt;br /&gt;@Id&lt;br /&gt;private int id;&lt;br /&gt;@Enumerated(EnumType.STRING)&lt;br /&gt;private EmployeeType type;&lt;br /&gt;// ...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Temporal Types&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Listing 4-12. Mapping Temporal Types&lt;br /&gt;@Entity&lt;br /&gt;public class Employee {&lt;br /&gt;@Id&lt;br /&gt;private int id;&lt;br /&gt;@Temporal(TemporalType.DATE)&lt;br /&gt;private Calendar dob;&lt;br /&gt;@Temporal(TemporalType.DATE)&lt;br /&gt;@Column(name="S_DATE")&lt;br /&gt;private Date startDate;&lt;br /&gt;// ...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Transient State&lt;/span&gt;&lt;br /&gt;Attributes that are part of a persistent entity but not intended to be persistent can either be modified with the transient modifier in Java or be annotated with the @Transient annotation.&lt;br /&gt;&lt;br /&gt;81&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-1248489764223292943?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/1248489764223292943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=1248489764223292943' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/1248489764223292943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/1248489764223292943'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2011/07/jpa2.html' title='JPA2'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-2574215986069286628</id><published>2011-07-04T10:47:00.003+03:00</published><updated>2011-07-04T18:14:26.374+03:00</updated><title type='text'>JPA2 - 04 iulie</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Dependency lookup&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A reference is declared using one of the resource reference annotations: &lt;span style="font-weight:bold;"&gt;@Resource, @EJB, @PersistenceContext, or @PersistenceUnit&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;@Stateless&lt;br /&gt;public class EmployeeServiceBean implements EmployeeService {&lt;br /&gt;@PersistenceContext(unitName="EmployeeService")&lt;br /&gt;EntityManager em;&lt;br /&gt;// ...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;@Stateful&lt;br /&gt;public class EmployeeServiceBean implements EmployeeService {&lt;br /&gt;@PersistenceUnit(unitName="EmployeeService")&lt;br /&gt;private EntityManagerFactory emf;&lt;br /&gt;private EntityManager em;&lt;br /&gt;@PostConstruct&lt;br /&gt;public void init() {&lt;br /&gt;em = emf.createEntityManager();&lt;br /&gt;}&lt;br /&gt;// ...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;@Stateless&lt;br /&gt;public class DeptServiceBean implements DeptService {&lt;br /&gt;@EJB(beanName="AuditServiceBean")&lt;br /&gt;AuditService audit;&lt;br /&gt;// ...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Transactions&lt;/span&gt;&lt;br /&gt;@Stateless&lt;br /&gt;@TransactionManagement(TransactionManagementType.BEAN)&lt;br /&gt;public class ProjectServiceBean implements ProjectService {&lt;br /&gt;// methods in this class manually control transaction demarcation&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;@Stateful&lt;br /&gt;public class ShoppingCartBean implements ShoppingCart {&lt;br /&gt;@TransactionAttribute(TransactionAttributeType.SUPPORTS)&lt;br /&gt;public void addItem(String item, Integer quantity) {&lt;br /&gt;verifyItem(item, quantity);&lt;br /&gt;// ...&lt;br /&gt;}&lt;br /&gt;// ...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;CMT or BMT&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-2574215986069286628?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/2574215986069286628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=2574215986069286628' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/2574215986069286628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/2574215986069286628'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2011/07/jpa2-04-iulie.html' title='JPA2 - 04 iulie'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-5479395658476135959</id><published>2011-06-30T11:00:00.008+03:00</published><updated>2011-07-01T13:46:55.524+03:00</updated><title type='text'>JPA2 - 30 iunie</title><content type='html'>em.find(Employee.class,14)&lt;br /&gt;em.remove(emp);&lt;br /&gt;em.getTransaction().begin();&lt;br /&gt;em.getTransaction().commit();&lt;br /&gt;em.close();&lt;br /&gt;emf.close();&lt;br /&gt;&lt;br /&gt;Query - either Query or TypedQuery&lt;br /&gt;&lt;br /&gt;1. static query - named query&lt;br /&gt;2. dynamic query &lt;br /&gt;&lt;br /&gt;TypedQuery query = em.createQuery("SELECT e from EMPLOYEE e");&lt;br /&gt;List&lt;Employee&gt; emps = em.getResultList();&lt;br /&gt;&lt;br /&gt;&amp;lt;persistence-unit name="EmployeeService"&lt;br /&gt;transaction-type="RESOURCE_LOCAL"&amp;gt;&lt;br /&gt;RESOURCE_LOCAL means that we are using resource-level EntityTransaction&lt;br /&gt;isntead of JTA.&lt;br /&gt;&lt;br /&gt;---------------&lt;br /&gt;calculat ca imi ia 22 de zile sa citesc cartea (hai sa vedem daca reusim in 5)&lt;br /&gt;---------------&lt;br /&gt;&lt;br /&gt;Session beans - encapsulate business services&lt;br /&gt;have a business interface&lt;br /&gt;a client gets a session bean and starts a &lt;span style="font-weight:bold;"&gt;session&lt;/span&gt; with that bean&lt;br /&gt;&lt;br /&gt;3 types - stateless, stateful and singleton&lt;br /&gt;business operations on a stateful session bean can maintain state on the bean between calls. This is not true for a stateless session bean.&lt;br /&gt;singleton - just one&lt;br /&gt;&lt;br /&gt;@Stateless annotation &lt;br /&gt;&lt;br /&gt;To emphasize that an interface is a local business interface @Local annotation&lt;br /&gt;can be put on the interface. &lt;br /&gt;&lt;br /&gt;Local business interface means that it is accessible to clients only within the same application server.&lt;br /&gt;&lt;br /&gt;You can also define it with no interface. In this case the local business interface will be considered the public methods from that class.&lt;br /&gt;&lt;br /&gt;For&lt;br /&gt;stateless session beans, there are two lifecycle callbacks: &lt;span style="font-weight:bold;"&gt;PostConstruct&lt;/span&gt; and &lt;span style="font-weight:bold;"&gt;PreDestroy&lt;/span&gt;. &lt;br /&gt;&lt;br /&gt;The server will invoke the PostConstruct callback as soon as it has completed initializing all the container services for the bean. In effect, this replaces the constructor as the location for initialization logic because it is only here that container services are guaranteed to be available.&lt;br /&gt;&lt;br /&gt;@Remote&lt;br /&gt;public interface HelloServiceRemote {&lt;br /&gt;public String sayHello(String name);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;@Stateful&lt;/span&gt;&lt;br /&gt;public class ShoppingCartBean implements ShoppingCart {&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;@Remove&lt;/span&gt;&lt;br /&gt;public void checkout(int paymentId) {&lt;br /&gt;// store items to database&lt;br /&gt;// ...&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Passivation is the process by which&lt;br /&gt;the server serializes the bean instance so that it can either be stored offline to free up resources or&lt;br /&gt;replicated to another server in a cluster. Activation is the process of deserializing a passivated session&lt;br /&gt;bean instance and making it active in the server once again.&lt;br /&gt;&lt;br /&gt;@PrePassivate&lt;br /&gt;public void passivate() { releaseConnection(); }&lt;br /&gt;@PostActivate&lt;br /&gt;public void activate() { acquireConnection(); }&lt;br /&gt;&lt;br /&gt;Unlike other session beans, the &lt;span style="font-weight:bold;"&gt;singleton&lt;/span&gt; can be created eagerly during application initialization and exist until the application shuts down.&lt;br /&gt;&lt;br /&gt;@Singleton&lt;br /&gt;public class HitCounter {&lt;br /&gt;int count;&lt;br /&gt;public void increment() { ++count; }&lt;br /&gt;public void getCount() { return count; }&lt;br /&gt;public void reset() { count = 0; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;The container determines the point when the singleton instance gets created unless the bean includes the @Startup annotation to force eager initialization when the application starts.&lt;br /&gt;&lt;br /&gt;When multiple singleton session beans depend on one another, the container needs to be informed of the order in which they should be instantiated. This is accomplished via the @DependsOn annotation on the bean class, which lists the names of other singleton session beans that must be created first.&lt;br /&gt;&lt;br /&gt;@Singleton&lt;br /&gt;public class HitCounter {&lt;br /&gt;int count;&lt;br /&gt;public void increment() { ++count; }&lt;br /&gt;@Lock(LockType.READ)&lt;br /&gt;public void getCount() { return count; }&lt;br /&gt;public void reset() { count = 0; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;For those who wish to have fine-grained control over concurrency, the singleton session bean can be configured to use bean-managed concurrency via the&lt;br /&gt;@ConcurrencyManagement(ConcurrencyManagementType.BEAN) annotation on the bean class.&lt;br /&gt;&lt;br /&gt;@MessageDriven(&lt;br /&gt;activationConfig = {&lt;br /&gt;@ActivationConfigProperty(propertyName="destinationType",&lt;br /&gt;propertyValue="javax.jms.Queue"),&lt;br /&gt;@ActivationConfigProperty(propertyName="messageSelector",&lt;br /&gt;propertyValue="RECIPIENT='ReportProcessor'")&lt;br /&gt;})&lt;br /&gt;public class ReportProcessorBean implements javax.jms.MessageListener {&lt;br /&gt;public void onMessage(javax.jms.Message message) {&lt;br /&gt;// ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-5479395658476135959?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/5479395658476135959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=5479395658476135959' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5479395658476135959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5479395658476135959'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2011/06/jpa2-30-iunie.html' title='JPA2 - 30 iunie'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-1444814148501932294</id><published>2011-06-29T08:54:00.004+03:00</published><updated>2011-06-29T17:53:56.173+03:00</updated><title type='text'>JPA2</title><content type='html'>Objects that leave the persistence layer are called &lt;span style="font-weight:bold;"&gt;detached objects&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The set of managed entity instances within an entity manager at any&lt;br /&gt;given time is called its &lt;span style="font-weight:bold;"&gt;persistence context&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;There is an &lt;span style="font-weight:bold;"&gt;one-to-one&lt;/span&gt; correspondence between an &lt;span style="font-weight:bold;"&gt;EntityManagerFactory&lt;/span&gt; and a &lt;span style="font-weight:bold;"&gt;persistence unit&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;----------------------------&lt;br /&gt;&lt;br /&gt;correspondence timeunit ?&lt;br /&gt;&lt;br /&gt;----------------------------&lt;br /&gt;&lt;br /&gt;EntityManagerFactory emf =&lt;br /&gt;Persistence.createEntityManagerFactory("EmployeeService");&lt;br /&gt;&lt;br /&gt;1 to 1  EntityManagerFactory and persistence unit&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-1444814148501932294?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/1444814148501932294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=1444814148501932294' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/1444814148501932294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/1444814148501932294'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2011/06/jpa2.html' title='JPA2'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-3790505305032535432</id><published>2011-04-05T10:05:00.004+03:00</published><updated>2011-04-16T10:48:27.795+03:00</updated><title type='text'>5th of april</title><content type='html'>morning - figure out a plan for doing something, think of an activity for after&lt;br /&gt;noon - take the towel (do some cleaning - take trash,etc)&lt;br /&gt;after work - continue cleaning,clean the computer, change, if enough time do some shopping, think of an activity&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;acting, cantat in pasaj, cantat in dal, unghii&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-3790505305032535432?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/3790505305032535432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=3790505305032535432' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3790505305032535432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3790505305032535432'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2011/04/5th-of-april.html' title='5th of april'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-7427767298190771309</id><published>2011-03-31T18:47:00.002+03:00</published><updated>2011-03-31T18:50:01.219+03:00</updated><title type='text'>JSF2 complete reference - again 6 - march 31</title><content type='html'>312 (343)&lt;br /&gt;&lt;br /&gt;read about a simple input component, the fact&lt;br /&gt;that u have to declare in a taglib.xml and also&lt;br /&gt;have the java class that defines the component (u could also&lt;br /&gt;have a separate renderer).&lt;br /&gt;&lt;br /&gt;The java class must have an annotation @FacesComponent(value = "nameOfTheComponent")&lt;br /&gt;or you have to declare in faces-config.xml.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-7427767298190771309?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/7427767298190771309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=7427767298190771309' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/7427767298190771309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/7427767298190771309'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2011/03/jsf2-complete-reference-again-6-march_31.html' title='JSF2 complete reference - again 6 - march 31'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-5844964830676090092</id><published>2011-03-23T17:56:00.001+02:00</published><updated>2011-03-23T18:20:47.948+02:00</updated><title type='text'>JSF2 complete reference - again 6 - march 24</title><content type='html'>:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-5844964830676090092?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/5844964830676090092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=5844964830676090092' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5844964830676090092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5844964830676090092'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2011/03/jsf2-complete-reference-again-6-march_23.html' title='JSF2 complete reference - again 6 - march 24'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-6200548906495959342</id><published>2011-03-22T18:25:00.001+02:00</published><updated>2011-03-22T18:25:37.782+02:00</updated><title type='text'>JSF2 complete reference - again 6 - march 23</title><content type='html'>Advanced Composite Component Development&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-6200548906495959342?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/6200548906495959342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=6200548906495959342' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/6200548906495959342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/6200548906495959342'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2011/03/jsf2-complete-reference-again-6-march.html' title='JSF2 complete reference - again 6 - march 23'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-3604942331378654885</id><published>2011-03-21T10:06:00.002+02:00</published><updated>2011-03-21T18:25:39.495+02:00</updated><title type='text'>JSF2 complete reference - again 5 - march21</title><content type='html'>The result will be that the same Facelet page will&lt;br /&gt;appear differently when viewed in a desktop Web browser and on the Apple mobile device,&lt;br /&gt;as shown in Figure 11-8.&lt;br /&gt;To make this possible, we rely on two basic concepts: a JSF PhaseListener and class&lt;br /&gt;decoration. This example will provide a foundation for a more complete customization,&lt;br /&gt;as well as showing how to automatically deliver a client device–specific CSS style sheet&lt;br /&gt;to the user agent, and allow you to tailor how individual markup elements are displayed.&lt;br /&gt;&lt;br /&gt;&amp;lt;lifecycle&amp;gt;&lt;br /&gt;&amp;lt;phase-listener&amp;gt;com.jsfcompref.components.renderer.applemobile.&lt;br /&gt;RenderKitSelectorPhaseListener&amp;lt;/phase-listener&amp;gt;&lt;br /&gt;&amp;lt;/lifecycle&amp;gt;&lt;br /&gt;&lt;br /&gt;The subtlety comes from how we must take&lt;br /&gt;action in the afterPhase( ) method of restore view because this is the earliest time in the&lt;br /&gt;lifecycle when context.getViewRoot( ) returns non-null.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-3604942331378654885?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/3604942331378654885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=3604942331378654885' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3604942331378654885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3604942331378654885'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2011/03/jsf2-complete-reference-again-5-march21.html' title='JSF2 complete reference - again 5 - march21'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-686895273594957938</id><published>2011-03-18T10:19:00.004+02:00</published><updated>2011-03-21T09:36:11.406+02:00</updated><title type='text'>JSF2 complete reference - again 4 - march18</title><content type='html'>&amp;lt;?xml version='1.0' encoding='UTF-8'?&amp;gt;&lt;br /&gt;&amp;lt;facelet-taglib xmlns="http://java.sun.com/xml/ns/javaee"&lt;br /&gt;xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&lt;br /&gt;xsi:schemaLocation="http://java.sun.com/xml/ns/javaee&lt;br /&gt;http://java.sun.com/xml/ns/javaee/web-facelettaglibrary_2_0.xsd"&lt;br /&gt;version="2.0"&amp;gt;&lt;br /&gt;&amp;lt;namespace&amp;gt;http://jsfcompref.com/example&amp;lt;/namespace&amp;gt;&lt;br /&gt;&amp;lt;tag&amp;gt;&lt;br /&gt;&amp;lt;tag-name&amp;gt;helloworld&amp;lt;/tag-name&amp;gt;&lt;br /&gt;&amp;lt;component&amp;gt;&amp;lt;component-type&amp;gt;HtmlHelloWorld&amp;lt;/component-type&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;&amp;lt;/tag&amp;gt;&lt;br /&gt;&amp;lt;/facelet-taglib&amp;gt;&lt;br /&gt;&lt;br /&gt;Now that we’ve created a simple, but fully functional component, we can begin adding&lt;br /&gt;attributes to the component. Because HtmlHelloWorld extends from UIComponentBase,&lt;br /&gt;UIComponent properties from the superclass such as id, binding, rendered are already&lt;br /&gt;available for use in the Facelet page.&lt;br /&gt;&lt;br /&gt;Prior to JSF 2.0, component state was typically stored in instance&lt;br /&gt;variables on the UIComponent subclass. For example, the UIInput component has a valid&lt;br /&gt;property, which indicates whether this component is valid or not. This value would be stored&lt;br /&gt;in a simple boolean instance variable, accessed via a JavaBeans getter and setter and handled&lt;br /&gt;explicitly in the saveState( ) and restoreState( ) methods. JSF 2.0 introduces the StateHelper&lt;br /&gt;interface to make this sort of activity easier and less error prone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-686895273594957938?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/686895273594957938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=686895273594957938' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/686895273594957938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/686895273594957938'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2011/03/jsf2-complete-reference-again-4-march18.html' title='JSF2 complete reference - again 4 - march18'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-7293344411029270771</id><published>2011-03-16T17:36:00.001+02:00</published><updated>2011-03-16T17:58:56.618+02:00</updated><title type='text'>JSF2 complete reference - again 3</title><content type='html'>TIP OF THE DAY: make the order button a composite component&lt;br /&gt;&lt;br /&gt;Finally, notice the @FacesComponent annotation. This annotation is an alternative for&lt;br /&gt;the following XML in the faces-config.xml file:&lt;br /&gt;&amp;lt;component&amp;gt;&lt;br /&gt;&amp;lt;component-type&amp;gt;HtmlHelloWorld&amp;lt;/component-type&amp;gt;&lt;br /&gt;&amp;lt;component-class&amp;gt;&lt;br /&gt;com.jsfcompref.components.component.HtmlHelloWorld&lt;br /&gt;&amp;lt;/component-class&amp;gt;&lt;br /&gt;&amp;lt;/component&amp;gt;&lt;br /&gt;&lt;br /&gt;310&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-7293344411029270771?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/7293344411029270771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=7293344411029270771' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/7293344411029270771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/7293344411029270771'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2011/03/jsf2-complete-reference-again-3.html' title='JSF2 complete reference - again 3'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-7785138086835527671</id><published>2011-03-15T10:06:00.004+02:00</published><updated>2011-03-16T17:13:51.385+02:00</updated><title type='text'>JSF2 complete reference - again 2</title><content type='html'>For example &amp;lt;h:outputLabel&lt;br /&gt;for="#{cc.clientId}:userid" value="Userid:" /&amp;gt;&lt;br /&gt;causes the label to have the correct absolute&lt;br /&gt;client ID to the actual userid text field.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;h:inputSecret required="true"&lt;br /&gt;validatorMessage="#{cc.attrs.passwordValidatorMessage}"&lt;br /&gt;requiredMessage="Password is required" id="password" /&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-7785138086835527671?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/7785138086835527671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=7785138086835527671' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/7785138086835527671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/7785138086835527671'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2011/03/jsf2-complete-reference-again-2.html' title='JSF2 complete reference - again 2'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-3627442781550945203</id><published>2011-03-14T14:08:00.002+02:00</published><updated>2011-03-14T14:46:37.664+02:00</updated><title type='text'>JSF2 complete reference - again 1</title><content type='html'>UI component is something that has&lt;br /&gt;appearance, state, and behavior.&lt;br /&gt;&lt;br /&gt;xmlns:vt="http://java.sun.com/jsf/composite/trainer"&lt;br /&gt;&lt;br /&gt;vt:loginPanel&lt;br /&gt;&lt;br /&gt;that means the file is src/main/webapp/resources/trainer/loginPanel.xhtml.&lt;br /&gt;&lt;br /&gt;301 .....1:40, 2:46 at least&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-3627442781550945203?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/3627442781550945203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=3627442781550945203' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3627442781550945203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3627442781550945203'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2011/03/jsf2-complete-reference-again-1.html' title='JSF2 complete reference - again 1'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-5760678444521234991</id><published>2011-03-03T22:21:00.001+02:00</published><updated>2011-03-03T22:21:24.740+02:00</updated><title type='text'>march 03 11</title><content type='html'>jimi &lt;br /&gt;von doran&lt;br /&gt;left V &lt;br /&gt;picking&lt;br /&gt;pick by ear &lt;br /&gt;read&lt;br /&gt;band&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-5760678444521234991?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/5760678444521234991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=5760678444521234991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5760678444521234991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5760678444521234991'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2011/03/march-03-11.html' title='march 03 11'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-8235432490363056723</id><published>2011-01-12T20:22:00.001+02:00</published><updated>2011-01-12T20:24:05.029+02:00</updated><title type='text'>6</title><content type='html'>plan&lt;br /&gt;&lt;br /&gt;fretboard mastery&lt;br /&gt;repertoire&lt;br /&gt;technique - left&lt;br /&gt;          - right&lt;br /&gt;transcribing&lt;br /&gt;reading&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-8235432490363056723?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/8235432490363056723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=8235432490363056723' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/8235432490363056723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/8235432490363056723'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2011/01/6.html' title='6'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-5817981821626954244</id><published>2011-01-04T22:18:00.002+02:00</published><updated>2011-01-05T00:50:29.466+02:00</updated><title type='text'>1</title><content type='html'>technique&lt;br /&gt;1 hour&lt;br /&gt;4 notes pentatonic, accenting up&lt;br /&gt;C 5th pattern 2nd oct, 2,3,4,5 - even accenting up&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-5817981821626954244?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/5817981821626954244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=5817981821626954244' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5817981821626954244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5817981821626954244'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2011/01/1.html' title='1'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-2375430899383354826</id><published>2010-12-20T21:57:00.002+02:00</published><updated>2010-12-20T22:05:39.609+02:00</updated><title type='text'>GP - 1st month</title><content type='html'>fretboard mastery&lt;br /&gt;working on metal rhythm&lt;br /&gt;minor, major, dorian, mixolydian&lt;br /&gt;solo for sweet home alabama&lt;br /&gt;&lt;br /&gt;--------------------&lt;br /&gt;&lt;br /&gt;applying minor, major, dorian, mixolydian&lt;br /&gt;learn new chord&lt;br /&gt;try to do a tune with walking bass, learn the charlestone rhythm&lt;br /&gt;improve picking speed&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-2375430899383354826?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/2375430899383354826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=2375430899383354826' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/2375430899383354826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/2375430899383354826'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/12/gp-1st-month.html' title='GP - 1st month'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-1034688482358450368</id><published>2010-12-16T11:33:00.002+02:00</published><updated>2010-12-16T11:37:30.151+02:00</updated><title type='text'>16 dec 2010</title><content type='html'>1. Save cache server&lt;br /&gt;2. Add dynamic subtab(DAS) and ask about making a tab disabled&lt;br /&gt;3. Work on a datatable with change row order&lt;br /&gt;4. Make buttons next, previous work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-1034688482358450368?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/1034688482358450368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=1034688482358450368' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/1034688482358450368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/1034688482358450368'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/12/16-dec-2010.html' title='16 dec 2010'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-1906606145564271617</id><published>2010-11-30T16:40:00.001+02:00</published><updated>2010-12-01T16:19:46.667+02:00</updated><title type='text'>Bindu' list</title><content type='html'>JPA&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Entity instances are in one of four states: new, managed, detached, or removed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-1906606145564271617?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/1906606145564271617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=1906606145564271617' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/1906606145564271617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/1906606145564271617'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/11/bindu-list.html' title='Bindu&apos; list'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-8085787640894109957</id><published>2010-11-09T09:54:00.005+02:00</published><updated>2010-11-15T12:01:34.286+02:00</updated><title type='text'>tuesday, 9th of november</title><content type='html'>Bindu's list&lt;br /&gt;&lt;br /&gt;1.Training&lt;br /&gt;===========================&lt;br /&gt;&lt;br /&gt;15 nov - 20 nov&lt;br /&gt;---------------------------&lt;br /&gt;add, edit, delete, list app &lt;br /&gt;jsf 2, jpa, spring, oracle, junit&lt;br /&gt;&lt;br /&gt;and &lt;br /&gt;&lt;br /&gt;V12 Coding Guidelines&lt;br /&gt;Package Structure &lt;br /&gt;Data Access Layer&lt;br /&gt;Service Layer &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;23 nov - 28 nov&lt;br /&gt;------------------------&lt;br /&gt;  only UI stuff &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. MTT&lt;br /&gt;========================&lt;br /&gt;&lt;br /&gt;15 nov - 20 nov&lt;br /&gt;------------------------&lt;br /&gt;general flow and UI schemas, &lt;br /&gt;write final version for document&lt;br /&gt;&lt;br /&gt;23 nov - 28 nov&lt;br /&gt;------------------------&lt;br /&gt;Implement Add, Edit , Delete for a simple object&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-8085787640894109957?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/8085787640894109957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=8085787640894109957' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/8085787640894109957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/8085787640894109957'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/11/tuesday-9th-of-november.html' title='tuesday, 9th of november'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-7223965290917236609</id><published>2010-11-05T20:19:00.006+02:00</published><updated>2010-11-07T06:24:13.931+02:00</updated><title type='text'>Friday, 05 nov</title><content type='html'>chapter 9 - the virtual trainer application&lt;br /&gt;-------------------------------------------&lt;br /&gt;the @ManagedBean annotation may never appear on an abstract&lt;br /&gt;class.&lt;br /&gt;&lt;br /&gt;Michael Jouravlev, in his influential August 2004 article on theserverside.com, describes the&lt;br /&gt;POST REDIRECT GET (PRG) pattern as follows:&lt;br /&gt;Never show pages in response to POST&lt;br /&gt;Always load pages using GET&lt;br /&gt;Navigate from POST to GET using REDIRECT&lt;br /&gt;&lt;br /&gt;Composite Components&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h:form&gt;&lt;br /&gt;&lt;p&gt;&lt;h:outputText value="#{bundle.greeting}" /&gt;&lt;br /&gt;&lt;h:outputText value="#{user.firstName}" /&gt;&lt;br /&gt;&lt;/h:form&gt;&lt;br /&gt;&lt;br /&gt;&lt;application&gt;&lt;br /&gt;&lt;resource-bundle&gt;&lt;br /&gt;&lt;base-name&gt;com.jsfcompref.trainer.Messages&lt;/base-name&gt;&lt;br /&gt;&lt;var&gt;bundle&lt;/var&gt;&lt;br /&gt;&lt;/resource-bundle&gt;&lt;br /&gt;&lt;/application&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-7223965290917236609?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/7223965290917236609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=7223965290917236609' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/7223965290917236609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/7223965290917236609'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/11/friday-05-nov.html' title='Friday, 05 nov'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-7914784549960562768</id><published>2010-11-04T15:30:00.005+02:00</published><updated>2010-11-05T20:18:59.550+02:00</updated><title type='text'>Thursday, 04 nov</title><content type='html'>chapter 9 - The JSF Event Model&lt;br /&gt;---------------------------&lt;br /&gt;There are two broad categories of events in JSF, application events and lifecycle events.&lt;br /&gt;&lt;br /&gt;James Blunt - Stay the night&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if you want to address like this something&lt;br /&gt;#{something} u can put it in the requestMap&lt;br /&gt;&lt;br /&gt;requestMap.put("something", message);&lt;br /&gt;&lt;br /&gt;ActionSource2 components -&gt; action event -&gt; action listener&lt;br /&gt;ValueHolder components -&gt; value change event -&gt; value change listener&lt;br /&gt;&lt;br /&gt;EventObject --&gt; FacesEvent --&gt; ActionEvent or ValueChangeEvent&lt;br /&gt;&lt;br /&gt;There are also: phase events and phase listeners&lt;br /&gt;&lt;br /&gt;system events (validation about to occur on this component or this component&lt;br /&gt;is about to be rendered)&lt;br /&gt;&lt;br /&gt;Application Events - action event, value change&lt;br /&gt;Lifecycle events - phase events, system events&lt;br /&gt;&lt;br /&gt;• The Lifecycle instance may have zero or more PhaseListeners attached to it.&lt;br /&gt;• A UIViewRoot instance may have from zero to two PhaseListeners attached to it.&lt;br /&gt;• Every UIComponent instance may have zero or more SystemEventListeners&lt;br /&gt;attached to it.&lt;br /&gt;• Every instance of a component in the javax.faces.component.html package may&lt;br /&gt;have zero or more ClientBehaviors attached to it, and to each of those may be&lt;br /&gt;attached zero or more BehaviorListener interfaces. (The behavior system will be&lt;br /&gt;explained completely in Chapter 12.)&lt;br /&gt;• Every UIInput instance may have zero or more ValueChangeListeners attached to it.&lt;br /&gt;• Every UICommand may have zero or more ActionListeners attached to it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ActionEvent - At the completion of the Invoke Application&lt;br /&gt;phase unless the immediate flag is true;&lt;br /&gt;then it is processed at the end of the Apply&lt;br /&gt;Request Value phase.&lt;br /&gt;&lt;br /&gt;ValueChangeEvent - At the completion of the Process&lt;br /&gt;Validations phase unless the immediate&lt;br /&gt;flag is true; then it is processed at the end&lt;br /&gt;of the Apply Request Value phase.&lt;br /&gt;&lt;br /&gt;Pressing A Button&lt;br /&gt;To record the button click event, the Faces lifecycle instantiates an ActionEvent&lt;br /&gt;object and passes it as an argument to the UICommand’s queueEvent( ) method.&lt;br /&gt;&lt;br /&gt;For action events, it is also possible to just&lt;br /&gt;write either an action method or an action listener method.&lt;br /&gt;&lt;br /&gt;The key point to remember with an action method is&lt;br /&gt;that it relies on the built-in default ActionListener to invoke it and then pass this value to the NavigationHandler in order to determine if a navigation is needed.&lt;br /&gt;&lt;br /&gt;&lt;h:commandbutton value="Confirm" actionlistener="#{UserBean.addConfirmedUserListenerAction}"&gt;&lt;br /&gt;&lt;br /&gt;public void addConfirmedUserListenerAction(ActionEvent ae) {&lt;br /&gt;// This method would call a database or other service&lt;br /&gt;// and add the confirmed user information.&lt;br /&gt;System.out.println("Adding new user…");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For example, you may want to provide a Cancel button that calls a&lt;br /&gt;method before validating the field values. To short-circuit the processing of the action event, one simply sets the UI component’s immediate attribute to true.&lt;br /&gt;&lt;br /&gt;Changing The Value In An Input And Submitting&lt;br /&gt;unlike the action event in which the event is processed during the&lt;br /&gt;Invoke Application phase, value change events are processed in the Process Validations phase.&lt;br /&gt;&lt;br /&gt;Writing Custom Action and Value Change Listeners&lt;br /&gt;&lt;br /&gt;&lt;h:commandbutton value="Click Me!"&gt;&lt;br /&gt;&lt;f:actionlistener&gt;&lt;span style="font-weight:bold;"&gt;type&lt;/span&gt;="com.jsfcompref.MyActionListener"&gt;&lt;br /&gt;&lt;/f:actionlistener&gt;&lt;/h:commandbutton&gt;&lt;br /&gt;&lt;br /&gt;&lt;h:inputtext value="foo"&gt;&lt;br /&gt;&lt;f:valuechangelistener&gt;&lt;span style="font-weight:bold;"&gt;type&lt;/span&gt;="com.jsfcompref.MyValueChangeListener"/&gt;&lt;br /&gt;&lt;/f:valuechangelistener&gt;&lt;/h:inputtext&gt;&lt;br /&gt;&lt;h:commandbutton value="Click me!"&gt;&lt;br /&gt;&lt;/h:commandbutton&gt;&lt;br /&gt;&lt;br /&gt;&lt;h:inputText value="foo" onchange="this.form.submit();"&gt;&lt;br /&gt;&lt;f:valueChangeListener type="com.jsfcompref.MyValueChangeListener"/&gt;&lt;br /&gt;&lt;/h:inputText&gt;&lt;br /&gt;&lt;br /&gt;Avoid having both value-bound and component-bound properties in a single&lt;br /&gt;managed bean class.&lt;br /&gt;&lt;br /&gt;By placing immediate="true" on every component that should participate in the partial validation, and by not having this attribute on the rest of the components, validation is bypassed for those components that do not have the attribute.&lt;br /&gt;&lt;br /&gt;@ListenerFor(systemEventClass=PreValidateEvent.class)&lt;br /&gt;public class MyInput extends UIInput {&lt;br /&gt;...&lt;br /&gt;public void processEvent(ComponentSystemEvent event)&lt;br /&gt;throws AbortProcessingException {&lt;br /&gt;super.processEvent(event);&lt;br /&gt;// do any pre-validate stuff here&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;@ListenersFor({&lt;br /&gt;@ListenerFor(systemEventClass=PostAddToViewEvent.class)&lt;br /&gt;@ListenerFor(systemEventClass=PostConstructViewMapEvent.class)&lt;br /&gt;})&lt;br /&gt;public class MyInput extends UIInput {&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;&lt;f:event type="one of the types listed below, or mentioned in @NamedEvent"&lt;br /&gt;listener="an EL expression that points to a method that&lt;br /&gt;returns void and takes a ComponentSystemEvent" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-7914784549960562768?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/7914784549960562768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=7914784549960562768' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/7914784549960562768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/7914784549960562768'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/11/thursday-04-nov.html' title='Thursday, 04 nov'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-203510712920596582</id><published>2010-11-03T13:54:00.004+02:00</published><updated>2010-11-04T13:30:09.099+02:00</updated><title type='text'>wednesday, 03 nov</title><content type='html'>chapter 7 - the user interface component model&lt;br /&gt;&lt;br /&gt;ActionSource2&lt;br /&gt;&lt;br /&gt;ValueHolder&lt;br /&gt;&lt;br /&gt;PartialStateHolder&lt;br /&gt;&lt;br /&gt;NamingContainer&lt;br /&gt;&lt;br /&gt;you have a component, a renderer and a tag handler&lt;br /&gt;&lt;br /&gt;chapter 8 - converting and validating data&lt;br /&gt;------------------------------------------&lt;br /&gt;&lt;br /&gt;first conversion then validation&lt;br /&gt;&lt;br /&gt;convertor&lt;br /&gt;&lt;br /&gt;public Object getAsObject(FacesContext context,&lt;br /&gt;UIComponent component,&lt;br /&gt;String value)&lt;br /&gt;public String getAsString(FacesContext context,&lt;br /&gt;UIComponent component,&lt;br /&gt;Object value)&lt;br /&gt;&lt;br /&gt;u can have only one convertor max&lt;br /&gt;&lt;br /&gt;if it's immediate - then the validation is done in apply request values phase&lt;br /&gt;&lt;br /&gt;u have implicit conversion(when u have value binding) and explicit&lt;br /&gt;conversion (when u specify a convertor by class of by convertor id)&lt;br /&gt;&lt;br /&gt;u can also add programmatically a convertor&lt;br /&gt;&lt;br /&gt;// Create the Converters, one by type, the other by Class.&lt;br /&gt;intConverter =&lt;br /&gt;context.getApplication( ).createConverter("javax.faces.Integer");&lt;br /&gt;floatConverter =&lt;br /&gt;context.getApplication( ).createConverter(Float.class);&lt;br /&gt;// Install the converters.&lt;br /&gt;component1.setConverter(intConverter);&lt;br /&gt;component2.setConverter(floatConverter);&lt;br /&gt;&lt;br /&gt;if you register a convertor by class&lt;br /&gt;then it can be used for implicit conversion&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;validator interface&lt;br /&gt;&lt;br /&gt;public void validate(FacesContext context,&lt;br /&gt;UIComponent component,&lt;br /&gt;Object value)&lt;br /&gt;&lt;br /&gt;before validating the component is marked as invalid&lt;br /&gt;&lt;br /&gt;validators are registered only by validator-id&lt;br /&gt;&lt;br /&gt;u can make jsf not validate empty fields&lt;br /&gt;&lt;br /&gt;&lt;context-param&gt;&lt;br /&gt;&lt;param-name&gt;javax.faces.VALIDATE_EMPTY_FIELDS&lt;/param-name&gt;&lt;br /&gt;&lt;param-value&gt;false&lt;/param-value&gt;&lt;br /&gt;&lt;/context-param&gt;&lt;br /&gt;&lt;br /&gt;As an alternative to the required attribute, it is possible to nest an &lt;f:validateRequired /&gt;&lt;br /&gt;element within any input component to achieve the same effect.&lt;br /&gt;&lt;br /&gt;It’s very important to note that, when nesting, any validators, or settings on validators,&lt;br /&gt;that happen inside of the nesting take precedence over whatever validators or settings are&lt;br /&gt;specified on the wrapping validator(s).&lt;br /&gt;&lt;br /&gt;standard validators have a property disabled which can an el expression as value&lt;br /&gt;&lt;br /&gt;&lt;h:inputText validator="#{user.validateAge}" value="#{user.age}" /&gt;&lt;br /&gt;&lt;br /&gt;so u can add a validator by&lt;br /&gt;validator attribute&lt;br /&gt;special tag (standard or by f:validator and providing validator id)&lt;br /&gt;programmatically&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The markup tags all result in a call to addValidator( ) on the underlying&lt;br /&gt;component instance, and the required attribute results in a call to setRequired(true) on the&lt;br /&gt;component.&lt;br /&gt;&lt;br /&gt;Bean Validation&lt;br /&gt;&lt;br /&gt;@ManagedBean&lt;br /&gt;@SessionScoped&lt;br /&gt;public class UserBean {&lt;br /&gt;protected String sex;&lt;br /&gt;@NotEmpty(message="You must supply an email address")&lt;br /&gt;@Email&lt;br /&gt;protected String email;&lt;br /&gt;&lt;br /&gt;!!! The FacesContext is an object per request&lt;br /&gt;&lt;br /&gt;FacesMessage - severity, summary and detail&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;FacesContext contains two lists of messages&lt;br /&gt;- associated with a component&lt;br /&gt;- not associated with a component&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;different variants of the getMessages( ) method on&lt;br /&gt;FacesContext. The variant that takes no arguments returns an Iterator of all messages, associated with a component or not. The variant that takes a clientId gets only messages associated with the component of that clientId, or, if the clientId is null, gets only messages that are not associated with a specific clientId.&lt;br /&gt;&lt;br /&gt;The FacesContext is the place where you obtain the UIViewRoot for the current view&lt;br /&gt;&lt;br /&gt;There are exactly three times in the request processing lifecycle when the standard&lt;br /&gt;components will create a FacesMessage instance and add it to the FacesContext: when&lt;br /&gt;conversion fails, when validation fails, or when the converted and validated data cannot be pushed to the model during the Update Model Values phase.&lt;br /&gt;&lt;br /&gt;&lt;application&gt;&lt;br /&gt;&lt;message-bundle&gt;com.jsfcompref.Messages&lt;/message-bundle&gt;&lt;br /&gt;&lt;locale-config&gt;&lt;br /&gt;&lt;default-locale&gt;en&lt;/default-locale&gt;&lt;br /&gt;&lt;supported-locale&gt;de&lt;/supported-locale&gt;&lt;br /&gt;&lt;/locale-config&gt;&lt;br /&gt;&lt;/application&gt;&lt;br /&gt;&lt;br /&gt;You can also override the message using the requiredMessage, converterMessage, or&lt;br /&gt;validatorMessage property of UIInput. This is exposed as a tag attribute on all of the tags that expose UIInput components to the page author.&lt;br /&gt;&lt;br /&gt;@Email(message="Silly user, your email is invalid")&lt;br /&gt;private String email;&lt;br /&gt;&lt;br /&gt;@Email(domain=".org")&lt;br /&gt;private String email;&lt;br /&gt;The entry in the ValidationMessages_en.properties file is shown next:&lt;br /&gt;validator.email=Invalid email address. Must end in {domain}.&lt;br /&gt;&lt;br /&gt;chapter 9 - The JSF Event Model&lt;br /&gt;---------------------------&lt;br /&gt;There are two broad categories of events in JSF, application events and lifecycle events.&lt;br /&gt;&lt;br /&gt;James Blunt - Stay the night&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-203510712920596582?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/203510712920596582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=203510712920596582' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/203510712920596582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/203510712920596582'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/11/wednesday-03-nov.html' title='wednesday, 03 nov'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-7909306027731182157</id><published>2010-11-02T20:24:00.007+02:00</published><updated>2010-11-07T06:30:56.856+02:00</updated><title type='text'>Tuesday, 02 nov</title><content type='html'>chapter 6 - the navigation model&lt;br /&gt;--------------------------------&lt;br /&gt;action attribute&lt;br /&gt;  h:commandButton&lt;br /&gt;  h:commandLink&lt;br /&gt;&lt;br /&gt;outcome attribute&lt;br /&gt;  h:button&lt;br /&gt;  h:link&lt;br /&gt;&lt;br /&gt;in MVC the Faces Servlet acts as the controller&lt;br /&gt;&lt;br /&gt;an event triggered by a component which implements ActionSource interface&lt;br /&gt;-&gt; navigation event -&gt; NavigationHandler&lt;br /&gt;&lt;br /&gt;component that implements ActionSource2 interface means that this&lt;br /&gt;component is the source of an ActionEvent&lt;br /&gt;&lt;br /&gt;apply request values - triggering an ActionEvent&lt;br /&gt;invoke application - the default ActionListener.processAction is called&lt;br /&gt;which calls the action method and generates an outcome&lt;br /&gt;after that NavigationHandler.handleNavigation is called if outcome not null&lt;br /&gt;&lt;br /&gt;which does FacesContext.setViewRoot(new UIViewRoot())&lt;br /&gt;&lt;br /&gt;if outcome null or not a valid outcome - user remains on the same page&lt;br /&gt;&lt;br /&gt;this usually results in RequestDispatcher.forward() being called&lt;br /&gt;&lt;br /&gt;&amp;lt;if&amp;gt;#{model.booleanValue}&amp;lt;/if&amp;gt;&lt;br /&gt;&lt;br /&gt;redirect means that you generate another request&lt;br /&gt;&lt;br /&gt;&amp;lt;navigation-case&amp;gt;&lt;br /&gt;&amp;lt;from-action&amp;gt;#{Login.loginAction}&amp;lt;/from-action&amp;gt;&lt;br /&gt;&amp;lt;from-outcome&amp;gt;success&amp;lt;/from-outcome&amp;gt;&lt;br /&gt;&amp;lt;to-view-id&amp;gt;/success.xhtml&amp;lt;/to-view-id&amp;gt;&lt;br /&gt;&amp;lt;redirect/&amp;gt;&lt;br /&gt;&amp;lt;/navigation-case&amp;gt;&lt;br /&gt;&lt;br /&gt;h:button and h:link do GET&lt;br /&gt;h:commandButton and h:commandLink do POST&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;h:commandButton value="HTTP POST with Redirect" action="page02?facesredirect=true"&lt;br /&gt;&lt;br /&gt;---------------------------------------&lt;br /&gt;&lt;br /&gt;&amp;lt;f:metadata&amp;gt;&lt;br /&gt;&amp;lt;f:viewParam name="fname" value="#{userBean.firstName}" /&amp;gt;&lt;br /&gt;&amp;lt;f:viewParam name="lname" value="#{userBean.lastName}" /&amp;gt;&lt;br /&gt;&amp;lt;f:viewParam name="sex" value="#{userBean.sex}" /&amp;gt;&lt;br /&gt;&amp;lt;f:viewParam name="dob" value="#{userBean.dob}"&amp;gt;&lt;br /&gt;&amp;lt;f:convertDateTime pattern="MM-dd-yy" /&amp;gt;&lt;br /&gt;&amp;lt;/f:viewParam&amp;gt;&lt;br /&gt;&amp;lt;f:viewParam name="email" value="#{userBean.email}" /&amp;gt;&lt;br /&gt;&amp;lt;f:viewParam name="sLevel" value="#{userBean.serviceLevel}" /&amp;gt;&lt;br /&gt;&amp;lt;/f:metadata&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;navigation-rule&amp;gt;&lt;br /&gt;&amp;lt;from-view-id&amp;gt;whatever the from view id is&amp;lt;/from-view-id&amp;gt;&lt;br /&gt;&amp;lt;navigation-case&amp;gt;&lt;br /&gt;&amp;lt;from-outcome&amp;gt;whatever the outcome value is&amp;lt;/from-outcome&amp;gt;&lt;br /&gt;&amp;lt;to-view-id&amp;gt;whatever the to view id is&amp;lt;/to-view-id&amp;gt;&lt;br /&gt;&amp;lt;redirect&amp;gt;&lt;br /&gt;...the view-param elements are optional&lt;br /&gt;&amp;lt;view-param&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;any string is fine here&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;any string or value expression is fine here&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/view-param&amp;gt;&lt;br /&gt;...additional view-param elements may be defined&lt;br /&gt;&amp;lt;/redirect&amp;gt;&lt;br /&gt;&amp;lt;/navigation-case&amp;gt;&lt;br /&gt;&amp;lt;/navigation-rule&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;error-page&amp;gt;&lt;br /&gt;&amp;lt;exception-type&amp;gt;javax.faces.application.ViewExpiredException&lt;br /&gt;&amp;lt;/exception-type&amp;gt;&lt;br /&gt;&amp;lt;location&amp;gt;/faces/sessionExpired.xhtml&amp;lt;/location&amp;gt;&lt;br /&gt;&amp;lt;/error-page&amp;gt;&lt;br /&gt;&amp;lt;error-page&amp;gt;&lt;br /&gt;&amp;lt;exception-type&amp;gt;com.jsfcompref.BadUserException&lt;br /&gt;&amp;lt;/exception-type&amp;gt;&lt;br /&gt;&amp;lt;location&amp;gt;/faces/badUser.xhtml&amp;lt;/location&amp;gt;&lt;br /&gt;&amp;lt;/error-page&amp;gt;&lt;br /&gt;&lt;br /&gt;The UI component tree is fully managed by the ViewHandler between requests. However, it is&lt;br /&gt;the role of the StateManager to preserve the UI component tree in between subsequent&lt;br /&gt;requests. It saves the complete status of the component tree using one of several different statesaving&lt;br /&gt;methods specified as a context parameter (javax.faces.STATE_SAVING_METHOD) in&lt;br /&gt;the Web application’s web.xml file. The different state-saving parameters are server and client.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;------------------------&lt;br /&gt;&lt;br /&gt;chapter 7 - the user interface component model&lt;br /&gt;&lt;br /&gt;ActionSource2&lt;br /&gt;&lt;br /&gt;ValueHolder&lt;br /&gt;&lt;br /&gt;PartialStateHolder&lt;br /&gt;&lt;br /&gt;NamingContainer&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-7909306027731182157?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/7909306027731182157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=7909306027731182157' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/7909306027731182157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/7909306027731182157'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/11/tuesday-02-nov.html' title='Tuesday, 02 nov'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-4573974754281514158</id><published>2010-10-23T18:50:00.003+03:00</published><updated>2010-10-23T19:32:51.123+03:00</updated><title type='text'>Music stuff</title><content type='html'>1.  technique&lt;br /&gt;2.  theory&lt;br /&gt;3.  scale vocabulary&lt;br /&gt;4.  chord vocabulary&lt;br /&gt;5.  arpeggio vocabulary&lt;br /&gt;6.  listening to other players&lt;br /&gt;7.  transcribing&lt;br /&gt;8.  ear training&lt;br /&gt;9.  solfeggio&lt;br /&gt;10. learning songs&lt;br /&gt;11. reading scores&lt;br /&gt;12. improvising &lt;br /&gt;13. composing&lt;br /&gt;14. lead guitar styles&lt;br /&gt;15. rhythm guitar styles&lt;br /&gt;16. playing with other musicians&lt;br /&gt;17. studying regularly with a teacher&lt;br /&gt;18. reading music magazines&lt;br /&gt;19. watching instructional DVDs&lt;br /&gt;20. gear and recording &lt;br /&gt;21. transposing&lt;br /&gt;22. arranging&lt;br /&gt;&lt;br /&gt;--------------------------------&lt;br /&gt;&lt;br /&gt;one year program&lt;br /&gt;&lt;br /&gt;read scores&lt;br /&gt;know all the modes - 6 months&lt;br /&gt;play rock rhythm &lt;br /&gt;solfeggio - 1 vol &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;rock rhythm in 6 weeks - 3 months&lt;br /&gt;guitar masterclass 6 months&lt;br /&gt;30 jazz standards - 6 monts, improv, comping, solo&lt;br /&gt;pentatonic concepts 2 months&lt;br /&gt;learn to play fast 2 months&lt;br /&gt;1 month - path to fretboard mastery&lt;br /&gt;3 months - 100 low comping phrases&lt;br /&gt;3 months - 100 high comping phrases&lt;br /&gt;10 original melodies 6 months&lt;br /&gt;6 months - 100 blues licks&lt;br /&gt;eric clapton study &lt;br /&gt;10 metal songs - 6 months (jimi hendrix one and srv)&lt;br /&gt;ear master daily - 10 mins at least (morning)&lt;br /&gt;1 month - berklee - recognize chord progressions&lt;br /&gt;solfeggio - 10 mins (daily)&lt;br /&gt;transcribing 30 songs - 15 metal, 15 jazz - 6 months&lt;br /&gt;folk 30 songs with lyrics - transposed also also&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-4573974754281514158?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/4573974754281514158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=4573974754281514158' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/4573974754281514158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/4573974754281514158'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/10/music-stuff.html' title='Music stuff'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-4729778956476059300</id><published>2010-10-18T11:57:00.007+03:00</published><updated>2010-10-29T11:00:12.362+03:00</updated><title type='text'>Monday - October the 18th</title><content type='html'>62 - 82 &lt;br /&gt;&lt;br /&gt;Guide to using facelets tags&lt;br /&gt;&lt;br /&gt;Guide to using facelets templating tags&lt;br /&gt;------------------------------&lt;br /&gt;ui:composition&lt;br /&gt;&lt;br /&gt;ui:decorate same as composition just that things that are outside this tag &lt;br /&gt;are not ignored&lt;br /&gt;&lt;br /&gt;ui:define where the content that should replace ui:insert from the temmplate&lt;br /&gt;begins in the template client&lt;br /&gt;&lt;br /&gt;ui:insert is the placeholder in the template file where the content should &lt;br /&gt;be inserted from the template client, if no name attribute the content that is inserted is the actual content for this tag&lt;br /&gt;&lt;br /&gt;ui:include can be placed in template clients or template. This tag supports&lt;br /&gt;parameters which you can pass to the included file&lt;br /&gt;&lt;br /&gt;Guide to using non templating tags&lt;br /&gt;----------------------------------&lt;br /&gt;&lt;br /&gt;ui:component id="optionalComponentId"&lt;br /&gt;             binding="managedBeanUiComponent"&lt;br /&gt;if binding not provided , one will be created in the created&lt;br /&gt;&lt;br /&gt;anything outside this tag is not included&lt;br /&gt;&lt;br /&gt;ui:fragment&lt;br /&gt;the same as ui:component except that it wraps &lt;br /&gt;a series of components inside a single parent component&lt;br /&gt;before is added to the tree&lt;br /&gt;&lt;br /&gt;ui:remove used to comment a portion of the markup &lt;br /&gt;&lt;br /&gt;ui:debug hotkey="optionalHotKey"&lt;br /&gt;pressing that key will show you the component tree&lt;br /&gt;is optionalKey not specified pressing ctrl-shift-d will show the popup window&lt;br /&gt;&lt;br /&gt;Chapter 5&lt;br /&gt;Managed beans the JSF EL&lt;br /&gt;------------------------&lt;br /&gt;&lt;br /&gt;@ManagedBean(name="xxx")&lt;br /&gt;public class UserBean&lt;br /&gt;if no name attribute the name will be userBean&lt;br /&gt;&lt;br /&gt;can also add it in faces-config&lt;br /&gt;&lt;br /&gt;managed-bean&lt;br /&gt; managed-bean-name&lt;br /&gt; managed-bean-class&lt;br /&gt;manged-bean-scope&lt;br /&gt;"end" managed bean&lt;br /&gt;&lt;br /&gt;u can actually put in the page directly&lt;br /&gt;#{userBean.firstName} and it will render&lt;br /&gt;&lt;br /&gt;@ManagedProperty(value="Jane")&lt;br /&gt;this is to add an initial value to a property &lt;br /&gt;in the managed bean&lt;br /&gt;or in faces-config&lt;br /&gt;&amp;lt;managed-property&amp;gt;&lt;br /&gt;&amp;lt;property-name&amp;gt;firstName&amp;lt;/property-name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;Jane&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/managed-property&amp;gt;&lt;br /&gt;&lt;br /&gt;showing items from lists&lt;br /&gt;#{userBean.sportsInterests[0]}&lt;br /&gt;&lt;br /&gt;for maps value="#{userBean.sportsInterests['Swimming']}"&lt;br /&gt;&lt;br /&gt;u can also declare maps or lists as managed beans&lt;br /&gt;&amp;lt;managed-bean&amp;gt;&lt;br /&gt;&amp;lt;managed-bean-name&amp;gt;moreSports&amp;lt;/managed-bean-name&amp;gt;&lt;br /&gt;&amp;lt;managed-bean-class&amp;gt;java.util.ArrayList&amp;lt;/managed-bean-class&amp;gt;&lt;br /&gt;&amp;lt;managed-bean-scope&amp;gt;none&amp;lt;/managed-bean-scope&amp;gt;&lt;br /&gt;&amp;lt;list-entries&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;Skiing&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;Tennis&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;Rollerblading&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/list-entries&amp;gt;&lt;br /&gt;&amp;lt;/managed-bean&amp;gt;&lt;br /&gt;&lt;br /&gt;u can refer other managed beans in the declaration of managed beans&lt;br /&gt;&amp;lt;list-entries&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;#{moreSports[0]}&amp;lt/value&amp;gt;&lt;br /&gt;&lt;br /&gt;this is an example using annotations&lt;br /&gt;@ManaqedProperty(value="#{addressBean}")&lt;br /&gt;private Address homeAddress;&lt;br /&gt;@ManaqedProperty(value="#{addressBean}")&lt;br /&gt;private Address shippingAddress;&lt;br /&gt;&lt;br /&gt;u can also use params from the request&lt;br /&gt;&amp;lt;managed-property&amp;gt;&lt;br /&gt;&amp;lt;property-name&amp;gt;userid&amp;lt;/property-name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;#{param.userid}&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/managed-property&amp;gt;&lt;br /&gt;&lt;br /&gt;doing the same thing with annotations&lt;br /&gt;@ManaqedProperty(value="#{param.userid}")&lt;br /&gt;private Address userid;&lt;br /&gt;&lt;br /&gt;Managed beans life spans&lt;br /&gt;--------------------------&lt;br /&gt;there is a scope which is shorter than request&lt;br /&gt;#{facesContext.attributes} (u actually put this value&lt;br /&gt;for scope in faces-config)&lt;br /&gt;&lt;br /&gt;other scopes: none, request, view, session, application&lt;br /&gt;request to be avoided ?!&lt;br /&gt;&lt;br /&gt;managed beans can reference either managed beans&lt;br /&gt;with the scope none or beans with greater or equal scope span.&lt;br /&gt;&lt;br /&gt;none - @NoneScoped (will stay as long as the bean that is referencing it)&lt;br /&gt;request - available only for one http request @RequestScoped&lt;br /&gt;view scope - the user stays in the same view @ViewScoped&lt;br /&gt;session - @SessionScoped&lt;br /&gt;application - available to all users!&lt;br /&gt;customscope - @CustomScoped&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;u can use other annotation in the BB&lt;br /&gt;@PostConstruct&lt;br /&gt;@PreDestroy&lt;br /&gt;&lt;br /&gt;JSF EL&lt;br /&gt;------------------------------------&lt;br /&gt;#{expr} evaluated at runtime time&lt;br /&gt;${expr} evaluated at compile time&lt;br /&gt;&lt;br /&gt;used as:&lt;br /&gt;&lt;br /&gt;value expressions&lt;br /&gt;----------------------------&lt;br /&gt;#{userBean.firstName}&lt;br /&gt;first looks is the value of the base is one of the implicit objects in EL&lt;br /&gt;first it looks in ServletRequest getAttribute("userBean")&lt;br /&gt;from the UIViewRoot calls getViewMap()&lt;br /&gt;from the HttpSession calls getAttribute("userBean")&lt;br /&gt;if not found calls getAttribute("userBean") on the ServletContext&lt;br /&gt;&lt;br /&gt;setting values in mb value="#{userBean.firstName}&lt;br /&gt;this happens in update model values phase&lt;br /&gt;the class involved is ValueExpression &lt;br /&gt;-----------------------&lt;br /&gt;the EL flash&lt;br /&gt;&lt;br /&gt;flash is an implicit object in EL&lt;br /&gt;flash.serviceLevel sets or gets the var sericeLevel from the flash&lt;br /&gt;scope&lt;br /&gt;&lt;br /&gt;---------------------&lt;br /&gt;&lt;br /&gt;91 - at least 101&lt;br /&gt;&lt;br /&gt;method expression - when an action is specified&lt;br /&gt;u can't pass params to method expressions&lt;br /&gt;&lt;br /&gt;action&lt;br /&gt;actionListener&lt;br /&gt;valueChangeListener&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;u can invoke arbitrary methods &lt;br /&gt;and pass parameters to them&lt;br /&gt;&lt;br /&gt;&amp;lt;h:link outcome="page02" value="Link with query parameters"&amp;gt;&lt;br /&gt;&amp;lt;f:param name="word1" value="hello" /&amp;gt;&lt;br /&gt;&amp;lt;f:param name="word2" value="dolly" /&amp;gt;&lt;br /&gt;&amp;lt;/h:link&amp;gt;&lt;br /&gt;&lt;br /&gt;How to access backing bean programatically&lt;br /&gt;ELContext elContext = context.getELContext( );&lt;br /&gt;Application application = context.getApplication( );&lt;br /&gt;String userid = (String) application.evaluateValueExpressionGet(context,&lt;br /&gt;"#{userBean.userid}",String.class);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;chapter 6 - the navigation model&lt;br /&gt;--------------------------------&lt;br /&gt;&lt;br /&gt;implicit navigation&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-4729778956476059300?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/4729778956476059300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=4729778956476059300' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/4729778956476059300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/4729778956476059300'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/10/monday-october-18th.html' title='Monday - October the 18th'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-5614444096451156419</id><published>2010-10-15T12:27:00.007+03:00</published><updated>2010-11-03T14:21:59.364+02:00</updated><title type='text'>Friday -  October the 15th</title><content type='html'>1. respond to the questions raised at the V12 scopes presentation&lt;br /&gt;&lt;br /&gt;2. JSF 2 - 20 pages V&lt;br /&gt;&lt;br /&gt;3. Presentation about what I've been reading&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;------------------------&lt;br /&gt;&lt;br /&gt;&amp;lt;ui:include src="menubar.xml"&amp;gt;&lt;br /&gt;&amp;lt;ui:param name="user" value="#{currentUser}"/&amp;gt; &amp;lt;/ui:include&amp;gt;&lt;br /&gt;&lt;br /&gt;u can pass params to included pages&lt;br /&gt;&lt;br /&gt;u can use jsp and facelets&lt;br /&gt;&lt;br /&gt;u can write pure HTML in facelets&lt;br /&gt;&lt;br /&gt;composition using facelets&lt;br /&gt;&lt;br /&gt;there is a template and a template client&lt;br /&gt;which uses the template and defines the placeholders&lt;br /&gt;&lt;br /&gt;this in the template&lt;br /&gt;&amp;lt;tr&amp;gt;&amp;lt;ui:insert name="body"&amp;gt;Placeholder Body&amp;lt;/ui:insert&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;this is the template client&lt;br /&gt;&amp;lt;ui:composition template="/lnf-template.xhtml"&amp;gt;&lt;br /&gt;&amp;lt;ui:define name="body"&amp;gt;&amp;lt;table width="70%"&amp;gt;....&amp;lt;/ui:define&amp;gt;&lt;br /&gt;&lt;br /&gt;the jsfc attribute specifies what component should be used on the&lt;br /&gt;client side&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-5614444096451156419?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/5614444096451156419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=5614444096451156419' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5614444096451156419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5614444096451156419'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/10/friday-october-15th_15.html' title='Friday -  October the 15th'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-6138528143197293440</id><published>2010-10-15T12:27:00.006+03:00</published><updated>2010-10-18T11:57:04.295+03:00</updated><title type='text'>Friday -  October the 15th</title><content type='html'>1. respond to the questions raised at the V12 scopes presentation&lt;br /&gt;&lt;br /&gt;2. JSF 2 - 20 pages V&lt;br /&gt;&lt;br /&gt;3. Presentation about what I've been reading&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;------------------------&lt;br /&gt;&lt;br /&gt;&amp;lt;ui:include src="menubar.xml"&amp;gt;&lt;br /&gt;&amp;lt;ui:param name="user" value="#{currentUser}"&amp;gt; &amp;lt;/ui:param&amp;gt;&lt;br /&gt;&lt;br /&gt;u can pass params to included pages&lt;br /&gt;&lt;br /&gt;u can use jsp and facelets&lt;br /&gt;&lt;br /&gt;u can write pure HTML in facelets&lt;br /&gt;&lt;br /&gt;composition using facelets&lt;br /&gt;&lt;br /&gt;there is a template and a template client&lt;br /&gt;which uses the template and defines the placeholders&lt;br /&gt;&lt;br /&gt;this in the template&lt;br /&gt;&amp;lt;ui:insert name="body"&amp;gt;Placeholder Body&amp;lt;/ui:insert&amp;gt;&lt;br /&gt;this is the template client&lt;br /&gt;&amp;lt;ui:composition template="/lnf-template.xhtml"&amp;gt;&lt;br /&gt;&amp;lt;ui:define name="body"&amp;gt;&amp;lt;table width="70%"&amp;gt;....&lt;br /&gt;&amp;lt;/table&amp;gt;&amp;lt;/ui:define&amp;gt;&amp;lt;/ui:composition&amp;gt;&amp;lt;/ui:include&amp;gt;&lt;br /&gt;&lt;br /&gt;the jsfc attribute specifies what component should be used on the&lt;br /&gt;client side&lt;br /&gt;&lt;br /&gt;anything outside the &amp;lt;ui:define/&amp;gt; is ignored in a template client file&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-6138528143197293440?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/6138528143197293440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=6138528143197293440' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/6138528143197293440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/6138528143197293440'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/10/friday-october-15th.html' title='Friday -  October the 15th'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-1203781516706400914</id><published>2010-10-13T12:21:00.007+03:00</published><updated>2010-10-13T16:15:26.297+03:00</updated><title type='text'>JSF2 complete reference</title><content type='html'>28 - 55&lt;br /&gt;&lt;br /&gt;restore view&lt;br /&gt; the tree is kept in FacesContext&lt;br /&gt;&lt;br /&gt;apply request values&lt;br /&gt; processDecodes on the UIViewRoot&lt;br /&gt; only ValueHolder uiComponents can hold values&lt;br /&gt; only EditableValueHolder components can have their value changed&lt;br /&gt; the values are kept on each component in submittedValue&lt;br /&gt; the ones that have events implement ActionSource interface&lt;br /&gt; events are queued at this phase&lt;br /&gt; immediate attribute makes it skip this phase&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;process validations&lt;br /&gt;  data conversion&lt;br /&gt;  processValidators on the UIViewRoot&lt;br /&gt;  when a validation or conversion fails the valid attribute is set to false and&lt;br /&gt;  a FacesMessage is queued on the FacesContext&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;update model values&lt;br /&gt; this is where the managed beans properties that were bound get updated&lt;br /&gt; processUpdates on the UIViewRoot&lt;br /&gt; processUpdates is overridden in the UIInput components and call an extra&lt;br /&gt; updateModel method&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;invoke application&lt;br /&gt; this is where the custom action code is called &lt;br /&gt; processApplication on the UIViewRoot&lt;br /&gt; call broadcast on each UIComponent that implements ActionSource&lt;br /&gt; navigation happens here also&lt;br /&gt; NavigationHandler calls handleNavigation&lt;br /&gt; if the outcome which was received by the NavigationHandler&lt;br /&gt; is registered -&gt; facesContext.setViewRoot is called&lt;br /&gt; h:link is the same as h:commandLink with attribute imediate set to true&lt;br /&gt; if immediate is set for EditableValueHolder then its validations&lt;br /&gt; occur in apply request values phase&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;render response&lt;br /&gt; encode methods happen here&lt;br /&gt; saving of the current state of the View&lt;br /&gt;&lt;br /&gt;---------------------------------------&lt;br /&gt;&lt;br /&gt;phase listeners - class which implements PhaseListener and&lt;br /&gt;it's declared in faces-config or added programmatically &lt;br /&gt;registered on the lifecycle instance&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-1203781516706400914?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/1203781516706400914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=1203781516706400914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/1203781516706400914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/1203781516706400914'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/10/jsf2-complete-reference.html' title='JSF2 complete reference'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-6512981680138515404</id><published>2010-10-13T11:04:00.003+03:00</published><updated>2010-10-13T18:26:33.461+03:00</updated><title type='text'>work - october the 13th (Wednesday )</title><content type='html'>1. respond to the questions raised at the V12 scopes presentation&lt;br /&gt;&lt;br /&gt;2. read V12 guidelines V&lt;br /&gt;&lt;br /&gt;3. JSF 2 - 20 pages V&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-6512981680138515404?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/6512981680138515404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=6512981680138515404' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/6512981680138515404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/6512981680138515404'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/10/work.html' title='work - october the 13th (Wednesday )'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-1836781550315525973</id><published>2010-10-12T11:37:00.001+03:00</published><updated>2010-10-12T11:39:10.855+03:00</updated><title type='text'>BIG GOAL 12.10.2010 - 1 DEC 2010</title><content type='html'>Read JSF2 - Complete reference.pdf&lt;br /&gt;&lt;br /&gt;every Friday - a presentation on what I have been reading the whole week&lt;br /&gt;&lt;br /&gt;Friday from 16.00 to 17.00&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-1836781550315525973?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/1836781550315525973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=1836781550315525973' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/1836781550315525973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/1836781550315525973'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/10/big-goal-12102010-1-dec-2010.html' title='BIG GOAL 12.10.2010 - 1 DEC 2010'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-8591062417343975101</id><published>2010-10-12T11:34:00.003+03:00</published><updated>2010-10-12T16:38:05.967+03:00</updated><title type='text'>work tuesday - oct the 12th 2010</title><content type='html'>1. loadobjectives testing estimate - V&lt;br /&gt;&lt;br /&gt;2. read JSF 2 - 8 - 29 V&lt;br /&gt;&lt;br /&gt;3. respond to the questions raised at the V12 scopes presentation&lt;br /&gt;&lt;br /&gt;4. read V12 guidelines&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-8591062417343975101?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/8591062417343975101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=8591062417343975101' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/8591062417343975101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/8591062417343975101'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/10/work-tuesday-oct-12th-2010.html' title='work tuesday - oct the 12th 2010'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-2418396757236403166</id><published>2010-10-11T11:41:00.007+03:00</published><updated>2010-10-15T12:09:02.670+03:00</updated><title type='text'>week - for practicing 11-17 oct 2010</title><content type='html'>ionian, dorian, mixolydian - daily (in C , G, Bb, Eb)&lt;br /&gt;circle of fifths X7 - daily&lt;br /&gt;IIm - V - I - daily&lt;br /&gt;&lt;br /&gt;low comping 3 lessons&lt;br /&gt;read two tunes and learn them&lt;br /&gt;write the it never entered my mind solo&lt;br /&gt;solo for sweet home alabama&lt;br /&gt;solo for ac dc, highway to hell&lt;br /&gt;jimmy hendrix - little wing&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;technique - more accurate alternate picking&lt;br /&gt;watch how to play fast and apply&lt;br /&gt;watch fretboard mastery and apply&lt;br /&gt;&lt;br /&gt;------------------------------------&lt;br /&gt;grateful dead&lt;br /&gt;low rider &lt;br /&gt;tequila&lt;br /&gt;blues traveler&lt;br /&gt;fire on mountain - grateful dead&lt;br /&gt;dead - god and grove&lt;br /&gt;-------------------------------&lt;br /&gt;monday - C,G,Bb ionian, dorian, mixolydian&lt;br /&gt;circle of fifths X7 - almost getting it in time&lt;br /&gt;technique - still weak upstroke but definitely getting better&lt;br /&gt;-------------------------------&lt;br /&gt;tuesday - C,G,Bb ionian, dorian, mixolydian&lt;br /&gt;circle of fifths X7 - not that much&lt;br /&gt;a little picking - was not that comfortable ,&lt;br /&gt;watched a chapter on how to play faster&lt;br /&gt;discovered that making trills with your pinky helps strengthtening&lt;br /&gt;your left hand&lt;br /&gt;Bb is just like C just 2 frets down :)&lt;br /&gt;------------------------------&lt;br /&gt;wednesday - nothing&lt;br /&gt;&lt;br /&gt;------------------------------&lt;br /&gt;thursday - X7 in circle of fifths&lt;br /&gt;ionian , dorian in C ...only C because I got caught up on technique&lt;br /&gt;doing pinky exercises&lt;br /&gt;experimented a little phrygian over minor chords&lt;br /&gt;experimented a little Ab melodic minor over G7 chord&lt;br /&gt;very weak upstroke, have to work more on this&lt;br /&gt;Observed that I am significantly slower if I begin on upstroke a scale&lt;br /&gt;Observed I do hold my breath when shifting to a new position. &lt;br /&gt;This has to be corrected.&lt;br /&gt;When doing X7 observed that for the A form I wasnt visualizing the root.&lt;br /&gt;I watched a little path to fretboard and I'm thinking I should give it one month&lt;br /&gt;or two.&lt;br /&gt;The beautiful thing about this fretboard mastery is the introduction&lt;br /&gt;when it is mentioning all aspects of music. There are a lot more than &lt;br /&gt;were in my study plan. I should revise it.&lt;br /&gt;THE KEY IS DISCIPLINE. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;plan for 2 weeks, all keys for ionian dorian mixolydian&lt;br /&gt;learn 1 song for voice, 1 for rock, 1 for jazz&lt;br /&gt;do IIm - V - I for all keys&lt;br /&gt;transcribe one melody&lt;br /&gt;compose 1 melody&lt;br /&gt;low comping&lt;br /&gt;(low comping 3 lessons&lt;br /&gt;read two tunes and learn them&lt;br /&gt;write the it never entered my mind solo&lt;br /&gt;solo for sweet home alabama&lt;br /&gt;solo for ac dc, highway to hell&lt;br /&gt;jimmy hendrix - little wing)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;observed that there is a way to hold the pick more firmly to achieve&lt;br /&gt;greater speed and to always be prepared to sound artificial harmonics&lt;br /&gt;&lt;br /&gt;overall - a very good day :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-2418396757236403166?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/2418396757236403166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=2418396757236403166' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/2418396757236403166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/2418396757236403166'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/10/week-for-practicing-11-17-oct-2010.html' title='week - for practicing 11-17 oct 2010'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-3655507911218717417</id><published>2010-10-11T11:38:00.002+03:00</published><updated>2010-10-11T11:41:27.546+03:00</updated><title type='text'>work -  october the 11th</title><content type='html'>- fix everything in loadobjectives&lt;br /&gt;- presentation for the next tech article&lt;br /&gt;- find answers to the questions raised at the previous presentation&lt;br /&gt;- read 20 pages of jsf 2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-3655507911218717417?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/3655507911218717417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=3655507911218717417' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3655507911218717417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3655507911218717417'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/10/work-october-11th.html' title='work -  october the 11th'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-393477891344976598</id><published>2010-09-20T22:56:00.004+03:00</published><updated>2010-09-22T00:23:16.617+03:00</updated><title type='text'>Jimmy Bruno 1</title><content type='html'>1st lesson &lt;br /&gt;&lt;br /&gt;6v2 5v2 - arpeggios on those  7Maj (circles of fifths)&lt;br /&gt;over II V I - target the root&lt;br /&gt;&lt;br /&gt;6v4 5v4 &lt;br /&gt;&lt;br /&gt;6h2 5h2&lt;br /&gt;&lt;br /&gt;connect them&lt;br /&gt;&lt;br /&gt;over II V I -  third, fifth, seventh, 9th, 11th, 13th&lt;br /&gt;&lt;br /&gt;dorian positions - in all 12 keys again , &lt;br /&gt;target the root of the II V I&lt;br /&gt;&lt;br /&gt;play scale in thirds, groups of 4 &lt;br /&gt;&lt;br /&gt;chords Dom7 64321 (circles of fifths) - II V I  &lt;br /&gt;&lt;br /&gt;rey low comping also  (tomorrow one tune by ear and one solo by ear )&lt;br /&gt;&lt;br /&gt;single note , accented up, triplet - metronome 95 - downs 140&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-393477891344976598?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/393477891344976598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=393477891344976598' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/393477891344976598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/393477891344976598'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/09/jimmy-bruno-1.html' title='Jimmy Bruno 1'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-5577064211816614691</id><published>2010-08-30T22:54:00.003+03:00</published><updated>2010-08-31T00:41:21.100+03:00</updated><title type='text'>Melody1</title><content type='html'>scales (caged, 3 notes) - caged 55 know the roots, know the thirds&lt;br /&gt;pentatonics &lt;br /&gt;arpeggios - Cmaj 7 in caged http://www.youtube.com/watch?v=ivE3hdm_tws&amp;feature=related&lt;br /&gt;modes&lt;br /&gt;scales in intervals&lt;br /&gt;scales for chords&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-5577064211816614691?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/5577064211816614691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=5577064211816614691' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5577064211816614691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5577064211816614691'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/08/melody1.html' title='Melody1'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-8733758690792745899</id><published>2010-08-30T09:45:00.004+03:00</published><updated>2010-08-30T22:54:02.121+03:00</updated><title type='text'>Technique1</title><content type='html'>accuracy ( villa lobos etude no 1 with pick ) - 70pm(10min (4&lt;br /&gt;in a row) V&lt;br /&gt;- faster one string ( triplets at 75, 16th at 70bpm) V&lt;br /&gt;- bending (9th position onb - bending one tone D to E , on G 5th position - G to A)&lt;br /&gt;- downstrokes (Em,70bpm 8thnotes, triplets - accenting more)- run to the hills 120 bpm&lt;br /&gt;- stretches ( Xes 1234,2345,3456 with sweep picking) at 70/2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-8733758690792745899?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/8733758690792745899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=8733758690792745899' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/8733758690792745899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/8733758690792745899'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/08/technique.html' title='Technique1'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-8931142747387296014</id><published>2010-08-29T20:45:00.002+03:00</published><updated>2010-08-29T20:53:32.935+03:00</updated><title type='text'>reading notes - TIO</title><content type='html'>comfort zone, learning zone, panic zone&lt;br /&gt;&lt;br /&gt;1. It is actively designed specifically to improve performance, often with a teacher’s help. &lt;br /&gt;2. Identify elements that need to be improved then work intently on them. &lt;br /&gt;3. It can be repeated a lot &lt;br /&gt;4. Feedback on results is continuously available&lt;br /&gt;5. It’s highly demanding mentally &lt;br /&gt;6. It isn’t much fun.&lt;br /&gt;7. No automatic, performance must be conscious.&lt;br /&gt;&lt;br /&gt; We insistently seek out what we’re not good at. Then we identify the painful, difficult activities that will make us better and do those things over and over.&lt;br /&gt;&lt;br /&gt; Great performers never allow themselves to reach the automatic, arrested development stage in their chose field. … Ultimately the performance is always conscious and controlled, not automatic.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-8931142747387296014?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/8931142747387296014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=8931142747387296014' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/8931142747387296014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/8931142747387296014'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/08/reading-notes-tio.html' title='reading notes - TIO'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-735321239253658650</id><published>2010-08-29T20:27:00.004+03:00</published><updated>2010-08-29T20:39:00.493+03:00</updated><title type='text'>weekly plan</title><content type='html'>3hours music daily (180 min) - week days&lt;br /&gt;(7am - 8am)&lt;br /&gt;(8pm - 10pm) or(10pm - 12pm)&lt;br /&gt;20 min - each aspect&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1 programming (45 min reading, 15min repeating) - during work or 10pm - 11pm&lt;br /&gt;&lt;br /&gt;bb - 2 hours&lt;br /&gt;&lt;br /&gt;------------&lt;br /&gt;&lt;br /&gt;weekends&lt;br /&gt;same as a normal working day&lt;br /&gt;5 hours music &lt;br /&gt;3 hours programming&lt;br /&gt;&lt;br /&gt;-----------&lt;br /&gt;programming &lt;br /&gt;1 hour coding, 1 hour reading, alternatively -week days&lt;br /&gt;weekends 1 hour reading, 2 hours coding your ideas&lt;br /&gt;&lt;br /&gt;every week on Sunday - counting the hours spent&lt;br /&gt;, assessing performance in every aspect&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-735321239253658650?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/735321239253658650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=735321239253658650' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/735321239253658650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/735321239253658650'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/08/weekly-plan.html' title='weekly plan'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-2446754078747042432</id><published>2010-08-29T20:08:00.002+03:00</published><updated>2010-08-29T20:20:17.150+03:00</updated><title type='text'>general skill plan</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Harmony&lt;/span&gt;&lt;br /&gt;chords - jazz guitar masterclass&lt;br /&gt;low comping&lt;br /&gt;high comping&lt;br /&gt;substitutions (tritone substitution)&lt;br /&gt;take simple tunes and make them jazzy&lt;br /&gt;take jazz standards and make them simple&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Melody&lt;/span&gt;&lt;br /&gt;scales (caged, 3 notes)&lt;br /&gt;pentatonics&lt;br /&gt;arpeggios&lt;br /&gt;modes&lt;br /&gt;scales in intervals&lt;br /&gt;scales for chords&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Ear&lt;/span&gt;&lt;br /&gt;solefeggios&lt;br /&gt;ear master daily&lt;br /&gt;transcribe in guitar pro&lt;br /&gt;transcribe harmony with guitar and without&lt;br /&gt;berklee transcribe harmony&lt;br /&gt;singing tunes&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt; Technique &lt;/span&gt;&lt;br /&gt;develop tremolo picking&lt;br /&gt;develop string skipping&lt;br /&gt;sweeping&lt;br /&gt;legato all combinations&lt;br /&gt;learn flight of the bumblebee&lt;br /&gt;accenting in 2,3,4,5,6,7&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Composition&lt;/span&gt;&lt;br /&gt;compose tunes with harmony defined&lt;br /&gt;compose tunes with melody defined&lt;br /&gt;compose tunes with lyrics defined&lt;br /&gt;write own tunes with lyrics&lt;br /&gt;analysis of Beatles&lt;br /&gt;analysis of Bach&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Interpretation&lt;/span&gt;&lt;br /&gt;bends&lt;br /&gt;playing in legato&lt;br /&gt;playing crescendo, diminuendo&lt;br /&gt;effects&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Learning tunes&lt;/span&gt;&lt;br /&gt;101 blues licks&lt;br /&gt;rock tunes &lt;br /&gt;Bach&lt;br /&gt;Beatles&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Reading&lt;/span&gt;&lt;br /&gt;jazz standards&lt;br /&gt;Bach&lt;br /&gt;find material for progressive reading&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Rhythm&lt;/span&gt;&lt;br /&gt;playing against time&lt;br /&gt;play scales in diff rhythms&lt;br /&gt;study rests&lt;br /&gt;odd groupings (5,6,7)&lt;br /&gt;odd time signatures&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-2446754078747042432?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/2446754078747042432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=2446754078747042432' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/2446754078747042432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/2446754078747042432'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/08/general-skill-plan.html' title='general skill plan'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-853440814573361340</id><published>2010-08-26T11:23:00.003+03:00</published><updated>2010-08-26T11:26:51.817+03:00</updated><title type='text'>26 aug 2010</title><content type='html'>the quotes for automation&lt;br /&gt;my defect with suggests&lt;br /&gt;the message change&lt;br /&gt;the run button&lt;br /&gt;octav's defect&lt;br /&gt;snapshot isolation&lt;br /&gt;tests&lt;br /&gt;the addit field null in input Octav&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-853440814573361340?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/853440814573361340/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=853440814573361340' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/853440814573361340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/853440814573361340'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/08/26-aug-2010.html' title='26 aug 2010'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-7091722266004636802</id><published>2010-08-08T16:57:00.040+03:00</published><updated>2010-08-26T10:05:08.405+03:00</updated><title type='text'>smth</title><content type='html'>dont add the period V&lt;br /&gt;all mf in input validation V&lt;br /&gt;test upgrade script V&lt;br /&gt;test that the required addit fields are represented as required V&lt;br /&gt;add in the build the upgrade script and commit in processes V&lt;br /&gt;add 1 superscript instead of dagger V&lt;br /&gt;verify all the logic definitions validations V&lt;br /&gt;&lt;br /&gt;add participant position not loaded validation the Vapi validation V&lt;br /&gt;modify the addit fields (the way you get the label)Octav V&lt;br /&gt;modify the messages and details so that details go to details V&lt;br /&gt;modify the suggests Octav &lt;br /&gt;make input records sp test&lt;br /&gt;erase the editable field when there no value in input V&lt;br /&gt;add order (in validations and in addit fields in definition) &lt;br /&gt;modify the diagram - talk to Irina Creo V&lt;br /&gt;comment defects in QC V &lt;br /&gt;add the messages for rejected records V&lt;br /&gt;when adding new addit field if you press back and next u see null field in input[null field in input Octav]&lt;br /&gt;lacra and double quotes and the underscore V&lt;br /&gt;add snapshot isolation Samir&lt;br /&gt;add Pavaleanu's message 4.1.1.2 extra space &lt;br /&gt;add message change&lt;br /&gt;&lt;br /&gt;Map&lt;Integer, DataValue&gt; participantAttributeValuesMap = currentParticipant.getAttributeValues();&lt;br /&gt;                    for (Integer paId : paIds) {&lt;br /&gt;                        Object paValue = null;&lt;br /&gt;                        if (paId.equals(ParticipantAttributesSystemParameters.PARTICIPANT_TYPE_SYSTEM_PARAMETER.toInt())) { //the hidden "_participant type"&lt;br /&gt;                            paValue = currentParticipant.getAttributeNameValueMap().get(ParticipantAttributesSystemParameters.PARTICIPANT_TYPE_SYSTEM_PARAMETER.getName()).getValue();&lt;br /&gt;                        } else {&lt;br /&gt;                            paValue = participantAttributeValuesMap.get(paId).getValue();&lt;br /&gt;                        }&lt;br /&gt;                        paBuilderValueObjects.add(new ExpressionBuilderValueObject(paValue, FieldType.PARTICIPANT_ATTRIBUTE, paId));&lt;br /&gt;                    }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-7091722266004636802?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/7091722266004636802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=7091722266004636802' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/7091722266004636802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/7091722266004636802'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/08/smth.html' title='smth'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-6770925450694284738</id><published>2010-08-07T14:12:00.001+03:00</published><updated>2010-08-07T14:14:37.769+03:00</updated><title type='text'></title><content type='html'>food once,&lt;br /&gt;gima,&lt;br /&gt;curatenie,&lt;br /&gt;sala,&lt;br /&gt;munca,&lt;br /&gt;mancare,&lt;br /&gt;chitara&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-6770925450694284738?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/6770925450694284738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=6770925450694284738' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/6770925450694284738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/6770925450694284738'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/08/food-once-gima-curatenie-sala-munca.html' title=''/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-1746104887634152102</id><published>2010-08-06T15:03:00.007+03:00</published><updated>2010-08-06T19:12:41.631+03:00</updated><title type='text'>de facut</title><content type='html'>dont add the period V&lt;br /&gt;make input records sp test&lt;br /&gt;talk about adding a result INPUT COUNT&lt;br /&gt;all mf in input validation V&lt;br /&gt;test upgrade script V&lt;br /&gt;test that the required addit fields are represented as required&lt;br /&gt;add in the build the upgrade script and commit in processes&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-1746104887634152102?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/1746104887634152102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=1746104887634152102' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/1746104887634152102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/1746104887634152102'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/08/de-facut.html' title='de facut'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-7340540108905842027</id><published>2010-08-05T09:26:00.002+03:00</published><updated>2010-08-05T10:18:02.397+03:00</updated><title type='text'>1 hour</title><content type='html'>accuracy ( villa lobos etude no 1 with pick ) - 65bpm (10min (5&lt;br /&gt;in a row)&lt;br /&gt;- faster one string ( triplets at 75, 16th at 70bpm)&lt;br /&gt;- bending (9th position onb - bending one tone D to E , on G 5th position - G to A)&lt;br /&gt;- downstrokes (Em,70bpm 8thnotes, triplets - accenting more)&lt;br /&gt;- stretches ( Xes 1234,2345,3456 with sweep picking) at 65/2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-7340540108905842027?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/7340540108905842027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=7340540108905842027' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/7340540108905842027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/7340540108905842027'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/08/1-hour.html' title='1 hour'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-803100716057505135</id><published>2010-08-03T09:14:00.003+03:00</published><updated>2010-08-03T10:05:15.193+03:00</updated><title type='text'>1 hour</title><content type='html'>- accuracy ( villa lobos etude no 1 with pick ) - 60bpm (10min (6&lt;br /&gt; in a row)&lt;br /&gt;- faster one string ( triplets at 75, 16th at 65bpm)&lt;br /&gt;- bending (9th position onb - bending one tone D to E , on G 5th position - G to A)&lt;br /&gt;- downstrokes (Em,65bpm 8thnotes, triplets - accenting more)&lt;br /&gt;- stretches ( Xes 1234,2345,3456 with sweep picking) at 65/2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-803100716057505135?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/803100716057505135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=803100716057505135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/803100716057505135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/803100716057505135'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/08/1-hur.html' title='1 hour'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-2627974250281476344</id><published>2010-08-02T08:42:00.008+03:00</published><updated>2010-08-03T02:37:05.399+03:00</updated><title type='text'>1 month - 1 hour</title><content type='html'>- accuracy ( villa lobos etude no 1 with pick ) - 55bpm (10min (4 in a row)&lt;br /&gt;- faster one string ( triplets at 70, 16th at 60bpm)&lt;br /&gt;- bending (9th position onb - bending one tone D to E , on G 5th position - G to A)&lt;br /&gt;- downstrokes (Em,60bpm 8thnotes, triplets - accenting more)&lt;br /&gt;- stretches ( Xes 1234,2345,3456 with sweep picking)&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;- first lick in blues (101 riffs)&lt;br /&gt;http://www.youtube.com/watch?v=aNynowMVy4Q&lt;br /&gt;----------------------------&lt;br /&gt;ideas &lt;br /&gt;take a 1625 and do all the higher voicings&lt;br /&gt;&lt;br /&gt;THE SHIT http://www.youtube.com/watch?v=NBRLUz0j_5A&amp;feature=PlayList&amp;p=59C7F585E353EE3C&amp;index=6&amp;playnext=1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-2627974250281476344?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/2627974250281476344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=2627974250281476344' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/2627974250281476344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/2627974250281476344'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/08/1-month-1-hour.html' title='1 month - 1 hour'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-1175212180719914831</id><published>2010-07-31T22:38:00.005+03:00</published><updated>2010-08-01T00:18:58.555+03:00</updated><title type='text'>GP - 1st month</title><content type='html'>- accuracy ( villa lobos etude no 1 with pick ) - 50bpm (10min)&lt;br /&gt;- faster one string ( triplets at 70, 16th at 70bpm)&lt;br /&gt;- bending (9th position onb - bending one tone B to C #, on G  5th position - D to E)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--------&lt;br /&gt;ideas&lt;br /&gt;&lt;br /&gt;http://www.ultimate-guitar.com/lessons/correct_practice/how_to_increase_speed_using_your_practice_time_and_a_metronome.html&lt;br /&gt;&lt;br /&gt;learn solo for sweet home Alabama&lt;br /&gt;record improvisation on glory box&lt;br /&gt;two strings arpeggios like here&lt;br /&gt;http://www.youtube.com/watch?v=MxRzO6ftlqA&amp;feature=related&lt;br /&gt;look at the arpeggios dvd&lt;br /&gt;how to record using gt 10&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-1175212180719914831?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/1175212180719914831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=1175212180719914831' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/1175212180719914831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/1175212180719914831'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/07/gp-1st-month_31.html' title='GP - 1st month'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-6367200531107148672</id><published>2010-07-31T22:06:00.003+03:00</published><updated>2010-07-31T23:39:46.660+03:00</updated><title type='text'>GP - 1st month</title><content type='html'>Guitar playing technique&lt;br /&gt;1. accuracy when changing strings - metronome&lt;br /&gt;2. faster one string picking - metronome&lt;br /&gt;3. bends - metronome&lt;br /&gt;4. faster down strokes - metronome&lt;br /&gt;5. stretches - metronome&lt;br /&gt;&lt;br /&gt;Musical knowledge on guitar&lt;br /&gt;1. learn blues licks&lt;br /&gt;2. arpeggios (rock,jazz) &lt;br /&gt;3. scales for chords&lt;br /&gt;(guthrie govan, jazz masterclass, joe pass, scott henderson)&lt;br /&gt;4. chords (jazz master class, lowcomping, scott henderson)&lt;br /&gt;5. modes&lt;br /&gt;&lt;br /&gt;Ear training&lt;br /&gt; 1. find a teacher&lt;br /&gt; 2  the book&lt;br /&gt; 3. ear master (intervals, time keeping)&lt;br /&gt; 4. transcribe children songs in guitar pro after writing them on paper&lt;br /&gt; 5. solfeggio (record and then try to see if you do mistakes)&lt;br /&gt; 6. learn a song &lt;br /&gt; 7. write a rhythm&lt;br /&gt;&lt;br /&gt;Composition&lt;br /&gt; - write a song a week (two verses, one chorus, one bridge)&lt;br /&gt; - analyze the song you learned&lt;br /&gt; - record the song &lt;br /&gt; - transcribe in music sheet&lt;br /&gt; - orchestrate it&lt;br /&gt; - record yourself improvise on blues&lt;br /&gt;&lt;br /&gt;----------------------------------------&lt;br /&gt;&lt;br /&gt;How much time do we have?&lt;br /&gt;3 hours a day for work days - 15 hours&lt;br /&gt;4 hours in weekend - 8 hours&lt;br /&gt;---&lt;br /&gt;total 23 hours&lt;br /&gt;&lt;br /&gt;Work days&lt;br /&gt;8am - 9am 1 hour&lt;br /&gt;no workout days - 20.00 - 22.00&lt;br /&gt;workout days - 22.30 - 0.30&lt;br /&gt;&lt;br /&gt;weekend&lt;br /&gt;10 - 12 &lt;br /&gt;16 - 18&lt;br /&gt;&lt;br /&gt;-----------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;work in 30 min chunks&lt;br /&gt;10 minutes for every aspect in general&lt;br /&gt;keep a diary for progress&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-6367200531107148672?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/6367200531107148672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=6367200531107148672' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/6367200531107148672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/6367200531107148672'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/07/gp-1st-month.html' title='GP - 1st month'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-5742266976532535904</id><published>2010-07-31T22:03:00.002+03:00</published><updated>2010-07-31T22:06:31.803+03:00</updated><title type='text'>How to do better - deliberate practice</title><content type='html'>1. Search for a teacher&lt;br /&gt;2. Practice to improve. Decide what you need to improve and improve it.&lt;br /&gt;3. Comfort, learning, panic. Stay in learning as you progress.&lt;br /&gt;4. It can be repeated a lot&lt;br /&gt;5. Feedback on results is continuously available.&lt;br /&gt;6. It's highly demanding mentally&lt;br /&gt;7. It isn't much fun.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-5742266976532535904?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/5742266976532535904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=5742266976532535904' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5742266976532535904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5742266976532535904'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/07/how-to-do-better-deliberate-practice.html' title='How to do better - deliberate practice'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-269801125557883283</id><published>2010-07-29T12:25:00.001+03:00</published><updated>2010-07-29T12:26:09.551+03:00</updated><title type='text'>2nd month</title><content type='html'>MONTH 2- BASIC ONE DAY SPLIT WHOLE BODY PROGRAM #2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     &lt;br /&gt;Bodypart  Exercise  Set 1  Set 2  Set 3  &lt;br /&gt;Compound Legs  Barbell Squats  12/  10/  8/  &lt;br /&gt;Compound Legs  Dumbbell Lunges  12/  10/  8/  &lt;br /&gt;Hamstrings/Lower Back  Romanian Deadlifts  12/  10/  8/  &lt;br /&gt;Calves  Seated Calf Raises  12/  10/  8/  &lt;br /&gt;Chest  Incline Dumbbell Presses  12/  10/  8/  &lt;br /&gt;Back  Seated Rows  12/  10/  8/  &lt;br /&gt;Shoulders  Dumbell Lateral Raises  12/  10/  8/  &lt;br /&gt;Biceps  Alternate Dumbbell Curls  12/  10/  8/  &lt;br /&gt;Triceps  Overhead Dumbbell Extensions  12/  10/  8/  &lt;br /&gt;Abdominals  Reverse Crunches  15/  15/  15/  &lt;br /&gt;*Fill in the amount of weight you used in the space left blank after the amount of reps.  &lt;br /&gt;Ex: Compound Legs  Barbell Squats 12/100 10/90 8/80  &lt;br /&gt;This would mean that you did 12 reps with 100 pounds on your first set,  &lt;br /&gt;10 reps with 90 pounds on your second and 8 reps with 80 pounds on your third.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-269801125557883283?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/269801125557883283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=269801125557883283' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/269801125557883283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/269801125557883283'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/07/2nd-month.html' title='2nd month'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-4454141163126348377</id><published>2010-07-25T15:27:00.006+03:00</published><updated>2010-07-26T00:36:13.326+03:00</updated><title type='text'>mashed potatoes</title><content type='html'>ok, so&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;weight condition and number of decimals V&lt;br /&gt;additional fields V&lt;br /&gt;score pb V&lt;br /&gt;participant comments V&lt;br /&gt;manager comments V&lt;br /&gt;objectives approved &lt;br /&gt;scores approved&lt;br /&gt;objectives levels approved&lt;br /&gt;scores levels approved&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-4454141163126348377?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/4454141163126348377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=4454141163126348377' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/4454141163126348377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/4454141163126348377'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/07/mashed-potatoes.html' title='mashed potatoes'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-3643144253930022604</id><published>2010-07-18T20:36:00.002+03:00</published><updated>2010-07-18T21:59:15.473+03:00</updated><title type='text'>Short program</title><content type='html'>20:50 program next hour&lt;br /&gt;&lt;br /&gt;21 create classes for execution of stored procedure&lt;br /&gt;   obj_pod_20071112_0140&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-3643144253930022604?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/3643144253930022604/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=3643144253930022604' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3643144253930022604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3643144253930022604'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/07/short-program.html' title='Short program'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-4563292802869077692</id><published>2010-07-08T11:26:00.001+03:00</published><updated>2010-07-08T11:26:38.200+03:00</updated><title type='text'>1st month - 5(080710)</title><content type='html'>5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-4563292802869077692?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/4563292802869077692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=4563292802869077692' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/4563292802869077692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/4563292802869077692'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/07/1st-month-5080710.html' title='1st month - 5(080710)'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-832908315370929005</id><published>2010-07-06T10:38:00.001+03:00</published><updated>2010-07-06T10:38:54.627+03:00</updated><title type='text'>WRK</title><content type='html'>processlogs and showSmthElse&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-832908315370929005?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/832908315370929005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=832908315370929005' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/832908315370929005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/832908315370929005'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/07/wrk.html' title='WRK'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-3001575839375258139</id><published>2010-07-02T10:36:00.003+03:00</published><updated>2010-07-02T10:44:15.003+03:00</updated><title type='text'>1st month - 2 (010710)</title><content type='html'>2.&lt;br /&gt;&lt;br /&gt;Compound Legs Leg Press 12/ 10/ 8/ (100,120,150)&lt;br /&gt;Quads Leg Extensions 12/ 10/ 8/ (56,64,72)&lt;br /&gt;Hamstrings Lying Leg Curls 12/ 10/ 8/ (56,64,72)&lt;br /&gt;Calves Standing Calf Raises 12/ 10/ 8/ (56,64,72)&lt;br /&gt;Lower Back Hyperextensions 12/ 10/ 8/ with 5kg&lt;br /&gt;Chest Barbell Bench Press 12/ 10/ 8/ with 10kg, 9,8,5&lt;br /&gt;Back Latissimus Pulldowns 12/ 10/ 8/ with 40kg 12,10,6&lt;br /&gt;Shoulders Dumbbell Overhead Press 12/ 10/ 8/ no weights 10,9,6&lt;br /&gt;Biceps Barbell Curls 12/ 10/ 8/ bar + 5kg,bar +10,bar+ 10&lt;br /&gt;Triceps Rope Tricep Pushdowns 12/ 10/ 8/ (25,25,25)&lt;br /&gt;Abdominals Crunches 15/ 15/ 15/ (15,15,15)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-3001575839375258139?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/3001575839375258139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=3001575839375258139' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3001575839375258139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3001575839375258139'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/07/1st-month-2.html' title='1st month - 2 (010710)'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-7493075700668058960</id><published>2010-06-28T15:34:00.002+03:00</published><updated>2010-06-30T10:03:33.229+03:00</updated><title type='text'>1st month</title><content type='html'>1.&lt;br /&gt;&lt;br /&gt;Compound Legs   Leg Press   12/   10/   8/  (90,110,130)&lt;br /&gt;Quads  Leg Extensions  12/  10/  8/  (48,56,72)&lt;br /&gt;Hamstrings  Lying Leg Curls  12/  10/  8/  (48,56,72) &lt;br /&gt;Calves  Standing Calf Raises  12/  10/  8/  (48,56,72)&lt;br /&gt;Lower Back  Hyperextensions  12/  10/  8/  with 5kg&lt;br /&gt;Chest  Barbell Bench Press  12/  10/  8/  with 10kg, 10,6,5&lt;br /&gt;Back  Latissimus Pulldowns  12/  10/  8/  with 40kg 10,8,30kg 10&lt;br /&gt;Shoulders  Dumbbell Overhead Press  12/  10/  8/  no weights 8, 6, 4&lt;br /&gt;Biceps  Barbell Curls  12/  10/  8/   zbar + 5kg, zbar +7.5, zbar+ 7.5&lt;br /&gt;Triceps  Rope Tricep Pushdowns  12/  10/  8/  (20+ , 20+ , 20)&lt;br /&gt;Abdominals  Crunches  15/  15/  15/  (15,15,13)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-7493075700668058960?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/7493075700668058960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=7493075700668058960' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/7493075700668058960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/7493075700668058960'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/06/1st-month.html' title='1st month'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-241106091527883167</id><published>2010-06-22T12:10:00.002+03:00</published><updated>2010-06-22T13:21:46.557+03:00</updated><title type='text'>hia</title><content type='html'>we just learned about entity modes&lt;br /&gt;&lt;br /&gt;MAP, POJO , DOM4J&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;entity type vs value type&lt;br /&gt;&lt;br /&gt;entity type has its own database identity&lt;br /&gt;&lt;br /&gt;value type have no database identity (string, integer, address, monetaryAmount)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-241106091527883167?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/241106091527883167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=241106091527883167' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/241106091527883167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/241106091527883167'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/06/hia.html' title='hia'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-7580565565910918966</id><published>2010-06-22T11:30:00.001+03:00</published><updated>2010-06-22T11:32:21.627+03:00</updated><title type='text'>Today, 22 june</title><content type='html'>20 pages hia.&lt;br /&gt;go into loadobjectives xml parameters.&lt;br /&gt;clean up the apartment.&lt;br /&gt;use the washing machine.&lt;br /&gt;1st day of a non smoker.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-7580565565910918966?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/7580565565910918966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=7580565565910918966' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/7580565565910918966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/7580565565910918966'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/06/today-22-june.html' title='Today, 22 june'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-4950518738505913072</id><published>2010-06-22T11:26:00.002+03:00</published><updated>2010-06-22T11:28:47.285+03:00</updated><title type='text'>Ok, new beginning</title><content type='html'>Just decide.&lt;br /&gt;&lt;br /&gt;Qeta again?&lt;br /&gt;Vlad again?&lt;br /&gt;Solfegii?&lt;br /&gt;Sala?&lt;br /&gt;Smoking?&lt;br /&gt;Drinking?&lt;br /&gt;Go public?&lt;br /&gt;Do the wicket?&lt;br /&gt;Do the JSF 2.0?&lt;br /&gt;Do the Hibernate?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-4950518738505913072?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/4950518738505913072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=4950518738505913072' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/4950518738505913072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/4950518738505913072'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/06/ok-new-beginning.html' title='Ok, new beginning'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-5714925804891596461</id><published>2010-06-08T11:27:00.002+03:00</published><updated>2010-06-08T18:01:36.994+03:00</updated><title type='text'>hia 1</title><content type='html'>the mismatch&lt;br /&gt;&lt;br /&gt;the problem of granularity &lt;br /&gt;the problem of subtypes&lt;br /&gt;the problem of identity&lt;br /&gt;problems related to associations&lt;br /&gt;the problem of data navigation&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-5714925804891596461?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/5714925804891596461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=5714925804891596461' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5714925804891596461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5714925804891596461'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/06/hia-1.html' title='hia 1'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-753077852765455283</id><published>2010-05-09T19:20:00.001+03:00</published><updated>2010-05-09T19:22:36.486+03:00</updated><title type='text'>plan load objectives</title><content type='html'>- understand all details about the process in processing&lt;br /&gt;- send comments to virgil &lt;br /&gt;- start the developing&lt;br /&gt;&lt;br /&gt;- send a lot of cvs&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-753077852765455283?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/753077852765455283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=753077852765455283' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/753077852765455283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/753077852765455283'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/05/plan-load-objectives.html' title='plan load objectives'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-1934868915664849190</id><published>2010-05-02T22:57:00.000+03:00</published><updated>2010-05-02T22:58:21.843+03:00</updated><title type='text'>idee</title><content type='html'>la7&lt;br /&gt;&lt;br /&gt;daca m-ai cunoaste dinainte &lt;br /&gt;m-ai iubi la fel&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-1934868915664849190?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/1934868915664849190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=1934868915664849190' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/1934868915664849190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/1934868915664849190'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/05/idee.html' title='idee'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-8396259986031028241</id><published>2010-04-30T17:01:00.002+03:00</published><updated>2010-05-02T17:04:14.919+03:00</updated><title type='text'>moving list</title><content type='html'>To take&lt;br /&gt;&lt;br /&gt;4 guitars&lt;br /&gt;books&lt;br /&gt;microwave&lt;br /&gt;pc&lt;br /&gt;2 monitors&lt;br /&gt;laptop&lt;br /&gt;weights&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;some clothes&lt;br /&gt;&lt;br /&gt;need to throw useless stuff(books, clothes)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-8396259986031028241?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/8396259986031028241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=8396259986031028241' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/8396259986031028241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/8396259986031028241'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/04/moving-list.html' title='moving list'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-687972275335891809</id><published>2010-04-19T11:17:00.001+03:00</published><updated>2010-04-19T17:05:33.779+03:00</updated><title type='text'>18-04-2010</title><content type='html'>1 ear master&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-687972275335891809?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/687972275335891809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=687972275335891809' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/687972275335891809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/687972275335891809'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/04/18-04-2010.html' title='18-04-2010'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-3750392579670899264</id><published>2010-04-17T16:50:00.003+03:00</published><updated>2010-04-18T22:33:27.353+03:00</updated><title type='text'>lo process</title><content type='html'>reach to the process page&lt;br /&gt;&lt;br /&gt;think and write a model &lt;br /&gt;&lt;br /&gt;input ?&lt;br /&gt;&lt;br /&gt;get to know how to map&lt;br /&gt;&lt;br /&gt;1. learned to implements ProcessDefintionManagedService&lt;br /&gt;&lt;br /&gt;2. fixing shit...dumb bug , getId on the defintion was returning null&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-3750392579670899264?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/3750392579670899264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=3750392579670899264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3750392579670899264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3750392579670899264'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/04/lo-process.html' title='lo process'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-3044308648504051609</id><published>2010-04-17T16:49:00.001+03:00</published><updated>2010-04-17T16:49:58.525+03:00</updated><title type='text'>17-04-2010</title><content type='html'>1 ear master (only 5 from completing interval identification)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-3044308648504051609?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/3044308648504051609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=3044308648504051609' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3044308648504051609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3044308648504051609'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/04/17-04-2010.html' title='17-04-2010'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-3856641454668833545</id><published>2010-04-17T16:48:00.001+03:00</published><updated>2010-04-17T16:48:59.543+03:00</updated><title type='text'>16-04-2010</title><content type='html'>1 ear master&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-3856641454668833545?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/3856641454668833545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=3856641454668833545' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3856641454668833545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3856641454668833545'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/04/16-04-2010.html' title='16-04-2010'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-616126407030599679</id><published>2010-04-15T19:02:00.006+03:00</published><updated>2010-04-17T16:48:33.469+03:00</updated><title type='text'>15-04-2010</title><content type='html'>1 ear master&lt;br /&gt;&lt;br /&gt;Plan for lop&lt;br /&gt;&lt;br /&gt;tonight:&lt;br /&gt;read doc twice, and decide what other docs to read&lt;br /&gt;&lt;br /&gt;find a process that resembles this (just find) and &lt;br /&gt;find an easy process and walk through the code&lt;br /&gt;&lt;br /&gt;start dev: give&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;DOC:&lt;br /&gt;&lt;br /&gt;diff between current previous period and absolute&lt;br /&gt;&lt;br /&gt;Summary:&lt;br /&gt;&lt;br /&gt;First page&lt;br /&gt;&lt;br /&gt;A)&lt;span style="font-weight:bold;"&gt;input&lt;/span&gt; : records&lt;br /&gt;&lt;br /&gt;B)&lt;span style="font-weight:bold;"&gt;logic&lt;/span&gt; : 3 parts&lt;br /&gt;&lt;br /&gt;1. obj plan&lt;br /&gt;&lt;br /&gt;2. specify if you update , load new objectives, remove objectives&lt;br /&gt;not in input (all are based on what is specified in the Definition ?)&lt;br /&gt;&lt;br /&gt;3. the fields as mapped&lt;br /&gt;&lt;br /&gt;Edit Logic:&lt;br /&gt;&lt;br /&gt;wizard two pages&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;objective plan&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;validations (period of the objective plan can be determined?)&lt;br /&gt;in use discussions&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;field mapping page&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-616126407030599679?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/616126407030599679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=616126407030599679' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/616126407030599679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/616126407030599679'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/04/15-04-2010.html' title='15-04-2010'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-5134814461861794425</id><published>2010-04-13T16:10:00.002+03:00</published><updated>2010-04-17T16:48:04.683+03:00</updated><title type='text'>Plan for programming skills</title><content type='html'>hibernate (know many-to-one , one-to-many, many-to-many, user-type, hibernate&lt;br /&gt;template, transaction(ACID))&lt;br /&gt;&lt;br /&gt;spring ( injecting dependencies, ioc container)&lt;br /&gt;&lt;br /&gt;- experience in a similar position&lt;br /&gt;- experience with OOP, UML and design patterns&lt;br /&gt;- efficiency in Java and SQL languages&lt;br /&gt;- J2EE framework solid background&lt;br /&gt;- experience with web applications architecture and development&lt;br /&gt;- knowledge in JBoss, Struts, Hibernate, CVS, XML, web services, JUnit and Ant&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-5134814461861794425?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/5134814461861794425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=5134814461861794425' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5134814461861794425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5134814461861794425'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/04/plan-for-programming-skills.html' title='Plan for programming skills'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-6684070699395499506</id><published>2010-04-13T16:09:00.002+03:00</published><updated>2010-04-13T16:10:10.894+03:00</updated><title type='text'>13-04-2010</title><content type='html'>1 ear master&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-6684070699395499506?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/6684070699395499506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=6684070699395499506' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/6684070699395499506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/6684070699395499506'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/04/13-04-2010.html' title='13-04-2010'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-570551719575497513</id><published>2010-04-13T16:09:00.001+03:00</published><updated>2010-04-13T16:09:48.596+03:00</updated><title type='text'>12-04-2010</title><content type='html'>1 ear master&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-570551719575497513?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/570551719575497513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=570551719575497513' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/570551719575497513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/570551719575497513'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/04/12-04-2010.html' title='12-04-2010'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-2563522180803475224</id><published>2010-04-12T09:29:00.000+03:00</published><updated>2010-04-12T09:30:21.185+03:00</updated><title type='text'>11-04-2010</title><content type='html'>X (4 ear master , metro 110 16th (legato and picking)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-2563522180803475224?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/2563522180803475224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=2563522180803475224' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/2563522180803475224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/2563522180803475224'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/04/11-04-2010.html' title='11-04-2010'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-2467557089018867096</id><published>2010-04-10T23:52:00.002+03:00</published><updated>2010-04-10T23:53:37.606+03:00</updated><title type='text'>10-04-2010</title><content type='html'>X (2 ear master , metro 105 16th (legato and picking)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-2467557089018867096?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/2467557089018867096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=2467557089018867096' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/2467557089018867096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/2467557089018867096'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/04/10-04-2010.html' title='10-04-2010'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-2767220878974108909</id><published>2010-04-08T19:51:00.002+03:00</published><updated>2010-04-08T19:54:45.983+03:00</updated><title type='text'>08-04-2010</title><content type='html'>some ear master (and make sure u can sing chromatic)&lt;br /&gt;&lt;br /&gt;guitar (scales and rehearsal baby I love your way, metallica )&lt;br /&gt;&lt;br /&gt;sql joins and decide on a good design pattern book.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-2767220878974108909?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/2767220878974108909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=2767220878974108909' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/2767220878974108909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/2767220878974108909'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/04/08-04-2010.html' title='08-04-2010'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-3707485736593639675</id><published>2010-02-18T00:54:00.005+02:00</published><updated>2010-02-18T01:15:48.524+02:00</updated><title type='text'>the morning</title><content type='html'>a) note names - drill 2&lt;br /&gt;b) tonic shapes&lt;br /&gt;c) caged - drill 2&lt;br /&gt;d) pentatonic shit - some new patterns&lt;br /&gt;e) maiden&lt;br /&gt;f) deep purple - smoke on the water&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-3707485736593639675?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/3707485736593639675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=3707485736593639675' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3707485736593639675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3707485736593639675'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/02/morning.html' title='the morning'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-3123393916463427799</id><published>2010-02-14T22:42:00.005+02:00</published><updated>2010-02-15T02:29:11.505+02:00</updated><title type='text'>plan again</title><content type='html'>so u know :&lt;br /&gt;ALL KEYS&lt;br /&gt;&lt;br /&gt;3 notes per string &lt;br /&gt;&lt;br /&gt;now do it caged&lt;br /&gt;&lt;br /&gt;pentatonic - two patterns per day&lt;br /&gt;&lt;br /&gt;modal - do backing tracks for every mode (Gambale , Machacek)&lt;br /&gt;&lt;br /&gt;chords - all chords in all keys ( 1st day - Maj 7, m7 , 7)&lt;br /&gt;----------------------------------------------------------&lt;br /&gt;&lt;br /&gt;after this week we're going to arpeggios, 2-5-1 in every key ( Danny Gill)&lt;br /&gt;continue with chords&lt;br /&gt;scales for chords - Joe Pass , Scott Henderson&lt;br /&gt;&lt;br /&gt;---------------------------------------------------------&lt;br /&gt;&lt;br /&gt;THE PATH TO FRETBOARD MASTERY&lt;br /&gt;1) NOTE NAMES&lt;br /&gt;Goal: know all notes on the fretboard&lt;br /&gt;&lt;br /&gt;observations &lt;br /&gt;a)go behind the nut to play E open string&lt;br /&gt;b)always go to the nearest note called.&lt;br /&gt;c)use always first finger only&lt;br /&gt;&lt;br /&gt;drill 1: call notes and work on each string at a time 6,5,1,4,3,2.&lt;br /&gt;drill 2: try in a position to call random note names.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2) TONIC SHAPES &amp; 3) TRANSPOSITION DRILLS&lt;br /&gt;Goal: See the diamond shape for every key&lt;br /&gt;&lt;br /&gt;drill 1: pick a tonic shape and then pick a note.&lt;br /&gt;If possible do it in both octaves.&lt;br /&gt;Stay with a tonic shape until you know it.&lt;br /&gt;&lt;br /&gt;drill 2: pick a key and play all tonic shapes.&lt;br /&gt;&lt;br /&gt;drill 3: pick a position and then pick a random note and play the tonic position&lt;br /&gt;you find in that position.&lt;br /&gt;&lt;br /&gt;4) MAJOR SCALE TEMPLATES (or CAGED)&lt;br /&gt;drill 1: play all shapes for a key. Remember to associate the shape&lt;br /&gt;for the scale with the tonic shape also.&lt;br /&gt;&lt;br /&gt;drill 2: pick a key and an interval in a shape. &lt;br /&gt;For example all the 2s - , all the 5s etc.&lt;br /&gt;You can do it with note names also.&lt;br /&gt;&lt;br /&gt;drill 3: pick a key and then pick an interval. &lt;br /&gt;         For example play all the 6s in C (A).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5) CHORD SHAPES&lt;br /&gt;&lt;br /&gt;Drill for CAGED&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-3123393916463427799?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/3123393916463427799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=3123393916463427799' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3123393916463427799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3123393916463427799'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/02/plan-again.html' title='plan again'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-8222703855117767560</id><published>2010-02-09T16:20:00.000+02:00</published><updated>2010-02-09T16:21:48.960+02:00</updated><title type='text'>09 feb - 2nd day of smth</title><content type='html'>1) tm?!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-8222703855117767560?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/8222703855117767560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=8222703855117767560' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/8222703855117767560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/8222703855117767560'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/02/09-feb-2nd-day-of-smth.html' title='09 feb - 2nd day of smth'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-5901898202268609404</id><published>2010-02-08T20:18:00.003+02:00</published><updated>2010-02-09T02:37:37.680+02:00</updated><title type='text'>08 feb - 1st day of Rain</title><content type='html'>ALL in circles of 5ths and 4ths&lt;br /&gt;1) learn 3 notes per string&lt;br /&gt;2) learn pentatonic &lt;br /&gt;3) learn CAGED &lt;br /&gt;&lt;br /&gt;4) Metallica solos - Enter Sandman&lt;br /&gt;5) Solfegii &lt;br /&gt;6) Ear Master&lt;br /&gt;&lt;br /&gt;7) Chords and applications??&lt;br /&gt;8) Composition - imi place sa fiu in lucruri complicate&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-5901898202268609404?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/5901898202268609404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=5901898202268609404' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5901898202268609404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5901898202268609404'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/02/08-feb-1st-day-of-rain.html' title='08 feb - 1st day of Rain'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-5335584755714204849</id><published>2010-01-05T12:15:00.003+02:00</published><updated>2010-01-05T18:39:45.111+02:00</updated><title type='text'>Master that riff</title><content type='html'>1) satch boogie&lt;br /&gt;2) lenny kravitz - always on the run&lt;br /&gt;3) lenny kravitz - american woman&lt;br /&gt;4) pantera - walk&lt;br /&gt;5) metallica - seek and destroy&lt;br /&gt;6)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-5335584755714204849?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/5335584755714204849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=5335584755714204849' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5335584755714204849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5335584755714204849'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/01/master-that-riff.html' title='Master that riff'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-1180329972729066655</id><published>2010-01-04T11:18:00.002+02:00</published><updated>2010-01-04T11:29:24.391+02:00</updated><title type='text'>go go go</title><content type='html'>koop - strange love feat. hilde louise - aceleasi tobe dar dupa 2-3 masuri niste distors&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-1180329972729066655?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/1180329972729066655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=1180329972729066655' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/1180329972729066655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/1180329972729066655'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2010/01/go-go-go.html' title='go go go'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-2942456099467803738</id><published>2009-12-15T13:42:00.002+02:00</published><updated>2009-12-15T14:01:12.955+02:00</updated><title type='text'>songs to remember 1</title><content type='html'>police - message in a bottle&lt;br /&gt;police - roxanne&lt;br /&gt;the cure - friday i'm in love&lt;br /&gt;the cure - just like heaven&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-2942456099467803738?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/2942456099467803738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=2942456099467803738' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/2942456099467803738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/2942456099467803738'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2009/12/songs-to-remember-1.html' title='songs to remember 1'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-2487076188581604611</id><published>2009-12-02T11:56:00.000+02:00</published><updated>2009-12-02T11:57:13.914+02:00</updated><title type='text'>wrist mo</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-2487076188581604611?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/2487076188581604611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=2487076188581604611' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/2487076188581604611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/2487076188581604611'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2009/12/wrist-mo.html' title='wrist mo'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-3860122818303415510</id><published>2009-11-24T22:29:00.002+02:00</published><updated>2009-11-24T23:38:13.047+02:00</updated><title type='text'>Acorduri</title><content type='html'>F7 Fmaj7&lt;br /&gt;Fm &lt;br /&gt;F6 = Dm7&lt;br /&gt;Fm6 = Dm7b5 = Bb9 w/o Bb&lt;br /&gt;&lt;br /&gt;Fm7b5&lt;br /&gt;F7b5&lt;br /&gt;F7#5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-3860122818303415510?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/3860122818303415510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=3860122818303415510' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3860122818303415510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3860122818303415510'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2009/11/acorduri.html' title='Acorduri'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-4217827913753490140</id><published>2009-11-20T15:26:00.004+02:00</published><updated>2009-11-20T15:38:33.253+02:00</updated><title type='text'>vineri 20 noiembrie</title><content type='html'>do &lt;br /&gt;&lt;br /&gt;solfeggio  quinta&lt;br /&gt;&lt;br /&gt;all chords&lt;br /&gt;&lt;br /&gt;CAGED on backing track - regular major and pentatonic&lt;br /&gt;&lt;br /&gt;tea and susana (adriano celentano)&lt;br /&gt;&lt;br /&gt;ear master&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-4217827913753490140?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/4217827913753490140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=4217827913753490140' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/4217827913753490140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/4217827913753490140'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2009/11/vineri-20-noiembrie.html' title='vineri 20 noiembrie'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-8851244544474912205</id><published>2009-11-11T14:57:00.002+02:00</published><updated>2009-11-11T15:16:07.835+02:00</updated><title type='text'>etp - songs to spell</title><content type='html'>stefan , stefan domn cel mare&lt;br /&gt;si daca dragoste nu e &lt;br /&gt;copilita fara minte&lt;br /&gt;margineanu  femei femei&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-8851244544474912205?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/8851244544474912205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=8851244544474912205' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/8851244544474912205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/8851244544474912205'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2009/11/etp-songs-to-spell.html' title='etp - songs to spell'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-5211264580081852760</id><published>2009-11-11T00:59:00.003+02:00</published><updated>2009-11-11T02:01:09.315+02:00</updated><title type='text'>etp2 10-11-09</title><content type='html'>20 min Bb harmonic intervals recognition&lt;br /&gt;20 min solfegio - jules arnoud (terta mare si mica)    &lt;br /&gt;20 min saraca inima me&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-5211264580081852760?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/5211264580081852760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=5211264580081852760' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5211264580081852760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/5211264580081852760'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2009/11/etp2-10-11-09.html' title='etp2 10-11-09'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-3917150620611982039</id><published>2009-11-05T11:51:00.004+02:00</published><updated>2009-11-05T17:43:16.992+02:00</updated><title type='text'>etp suggestions</title><content type='html'>make the pinch harmonic &lt;br /&gt;http://www.youtube.com/watch?v=60wlk7VamqQ&amp;feature=fvst&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;or this&lt;br /&gt;http://www.youtube.com/watch?v=5I5O8P-r5Rk&lt;br /&gt;&lt;br /&gt;http://www.youtube.com/watch?v=QA62zY6G8Hw&amp;feature=PlayList&amp;p=051D50BB80DEA091&amp;index=3&amp;playnext=2&amp;playnext_from=PL&lt;br /&gt;&lt;br /&gt;red house&lt;br /&gt;http://www.youtube.com/watch?v=CjOQ9r35uiU&amp;NR=1&amp;feature=fvwp&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-3917150620611982039?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/3917150620611982039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=3917150620611982039' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3917150620611982039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/3917150620611982039'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2009/11/etp-suggestions.html' title='etp suggestions'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-4533882973867182161</id><published>2009-11-04T13:12:00.000+02:00</published><updated>2009-11-04T13:13:04.900+02:00</updated><title type='text'>rsp - suggestions</title><content type='html'>sonatas and partitas by Bach&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-4533882973867182161?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/4533882973867182161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=4533882973867182161' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/4533882973867182161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/4533882973867182161'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2009/11/rsp-suggestions.html' title='rsp - suggestions'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-1457871858208067867</id><published>2009-11-04T02:03:00.001+02:00</published><updated>2009-11-04T02:03:55.149+02:00</updated><title type='text'>ip1 03-11-09</title><content type='html'>howard roberts - beginning his method&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-1457871858208067867?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/1457871858208067867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=1457871858208067867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/1457871858208067867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/1457871858208067867'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2009/11/ip1-03-11-09.html' title='ip1 03-11-09'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-8720333281117482449</id><published>2009-11-03T23:36:00.005+02:00</published><updated>2009-11-04T00:36:46.038+02:00</updated><title type='text'>rsp1 03-11-09</title><content type='html'>b loure suite no.4 - couple of rows&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-8720333281117482449?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/8720333281117482449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=8720333281117482449' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/8720333281117482449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/8720333281117482449'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2009/11/rsp1-03-11-09.html' title='rsp1 03-11-09'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-6741346134224981825</id><published>2009-11-03T22:07:00.004+02:00</published><updated>2009-11-04T00:37:12.237+02:00</updated><title type='text'>etp1 03-11-09</title><content type='html'>20 min Bb harmonic intervals recognition&lt;br /&gt;20 min solfegio  - jules arnoud (secunda mare si mica)&lt;br /&gt;20 min transcription - desteapta-te romane (1st verse)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-6741346134224981825?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/6741346134224981825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=6741346134224981825' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/6741346134224981825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/6741346134224981825'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2009/11/etp1-3-11-09.html' title='etp1 03-11-09'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-209912624834970009.post-6349491659406312320</id><published>2009-10-29T15:27:00.002+02:00</published><updated>2009-10-29T15:32:09.965+02:00</updated><title type='text'>Technique plan</title><content type='html'>80 min&lt;br /&gt;-------&lt;br /&gt;&lt;br /&gt;40 min oliver gannon (2 X 1st. low comping strings,1X 2nd high comping strings )&lt;br /&gt;20 min blues (101 blues licks )&lt;br /&gt;20 min alternate picking ( lick library continuing into guthrie govan )&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209912624834970009-6349491659406312320?l=pecodelucia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pecodelucia.blogspot.com/feeds/6349491659406312320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=209912624834970009&amp;postID=6349491659406312320' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/6349491659406312320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/209912624834970009/posts/default/6349491659406312320'/><link rel='alternate' type='text/html' href='http://pecodelucia.blogspot.com/2009/10/technique-plan.html' title='Technique plan'/><author><name>El_Peco_De_Lucia13</name><uri>http://www.blogger.com/profile/03042488689891292521</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
