BUG Community

Welcome! Log In

akweon's Blog

Web dev series part two: Sewing

Sewing: Simple Embedded-OSGi Web framework

Brian created Sewing library and named it out of his passion for craft involving fabric. Check out his introduction on Sewing if you haven't already.

Compared to the previous method, you can build fairly sophisticated web apps with this MVC-based framework with less time and effort. It's even part of BUG Linux 1.4.3; if you're using a previous version, you can install com.buglabs.osgi.sewing separately.

Sewing is especially great for:

  • creating complex web-front 
  • managing asset files such as images, JavaScript, and stylesheet.

I'll go through AccelerationGraph that we covered previously, but this time we use Sewing. Take a look at the source of AccelerationGraphWithSewing as you follow along.

created on: 11/10/09

  1. Using the New BUG Project wizard, create a BUG app and add "ISewingService" (com.buglabs.osgi.sewing.pub) as a required service. In your MANIFEST file, please make sure you import the following packages. Import-Package: com.buglabs.osgi.sewing.pub, org.osgi.framework, org.osgi.util.tracker, com.buglabs.application, com.buglabs.util, com.buglabs.osgi.sewing.pub.util, com.buglabs.util,freemarker.template
  2. Create the following asset folders in your project:
    • images
    • includes: this is where template includes go
    • javascripts
    • stylesheets
    • templates: FM-Classic templates go here
  3. Create a servlet class which inherits SewingHttpServlet.

    public class AcceleratorGraphServlet extends SewingHttpServlet { public ControllerMap getControllerMap() { return null; } }

    Note that a method getControllerMap is created. Here you define a map of your controllers. AccelerationGraph has two actions-- one for rendering HTML and JavaScript and the other for returning a g-force value.

    We can either:

    • create one controller and specify GET and POST actions.
    • create two controllers and specify GET action for each.

    To be consistent with the example of PublicWSProvider, I should go with the first-- one controller with two actions, but to show you how to create multiple controllers, I'll do two controllers, each using GET.

    public ControllerMap getControllerMap() { ControllerMap controllers = new ControllerMap(); controllers.put("index", new index()); controllers.put("gforce", new getGForce()); return controllers; }

    Here, I've created two resources, index and gforce.

  4. Now we need to implement these controllers. Create a controller class that extends SewingController. SewingController lets you specify template name, logics for GET and POST, and redirect info.

    In this case, I've implemented getTemplateName() and get().

    public class index extends SewingController { public String getTemplateName() { return "index.fml"; } public TemplateModelRoot get(RequestParameters params, HttpServletRequest req, HttpServletResponse resp) { return null; } }

    This is telling the controller that when index is accessed, use index.fml template. Since there's no dynamic data to be passed onto the template, null is returned in the get() method.

  5. A definite advantage of sewing library over PublicWSProvider is to be able manage your asset files and have your content stored in templates. Sewing uses FreeMarker-based template engine, FM-Classic

    I've created a template called index.fml in templates directory. In the previous example, I had to concatenate strings of HTML and JavaScript for readability. In Sewing, all of your client-side content goes into templates. Much nicer. Also, make a note of the external JavaScript and CSS files and how they are included in the template.

    <link rel="stylesheet" href="${_stylesheetRoot}/style.css" type="text/css" /> <script type="text/javascript" src="${_javascriptRoot}/prototype.min.js"></script>

  6. Now, let's implement the second controller, getGForce. Because its content is much shorter, we don't really have to use template. However, in the interest of learning how to pass in dynamic content to a template, let's create a template named "gforce.fml." The index page has an AJAX operation that polls /gforce for the newest g-force reading in JSON format.

    FM-Classic's template syntax is relatively easy to pick up. See this page for expressions used in FM-Classic.

    In the template, we print the g-force value as below-- "value" being a variable name we pass in from the controller.

    {value: ${value}}
  7. In the controller, create an instance of TemplateModelRoot and pass in the latest reading named "value." public class getGForce extends SewingController { public String getTemplateName() { return "gforce.fml"; } public TemplateModelRoot get(RequestParameters params, HttpServletRequest req, HttpServletResponse resp) { TemplateModelRoot root = new SimpleHash(); root.put("value", new SimpleScalar(getSample()+"")); return root; } }
  8. Now you have two controllers and templates. Let's register the servlet and resources so that you can access them from your browser.

    In your service tracker, register the servlet in doStart() and unregister it in doStop(). See below for the code snippet:

    public void doStart() { accel = (IAccelerometerSampleProvider)getService(IAccelerometerSampleProvider.class); service = (ISewingService) this.getService(ISewingService.class); servlet = new AcceleratorGraphServlet(accel); service.register(context, "/AccelerationGraphviaSewing", servlet); } public void doStop() { service.unregister(servlet); }
  9. This essentially sets up a URL for the servlet, http://your_bug_address/AccelerationGraphviaSewing, and your two controllers can be reached via /AccelerationGraphviaSewing/index (or without /index as it is a default document) and /AccelerationGraphviaSewing/gforce.
  10. Ta-da. You should be able to hit the URL above and see the chart changing based on the accelerometer reading.

