Monday, November 30, 2015

Defining multiple controller

<div class="widget" ng-controller="widgetController">
    <p>Stuff here</p>
</div>

<div class="menu" ng-controller="menuController">
    <p>Other stuff here</p>
</div>
 
 
function widgetController($scope) {
   // stuff here
}

function menuController($scope) {
   // stuff here
} 

Friday, November 27, 2015

Simple post request response

$(document).ready(function() {

    //Stops the submit request
    $("#myAjaxRequestForm").submit(function(e){
           e.preventDefault();
    });
  
    //checks for the button click event
    $("#myButton").click(function(e){
         
            //get the form data and then serialize that
            dataString = $("#myAjaxRequestForm").serialize();
          
            //get the form data using another method
            var countryCode = $("input#countryCode").val();
            dataString = "countryCode=" + countryCode;
          
            //make the AJAX request, dataType is set to json
            //meaning we are expecting JSON data in response from the server
            $.ajax({
                type: "POST",
                url: "CountryInformation",
                data: dataString,
                dataType: "json",
              
                //if received a response from the server
                success: function( data, textStatus, jqXHR) {
                    //our country code was correct so we have some information to display
                     if(data.success){
                         $("#ajaxResponse").html("");
                         $("#ajaxResponse").append("<b>Country Code:</b> " + data.countryInfo.code + "<br/>");
                         $("#ajaxResponse").append("<b>Country Name:</b> " + data.countryInfo.name + "<br/>");
                         $("#ajaxResponse").append("<b>Continent:</b> " + data.countryInfo.continent + "<br/>");
                         $("#ajaxResponse").append("<b>Region:</b> " + data.countryInfo.region + "<br/>");
                         $("#ajaxResponse").append("<b>Life Expectancy:</b> " + data.countryInfo.lifeExpectancy + "<br/>");
                         $("#ajaxResponse").append("<b>GNP:</b> " + data.countryInfo.gnp + "<br/>");
                     }
                     //display error message
                     else {
                         $("#ajaxResponse").html("<div><b>Country code in Invalid!</b></div>");
                     }
                },
              
                //If there was no resonse from the server
                error: function(jqXHR, textStatus, errorThrown){
                     console.log("Something really bad happened " + textStatus);
                      $("#ajaxResponse").html(jqXHR.responseText);
                },
              
                //capture the request before it was sent to server
                beforeSend: function(jqXHR, settings){
                    //adding some Dummy data to the request
                    settings.data += "&dummyData=whatever";
                    //disable the button until we get the response
                    $('#myButton').attr("disabled", true);
                },
              
                //this is called after the response or error functions are finsihed
                //so that we can take some action
                complete: function(jqXHR, textStatus){
                    //enable the button
                    $('#myButton').attr("disabled", false);
                }
    
            });       
    });

});


<html>
<head>
    <title>jQuery Ajax POST data Request and Response Example</title>

    <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
  
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js" type="text/javascript"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js" type="text/javascript"></script>
    <script type="text/javascript" src="app.js"></script>

</head>
<body>

    <form id="myAjaxRequestForm">
        <fieldset>
            <legend>jQuery Ajax Form data Submit Request</legend>

                <p>
                    <label for="countryCode">Country Code:</label><br />
                    <input id="countryCode" type="text" name="countryCode" />
                </p>
                <p>
                    <input id="myButton" type="button" value="Submit" />
                </p>
        </fieldset>
    </form>
    <div id="anotherSection">
        <fieldset>
            <legend>Response from jQuery Ajax Request</legend>
                 <div id="ajaxResponse"></div>
        </fieldset>
    </div>  

</body>
</html>

Simple Ajax request response

<!DOCTYPE html>
<html>
    <head>
        <title>Hello jQuery</title>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
        <script src="app.js"></script>
    </head>

    <body>
        <div>
            <p class="greeting-id">The ID is </p>
            <p class="greeting-content">The content is </p>
        </div>
    </body>
</html>


$(document).ready(function() {
    $.ajax({
        url: "http://rest-service.guides.spring.io/greeting"
    }).then(function(data) {
       $('.greeting-id').append(data.id);
       $('.greeting-content').append(data.content);
    });
});

Thursday, November 26, 2015

Backbone.Collection

collections are ordered sets of models, where you can get and set models in the collection, listen for events when any element in the collection changes, and fetching for model’s data from the server

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <title>To-do App in Backbone.js</title>
 
  <!-- ========= -->
  <!--    CSS    -->
  <!-- ========= -->
  <style type="text/css">
    /* Hides bullet points from todo list */
    #todoapp ul {
      list-style-type: none;
    }
  </style> 
