Never been to DZone Snippets before?

Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

« Newer Snippets
Older Snippets »
Showing 1-10 of 48 total  RSS 

Method dependent Phobos server side script

Method dependent Phobos server side script

// method-dependent script

var message;

library.httpserver.onMethod({
    GET: function() { message = "accessed via GET"; },
    POST: function() { message = "received POST"; },
    any: function() { message = "got something else"; },
});

model = { text: message };

Printing all http headers in Phobos JavaScript server side

Printing all http headers in Phobos JavaScript server side

// prints all http headers
 
function get_headers() {    
    var a = []
    var hEnum = request.headerNames;
    while (hEnum.hasMoreElements()) {
        var n = hEnum.nextElement();
        a.push({name: n, value: request.getHeader(n)});
    }
    return a;
}

response.contentType = 'text/html';
writer = response.writer;

writer.println('<html><head><title>Sample header script</title></head><body>');
var headers = get_headers();
for (var i = 0; i < headers.length; ++i) {
    var header = headers[i];
    writer.print(header.name);
    writer.print(' => ');
    writer.print(header.value);
    writer.println('<br/>');
}
writer.println('</body></html>');
writer.flush();

Dojo usage on the Phobos server side...

Dojo usage on the Phobos server side...
The key api is the library.dojo.load() call

// server-side dojo test script

response.status = 200;
response.contentType = "text/html";
writer = response.getWriter();
writer.println("<html><head><title>Dojo Sample</title></head><body>");

library.dojo.load();
dojo.require("dojo.lang.*");
try {
    dojo.lang.assert (1==2," 1 is equals to 1");
    writer.println("OK: 1 is equals to 1");
    }catch (e){
    writer.println(e.message);
    
}
dojo.require("dojo.date.common");

writer.println( "<br>dojo.date.getWeekOfYear returns "+dojo.date.getWeekOfYear(new Date()));
writer.println("</body></html>");
writer.flush();


E4X JavaScript sample in Phobos server side Javascript

E4X JavaScript sample in Phobos server side Javascript


// see var below: no "", but pure xml:
var e4x = <html><head><title>Hello</title></head><body>Hello from Javascript!</body></html>;
response.setStatus(200);
response.setContentType("text/html");
writer = response.getWriter();
writer.println(e4x);

// another example for e4x
var sales = <sales shoppingcarID="12345">
    <item type="LCD TV" price="3000" quantity="5"/>
    <item type="Syno PSP 3" price="3" quantity="0"/>
    <item type="Book E4 for dummies" price="35" quantity="3"/>
  </sales>;
 
writer.println( "<br>quantity for Book E4 for dummies: "+sales.item.(@type == "Book E4 for dummies").@quantity );
writer.println("<br>" );
writer.println( "shopping cart ID is "+sales.@shoppingcarID);
writer.println("<br>" );
for each( var price in sales..@price ) {
    writer.println("<br>price is: "+ price );
}

writer.flush();

JPA (Java Persistence API) usage in Phobos Server side JavaScript