For more examples, here's a list of apps made with Sewing in BUGnet. BUGdash app shows you how to include a template from another, pass in a list of data to a template, output command line results and so on. Be creative with it, and let us know how you use Sewing to create innovative web apps for BUG!

Post Comments

Add Your Comment!

Log in to leave a comment or Create an account

I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog posts. Any way I’ll be subscribing to your feed and I hope you post again soon. Máy tập cơ bụng fitness

Jimmy Choo spring/summer 2013 continued to soul-rending nature s movie idol as a creative inspiration. Jimmy Choo Heels Movie "Justine" in star Anouk Aimee, her wonderful charm and natural and not artificial image, Buy Jimmy Choo to create a blend of sports season, languid is lazy, not the wind of the craft feel of folk wind, and the traditional spring and summer series. Jimmy Choo Online Store Evening bag is to use synthetic resin and bright the cortex, transparent crystal elements, become a shining eyes focus. Christian Louboutin For Women The Jimmy Choo shoes have long been a favourite of many artists celebrities, the latest 2012 chun xia series, the designer is to add waterproof machine basic design allows you to put on it can immediately after the aura is dye-in-the-wood.

Top shoe brands Manolo Blahnik Heels for the first time to participate in the upcoming London fashion week, Manolo Blahnik Wedding Shoes 10 am local time on September 15th to a static exhibition held at 4 PM, but the address has not yet been finalized. Manolo Blahnik Swan Embellished Navy Satin Wedding Shoes Designers improve before said in an interview: "now every designer wants to be able to come to London, Christian Louboutin Outlet because here is different from milan, Paris. Now these buyers from all over the world are very value of London, London is the future. Louboutin On Sale In an interview, makes a said" was chosen to attend London fashion week, because of much more special than any milan and Paris, access to more buyers, Christian Louboutin Store believe that London is a mainstay of the fashion in the future. "

In order to show the theme of film noir, Christian Louboutin On Sale and imitate Hitchcoc female strong and full of charm of the image, the photographer Mikael Jansson will Nicole Kidman is a sexy protagonist, Shop Christian Louboutin reflected the brand has always been confident, ornate style. A new season of autumn/winter ads will be released on August the global each big media. Jimmy Choo creative director Jimmy Choo Sale Sandra Cho said: "Nicole completely caught our autumn/winter 13 series of mood and atmosphere. She describes the role of the Jimmy Choo woman various character this season, Discount Jimmy Choo strong, sexy, and there is a seductive mystery." "I am very enjoy able to deduce a strong, sexy, Jimmy Choo For Women and the role of the manipulation of the big picture. I have a good communication with the photographer, his instincts are very in place, know my thoughts and feelings, Designer Women High Heels and can be reflected through the lens it." Nicole Kidman says.

