Tuesday 14 May 2013

Cannot access empty property in PHP

,

Error

  Cannot access empty property in Test.php on line 90

Reason 

  1. You put a dollar sign in the wrong place on a member variable.


$this->$test = 8;   // $test is wrong


Possible solution :

  1. Put your dollar sign in correct place.

 $this->test = 8;    // test is right

>
Read more →

Saturday 11 May 2013

Error Messages in Rails - {{attribute}} {{message}}

,

Error : Error Messages in Rails - {{attribute}} {{message}}

Reason 

  1. You'll get this error when running Rails 2.3.8 and older.

Possible solution :

  1. Check for correct version of i18n.
  2. First check installed i18n version and then open your Gemfile to see correct version of i18n.
  3. Uninstall incompatible i18n version  and install correct version of i18n found in Gemfile
Read more →

Wednesday 16 January 2013

org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session

,

Exception: 

com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Access denied for user ''@'localhost' to database 'school' at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:885) at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3421) at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1247) at com.mysql.jdbc.Connection.createNewIO(Connection.java:2775) at com.mysql.jdbc.Connection.(Connection.java:1555) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:154)...

Reason 

  1. you are passing transient object instead of persistent object for delete

Possible solution : 

  1. Pass persistent object instead of transient object.

For example :

you would be trying something like this.Here studentToDelete is transient.

    public void deleteStudent(Student studentToDelete)
    {
        Session session = HibernateUtil.getSessionFactory().openSession();
        session.beginTransaction();
        // Here studentToDelete is transient object
        session.delete(studentToDelete);
        session.getTransaction().commit();
        session.flush();
    }

We will remove persisted object and pass to delete function like below one.

    public void deleteStudentA(Student studentToDelete)
    {
        Session session = HibernateUtil.getSessionFactory().openSession();
        session.beginTransaction();
        // Getting persisted object of Student.
        Student persistentStudent = (Student) session.get(Student.class, studentToDelete.getId());
        session.delete(persistentStudent);
        session.getTransaction().commit();
        session.flush();
    }
Read more →

Tuesday 15 January 2013

javax.servlet.jsp.JspException: Cannot find message resources under key org.apache.struts.action.MESSAGE

,

Exception: 

javax.servlet.jsp.JspException: Cannot find message resources under key org.apache.struts.action.MESSAGE at org.apache.struts.taglib.TagUtils.retrieveMessageResources(TagUtils.java:1189) at org.apache.struts.taglib.TagUtils.message(TagUtils.java:1038) at org.apache.struts.taglib.TagUtils.message(TagUtils.java:1013) at org.apache.struts.taglib.bean.WriteTag.retrieveFormatString(WriteTag.java:254) at org.apache.struts.taglib.bean.WriteTag.formatValue(WriteTag.java:317) at org.apache.struts.taglib.bean.WriteTag.doStartTag(WriteTag.java:232)...

Reason 

  1. you have not included properties file in  resource stuts config file.

Possible solution : 

  1. Define a property file and add in resources of struts-config.xml.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC 
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" 
"http://jakarta.apache.org/struts/dtds/struts-config_1_3.dtd">
 
<struts-config>
 
    <message-resources
        parameter="com.test.common.properties.person" />
 
</struts-config>

Read more →

Monday 14 January 2013

com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Access denied for user ''@'localhost' to database 'school'

,

Exception: 

java.lang.ClassNotFoundException: javax.transaction.Synchronization at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233) at org.hibernate.impl.SessionImpl.(SessionImpl.java:248) at org.hibernate.impl.SessionFactoryImpl.openSession(SessionFactoryImpl.java:627) at org.hibernate.impl.SessionFactoryImpl.openSession(SessionFactoryImpl.java:651) at org.hibernate.impl.SessionFactoryImpl.openSession(SessionFactoryImpl.java:659)...

Reason 

you have not included jta.jar 

Possible solution : 

  1. Download jta.jar from http://mvnrepository.com/artifact/javax.transaction/jta
    and include it in library.
    2. For maven user, Include  jta in pom.xml
        
<dependency>
    <groupId>javax.transaction</groupId>
    <artifactId>jta</artifactId>
    <version>1.1</version>
</dependency>
Read more →