Skip to main content

Home/ Java Development/ Group items tagged 2

Rss Feed Group items tagged

Hendy Irawan

Ajax Push - APIs - ICEfaces - ICEfaces.org Community Wiki - 0 views

  •  
    Ajax Push enables real-time collaborative applications, based on a mechanism call ICEpush. Check out the Ajax Push overview before delving into the API. ICEpush Library - icepush.jar To enable Ajax Push with ICEfaces 2, you simply include the icepush.jar library with your application.
Hendy Irawan

Ajax Push - Overview - ICEfaces - ICEfaces.org Community Wiki - 0 views

  •  
    Ajax Push allows the application to incrementally update any part of the page at any time, for any group of clients. This is a small change in terms of the technical capabilities of Ajax applications, but it is a revolutionary change in terms of what applications can actually provide to users. Ajax Push is the key to building collaborative multi-user applications for the web. Under the Hood The intricacies of the Ajax Push implementation are completely transparent to the ICEfaces developer, as you work with a straightforward set of APIs. It is, however, useful to understand the basic mechanics. Ajax Push in ICEfaces 2.0 leverages an asynchronous notification mechanism call ICEpush. Simply put, ICEpush uses long polling to provide asynchronous notification over standard HTTP, using only standard browser capabilities. The sequence of events involved in Ajax Push is illustrated below.
Hendy Irawan

Querydsl - 0 views

  •  
    Querydsl is a framework which enables the construction of type-safe SQL-like queries for multiple backends including JPA, JDO and SQL in Java. Instead of writing queries as inline strings or externalizing them into XML files they are constructed via a fluent API. Code completion in IDE (all properties, methods and operations can be expanded in your favorite Java IDE) Almost no syntactically invalid queries allowed (type-safe on all levels) Domain types and properties can be referenced safely (no Strings involved!) Adopts better to refactoring changes in domain types Incremental query definition is easier Querydsl is licensed under the LGPL 2.1 license.
Hendy Irawan

Building Vaadin Applications on top of Activiti - Wiki - vaadin.com - 0 views

  •  
    In this article, we are going to look at how the Activiti BPM engine can be used together with Vaadin. We are going to do this in the form of a case study of a demo application that is available on GitHub. The code is licensed under Apache License 2.0 and can freely be used as a foundation for your own applications. Before continuing, you might want to check out this screencast of the demo application in action (HD quality is recommended):
Hendy Irawan

DWR - Easy Ajax for JAVA - 0 views

  •  
    Direct Web Remoting DWR is a Java library that enables Java on the server and JavaScript in a browser to interact and call each other as simply as possible. DWR is Easy Ajax for Java DWR version 3.0.rc1 is the most recent development release. DWR version 2.0 is the current stable release. Download them now and use DWR in your website in minutes.
Hendy Irawan

Eclipse Gemini Blueprint - Home - 0 views

  •  
    Eclipse Gemini Blueprint is the reference implementation for the OSGi Alliance Blueprint Service (chapter 121 of the OSGi 4.2 Compendium Specification). Gemini Blueprint project makes it easy to build Java applications that run in an OSGi framework. By using Gemini Blueprint, applications benefit from using a better separation of modules, the ability to dynamically add, remove, and update modules in a running system, the ability to deploy multiple versions of a module simultaneously (and have clients automatically bind to the appropriate one), and a dynamic service model. Gemini users may also be interested in Eclipse Virgo, an open source, completely modular, OSGi-based Java application server. Its documentation is considered a supplement to Gemini Blueprint as it explains in detail, how OSGi can be used in various development and production scenarios.
Merit Campus

Online Java Training - Creating threads - 0 views

  •  
    There are two ways to create threads. 1. Create Threads implementing Runnable interface 2. Create Threads Extending Thread class When to use Runnable interface Use Runnable interface when your class is extending some other class. Since in Java mulitple inheritance is not possible we use Runnable interface to create Threads.
Rinav G