JPA (Java Persistence API, Java EE 5) usage in Phobos Server side JavaScript


    response.setStatus(200);
    response.setContentType("text/html");
    writer = response.getWriter();

    writer.println("<html><head><title>Using JPA in Phobos JavaScript</title>");
    writer.println("</head><body><center><h2>Java Persistence API usage in Javascript.</h2></center>");

    // get the entity manager based on the Persistence Unit name (declared in the persistence.xml file)
    var em;
    try {
        var emf = Packages.javax.persistence.Persistence.createEntityManagerFactory("jpaExample1-pu", null);
        em = emf.createEntityManager();
    } catch (exception) {
        var exceptionMsg = exception.description;
        if (exception.description == null) {
            exceptionMsg = exception.message;
        }                            
        if (exceptionMsg.indexOf("DatabaseException") != -1) {
            writer.println("<p><br><br>Please ensure that the database is up and running");
        } else if (exceptionMsg.indexOf("NullPointerException") != -1) {
            writer.println("<p><br><br>Please ensure that the JPA application is built and the jar is present in the classpath of the phobos server");
        }
    }
    
    if (em != undefined) {
        // Insert some Authors if none are defined
        var authors = em.createQuery("select a from Author a").getResultList().toArray();
        if (authors.length==0){
            var tx = em.getTransaction();
            tx.begin();

            var author = new Packages.jpaexample.Author();
            author.name ="Danny Goodman"; //equivalent to author.setName("Danny Goodman");
            author.organisation= "O\'Reilly";
            em.persist(author);
            writer.println("<br><br>created one author named "+ author.name);

            var author2 = new Packages.jpaexample.Author();
            author2.name= "Paul Wilton";
            author2.organisation ="Wrox Press Inc";
            em.persist(author2);
            writer.println("<br><br>created one author named "+ author2.name);

            tx.commit();
        }

        // List out the Authors that are available
        authors = em.createQuery("select a from Author a").getResultList().toArray();
        writer.println("<h3>List of Authors as of "+ java.util.Date() +"</h3>")
        writer.println("<table><tr><th>Id</th><th>Name</th><th>Organisation</th></tr>")
        for (var i in authors) {
            var a = authors[i];
            writer.println("<tr><td>" + a.authorId
            + "</td><td>" + a.name
            + "</td><td>" + a.organisation
            + "</td></tr>");
        }

        writer.println("</table>")
    }
    
    writer.println("</body></html>");
    writer.flush();


Yahoo Tree jMaki widget for Phobos

Yahoo Tree jMaki widget for Phobos

<% 
 library.jmaki.insert(
    {
    component : "yahoo.tree" ,
    value : {
        root : {
                title : 'Default Tree Root Node',
                expanded : true,
                children : [
                    { 
                        title:'Node 1.1',
                        onclick :{url:'foo'}
                    },
                    { 
                        title :'Node 1.2',
                        children :[
                            { 
                                title :'Node 3.1'
                            }
                        ]
                    }
                ]
        }
        }   
    }
    );%> 

Yahoo Map jMaki widget for Phobos

Yahoo Map jMaki widget for Phobos

<% library.jmaki.insert(
    {
        component : "yahoo.map",
        args : { 
            centerLat :  37.39316, 
            centerLon :  -121.947333700, 
            mapType :    'YAHOO_MAP_SAT', 
            width :      600, 
            height :     300
            }
    }
    ); %>

Yahoo geocoder jMaki widget for Phobos

Yahoo geocoder jMaki widget for Phobos

<% library.jmaki.insert(
    {
        component : "yahoo.geocoder",
        service : "xhp"
    }
    ); %> 

<script  type:"text/javascript">
    function geoCoderListener(coordinates) {
    var targetDiv = document.getElementById("geocoder001_message");
    var reponseText  = "";
    for (var i in coordinates) {
        reponseText += "Latitude=" + coordinates[i].latitude + " Longitude=" +  coordinates[i].longitude + "<br>";
    }
    targetDiv.innerHTML = reponseText;
    }
    // subscribe to the topic '/yahoo/geocode' to which this widget publishes events
    jmaki.subscribe("/yahoo/geocoder", geoCoderListener);
</script>
<div id="geocoder001_message"></div>

Yahoo Carousel jMaki widget for Phobos

Yahoo Carousel jMaki widget for Phobos

<% library.jmaki.insert(
    {
        component : "yahoo.carousel",
        args : {
                tags : 'theKt'
        } 
    }
    ); %> 

Yahoo Calendar jMaki widget for Phobos

Yahoo Calendar jMaki widget for Phobos

<% library.jmaki.insert(
    {
        component : "yahoo.calendar" 
    }
    ); %> 

« Newer Snippets
Older Snippets »
Showing 1-10 of 48 total  RSS