Updates from August, 2012 Toggle Comment Threads | Keyboard Shortcuts

  • Subinkrishna Gopi 10:43 am on August 24, 2012 Permalink |
    Tags: , , , jquery, , ,   

    Today’s read: Useful jQuery Function Demos For Your Projects 

    Smashing Magazine

    This one is a real good one. This article from Smashing Magazine gives you a very high level view of what jQuery can do. A real good starter for those who want to try out the possibilities of jQuery in their projects.

    Every aspiring Web developer should know about the power of JavaScript and how it can be used to enhance the ways in which people see and interact with Web pages. Fortunately, to help us be more productive, we can use the power of JavaScript libraries, and in this article we will take a good look at jQuery in action.

    Source: Smashing Magazine / Useful jQuery Function Demos For Your Projects

    Have a good read and make your hands dirty.

    Advertisements
     
  • Subinkrishna Gopi 8:17 pm on July 2, 2012 Permalink |
    Tags: , input, io, , , output,   

    My most favorite methods – part 2 

    Okay, here’s the second one. And it took me a few months to write this one 😛

    /**
     * Copies from an {@link InputStream} to an {@link OutputStream}
     *
     * @param from
     * @param to
     */
    public static void copyStream(InputStream from, OutputStream to)
    {
    	byte[] contents = null;
    	int count = -1;
    
    	if ((null != from) && (null != to))
    	{
    		try
    		{
    			contents = new byte[1024];
    			while (-1 != (count = from.read(contents)))
    			{
    				to.write(contents, 0, count);
    			}
    		}
    		catch (Exception e)
    		{
    			e.printStackTrace();
    		}
    		finally
    		{
    			contents = null;
    		}
    	}
    }
    

    This method copies the contents from the input stream to the output stream. Do I need to explain more?

     
    • Andy Res 9:14 pm on July 2, 2012 Permalink

      It’s funny the way how you write the condition in the if and while loop, like you are checking the “null” and “-1” against your variables, which seems unusual for me. 🙂
      I would write instead if(from!=null), and while((count=from.read(contents))!=-1) ..

    • Subinkrishna G 11:09 am on July 3, 2012 Permalink

      This is one practice that I follow from beginning 😉

  • Subinkrishna Gopi 4:37 pm on April 10, 2012 Permalink |
    Tags: , favorite, ,   

    My most favorite methods – Part 1 

    This is my most favorite/commonly used/useful method. This method checks if the given string is valid or not.

    /**
    * Checks if the given string is valid or not.
    *
    * @param aString
    * @return {@code true} if {@code aString} is not {@code null} and if it's
    *         'trimmed' length is more than 0, else {@code false}
    */
    static boolean isValidString(String aString)
    {
       return ((null != aString) && (aString.trim().length() > 0));
    }
    
     
    • Stuart 4:48 pm on April 10, 2012 Permalink

      I prefer the StringUtils.isNotBlank() from org.apache.commons-lang3

      Also, you shouldn’t really be comparing strings with “!=” or “==” should you?

    • Subinkrishna G 11:15 am on April 18, 2012 Permalink

      I am not a big fan of Apache Commons 😉 Yes, I agree that we should not compare the strings using ‘!=’or ‘==’. But here I am not comparing the strings, in fact I am doing a null check.

    • Stuart 11:39 am on April 18, 2012 Permalink

      Personally I think having all the little helper functions lumped into one place is quite useful, but then I write a lot of small programs, so having easy access to lang3 with maven does make my life a little easier!

      Doh! of course, null comparison, point taken 🙂

  • Subinkrishna Gopi 2:41 pm on October 5, 2011 Permalink |
    Tags: , database, db2,   

    An encounter with DB2 – How to apply “limit” to queries? 

    My new assignment wanted me to experiment with DB2. And like everyone else who is new to DB2, I couldn’t find a way to limit the result set! After a lot of googling and phone calls I ended up with a stupid solution – but it works.

    The solution looks like this:

    SELECT * FROM
    	( SELECT ROW_NUMBER() OVER (ORDER BY column_to_be_sorted) AS rownumber, col1, col2, other_cols
    	  FROM my_db2_table WHERE col1 = ‘something’ )
    AS tmp_table
    WHERE rownumber BETWEEN start_index AND end_index
    

    I hope this helps. But I really wish if there was some better ways.

     
  • Subinkrishna Gopi 5:56 pm on October 18, 2010 Permalink |
    Tags: , DBMS, , ejb3, entity, hibernate, , ORM, query, , session   

    How-to: Write a named query for an entity bean with composite key 

    I was working on an EJB3 project where I had to write an entity bean with a composite primary key. And I needed to write a named query to which had to use a sub set of the composite key. And this is what I did.

    The entity bean and the composite key:

    import javax.persistence.Column;
    import javax.persistence.EmbeddedId;
    import javax.persistence.Entity;
    import javax.persistence.NamedQueries;
    import javax.persistence.NamedQuery;
    import javax.persistence.Table;
    
    @Entity
    @Table (name = "myTable")
    public class MyEntityBean implements Serializable
    {
        @EmbeddedId
        private MyCompositeKey key;
    
        // Other instance members
    
        @Column (name = "value")
        private String value;
    
        // Getters & setters
        ...
    }
    
    import java.io.Serializable;
    import javax.persistence.Column;
    import javax.persistence.Embeddable;
    
    @Embeddable
    public class MyCompositeKey implements Serializable
    {
        @Column (name = "key1", nullable = false)
        private String key1;
    
        @Column (name = "key2", nullable = false)
        private String key2;
    
        // Getters & setters
        ....
    }
    

    The equivalent database table will look like:

    +---------------+--------------+------+-----+---------+-------+
    | Field         | Type         | Null | Key | Default | Extra |
    +---------------+--------------+------+-----+---------+-------+
    | key1          | varchar(255) | NO   | PRI |         |       |
    | key2          | varchar(255) | NO   | PRI |         |       |
    | value         | varchar(255) | YES  |     |         |       |
    +---------------+--------------+------+-----+---------+-------+
    

    Writing a named query which makes use of the elements of the composite key is a li’l tricky. Take a look at the following SQL statement which tries to fetch all the records from the table for a matching key1.

    SELECT * FROM myTable WHERE key1='some value';
    

    Embedding the named query in MyEntityBean.

    @Entity
    @Table (name = "myTable")
    @NamedQueries
    ({
        @NamedQuery(
            name = "myQuery",
            query = "SELECT FROM MyEntityBean b WHERE key.key1 = :key1" )
    })
    public class MyEntityBean implements Serializable
    {
        ...
    }
    

    We should be careful about the use of the variable name in the named query. In the named query, we are supposed to use the name of the composite key exactly the same as what we have specified in the bean.

    This query can be accessed from a session bean with the help of EntityManager.

    import javax.ejb.Remote;
    import javax.ejb.Stateless;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    import javax.persistence.Query;
    
    @Remote
    @Stateless (name = "MySessionBean")
    public class MySessionBeanImpl implements SessionBean
    {
        @PersistenceContext
        private EntityManager entityManager;
    
        public void myMethod(String key)
        {
        	Query aQuery = null;
    
        	aQuery = this.entityManager.createNamedQuery("myQuery");
            aQuery.setParameter("key1", key);
    
            List resultList = aQuery.getResultList();
    
            .....
        }
    }
    

    Hope this helps. Have a good day 🙂

     
c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r
Reply
e
Edit
o
Show/Hide comments
t
Go to top
l
Go to login
h
Show/Hide help
shift + esc
Cancel