ScroogeXHTML for the Java™ platform 4.5 – fast RTF to HTML/XHTML converter

Habarisoft released its RTF to HTML/XHTML converter library, ScroogeXHTML for the Java™ platform, version 4.5.

Release Notes:

  • Added support for bookmarks. Bookmarks will be converted to id attributes of additional <span> elements. Bookmark processing is disabled by default and can be enabled by setting ScroogeXHTMLBase.setConvertBookmarks(boolean) to true.
  • Added support for field expressions to capture hyperlink targets. Field expression processing is disabled by default and can be enabled by setting ScroogeXHTMLBase.setConvertFields(boolean) to true.
  • Added experimental helper class LinkURIBuilder which converts field expressions to hyperlink target URLs
  • Updated installer to version 5.0.0-rc3

On-line demo

The page secure.habariwebcomponents.de/sxd/ allows to upload a RTF file and convert it to different output formats (including HTML5, HTML 4.01 and XHTML).

API documentation

The online API documentation is available at http://www.habarisoft.com/scroogexhtml_j/4.5/docs/api/index.html.

Two server deployment licenses included

For the deployment on client/server production systems, the Single Developer license already includes two server deployment licenses. License types are explained on http://www.habarisoft.com/scroogexhtml_license.html

WMF to PNG conversion support in ScroogeXHTML for the Java platform 4.4

The RTF to HTML / XHTML library ScroogeXHTML for the Java™ platfom introduces support for embedded WMF images in the upcoming 4.4 release. The conversion uses the Apache Batik transcoder to generate PNG files for all embedded WMF files of type EM_ANISOTROPIC.

ScroogeXHTML is also available for Delphi and Free Pascal.

ScroogeXHTML for the Java™ platform 4.3 – fast RTF to HTML/XHTML converter

Habarisoft released its RTF to HTML/XHTML converter library, ScroogeXHTML for the Java™ platform, version 4.3.

Release Notes:

  • Removed legacy debug mode code to reduce library code size
  • Dependency to slf4j updated to 1.7.7
  • Installer updated to IzPack 5.0.0 rc2
  • Removed unnecessary setFont and getFont methods from Fonttable class
  • Removed needless valueOf for in valueOf(getCurFontNr())
  • Java 5: use import static java.util.Collections.unmodifiableMap
  • Added private constructors for utility classes

On-line demo

The page https://secure.habariwebcomponents.de/sxd/ allows to upload a RTF file and convert it to different output formats (including HTML5, HTML 4.01 and XHTML).

API documentation

The online API documentation is available at http://www.habarisoft.com/scroogexhtml_j/4.3/docs/api/index.html.

Two server deployment licenses included

For the deployment on client/server production systems, the Single Developer license already includes two full server deployment licenses. License types are explained on http://www.habarisoft.com/scroogexhtml_license.html

Delphi version

The RTF to HTML / XHTML library is also available for Delphi at http://www.habarisoft.com/scroogexhtml_delphi.html
ScroogeXHTMLJ_NetBeans

Query ActiveMQ Broker Statistics with Delphi

Broker Configuration

To configure ActiveMQ to use the statistics plugin add the following to the ActiveMQ XML configuration:

<plugins>
  <statisticsBrokerPlugin/>
</plugins>

The statistics plugin looks for messages sent to particular destinations.

Query running broker statistics

To query the running statistics of the message broker, the client sends an empty message to a Destination named ActiveMQ.Statistics.Broker, and sets the replyto field with the Destination you want to receive the result on. The statistics plugin will send a  MapMessage filled with the statistics for the running ActiveMQ broker.

Source code

program DestStatistics;