JavaBlogging » What is serialVersionUID? - 2 views

  • private static final long serialVersionUID = 1L
  • and it is still there even after the program finished. Let’s see if we can read that file once again, this time without creating it first.
  • Now, let’s see what happens, when we change the serialVersionUID value and try to deserialize once again our file. Change the line 2 in the class SerializeMe so that serialVersionUID contains now 2 instead of 1:
  • ...13 more annotations...
  • serialVersionUID = 2L;
  • static final
  • Exception in thread "main" java.io.InvalidClassException:
  • As you can see, this time the deserialization didn’t go well. ObjectInputStream complained about the serialVersionUID being changed.
  • How does he know that it changed? If serialVersinUID is static, then it should not have been serialized in the first place, and there should be no information about the previous value 1 during the deserialization, right? Well, serialVersionUID is an exception to the rule that “static fields don’t get serialized”.
  • Moreover, if there is no serialVersionUID officially declared in the class to be serialized, compiler automatically adds it with a value generated based on the fields declared in the class.
  • The deserialization of that object does not necessarily have to occur exactly after serialization. It can occur after a few months or on a completely different JVM
  • there is a chance that the class declaration has changed between serialization and deserialization.
  • It checks if the data read from the input stream is compatible with the current definition of the class.
  • when the visibility of a field changes, the serialVersionUID changes too.
  • sometimes you just want for some reason to forbid deserialization of old serialized objects,
  • you might tend to write it once for every serializable class ( or have it generated by the IDE ) and forget about it. WRONG !!!
  • If you write it once and don’t take care to update it when necessary, you loose all the merits of serialVersionUID.
  •  
    What is serialVersionUID? What is it Used For???
Hendy Irawan

EasyMock - Mock Objects for interfaces & objects by generating them on the fly using Ja... - 10 views

  •  
    "EasyMock provides Mock Objects for interfaces (and objects through the class extension) by generating them on the fly using Java's proxy mechanism. Due to EasyMock's unique style of recording expectations, most refactorings will not affect the Mock Objects. So EasyMock is a perfect fit for Test-Driven Development. EasyMock is open source software available under the terms of the Apache 2.0 license. Development, downloads and issue tracking are hosted on SourceForge. "
anonymous

Introduction to UML 2 Activity Diagrams - 0 views

  • In many ways UML activity diagrams are the object-oriented equivalent of flow charts and data flow diagrams (DFDs) from structured development
  •  
    "ugh some m"
abuwipp

Maven GWT Plugin - GWT Maven Plugin Usage - 0 views

  • configure compilation for multiple modules
  • automagically scan project source and resources directories for ''.gwt.xml'' module files
Hendy Irawan

Formatter (Java 2 Platform SE 5.0) - java platform format string syntax - 0 views

  •  
    " Format String Syntax Every method which produces formatted output requires a format string and an argument list. The format string is a String which may contain fixed text and one or more embedded format specifiers."
Rinav G

A JSTL primer, Part 2: Getting down to the core - 0 views

  •  
    JSTL in foreach
anonymous

untitled - 0 views

  • initWidget(uiBinder.createAndBindUi(this));
    • anonymous
       
      To inizialize the "menber variable" whith the widget object described in the XML view despription
  • uiBinder.createAndBindUi(this)
  • GWT compiler won't actually visit this URL to fetch the file, because a copy of it is baked into the compiler
  • ...15 more annotations...
  • @UiField have default visibility
  • UIObject
  • DivElement
  • If your factory method needs arguments, those will be required as attributes.
  • Every widget that is declared in a template is created by a call to GWT.create().
  • @UiConstructor annotation.
  • you can mark your own widgets with
  • CricketScores has no default (zero args) constructor
  • you can define a @UiFactory method on the UiBinder's owner
  • annotate a constructor of CricketScores with @UiConstructor.
  •   @UiFactory
  • public class UserDashboard extends Composite {  interface MyUiBinder extends UiBinder<Widget, UserDashboard> {}  private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);  public UserDashboard() {    initWidget(uiBinder.createAndBindUi(this));  }}
  • use several different XML templates for the same view
  • public interface Display
  • methods can be called to fill in attribute values
anonymous

