The advantage of client-side event handling is its high efficiency. Because all processing is done in the viewer process, no network traffic is generated. This also eliminates the need for marshalling and marshalling for object passing. However, client-side event handling is not sufficient for all situations.
Because the event to command mapping is created before the event is triggered, the mapping is static and cannot be changed when the event is generated. Sometimes it is necessary to have programming logic in place to determine what to do by checking the actual event contents. This is supported by the second stage of event processing, server-side event handling.
When an event is generated, the client-side Event Handler is always checked first to see if a mapping exists for that event. If a mapping is found for the event, the corresponding command is executed on the client and the event is considered completely processed.
If the client-side handler does not have any mapping for the event, the event is forwarded to the server. The server then sends the event to the event listener in the replet. Mouse events are never sent to the server due to their high frequency. They must be handled in the client-side event handler.
#1 Ranking: Read how InetSoft was rated #1 for user adoption in G2's user survey-based index | Read More |
Each listener has one method, valueChanged(). The listener method takes a parameter with the type of the event the listener handles and returns a RepletCommand object.
RequestListener listener = new RequestListener() { public RepletCommand valueChanged(RequestEvent e) { EventPoint item = (EventPoint) e.getSource(); //Finding the X axis label which was clicked in a chart // chart is an object of the ChartLens class String dstr = chart.getLabel(item.x); .... } }; addRepletSelectionListener("Chart1", null, listener); addRequestListener(listener);
Replet Event |
Listener |
RepletMenuEvent |
RepletMenuListener |
SelectionEvent |
RepletSelectionListener |
RequestEvent |
RequestListener |
If no listener is registered for an event, the event is discarded, except the RequestEvent. RequestEvent has a default handler in the server. If no user listener is registered for the RequestEvent, the server calls the createReport() method on the replet and sends back a Refresh command to the viewer.
The replet is responsible for checking the type (name) of the request in createReport() and performs any process appropriate for that request. The viewer will reload the pages after receiving the Refresh command and will display any changes made in the createReport() method.
A replet is an executable report. It can be parameterized to produce different types of reports. Because a replet can produce completely different reports based on parameter values, it is possible (though not recommended) for a reporting system to use only one replet to produce all reports.
Replets are organized in a hierarchical structure in the repository. Although the name of the replet resembles a file path, it has no relationship to the location of the file on the file system. Neither does it have any relationship to the package to which a replet belongs. A replet class is loaded as a regular Java class.
There are multiple entry points for parameters to be passed to a replet: replet creation time, replet initialization, user-initiated customization, or replet-initiated parameter prompting.
The BasicReplet API provides a few high-level methods for adding common interactions, such as hyper-links and popup menus. A programmer can also use the generic event handling API to add custom event handling to a replet.
Creating a Join in InetSoft - Creating any of these join types is extremely easy in the InetSoft Visual Composer. To create a join, select the two tables that you want to join, and press the Join button in the toolbar. Select the desired join type. For Inner/Outer Join, this opens the Join Editor. (For Cross Join and Merge Join, the result is created immediately because no relationships need to be defined.) In the Join Editor, drag a column from one table to the other table to specify the join columns...
Definition of a Funnel Chart - A Funnel Chart typically displays the sequential stages of a process, where the aggregate for each stage represents a subset of the aggregate from the previous stage. This results in the characteristic monotonic narrowing that creates the "funnel" shape. An example is shown below: Here each stage in a sales process represents a refinement of the stage above it: Only a fraction of sales leads produce sales calls, while only a fraction of those sales calls yield follow-ups, and so on until the channel ends with the final successful sales numbers. This "funnel" representation is simply a helpful way to visualize the narrowing or "winnowing" of data in each successive stage...
Mashup Technology for Enterprises - Let's talk about this enterprise implication. Large organizations have lots of rules and regulations, and there are reasons for all that stuff. We hear all about data governance these days and obviously it's a big deal, especially for public companies because they have to report on this stuff, and the stock market goes up and down depending on what people hear about things so it's important. But what do you think are some critical implications of mashup technology with respect to the sort of protocols or processes of large enterprises? Sure, well, speaking to the point that you made earlier, about not seeing mashups used as heavily in large enterprises, I think probably one of the big reasons for that is inertia of the old paradigm. It used to be the case that companies would always focus on ETL and data marts and data warehouses. There was a huge concern about cleanliness and security rules and with the new mashup paradigm, a lot of people are thinking "oh, all the old rules are broken...
Portfolio Diversification KPI - By distributing assets across several asset classes, a well-diversified portfolio reduces risk. This KPI evaluates the distribution of assets and makes sure the business doesn't specialize too much on one industry, minimizing the effect of market volatility on performance as a whole...
Volatile Organic Compounds (VOCs) - Any kind of chemical that has the ability to evaporate into the air is considered a volatile organic compound. They come from a variety of sources, such as home goods, industrial activities, and car exhaust. Since some volatile organic compounds (VOCs) may contribute to the development of ground-level ozone and particulate matter, monitoring VOC levels is essential for understanding air quality. To provide a complete picture of the composition of the atmosphere, VOC concentration-related KPIs are often included in air quality dashboards...
Previous: Example of a Report Event Handler |