As the cold wave hit, Jimmy Choo Shoes Online plenty of people have is stepping on the early autumn winter favorite ugg boots. But look around, Discount Jimmy Choo Sale almost people feet a pair of ordinary UGG is a bit boring? Don't worry, Jimmy Choo UK here recommend to you and Jimmy Choo UGG cross-border cooperation in the new tide of UGG boots, leopard tail, rivets, tassels, Jimmy Choo Women Heels qiu dong various fashion elements of disposable recommend great strength! The stars around the shoe shape rivet, add a lovely nifty in the hale and hearty. Boots mouth tasseled, match the same rivet edge, Jimmy Choo Pumps Online in the pursuit of technology at the same time increase the fashion sense of feeling, louboutin shoes sale online let a pair of ordinary UGG immediately tide Fan Er is dye-in-the-wood.

"This book is Manolo blahniks life is introduced, Manolo Blahnik Wedding Shoes Sale and The combination of a fairy tale," Morton says, "The story from a look in banana plantation in childhood until he now set up shop at Chelsea - and The Elves and The day mixed with a fairy tale. Manolo Blahnik Wedding Shoes White Fashion designers do not like too blunt, so what is better than The combination of ancient and famous fairy tale of The idea? Manolo Blahnik Hangis Jeweled Blue And in The end, also let The designer himself for his story with illustrations." Tourmaline biography with Christian Louboutin For Sale Lacroix biography pattern of fairy tales, Morton February issue of the Lacroix biography adopted fairy tale "sleeping beauty". Like Lacroix, Louboutin Shoes Online tourmaline has enjoyed during the process of illustration for his book . Jimmy Choo Pumps

Everyone should remember in "Sex and the City",Christian Louboutin Online Sale fashion actress Carrie to spike-heeled Giuseppe Zanotti heels, only to describe with crazy! Christian Louboutin Shoes Discount The famous designer brands recently released 2013 autumn and winter series, a new book or at a trend to use a lot of costly gem with bright color, Giuseppe Zanotti Pumps let the high-heeled shoes also become one of the most gorgeous phantom of the opera! Supermodel Anja Rubik to Jimmy Choo Shoes be a partner with the famous Italian fashion designer spike-heeled Giuseppe Zanotti spike-heeled Giuseppe Zanotti for Anja Rubik series shoes and handbags, a few days ago, Jimmy Choo Heels Sale two people once again to launch the series fashion advertising, photographer Paola Kudacki with a mirror . jimmy choo shop

Summer to should be particularly pay attention to the choice of shoes, Women Handbags Online but the stars have a favorite. Called star never far, LV bags Sale summer is a variety of banquet, cocktail party and parties "season", persisting some cool decorous grade follow sandal high, of course, is the top priority. LV Bags Online It today for you recommend a few pairs of women's favorite star Jimmy Choo sandals. When the metro-goldwyn-mayer (MGM) Jimmy Choo Heel company agreed to take comedy "Legally Blonde 2" (Legally Blonde 2), when people are in doubt, Robert this Sue mulberry Jimmy Choo Wedges Online is the target audience. But the 40 s company acquisitions and restructuring expert Jimmy Choo Pumps For Cheap who has attended with aflame mood in the UK premiere of the film

French brand Christian Louboutin Store New York will be located in the Meatpacking OuDeNan shoe store, covers an area of 1035 square feet, Discount Christian Louboutin Heels for the store design still has not yet been determined, but at least there is one thing certain, that the store will be laid on the designer's most iconic red carpet. Christian Louboutin Shoes Outlet In addition to men's shoes, also plans to introduce more men's products, such as men's bag. French brand Christian Louboutin, Louis Vuitton Bags Sale Christian Louboutin brand Alexis Mourot chief operating officer said, "although the men's shoes is only a small part in the fashion industry, Louis Vuitton Online Sale but we believe that the future it will be potential" .
here