Large scale application development and MVP - Part II - Google Web Toolkit - Google Code - 0 views

  • itself
    • anonymous
       
      The View Implementation
  • @UiHandler("
  • presenter.onAddButtonClicked();
  • ...91 more annotations...
  • onAddButtonClicked
  • eventBus.fireEvent(new AddContactEvent());
  • presenter needs to know more about the view
  • view needs to know more about the data model
  • data types are typically homogeneous within column borders
  • ColumnDefinition abstract class
  • houses the any type-specific code (this is the third party mentioned above)
  • ColumnDefinition
  • ColumnDefinition(s) would be created outside of the presenter
  • we can reuse its logic regardless of what view we've attached ourself to
  • update our views such that we can set their ColumnDefinition(s).
  • setColumnDefinitions
  • this.columnDefinitions = columnDefinitions;
  • so that we can pass in
  • a mocked ContactsView instance when testing our ContactsPresenter
  • in our AppController, when we create the ContactsView,
  • new ContactsViewColumnDefinitions().getColumnDefinitions();
  • we can initialize it with the necessary ColumnDefinition(s).
  • contactsView.setColumnDefiniions(
    • anonymous
       
      Initialize ContactsView with the necessary ColumnDefinition(s)
  • With our ColumnDefinition(s) we can pass the model untouched.
  • As mentioned above we were previously dumbing down the model into a list of Strings
  • current solution
  • List<String> data
  • display.setData(data);
  • how that data type is rendered.
  • use generics
  • third party that abstracts
  • knowledge of a cell's data type
  • stringing together a list of these classes
  • providing the necessary render()
  • and isClickable()/isSelectable() override
  • ContactsViewColumnDefinitions<ContactDetails>
  • columnDefinitions =      new ArrayList<ColumnDefinition<ContactDetails>>()
  • ColumnDefinition<T>
  • ContactsPresenter
  • ContactsViewImpl
  • ColumnDefinition<T> columnDefinition = columnDefinitions.get(j);
  • the presenter can pass the model untouched
  • the view has no rendering code
  • that we would otherwise need to test. And the fun doesn't stop there.
  • presenter.onItemClicked(
  • presenter.onItemSelected
  • ClickEvent
  • cell.getCellIndex()
  • columnDefinition.isClickable()
  • SelectEvent
  • columnDefinition.isSelectable()
  • return shouldFireClickEvent;
  • return shouldFireSelectEvent;
  • respond to user interaction in different ways based upon the cell type that was clicked
  • use them for rendering purposes
  • defining how to interpret user interactions
  • we're going to remove any application state from the ContactsView
  • replace the view's getSelectedRows() with a SelectionModel
  • The SelectionModel is nothing more than a wrapper around a list of model objects.
  • ContactsPresenter holds on to an instance of this class
  • onItemSelected
  • Having the ColumnDefinition create a new widget for each cell is too heavy
  • Replace our FlexTable implementation with an HTML widget
  • calling setHTML()
  • Reduce the event overhead by sinking events on the HTML widget
  • rather than the individual cells
  • update our ContactsView.ui.xml file to use a
  • HTML widget rather than a FlexTable widget.
  • <g:HTML ui:field="contactsTable">
  • Inefficiencies related to inserting new elements via DOM manipulation Overhead associated with sinking events per Widget
  • for each item ask our column definitions to render accordingly
  • each column definition
  • render itself into the StringBuilder
  • rather than passing back a full-on widget
  • calling setHTML on a HTML widget
  • rather than calling setWidget on a FlexTable.
  • This will decrease your load time, especially as your tables start to grow.
  • we're reducing the overhead of sinking events on per-cell widgets
  • instead sinking on a single container
  • ClickEvents are still wired up via our UiHandler annotations
  • get the Element that was clicked on
  • and walk the DOM until we find a parent TableCellElement
  • we can determine the row
  • shouldFirdClickEvent() and shouldFireSelectEvent()
  • to take as a parameter a TableCellElement rather than a HTMLTable.Cell.
  • faster startup times via Code Splitting.
  • runAsync() points
  • split portion of your code is purely segmented
  • not referenced by other parts of the app
  • it will be downloaded and executed at the point that it needs to run
  • Do we really want to download all of that code before the user even logs in?
  • Not really.
  • simply grab the login code, and leave the rest for when we actually need it
  • wrap the code that creates the ContactsView and ContactsPresenter in a runAsync() call
  • as optimizations such as this one become easier and easier to implement.
sally pearson

Renewing My Remote Computer Help Subscription - 3 views

My friend recommended ComputerHelpFastOnline - an emerging team of computer savvy tech support professionals - to provide computer help for my business. Thank God I heeded his words because since I...

computer help

started by sally pearson on 06 Jun 11 no follow-up yet
cecilia marie

Software Support Saved My Spring Days - 1 views

Last spring, I was having trouble with a recurrent problem from a software I installed on my PC. It keeps on displaying errors on the screen which really got me ticked off. After 2 weeks of putting...

software support

started by cecilia marie on 10 Aug 11 no follow-up yet
DJHell .

Portale und Portlets (4) || IT-Republik - JAXenter - Artikel - 0 views

  •  
    In den letzten Teilen der Serie wurden bereits viele Neuerungen des JSR-286 vorgestellt und an konkreten Beispielen demonstriert. In diesem Teil wird der Schwerpunkt darauf gelegt, wie die entstandene Ausgabe gecached werden kann, um auch das Thema Performance nicht aus den Augen zu verlieren. Ein Überblick über die Annotation-Unterstützung des JSR-286 rundet die Einführung neuer Features ab.
‹ Previous 21 - 40 of 45 Next ›
Showing 20 items per page