</head>
<body>
  <!-- ========= -->
  <!-- Your HTML -->
  <!-- ========= -->

    <section id="todoapp">
    <header id="header">
      <h1>Todos</h1>
      <input id="new-todo" placeholder="">
    </header>
    <section id="main">
      <ul id="todo-list"></ul>
    </section>
  </section>
 

 

  <!-- ========= -->
  <!-- Libraries -->
  <!-- ========= -->
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
  <script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.3/underscore-min.js" type="text/javascript"></script>
  <script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.2/backbone-min.js" type="text/javascript"></script>
  <script src="http://cdnjs.cloudflare.com/ajax/libs/backbone-localstorage.js/1.0/backbone.localStorage-min.js" type="text/javascript"></script>

  <!-- =============== -->
  <!-- Javascript code -->
  <!-- =============== -->
  <script type="text/javascript">
    'use strict';

    var app = {}; // create namespace for our app
   
    //--------------
    // Models
    //--------------
    app.Todo = Backbone.Model.extend({
      defaults: {
        title: '',
        completed: false
      }
    });

    app.TodoList = Backbone.Collection.extend({
        model: app.Todo,
        localStorage: new Store("backbone-todo")
      });

      // instance of the Collection
      app.todoList = new app.TodoList();

   
  
    //--------------
    // Initializers
    //--------------  

    app.appView = new app.AppView();

  </script>
 
</body>
</html>

Backbone.Model

Models  contains the interactive data and the logic surrounding it, such as data validation, getters and setters, default values, data initialization, conversions .

following code creates model with 2 instance variables  title and completed
var app = {}; // create namespace for our app

    app.Todo = Backbone.Model.extend({
      defaults: {
        title: '',
        completed: false
      }
    });

execute following in browser console 
var todo = new app.Todo({title: 'Learn Backbone.js', completed: false}); // create object with the attributes specified.
todo.get('title'); // "Learn Backbone.js" 

Backbone’s Templates

Backbone has a utility/helper library called underscore.js and you can use their template solution out of box.

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <title>Hello World in Backbone.js</title>
</head>
<body>
  <!-- ========= -->
  <!-- Your HTML -->
  <!-- ========= -->

  <div id="container">Loading...</div>

  <!-- ========= -->
  <!-- Libraries -->
  <!-- ========= -->
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
  <script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.3/underscore-min.js" type="text/javascript"></script>
  <script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.2/backbone-min.js" type="text/javascript"></script>
  <script src="http://cdnjs.cloudflare.com/ajax/libs/backbone-localstorage.js/1.0/backbone.localStorage-min.js" type="text/javascript"></script> 
 
  <!-- =============== -->
  <!-- Javascript code -->
  <!-- =============== -->
  <script type="text/javascript">
    var AppView = Backbone.View.extend({
      el: $('#container'),
      // template
      template: _.template("<h3>Hello <%= who %><h3>"),
      initialize: function(){
        this.render();
      },
      render: function(){
        this.$el.html(this.template({who: 'world!'}));
      }
    });

    var appView = new AppView();
  </script>
 
</body>
</html>

Backbone’s Views

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <title>Hello World in Backbone.js</title>
</head>
<body>
  <div id="container">Loading...</div>
  <!-- ========= -->
  <!-- Your HTML -->
  <!-- ========= -->

  <!-- ========= -->
  <!-- Libraries -->
  <!-- ========= -->
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
  <script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.3/underscore-min.js" type="text/javascript"></script>
  <script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.2/backbone-min.js" type="text/javascript"></script>
  <script src="http://cdnjs.cloudflare.com/ajax/libs/backbone-localstorage.js/1.0/backbone.localStorage-min.js" type="text/javascript"></script> 
 
  <!-- =============== -->
  <!-- Javascript code -->
  <!-- =============== -->
  <script type="text/javascript">
  var AppView = Backbone.View.extend({
      // el - stands for element. Every view has a element associate in with HTML
      //      content will be rendered.
      el: '#container',
      // It's the first function called when this view it's instantiated.
      initialize: function(){
        this.render();
      },
      // $el - it's a cached jQuery object (el), in which you can use jQuery functions
      //       to push content. Like the Hello World in this case.
      render: function(){
        this.$el.html("Hello World");
      }
    });
  //var appView = new AppView();
  </script>
 
</body>
</html>

Transition from one event to another using web service

<!DOCTYPE html>
<html>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>

<div ng-app="myApp" ng-controller="personCtrl">


<p ng-hide="myVar">
User name: <input type=text ng-model="names.id"><br>
Password: <input type=text ng-model="names.title"><br><br>

<button ng-click="toggle()">submit</button>

</p>

<p ng-hide="myVar1">
welcome
<p></p>
User name: <input type=text ng-model="names.id"><br>
Password: <input type=text ng-model="names.title"><br><br>


</p>



</div>

<script>
var app = angular.module('myApp', []);
app.controller('personCtrl', function($scope,$http) {
    $scope.firstName = "John",
    $scope.lastName = "Doe"
   
   

    $scope.toggle = function() {
        $scope.myVar = !$scope.myVar;
        $scope.myVar1 = $scope.myVar1;
        $http.get("http://jsonplaceholder.typicode.com/posts/1")

        .success(function (response) {
           
            $scope.names = response;
            $scope.id=names.postId;
            $scope.title=names.title;
           


           
        }
       
        );
    };
});
</script>

</body>
</html>

Event and Web Service

<!DOCTYPE html>
<html>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>