(**
  Requires ActiveMQ 5.3 or higher
  To configure ActiveMQ to use the statistics plugin, add the following to the ActiveMQ XML configuration:
  <broker>
  ...
    <plugins>
      <statisticsBrokerPlugin/>
    </plugins>
  ...
  </broker>

  Usage:
  ------
  DestStatistics [destination]
  If no destination is specified, the program returns the broker statistics

  Reference
  ---------
  http://activemq.apache.org/statisticsplugin.html
  https://issues.apache.org/activemq/browse/AMQ-2379
  http://rajdavies.blogspot.com/2009/10/query-statistics-for-apache-activemq.html

  You can also use wildcards too, and receive a separate message for every destination matched.
*)

{$APPTYPE CONSOLE}

uses
  SysUtils,
  BTCommAdapterIndy, BTMessageTransformerXMLMapOmni,
  BTJMSInterfaces, BTJMSConnection, BTSessionIntf, BTSerialIntf,
  BTStompTypes, BTTypes,
  Classes;

var
  Connection: IConnection;
  Session: ISession;
  Producer: IMessageProducer;
  Consumer: IMessageConsumer;
  Destination, ReplyQueue: IQueue;
  JMSMessage: ITextMessage;
  Reply: IMapMessage;
  MapNames: PMStrings;
  I: Integer;
  Key: string;

begin
  Connection := TBTJMSConnection.MakeConnection;
  try
    try
      // Create and assign the message transformer
      SetTransformer(Connection, TBTMessageTransformerXMLMapOmni.Create(nil));

      Connection.Start;
      Session := Connection.CreateSession(False, amAutoAcknowledge);

      // listen on reply queue
      ReplyQueue := Session.CreateQueue('Habari' + '?' +
        BTStompTypes.SH_TRANSFORMATION + '=' + TRANSFORMER_ID_MAP_XML);
      Consumer := Session.CreateConsumer(ReplyQueue);

      // create the pseudo destination
      if ParamCount = 0 then
      begin
        Destination := Session.CreateQueue('ActiveMQ.Statistics.Broker');
      end
      else
      begin
        Destination := Session.CreateQueue('ActiveMQ.Statistics.Destination.' + ParamStr(1));
      end;

      // display destination name
      WriteLn('Request statistics for ' + Destination.QueueName + ' ...');

      // create the message and set reply queue name
      JMSMessage := Session.CreateTextMessage;
      JMSMessage.JMSReplyTo := ReplyQueue;
      Producer := Session.CreateProducer(Destination);
      Producer.Send(JMSMessage);

      // read the result message
      Reply := Consumer.Receive(1000) as IMapMessage;

      // list the map key/values
      while Assigned(Reply) do
      begin
        MapNames := Reply.GetMapNames;
        for I := 0 to Length(MapNames) - 1 do
        begin
          Key := MapNames[I];
          WriteLn(Key + '=' + Reply.GetString(Key));
        end;
        WriteLn;
        Reply := Consumer.Receive(1000) as IMapMessage;
      end;

      WriteLn('No more message on queue ' + ReplyQueue.QueueName);

      Connection.Stop;

    except
      on E: Exception do
        WriteLn(E.Message);
    end;
  finally
    Connection.Close;
  end;

  WriteLn('Press any key');
  ReadLn;
end.

 


Query Statistics for Apache ActiveMQ with Delphi

NetBeans IDE 8.0 released

The new release of the NetBeans IDE is out. The Release notes list many new features including Java 8 support, Java SE Embedded support, PrimeFaces code generators, TomEE support, updated JavaServer Faces Versions and PrimeFaces 4.0 library, Profiler enhancements, Support for Subversion 1.8 working copies, various enhancements to Git and Mercurial support.

NetBeans 8: JavaDoc tooltips

NetBeans IDE 8.0 Information

NetBeans IDE 8.0 provides out-of-the-box code analyzers and editors for working with the latest Java 8 technologies–Java SE 8, Java SE Embedded 8, and Java ME Embedded 8. The IDE also has a range of new enhancements that further improve its support for Maven and Java EE with PrimeFaces; new tools for HTML5, in particular for AngularJS; and improvements to PHP and C/C++ support.