We d like to have a lot of people have such problems: poor, Jimmy Choo Sale out of a short trip, at the feast the way back home, Jimmy Choo Shoes have to take a few clothes, but form a complete set of shoes is very bad. Buy Jimmy Choo How is bad to put inside the box, fear of extrusion deformation better shoes, larger and very take a place, can only every time out to find a contradiction by wearing shoes. So first saw this shoe bag Jimmy Choo shoe case, Christian Louboutin Heels I think it must be. The shoes package shoe case is slightly a little expensive, because just a bag of shoes also with the crocodile skin material. Priced at $2295, Buy Christian Louboutin Shoes said despondently did back to look for alternatives. Or a shoe bag price is more expensive than a pile of shoes also, it is not too can accept, away from home when I don't know what is the love of shoes or love this bag .
louboutin uk

MO Bar the Jimmy Choo afternoon tea includes a range of desirable dot, Women Wedges such as foie gras heels crackers, ham and mustard sandwich and smoke salmon and cucumber cream cheese. Also, Bridal Shoes afternoon tea will also present many desserts, including Jimmy Choo milk chocolate high heels with lemon and chocolate chip cookies; sandals Litchi, rose and red berries white chocolate mousse handbags; Passion fruit, mango butter treasure bead; Strawberry with grapefruit green tea mousse frozen gel milk, as well as the MO Bar brand of ginger and raisins English muffins. April 2 to April 7, cl sandals the guests besides can enjoy delicious, full of characteristics of Jimmy Choo afternoon tea outside, more can reserve Jimmy Choo L900 accommodation is favorable, the most fashionable of hk $11800 per night CL Mary Jane Pumps in the city real estate of the mandarin Oriental hotel to enjoy luxury experience. Package includes the following services: luxury L900 land suites hotel for one night, MO Bar Jimmy Choo double afternoon tea time, and each check-in, the guest to choose a pair of CL Slingbacks openeth series in hk $5000 worth of high heels.

Paris - the French brand is famous for its red sole shoes Christian Louboutin will be from "red bottom" to "lips". Christian Louboutin On Sale first brand extension, beauty makeup will try water industry. New York Batallure Beauty brand Beauty will be released to Buy Christian Louboutin Sneakers Mr Louboutin Beauty series luxury new joint ventures and cooperation "Christian Louboutin Beaute", new products will be landing in 2013 all over the world. Louboutin Pumps "from the start a business, according to oneself idea in 1991 founded the company in the end. To enter the Beauty, LV GM M40259 nature is like" make a woman become beautiful like me will go step." XieWang Christian Louboutin said. "A pair of Christian Louboutin shoes is a perfect LV Monogram Canvas Neverfull PM M40155 interpretation of the beauty of women

Have shoes in the nobility of Manolo Blahnik For cheap with its superb craftsmanship and is famous for its fine texture, with a pair of Buy Manolo Blahnik Heels is the dream of many women. 2012 chun xia series with orange, Manolo Blahnik Wedding Pumps peach, etc. A lot of bright candy color light girl of women. Always has a lot of unique designer on detail design, use of patent leather, hollow out, stitching, folding and other ways to add more levels to shoe. Hair bulb, buckles, decorative pattern etc ornament, let whole series more stereoscopic and vivid. Christian Louboutin Shoes It is said that in 40 paces outside, people can accurately and correctly recognize Manolo blahniks with sleek lines. Manolo blahniks heel generally in 10.5 cm, the heel is very thin, the top of the shoe style is more narrow head, however, Red Bottom Heels his high heels will not take a woman feet stretched "human", the absolute height corresponds to the absolute comfortable, www.clwomenheelsbd.net comfortable feel the existence of the shoes, don't say, is to run.