<div ng-app="myApp" ng-controller="personCtrl">


<p ng-hide="myVar">
First Name: <input type=text ng-model="names.id"><br>
Last Name: <input type=text ng-model="names.title"><br><br>

<button ng-click="toggle()">submit</button>

</p>

</div>

<script>
var app = angular.module('myApp', []);
app.controller('personCtrl', function($scope,$http) {
    $scope.firstName = "John",
    $scope.lastName = "Doe"
    $scope.myVar = false;
    $scope.toggle = function() {
        $http.get("http://jsonplaceholder.typicode.com/posts/1")

        .success(function (response) {
           
            $scope.names = response;
            $scope.id=names.postId;
            $scope.title=names.title;

           
        }
       
        );
    };
});
</script>

</body>
</html>

Setting data from web service

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Example - example-example60-production</title>
 

  <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.0-beta.2/angular.min.js"></script>
 

 
</head>
<body ng-app="bindExample">
  <script>
  var app = angular.module('bindExample', []);
  app.controller('ExampleController', function($scope, $http) {
      $http.get("http://jsonplaceholder.typicode.com/posts/1")

    .success(function (response) {
       
        $scope.names = response;
        $scope.id=names.postId;
        $scope.title=names.title;

       
    }
   
    );
  });
</script>
<div ng-controller="ExampleController">
    <label>Id <input type="text" ng-model="names.id"></label><br>
        <label>Msg <input type="text" ng-model="names.title"></label><br>
   
    
 
 
</div>
</body>
</html>

ContextLoaderListener

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>SpringMVCloginExample</display-name>
  <!-- <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener> -->
 
  <servlet>
<servlet-name>springLoginApplication</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--  <init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath://resource//springWeb.xml</param-value>
</init-param>-->
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
      <servlet-name>springLoginApplication</servlet-name>
      <url-pattern>/</url-pattern>
   </servlet-mapping>
 
</web-app>

This configuration does not searches for applicationcontext.xml file but also searches for springLoginApplication-servlet.xml in WEB-INF folder .You can import other xml file in springLoginApplication-servlet.xml WEB-INF folder

content of springLoginApplication-servlet.xml  and springBeanConfiguration.xml file must be within
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
   http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
   http://www.springframework.org/schema/context
   http://www.springframework.org/schema/context/spring-context-3.0.xsd">

<context:component-scan base-package="com.jcg" />

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
      <property name="prefix" value="/jsp/" />
      <property name="suffix" value=".jsp" />
     
   </bean>
 

   
   
   
     
 
   
     
 
 




<import resource="springBeanConfiguration.xml"/>


</beans>

Dispatcher Servlet

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>SpringMVCloginExample</display-name>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
 
  <servlet>
<servlet-name>springLoginApplication</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--  <init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath://resource//springWeb.xml</param-value>
</init-param>-->
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
      <servlet-name>springLoginApplication</servlet-name>
      <url-pattern>/</url-pattern>
   </servlet-mapping>
 
</web-app>

This configuration searches for springLoginApplication-servlet.xml and applicationContext.xml in WEB-INF folder

Wednesday, November 25, 2015

AngularJS $http table example

<!DOCTYPE html>
<html>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<style>
table, th , td  {
  border: 1px solid grey;
  border-collapse: collapse;
  padding: 5px;
}
table tr:nth-child(odd)    {
  background-color: #f1f1f1;
}
table tr:nth-child(even) {
  background-color: #ffffff;
}
</style>
<body>

<div ng-app="myApp1" ng-controller="customersCtrl1">


<table>
  <tr ng-repeat="x in names">
    <td>{{ x.postId }}</td>
    <td>{{ x.id }}</td>
        <td>{{ x.email }}</td>
   
        <td>{{ x.body }}</td>
   
       
   
  </tr>
</table>   



</div>

<script src="js/table.js"></script>

</body>
</html>


var app = angular.module('myApp1', []);
app.controller('customersCtrl1', function($scope, $http) {
    $http.get("http://jsonplaceholder.typicode.com/posts/1/comments")

  .success(function (response) {$scope.names = response});
});

AngularJS $http populating single object

<!DOCTYPE html>
<html>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>

<div ng-app="myApp1" ng-controller="customersCtrl1">


    {{ names.userId}}
        {{ names.id}}
   
        {{ names.title}}
   
        {{ names.body}}
   



</div>

<script src="js/personController.js"></script>

</body>
</html>

var app = angular.module('myApp1', []);
app.controller('customersCtrl1', function($scope, $http) {
    $http.get("http://jsonplaceholder.typicode.com/posts/1")

  .success(function (response) {$scope.names = response});
});

AngularJS $http populating list objects

<!DOCTYPE html>
<html>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>

<div ng-app="myApp1" ng-controller="customersCtrl1">

<ul>
  <li ng-repeat="x in names">
    {{ x.Name + ', ' + x.Country }}
  </li>
</ul>

</div>

<script src="js/personController.js"></script>

</body>
</html>