NetBeans IDE 8.0 is available in English, Brazilian Portuguese, Japanese, Russian, and Simplified Chinese.

ScroogeXHTML for the Java™ platform 4.2 – fast RTF to HTML/XHTML converter

Habarisoft released its RTF to HTML/XHTML converter library, ScroogeXHTML for the Java™ platform, version 4.2.

Release Notes:

  • The conversion method convert(String rtf) no longer uses HTML encoding (&#nnnnn;) for non-ASCII characters
  • New method convert(String rtfileName, String htmlFileName, String charsetName)
  • Method convert(String rtfileName, String htmlFileName) uses UTF-8 charset
  • New Method convert(String rtf, File outFile, String charsetName)
  • Method convert(String rtf, File outFile) uses UTF-8 charset
  • Fixed unchecked calls in classes FontTable and RTFKeywords
  • Fixed double blanks before lang attribute
  • Code clean-up (based on NetBeans IDE hints)
  • Dependency to sl4j updated to 1.7.5
  • Installer updated to IzPack 5.0.0 rc1
  • HTML5 added to unit tests

On-line demo

The page https://secure.habariwebcomponents.de/sxd/ allows to upload a RTF file and convert it to different output formats (including HTML5, HTML 4.01 and XHTML).

API documentation

The online API documentation is available at http://www.habarisoft.com/scroogexhtml_j/4.2/docs/api/index.html.

Two server deployment licenses included

For the deployment on client/server production systems, the Single Developer license already includes two full server deployment licenses. License types are explained on http://www.habarisoft.com/scroogexhtml_license.html

Delphi version

The RTF to HTML / XHTML library is also available for Delphi at http://www.habarisoft.com/scroogexhtml_delphi.html
ScroogeXHTMLJ_NetBeans

Habari Client Libraries for Delphi and Free Pascal – new releases

4. December 2013 – New versions of all Habari message broker client libraries are available. The new release of Habari Client libraries is mainly a maintenance release. The new library versions are:

  • Habari Client for ActiveMQ 3.6 (tested with ActiveMQ version 5.9.0)
  • Habari Client for Apollo 1.6 (tested with Apollo version 1.6)
  • Habari Client for HornetQ 2.2 (tested with HornetQ version 2.3.1)
  • Habari Client for OpenMQ 2.6 (tested with OpenMQ version 5.0.1)
  • Habari Client for RabbitMQ 1.8 (tested with RabbitMQ version 3.2.1)

This release fixes several bugs and warnings. For a full list of changes please check the “Getting Started” documentation. More information, demo downloads, example code and the complete API reference are available on-line.

With Habari Client libraries, Delphi and Free Pascal developers can take advantage of message broker technology, which is distributed, loosely coupled, reliable and asynchronous, to build integrated systems, connecting clients using the peer-to-peer or the publish-and-subscribe communication model.

Habari Client Libraries

Habari Client Libraries for Delphi and Free Pascal – new releases

New versions of all Habari message broker client libraries is available. The new release of Habari Client libraries introduces new features, including improved Free Pascal support:

  • New: Remote Procedure Call (RPC) demo program
  • New: Heart-beating tests using built-in STOMP server
  • New: Connection parameter “subscribe.receipt” to request and verify broker confirmations for subscriptions
  • New: Connection pool example implementation with demo project
  • New: Tested with Free Pascal 2.6.2
  • New: Tested with Indy 10.6
  • New: Support for mixed compiler modes with Free Pascal
  • Improved: ESynapseError exceptions will be re-raised from Receive operations

With Habari Client libraries, Delphi and Free Pascal developers can take advantage of message broker technology, which is distributed, loosely coupled, reliable and asynchronous, to build integrated systems, connecting clients using the peer-to-peer or the publish-and-subscribe communication model.

Habari Client libraries provide access to enterprise quality messaging solutions. Supported message brokers include Apache ActiveMQ, Apollo, HornetQ, Open MQ, and RabbitMQ.

Habari Client Libraries