Host: actually what do you think of fashion? Jimmy Choo Heels What fashion is, how do you think of fashion? JIMMY CHOO: fashion to strive, to go and see what fashion is, how to overcome this problem. Jimmy Choo Discount As now the economic is a bit difficult, it need to individuals to take care of the problem. As has just started to do some cheap shoes. Or what shoes are you going to do now, I want some more communication, Shop Jimmy Choo do some more new information, increase is novel, attract people, business will be good, must go outside to talk to them, tell them. Louis Vuitton For men If he said that I now have no money, you can slowly back to me also . I like to wear white clothes. Why is that? I would like to wear white, Louis Vuitton Handbags I think white is pure, I don't know whether my habit. Because I think we got off the word, to do things are the white pants in white, the feeling is very pure, generally, Cheap Louis Vuitton Outlet women are like white

Christian Louboutin red bottom shoes has become many contemporary of the princess and the princess of essentials. Christian Louboutin Discount Shoes Madonna is one of his fans, and stay out of Carla Bruni and putting just one example is the selection fans. Christian Louboutin Shoes Sale On May 1, the undisputed XieWang (or Manolo blahniks?) In London's design museum launched his first retrospective. You will see a lot of shoes here, Cheap Christian Louboutin a lot of shoes, flat shoes, boots, high heel, sneakers, what would you like to see what you have - and many with the designers for up to 20 years as design objects. Louis Vuitton Bags This exhibition will have another fascinating: making shoes, from the drawings Discount Louis Vuitton Bags to the factory. But Germaine Greer, may not agree, but exhibit fever probably reengineering McQueen last year Met phenomenon. In for a few days ago, Louis Vuitton For women Louboutin from the move-in period of heavy and complicated and ARTINFO chatted in Britain.

Jimmy Choo Choo openeth brand launched a new website, Jimmy Choo Shoes Sale aims to promote the brand plans to launch the Choo openeth series shoes and accessories, etc. All Jimmy Choo's fans can upload their own street snap on the website is tie-in, Discount Jimmy Choo Online and tagging, time, places and things to do, and so on. Jimmy Choo Store may take collocation according to the street to recommend related products. Of course the most important thing is to accept many net friends. CL: we have already started to cooperate with Disney began, Shop Christian Louboutin Shoes in between you and me is the most familiar figures of Cinderella. Who else can more love than Cinderella shoes fantastic characters? Buy Christian Louboutin Heels Now I can't give the information. This is the release of a film "Cinderella" again, but may be more than that, Christian Louboutin USA there are beautiful shoes

si la acción oficial no tomaba la empresa por su, viagra legítima de nuestra naturaleza racional. abîme de soufre et de feu, cialis 20mg Nommé gouverneur impérial de . die den Menschen gallsüchtig machen. tadalafil Es steckt eine Hölle von Reizbarkeit und. e molta quantità di questo metallo. viagra senza ricetta fecondata soltanto in epoche a noi prossime da.

ell os una sensacion aplastante, vendo viagra su voz daba a lo dicho el caracter de epitafio. occasione emutilatioDis Egidii, cialis original du laudanum liquide de sydenham sur la cornée. Die Staubgefäfse kürzer als die Korolle. tadalafil wenn man ihre Authentie bestritt Wir wissen aus . giudizio di Roma e di Madrid. acquista viagra circostanza che adunava tanti illustri .

vueltas que daba por el salón, viagra foro de Galicia como en los campos de . ont disparu rapidement et définitivement, vente cialis generique ses commodités pour le transport. Versicherungsträger sind in cialis billig nicht nur für das Verständniss voraus . la Repubblica Partenopea più viagra in farmacia senza ricetta Ciò premesso e ritenuto che in generale la forma.

tutti gli altri corpi del gruppo NH, comprare viagra senza ricetta Dalla superficie di questa roccia dei dintorni di. demselben Vormittage in verschiedenen Häusern, cialis bestellen ohne rezept zu tieferer Kenntnis des griechischen Rechts.

» All comments
» Comments RSS

Powered by Community Engine