var app = angular.module('myApp1', []);
app.controller('customersCtrl1', function($scope, $http) {
  $http.get("http://www.w3schools.com/angular/customers.php")
  .success(function (response) {$scope.names = response.records;});
});

Array of Objects

<!DOCTYPE html>
<html>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>

<div ng-app="abishkar" ng-controller="democntrl">

<ul>
  <li ng-repeat="x in names">
    {{ x.name + ', ' + x.country }}
  </li>
</ul>

</div>

<script src="js/personController.js"></script>

</body>
</html>

 angular.module('abishkar', []).controller('democntrl', function($scope) {
    $scope.names = [
        {name:'abi',country:'nepal'},
        {name:'abi1',country:'nepal'},
        {name:'abi2',country:'nepal'}
    ];
});

Controllers In External Files

<!DOCTYPE html>
<html>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>

<div ng-app="myApp" ng-controller="personCtrl">

First Name: <input type="text" ng-model="firstName"><br>
Last Name: <input type="text" ng-model="lastName"><br>
<br>
Full Name: {{firstName + " " + lastName}}

</div>

<script src="js/personController.js"></script>

</body>
</html>
inside js folder
var app = angular.module('myApp', []);
app.controller('personCtrl', function($scope) {
    $scope.firstName = "John";
    $scope.lastName = "Doe";
    $scope.fullName = function() {
        return $scope.firstName + " " + $scope.lastName;
    };
});

Controller Methods

<!DOCTYPE html>
<html>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>

<div ng-app="myApp" ng-controller="personCtrl">

 Name: <input type="text" ng-model="name"><br>
 Email: <input type="text" ng-model="email"><br>
<br>
Full Name: {{fullName()}}

</div>

<script>
var app = angular.module('myApp', []);
app.controller('personCtrl', function($scope) {
    $scope.name = "abishkar";
    $scope.email = "abishkar";
    $scope.fullName = function() {
        return $scope.name + " " + $scope.email;
    };
});
</script>

</body>
</html>

Tuesday, November 24, 2015

data-ng-init and ng-repeat

<!DOCTYPE html>
<html>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>

<div data-ng-app="" data-ng-init="names=['abi','shk','ar']">
  <p></p>
 
    <li data-ng-repeat="x in names">
      {{ x }}
    </li>
 
</div>

</body>
</html>

AngularJS Objects

<!DOCTYPE html>
<html>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>

<div ng-app="" ng-init="user={name:'abishkar',email:'abishkar@'}">
<div ng-app="" ng-init="person={user:'abishkar',email:'abishkar@'}">

<p>The name is {{ user.email }}</p>
<p>The name is {{ person.email }}</p>

</div>

</body>
</html>

ng-app and ng-controller


I this case i have manually set may case but in actual this data come from web service
<!DOCTYPE html>
<html>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>



<div ng-app="demoapp" ng-controller="demoCtrl">

First Name: <input type="text" ng-model="firstName"><br>
Last Name: <input type="text" ng-model="lastName"><br>
<br>
Full Name: {{firstName + " " + lastName}}

</div>

<script>
var app = angular.module('demoapp', []);
app.controller('demoCtrl', function($scope) {
    $scope.firstName= "abishkar";
    $scope.lastName= "bhattarai";
});
</script>

</body>
</html>

AngularJS Expressions

<!DOCTYPE html>
<html>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>

<div ng-app="">


<p>Name: <input type="text" ng-model="name"></p>
<p>Email: <input type="text" ng-model="email"></p>
<p>{{name}}</p>
<p>{{email}}</p>

<p>Country Code: {{ +977}}</p>

</div>

</body>
</html>

data-ng-app and data-ng-init and data-ng-bind

<!DOCTYPE html>
<html>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>

<div data-ng-app="" data-ng-init="firstName='abishkar'">
<div data-ng-app="" data-ng-init="lastname='bhattarai'">

<p>The name is <span data-ng-bind="firstName"></span></p>
<p>The last name is <span data-ng-bind="lastname"></span></p>

</div>
</div>
</body>
</html>

ng-app and ng-init and ng-bind

<!DOCTYPE html>
<html>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>

<div ng-app="" ng-init="firstName='abishkar'">

<p>The name is <span ng-bind="firstName"></span></p>

</div>

</body>
</html>

ng-bind and ng-model and ng-app

<!DOCTYPE html>
<html>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>

<div ng-app="">

<p>Input something in the input box:</p>
<p>Name: <input type="text" ng-model="name"></p>
<p>Email: <input type="text" ng-model="email"></p>
<p ng-bind="name"></p>
<p ng-bind="email"></p>

</div>

</body>
</html>

ng-model and ng-app

<!DOCTYPE html>
<html>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>

<div ng-app="">

<p>Input something in the input box:</p>
<p>Name : <input type="text" ng-model="name"></p>
<p>Email: <input type="text" ng-model="email"></p>
<h1> {{name}}</h1>
<h1> {{email}}</h1>

</div>

</body>
</html>

Saturday, November 21, 2015

Hadoop Installation and Map reduce execution

