com.buglabs.osgi.sewing

App Image

 Download Latest Version 
   June 18th, 2009   ·   1832 views  /  1415 downloads

Admin Administrators: Bug Labs teambballantine
Collaborator Collaborators: Bug Labs teamkgilmer, Bug Labs teamJOcanto, Bug Labs teamswitch, Bug Labs teamakweon, Bug Labs teamkschultz

Category: Libraries    Maturity: Beta    API version: not specified
Tags: sewing  web  webframework  Servlet 

This is the Simple Embedded Web framework for OSGi and the BUG. It simplifies the creation of dynamic web applications and runs on PhoneME, BUG’s mobile JVM.

Sewing uses a template engine called fm-classic (which is related to the popular freemarker template engine). The freemarker template source code is included in the bundle and, like this framework, is released under GPL. See the source code for license information. Note, only the basic template classes from fm-classic are included.

More information and documentation on fm-classic can be found here: http://fm-classic.sourceforge.net/

The easiest way to use Sewing is to start with the SewingStubApplication which can be found here: http://buglabs.net/applications/SewingStubApplication

If you have questions, jump on our IRC channel and ask me for help.


Download Download Latest Version

Version Date Uploaded by Notes  
Version 8 August 27th, 2009 bballantine  Removed a hideous println (more) Removed a hideous println (collapse) download
Version 7 August 27th, 2009 bballantine  Worked out some multipart form kinks (more) Worked out some multipart form kinks (collapse) download
Version 6 August 27th, 2009 bballantine  Added mulitpart form support (more) Added mulitpart form support (collapse) download
Version 5 July 13th, 2009 bballantine  Added redirect support (more) Added redirect support (collapse) download
Version 4 July 1st, 2009 bballantine  Updated License Information (more) Updated License Information (collapse) download
Version 3 June 23rd, 2009 bballantine  Added a ISewingControllerFactory, which you can add to you controller... (more) Added a ISewingControllerFactory, which you can add to you controller list instead of a SewingController object. This is for when you want each request to create a new instance of your controller. (collapse) download
Version 2 June 18th, 2009 bballantine  (more) (collapse) download
Version 1 June 18th, 2009 bballantine  (more) (collapse) download

LGPL

This software is released under the Library General Public License, which is a precursor to the Lesser GPL:

http://www.gnu.org/licenses/old-licenses/library.html#SEC1

Sewing is a Library and there are no restrictions under LGPL for works that use Sewing. If Sewing is redistributed along with an application that uses Sewing, the source code for Sewing must be made available. On the other hand, works that are derivative works of Sewing must be released under terms compatible with LGPL.

Here is the official License text Sewing under which Sewing is released:

GNU LIBRARY GENERAL PUBLIC LICENSE
              Version 2, June 1991
Copyright (C) 1991 Free Software Foundation, Inc.
               59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

[This is the first released version of the library GPL. It is numbered 2 because it goes with version 2 of the ordinary GPL.] Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that companies distributing free
software will individually obtain patent licenses, thus in effect
transforming the program into proprietary software. To prevent this,
we have made it clear that any patent must be licensed for everyone’s
free use or not licensed at all. GNU LIBRARY GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application.  Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)

These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.

Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.

In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License. Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy. 6. As an exception to the Sections above, you may also compile or
link a “work that uses the Library” with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer’s own use and reverse
engineering for debugging such modifications. 7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things: 11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.

a) Accompany the combined library with a copy of the same work
  based on the Library, uncombined with any other library
  facilities.  This must be distributed under the terms of the
  Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.

If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.

It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.

This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.

12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Library General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
“any later version”, you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally. How to Apply These Terms to Your New Libraries

If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library.  It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
Copyright©
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

Also add information on how to contact you by electronic and paper mail.

You should also get your employer (if you work as a programmer) or your
school, if any, to sign a “copyright disclaimer” for the library, if
necessary. Here is a sample; alter the names:

Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
, 1 April 1990 Ty Coon, President of Vice

That’s all there is to it!


Viewing com.buglabs.osgi.sewing   Link

2 Comments

Comment_icon Login to add comment

epiraces

epiraces said on November 19th, 2009 09:51:07 AM

Hi bballantine, I got bugdash and com.buglabs.osgi.sewing, but ran into an error with com.buglabs.osgi.sewing: Not cannot be resolved to a type: StandardTemplateParser.java in line 803 Is it an error or perhaps I just missed the obvious? Thanks!

bballantine

Bug Labs teambballantine said on December 17th, 2009 02:30:52 PM

epiraces, sorry, I didn't see this question. I have not seen this error before. If you continue to have this problem or have any questions, please post them in our forums over at http://community.buglabs.net/ Also, sewing and bugdash are now included in R1.4.3 which was released today, so if you upgrade your BUG, you'll have those. See our downloads page for more details.