onsdag 30. mars 2011

JavaScript libs

jQuery 1.5.1
http://jquery.com/


http://www.datatables.net


Oppsett


Verktøy
- Maven
- Eclipse
- MongoDB

Project setup

#. mkdir finn
#. touch pom.xml
#. http://ntnuws.blogspot.com/ -> Parent POM.xml
#. mvn archetype:generate -> 107 - webapp
#. JUnit 3.8.1 -> 4.8.1
#. mvn tomcat:run
#. mvn archetype:generate -> 104 - ntnu-ws-service
#. mvn archetype:generate -> 104 - ntnu-ws-persistence
# Remove App.java og AppTest.java
#. mvn eclipse:eclipse
#. Import to Eclipse
#. Set M2_REPO (HOME/.m2/repository) -> Project -> Properties > Java Build Path > Add variable...
#. Create Java src (source) folder in Eclipse
#. Create {appname}-servlet.xml -> http://ntnuws.blogspot.com/
#. Spring MVC - Add jar dependencies -> http://ntnuws.blogspot.com/
#. web.xml -> http://ntnuws.blogspot.com/
#. Example contoller
#. RSS parser -> http://forums.techarena.in/software-development/1104017.htm

Når man utvider pom.xml
mvn eclipse:clean eclipse:eclipse
-> Se at "Reference Liberaries" oppdaterer seg.

http://mvnrepository.com/ --> Finne artifakter/jars  

Opggaver


Oppgave 1.
-------


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
@RequestMapping("/ntnu")
public class MainController {

@RequestMapping("/start.htm")
public ModelAndView sayHello(){
return new ModelAndView("/start.jsp");
}


}

Oppgave 2.  - RSS parser

Oppgave 3. - JSON controller

Oppgave 4. - HTML-tabell med sortering
-------
Lag en HTML-tabell med data fra RSS:
leverandor_tekst
title
effektiv_rente
etableringsgebyr
mndbelop
mndbelopMedAvdrag
totalkostnad
lopetidAr
max_belaningsgrad_1_a
min_belaningsgrad_1_a

Legg på mulighet for å sortere ved hjelp av JavaScript (f.eks. jQuery 1.5.1 + DataTables)


Oppgave 5. - Graf ved hjelp av JavaScript
-------
Hent ut effektiv rente og totalkostnad fra tabellen og bruk HighCharts for å plotte dataen:
http://highcharts.com/demo/scatter

mandag 28. mars 2011

Jackson og Mongo driver

        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongo-java-driver</artifactId>
            <version>2.5</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-mapper-asl</artifactId>
        </dependency>

OBS! Det er en feil i koden over ;)

JSON controller example

@Controller
@RequestMapping("/boliglan/ajax")
public class FinnCodeAjaxController {

    @Autowired
    private FinnCodeService finnCodeService;

    @RequestMapping(value = "/finncode.json", method = RequestMethod.GET)
    @ResponseBody
    public PropertyAdvert getPropertyInfo(@RequestParam String finnCode) {

        PropertyAdvert propertyAdvert = finnCodeService.findPropertyInfoByFinnCode(finnCode);

        if (propertyAdvert == null) {
            return new PropertyAdvert();
        }

        return propertyAdvert;
    }
}

web.xml


<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.4"
         xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
         http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >

  <servlet>
    <servlet-name> ** DITT APP NAVN ** </servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>** DITT APP NAVN ** </servlet-name>
    <url-pattern>*.htm</url-pattern>
  </servlet-mapping>

  <welcome-file-list>
    <welcome-file>
      index.jsp
    </welcome-file>
  </welcome-file-list>

</web-app>

JUnit 4 og Spring Web App Dependencies

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>


<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>