Take reference from site
http://www.srccodes.com/p/article/38/build-install-configure-run-apache-hadoop-2.2.0-microsoft-windows-os
for hadoop setup on window

start


c:\hadoop>sbin\start-dfs
c:\hadoop>sbin\start-yarn
starting yarn daemons

To execute map reduce

first make folder
execute following command
bin\hdfs dfs -mkdir /user

bin\hdfs dfs -mkdir /user/Dell

bin\hdfs dfs -mkdir /user/Dell/input

it will create user directory
/user/Dell/input

After that

load data on that directory /user/Dell/input

create folder c:/file/file1.txt
execute following command

bin\hdfs dfs -copyFromLocal c:/file/file1.txt /user/Dell/input


now execute bin\yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount input output

Reference
http://www.srccodes.com/p/article/45/run-hadoop-wordcount-mapreduce-example-windows


localhost:50070/dfsnodelist.jsp
http://localhost:8088/cluster

Tuesday, November 17, 2015

Comparison of Hadoop version hadoop-1.2.1 and hadoop-2.2.0

On running hadoop mapreduce on window using version  hadoop-1.2.1 on executing mapreduce
with command bin/hadoop jar map.jar WordCount Input output
There is pending for map and reduce as shown in below image
It is the case for version hadoop-1.2.1 in window operating system

Similarly running mapreduce program using hadoop-2.2.0 on window 32 bit system there is problem with cg winutils.exe


Monday, November 16, 2015

Executing Java class

loadMockClusters() {
START_HERE="/home/git-repo/BigDinosaur";
cd $START_HERE;

echo -e "\nLoading Excel File";
  export BigDinosaur_HOME=/opt/BigDinosaur/tomcat/webapps/BigDinosaur2/WEB-INF
export BigDinosaur_LIB=$BigDinosaur_HOME/lib/*
export CLASSPATH=$CLASSPATH:$BigDinosaur_HOME/classes:$BigDinosaur_LIB

java com.BigDinosaur.util.LoadMockClusters master 5 riskdata
}

case $1 in

loadMockClusters)
    loadMockClusters
;;

Exectuing maven package command

package() {
stop

START_HERE="/home/git-repo/BigDinosaur";
cd $START_HERE;

echo -e "\nPreparing For Package for $START_HERE\n";
sudo rm -rf /home/git-repo/BigDinosaur/.classpath
sudo rm -rf /home/git-repo/BigDinosaur/.project
sudo  chown BigDinosaur /home/git-repo/BigDinosaur
sudo chmod -R 777 /home/git-repo/BigDinosaur
mvn clean
    mvn eclipse:clean
    mvn eclipse:eclipse
    mvn package -P pd -Dmaven.test.skip=true
sudo rm -rf /opt/BigDinosaur/tomcat/webapps/BigDinosaur2
sudo rm -rf /opt/BigDinosaur/tomcat/webapps/BigDinosaur2.war
mv /home/git-repo/BigDinosaur/target/BigDinosaur2.war /opt/BigDinosaur/tomcat/webapps

start
sleep 60

    cp /home/git-repo/BigDinosaur/src/main/java/keystore.jks /opt/BigDinosaur/tomcat/webapps/BigDinosaur2/WEB-INF/classes/keystore.jks
cp /home/git-repo/BigDinosaur/src/main/java/resources/loader/basedata/basedata.xlsx /opt/BigDinosaur/tomcat/webapps/BigDinosaur2/WEB-INF/classes/resources/loader/basedata
cp /home/git-repo/BigDinosaur/src/main/java/com/BigDinosaur/controller/ui/component/*.xml /opt/BigDinosaur/tomcat/webapps/BigDinosaur2/WEB-INF/classes/com/BigDinosaur/controller/ui/component/
cp /home/git-repo/BigDinosaur/src/main/java/com/BigDinosaur/controller/ui/component/efm/*.xml /opt/BigDinosaur/tomcat/webapps/BigDinosaur2/WEB-INF/classes/com/BigDinosaur/controller/ui/component/efm

cd $START_HERE;
}

case $1 in

package)
    package
;;

save it in file bddeploy.sh

To execute issue following command
sh bddeploy.sh package

Pull from github

pull() {
sudo rm -rf /home/git-repo/BigDinosaur
START_HERE="/home/git-repo";
cd $START_HERE;

echo -e "\nPulling down latest for $START_HERE\n";
sudo git clone https://BigDinosaur@github.com/BigDinosaur/BigDinosaur.git;
       cd $START_HERE;
}

case $1 in

pull)
    pull
;;


save it in file bddeploy.sh

To execute issue following command
sh bddeploy.sh pull

Stopping tomcat

SHUTDOWN_WAIT=30
TOMCAT_HOME=/opt/BigDinosaur/tomcat
tomcat_pid() {
  echo `ps aux | grep org.apache.catalina.startup.Bootstrap | grep -v grep | awk '{ print $2 }'`
}

stop() {
  pid=$(tomcat_pid)
  if [ -n "$pid" ]
  then
    echo "Stoping Tomcat"
    $TOMCAT_HOME/bin/shutdown.sh

    let kwait=$SHUTDOWN_WAIT
    count=0;
    until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]
    do
      echo -n -e "\nwaiting for processes to exit";
      sleep 1
      let count=$count+1;
    done

    if [ $count -gt $kwait ]; then
      echo -n -e "\nkilling processes which didn't stop after $SHUTDOWN_WAIT seconds"
      kill -9 $pid
    fi
  else
    echo "Tomcat is not running"
  fi

  return 0
}


case $1 in
stop)
  stop
;;

save it in file bddeploy.sh

To execute issue following command
sh bddeploy.sh stop


To Start tomcat in Linux through shell script

SHUTDOWN_WAIT=30
TOMCAT_HOME=/opt/BigDinosaur/tomcat
tomcat_pid() {
  echo `ps aux | grep org.apache.catalina.startup.Bootstrap | grep -v grep | awk '{ print $2 }'`
}

start() {


  pid=$(tomcat_pid)
  if [ -n "$pid" ]
  then
    echo "Tomcat is already running (pid: $pid)"
  else
    # Start tomcat
    echo "Starting tomcat"
       umask 007
     $TOMCAT_HOME/bin/startup.sh
  fi


  return 0
}

case $1 in
start)
  start
;;

save it in file bddeploy.sh

To execute issue following command
sh bddeploy.sh start

Thursday, November 12, 2015

Config

Ext.define('Student', {
    config : 
    {
        name : 'unnamed',
        schoolName : 'Unknown'
    },
    constructor : function(config){
        this.initConfig(config);
    }
});

var newStudent = Ext.create('Student', { name: 'XYZ', schoolName: 'ABC School' });
newStudent.getName();//output: XYZ
newStudent.getSchoolName();//output: ABC School

newStudent.setName('John');
newStudent.setSchoolName('New School');

newStudent.getName();//output: John
newStudent.getSchoolName();//output: New School

Wednesday, November 11, 2015

Class and Object

Ext.define('Student',
{
    name : 'abishkar',
    getName : function(){
        return "Student name is" + this.name;
    }
}, function(){
    alert('Student object created');
    var studentObj = Ext.create('Student');
    var s=studentObj.getName();
    alert(s);
});

Ext.define  takes three parameter and last parameter is callback that gets called after object is created

Button



Ext.application({


controllers:['LoginController','Posts'],
views: ['Login','Post'],
models:['Loginm','postm'],
name : 'ExtJSWebSpring',
    launch: function() {
    Ext.create('Ext.Button', {
       text      : 'Menu button',
       renderTo  : Ext.getBody(),
       arrowAlign: 'bottom',
       menu      : [
           {text: 'Item 1'},
           {text: 'Item 2'},
           {text: 'Item 3'},
           {text: 'Item 4'}
       ]
    });
    Ext.create('Ext.Button', {
       renderTo: document.body,
       text    : 'Click me',
       scale   : 'large'
    });
   
    Ext.create('Ext.Container', {
       renderTo: Ext.getBody(),
       items   : [
           {
               xtype: 'button',
               text : 'My Button'
           }
       ]
    });
   
    Ext.create('Ext.Button', {
       text: 'Click me',
       renderTo: Ext.getBody(),
       handler: function() {
           alert('You clicked the button!');
       }
    });
    }
});

Ext Js view model Store

Declare Views and Controller

Create two files inside controller folder

LoginController.js
Posts.js
Create two files inside model folder
Login.js
Post.js

In app.js define
Ext.application({


controllers:['LoginController','Posts'],
views: ['Login','Post'],
name : 'ExtJSWebSpring',
    launch: function() {
        Ext.create('Ext.container.Viewport', {
            items: {
                html: 'My App'
            }
        });
    }
});


<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Welcome to ExtJS Tutorial using Spring.</title>
<!-- EXTJS Import -->
<LINK rel="stylesheet" type="text/css" href="extjs/ext-theme-classic-all.css" />
<SCRIPT type="text/javascript" src="extjs/ext-all.js"></SCRIPT>

<!-- our script -->
<SCRIPT type="text/javascript" src="app.js"></SCRIPT>
</head>
<body>

</body>
</html>

Tuesday, November 10, 2015

Extjs view

Map reduce program

Generate jar file of map reduce program .
Suppose generated jar file name is map.jar
put map.jar file in folder location abishkar\hadoop-1.2.1
Execute following commands

bin/hadoop jar map.jar WordCount /In /output

bin/hadoop fs -rmr out
bin/hadoop fs -rmr In
bin/hadoop fs -mkdir In
 bin/hadoop fs -put a.txt In
bin/hadoop jar map.jar WordCount Input output

map.jar is generated from eclipse and placed inside hadoop-1.2.1

Running task tracker
./hadoop-daemon.sh start tasktracker
./hadoop-daemon.sh start datanode
bin/start-mapred.sh
bin/hadoop-daemons.sh start tasktracker

to start task tracker 
hadoop tasktracker

Monday, November 9, 2015

Server Management command

sudo  chown abishkar /opt/bigdinosaur/tomcat/webapps/bigdinosaur2/WEB-INF
 $ sudo chmod -R 777 /opt/bigdinosaur/tomcat/webapps/bigdinosaur2/WEB-INF

 sudo  chown abishkar /opt/bigdinosaur/tomcat/webapps/bigdinosaur2
 $ sudo chmod -R 777 /opt/bigdinosaur/tomcat/webapps/bigdinosaur2

/opt/bigdinosaur/tomcat/webapps/bigdinosaur2/WEB-INF


sudo rm -rf /opt/bigdinosaur/tomcat/webapps/bigdinosaur2
sudo rm -rf /opt/bigdinosaur/tomcat/webapps/bigdinosaur2.war



java -classpath /opt/bigdinosaur/tomcat/webapps/bigdinosaur2/WEB-INF/classes/com/bigdinosaur/util com.bigdinosaur.util.BaseLoad


mvn package -P production
package -P test

/home/bigdinosaur/.m2
sudo  chown bigdinosaur /opt/bigdinosaur/tomcat
sudo chmod -R 777  /opt/bigdinosaur/tomcat






sudo  chown abishkar /opt/bigdinosaur/tomcat/webapps/bigdinosaur2/WEB-INF

sudo chmod -R 777  /opt/bigdinosaur/tomcat/webapps/bigdinosaur2/WEB-INF

sudo  chown abishkar /opt/bigdinosaur/tomcat/webapps/bigdinosaur2/WEB-INF

 sudo chown -R abishkar /home/git-repo
 sudo chmod 777 /home/git-repo


 mvn exec:java -Dexec.mainClass="com.bigdinosaur.util.LoadFromExcel" -e
mvn exec:java -Dexec.mainClass="com.bigdinosaur.util.SuperLoader" -e

Maven,git ,ant installation command

Git installation

yum install git
Ctrl+X :To exists

sudo yum install ant
ant -version
maven version 3.1.1

wget http://mirror.olnevhost.net/pub/apache/maven/binaries/apache-maven-3.1.1-bin.tar.gz
sudo tar xzf apache-maven-3.1.1-bin.tar.gz -C /opt/bigdinosaur
cd /usr/local
$ sudo ln -s apache-maven-3.0.4 maven
export M2_HOME=/usr/local/maven
$ sudo vi /etc/profile.d/maven.sh
export M2_HOME=/opt/bigdinosaur/maven
export PATH=${M2_HOME}/bin:${PATH}

export M2_HOME=/opt/bigdinosaur/apache-maven-3.1.1
export M2=$M2_HOME/bin
PATH=$M2:$PATH


export PATH=$PATH:/opt/bigdinosaur/apache-maven-3.1.1

export M2_HOME=/usr/local/maven

export M2_HOME=/opt/bigdinosaur/apache-maven-3.1.1
export PATH=$M2_HOME/bin:$PATH

export M2_HOME=/opt/bigdinosaur/apache-maven-3.1.1
export PATH=$M2_HOME/bin:$PATH


mv /opt/bigdinosaur/apache-maven-3.1.1 /opt/bigdinosaur/apache-maven

rmdir /opt/bigdinosaur/maven



/git-repo
 mkdir /home/git-repo
 https://github.com/big/bigdinosaur
 git clone https://github.com/big/bigdinosaur

 git clone https://username@github.com/org/project.git
 git clone ssh:https://github.com/big/bigdinosaur


 git config --global user.email big_dino@hotmail.com
 git config --global user.name “abi”

 git clone git@github.com:big/bigdinosaur.git
 git clone https://abi@github.com/big/bigdinosaur.git

 git clone https://username@github.com/org/project.git
wget [option]... [URL]...




git pull https://abi@github.com/big/bigdinosaur.git

sudo git pull

sh /opt/bigdinosaur/tomcat/bin/startup.sh

Process identifying and killing

To remove or unstall java
rpm -e jdk1.8.0
 sudo yum remove java-1.8.0-jdk-8u11

 $rpm -e `rpm -qa | grep java



 jps

 kill -9 <pid>
 where <pid> is the process id

 ps
 ps -ef

 ps -ef |grep java

Adding role ,group on server

sudo cp -R  /home/bigdinosaur/jdk1.8.0_11 /opt/java

sudo cp -R /home/bigdinosaur/apache-tomcat-8.0.9 /opt/server/tomcat

export JAVA_HOME=/opt/java/jdk1.8.0_11
export PATH=$JAVA_HOME/bin:$PATH
export CATALINA_HOME=opt/server/tomcat/apache-tomcat-8.0.9
$ sudo chown -R abishkar_bhattarai:abishkar_bhattarai /opt/bigdinosaur/tomcat
$ sudo chmod -R 777 /opt/bigdinosaur/tomcat
sudo passwd abishkar_bhattarai
// password is abishkar


cd /opt/server/tomcat/bin

sudo cp -R  /home/deploy.sh  /home/impbackup


  sudo  chown abishkar git-repo
 
 sudo  cat catalina.2014-08-24.log
 During start
sudo rm -rf /opt/bigdinosaur/tomcat/webapps/bigdinosaur2
sudo rm -rf /opt/bigdinosaur/tomcat/webapps/bigdinosaur2.war
mv /home/git-repo/bigdinosaur/target/bigdinosaur.war /opt/bigdinosaur/tomcat/webapps


sudo rm -rf target

-------------------------wrote this code --------------------
 sudo  chown abishkar /opt/bigdinosaur/tomcat/logs
 $ sudo chmod -R 777 /opt/bigdinosaur/tomcat/logs

Adding role and group

$ groupadd bigdinosaur
$ useradd -s /sbin/nologin -g bigdinosaur-d /home/bigdinosaur/apache-tomcat-8.0.9
$ passwd bigdinosaur

Owner ship to user for directory .Give ownership to tomcat user bigdinosaur for ownership to apache-tomcat-8.0.9 directory

chown -R bigdinosaur.bigdinosaur /home/bigdinosaur/apache-tomcat-8.0.9

It gives  user write access for the webapps directory.

chmod 775 /home/bigdinosaur/apache-tomcat-8.0.9


whether tomcat is running or not
ps -ef | grep tomcat
tail -f logs/catalina.out

it should return this
netstat -a | grep 8080


creating tomcat user and running tomcat as specific user
sudo adduser tomcat
sudo -u tomcat ${CATALINA_HOME}/bin/catalina.sh run


removing default webapps
sudo rm -rf apache-tomcat-6.0.20/webapps/*

Remove write permissions:
sudo chmod -R go-w apache-tomcat-6.0.20

Allow write on needed directories only:
sudo chown -R tomcat work/ temp/ logs/



sudo mkdir /opt/java
sudo mkdir /opt/server
cd /opt/java
sudo cp /home/bigdinosaur /jdk1.8.0_11

Bash Command

 vi ~/.bashrc
 ESC
 :wq
 Enter


 export CATALINA_HOME=/home/bigdinosaur/apache-tomcat-8.0.9

Important Command Whether tomcat is running or not
ps -ef | grep java | grep 8080


for creating a new file
Touch filename

setting environmental variable

vi ~/.bashrc
  ESC
  :wq
  Enter
 
   export JAVA_HOME=/home/bigdinosaur/jdk1.8.0_11 in bashrc

 vi ~/.deploy
  vi ~/.bash_profile
 chmod +x deploy.sh
 chmod 744 deploy.sh
 sudo touch deploy.sh
 chmod 755 deploy.sh


to remove
 rm abc.txtgit

 rm /home/git-repo/bigdinosaur
 rm -r /home/git-repo/bigdinosaur

 sh /opt/bigdinosaur/tomcat/bin/startup.sh

Server Configuration command

pwd

ls -alh

rpm -ivh filename.rpm

sudo apt-get install openjdk-6-jre.

sudo /opt/tomcat/bin/startup.sh

sudo apt-get install -y git

sudo  apt-get install openjdk-7-jre

/usr/bin/sudo apt-get install apache2

ls -l /usr/bin/ssh

export JAVA_HOME=/home/bigdinosaur/jdk1.8.0_11

export PATH=$JAVA_HOME/bin:$PATH

 sudo tar xvzf apache-tomcat-8.0.9.tar.gz

Sunday, November 8, 2015

Uploading data on Node

After successfully hadoop is started ,we can start uploading data on node .After data is uploaded it is located on hadoop distributed file system .For example data is uploaded in folder In then that data exists in server with folder name In.You can view that location of data from browser.


Suppose we have uploaded data on folder In .In folder has 4 .txt files .Similarly we can create another folder with name disease folder and there can be many folders
/user/abishkar/In
/user/abishkar/Disease
/user/abishkar/Patient
/user/abishkar/Diagnosis
/user/abishkar/Case1
/user/abishkar/Case2

There can be many folders and files
Now Now we write map reduce program and extract information from thoses files

command

bin/hadoop fs -mkdir In1

 bin/hadoop fs -put a.txt In1

it upload data on data node from the location in In1 folder

Hadoop Configuration on Windows

Command for hadoop configuration
Install Cgwin .
Install openssl and openssh
Start the sshd service
net start sshd

Create the appropriate SSH keys for your user account

After successfull installation 
Make changes in following files
hadoop-env.sh
export JAVA_HOME="C:\hadoop\jdk1.7.0_17"
core-site.xml
mapred -site.xml
hdfs -site.xml

Format the NameNode
bin/hadoop namenode -format
Start data node 
bin/hadoop/datanode 
Start name node 
bin/hadoop/namenode
Start Secondary Name Node
bin/hadoop secondarynamenode

Start Job Tracker
bin/hadoop jobtracker
Start Task Tracker 
bin/hadoop tasktracker
bin/hadoop jobtracker Browse for name node
http://localhost:50070/
For Job Tracker
http://localhost:50030/jobtracker.jsp

Load data on data node
cd hadoop-0.19.1
bin/hadoop fs -mkdir In
bin/hadoop fs -put *.txt In

When you browse
http://localhost:50070/dfshealth.jsp
Browse the filesystem you will see newly uploaded data