Skip navigation

After Google code was discontinued, I am pulling my project out of there as needed. Hopefully I'll get all of them before they shut it down for good.

This one is already deleted, so I had to find it in an old SVN repo at one of of old drives.

 

MavenHoe turns a directory into a Maven repository.

Here's how it works:

 

Mavenhoe – fake Maven repository from .jar's in local directory tree

Purpose

QA dept often needs to  run a maven project with "faked" dependencies - the actual .jar files  must be taken from a product's distribution, which are not in any Maven  repository (like EAP's .zip or RPM distribution).

 

This  utility is one of the ways to solve this problem. It scans a given  directory for .jar files, indexes them, and opens a server acting as a  Maven repository, in the sense of serving the indexed .jar files.

 

Which file will be served is determined by match of  strings in the provided Maven URL path  (localhost:17283/<group>/<artifact>/<version>/<filename>.jar).  This algorithm is a matter of future improvement. Using static mapping  file is a possibility.

 

Usage

 

Maven project  preparation

 

Optionally disable the central repository if  you shouldn't need it - i.e. all your dependencies should be in the  directories indexed by Mavenhoe.

See http://community.jboss.org/thread/89912 . One (IMO the best) option is to override it in pom.xml:

 

    <repository>
      <id>central</id>
      <url>http://some.url</url>
      <snapshots><enabled>false</enabled></snapshots>
      <releases><enabled>false</enabled></releases>
    </repository>

 

Add  Mavenhoe repository to your pom.xml:

        <repository>
            <id>mavenhoe-repo</id>
            <url>http://localhost:17283/jars?mvnPath=</url>
        </repository>

 

Alternatively,  you can also add the repo to ~/.m2/settings.xml (or  any path and use `mvn -s settings-local.xml`):

 

<?xml version="1.0" encoding="UTF-8"?>
<settings>

  <localRepository>/home/ondra/work/hbn/runner/EAP-5.1/work-space/m2repo</localRepository>

  <profiles>
    <!-- Mavenhoe fake repository -->
    <profile>
      <id>mavenhoe-repo</id>
      <activation><activeByDefault>true</activeByDefault></activation>
      <repositories>
        <repository>
          <id>mavenhoe</id>
          <url>http://localhost:17283/jars?mvnPath=</url>
        </repository>
      </repositories>
    </profile>
  </profiles>

</settings>

Mapping  file

Mapping file tells Mavenhoe which file should be served for  certain G:A:C:V axes.

You can provide multiple mapping files,  using parameter -map <path/map.txt>

 

An  example of such file is the extracted-metadata.txt.zip attached to https://docspace.corp.redhat.com/docs/DOC-53554 :

 

# Format:

# <real-file-name>    <groupId>                  <artifactId> [@<cls>] <version>    <virtual-file-name>

jboss-managed.jar      org/jboss/man/            jboss-managed        2.1.0.SP1    jboss-managed-2.1.0.SP1.jar
getopt.jar            gnu-getopt/                getopt                1.0.12-brew  getopt-1.0.12-brew.jar
jboss-kernel.jar      org/jboss/microcontainer/  jboss-kernel          2.0.6.GA      jboss-kernel-2.0.6.GA.jar
jboss-logging-spi.jar  org/jboss/logging/        jboss-logging-spi    2.1.0.GA      jboss-logging-spi-2.1.0.GA.jar

...

 

The  first column is path to a file which should be served (base  dir is the current) to Maven client.

Further columns are: groupId (with either  slashes or dots), artifactId, [@classifier,]  version, artifact file name, respectively.

Classifier can be optionally specified at fourth column, prepended with @  (shifting all remaining columns).

 

For JBoss  products, these information info will be acquired from an online  database (see https://docspace.corp.redhat.com/docs/DOC-52060#Versions_database ).

 

 

Command line options

Command  Format (hopefully the syntax is clear ):

 

mavenhoe [-sp] ( -map [-fakepoms] <map.txt> | -i [-fakepoms] <dir> | -ipom <dir> )+

 

Header  1Header  2
-i [-fakepom]  <path/to/dir>

Indexes .jar files in this dir tree.

G:A:V used:

1) META-INF/pom.xml if  present.

2) filename : filename : MANIFEST.MF's  Implementation-Version.

-ipom  <path/to/dir>As with -i,  only searches for pom.xml files.
-map [-fakepom] <path/map.txt>Mapping  file to be used by FileBasedMapper.
-spStrip paths from the 1st column in all map files. (applies  to all -map's).
-fakepom

Applied to next dir tree; Mavenhoe will serve fake .pom files with no dependencies.

G:A:C:V used are as described above.

 

 

Meta  URLs

http://localhost:17283/status

http://localhost:17283/status

            Will list all indexed jars.

 

http://localhost:17283/fbmStatus

            Will list FileBasedMapper's maps.

 

http://localhost:17283/shutdown

            Shuts the server down.

Artifact URLs

 

HTTP codeMeaning

200

Requested  artifact was found, and is server in the response body. See the DEBUG  log messages for details.
400Wrong  G:A:V path - not in a format <groupId>/<artifactId>/<version>/<filename>.<packaging> .
403Payment required - send  donation to author's PayPal .-)
404Requested  artifact was not found. See DEBUG logs what was searched.
409FileBasedMapper  found a match in a mapping file, but the referenced artifact file does  not exist (nothing to serve).
500Internal  exception - bug in the app.

 

 

http://localhost:17283/jars?mvnPath=org/jboss/whatever/whatever/5.1.0.GA/whatever-5.1.0.GA.jar

-  Should give 404

 

http://localhost:17283/jars?mvnPath=org/jboss/whatever/hibernate-core/3.3.2.GA_CP03/hibernate-core-3.3.2.GA_CP03.jar

-  Should let you download the hibernate-core-3.3.2.GA_CP03.jar

 

 

Build  process tips

 

To ensure that your dependencies are not  downloaded from local Maven repository, wipe them out:

mvn build-helper:remove-project-artifact

 

To  use trully "local" repository solely for one project, set it to be in a  directory.

This can be done by using modified settings.xml.

 

cp ~/.m2/settings.xml ./settings-local.xml

sed "s|<localRepository>\(.*\)</localRepository>|<localRepository>local_repo</localRepository>|" -i settings-local.xml
mvn -s settings-local.xml ...

 

Sample  log output

 

2010-12-10 00:38:25,692 DEBUG org.jboss.qa.mavenhoe.mappers.OrMapper  Looking for: jdom : jdom : 1.0 : jdom-1.0.jar
2010-12-10 00:38:25,693 DEBUG org.jboss.qa.mavenhoe.mappers.FileBasedMapper  Looking for: jdom : jdom : 1.0 : jdom-1.0.jar
2010-12-10 00:38:25,693 DEBUG org.jboss.qa.mavenhoe.mappers.FileBasedMapper    Thus  for: 'jdom:jdom'
2010-12-10 00:38:25,693 DEBUG org.jboss.qa.mavenhoe.mappers.FileBasedMapper    Supposed file name: null
2010-12-10 00:38:25,693 DEBUG org.jboss.qa.mavenhoe.mappers.ArtifactIdMapper  Looking for: jdom : jdom : 1.0 : jar = jdom-1.0.jar
2010-12-10 00:38:25,693 DEBUG org.jboss.qa.mavenhoe.mappers.ArtifactIdMapper    Supposed file name: jdom
2010-12-10 00:38:25,693 DEBUG org.jboss.qa.mavenhoe.MavenHoeApp

  Found: JarInfo{ name: jdom, version: 5.1.0 (build: SVNTag=JBPAPP_5_1_0 date=201009150028),

                  group: null,

                  path: eap/jboss-eap-5.1/jboss-as/server/production/deploy/admin-console.war/WEB-INF/lib/jdom.jar,

                  base: eap }

Windup 2.5.0 was released!

 

Download here.

Note that this is behind a download counter; if you have issues downloading it, ask me for a direct link.


New features are listed below.

This release is primarily a bug-fix release, and also you'll experience a significant preformance improvement.

 

The documentation is still in preparation, will be available once we officially post about this Windup release at the windup-users mailing list.

 

Enjoy

 

Features

  • WINDUP-974 Javaclass condition should allow to search for Annotation property
  • WINDUP-893 Create new quickstart to present using windup embedded in maven project
  • WINDUP-885 Upgrade windup-maven-plugin to latest WindUp core version
  • WINDUP-821 Replace the pie chart with a bar chart
  • WINDUP-820 Tree view of files in the Application report
  • WINDUP-717 Add a "--discoverPackages" parameter to simply list the packages in an application
  • WINDUP-666 Add support for query on XML files by dtd namespace
  • WINDUP-665 A tree structurization of known tags
  • WINDUP-593 Report all unparsable XML file issues in one report
  • WINDUP-466 Allow windup-migrate-app to analyse libraries (JAR)
  • WINDUP-134 Support scanning multiple applications/servers in one run

Bug fixes

  • WINDUP-1018 NullPointer when attempting to list targets
  • WINDUP-1013 charts overlap with archive description table on app details
  • WINDUP-1006 wrong URL to jquery-ui.css and missing its images
  • WINDUP-999 NPE on xsl:include
  • WINDUP-992 org.jboss-only archive always ignored, even if --packages org.jboss is specified
  • WINDUP-982 Maven coords of identified archives are not shown in reports
  • WINDUP-973 incomprehensible NPE when a XML rule is wrong
  • WINDUP-972 DiscoverJPAAnnotationsRuleProvider_JPAEntityBeanRule rule throws java.lang.NullPointerException
  • WINDUP-968 Broken sorting when the detail of an issue are displayed
  • WINDUP-967 Wrong sorting order in the migration issues report
  • WINDUP-966 The links in rules are not working
  • WINDUP-965 Windup will suggest loading CR versions of rules even if the installed version is a .Final version
  • WINDUP-960 Introduce a "potential" severity // Potential issues incidents on Report Index is incorrect
  • WINDUP-956 Inherited types are not extracted in cases where the binding is not available
  • WINDUP-952 Spring bean report is missing multi-application support
  • WINDUP-950 migration issues template error
  • WINDUP-937 The link to additional resources on the Migration Issues Report page doesn't work
  • WINDUP-930 Invalid source or target technologies are not reported to the user
  • WINDUP-925 Improve the performance of the migration-issues page on large pages
  • WINDUP-919 Wrong enum in one of the rules causes all of the rules to fail
  • WINDUP-913 Application Details Report: Collapse/Expand All links are not refreshed while toggling on some panels
  • WINDUP-912 migration-issues page: Links associated with a migration issue hint (or classification) are not being rendered
  • WINDUP-910 Rework report_index to put less information on each "row"
  • WINDUP-909 Replace level of effort description with the verbose versions
  • WINDUP-902 Report Index should use "incidents" in all places instead of "findings" or "issues"
  • WINDUP-899 Technology tags appear in a random order
  • WINDUP-894 Windup Distribution: Maven bom and submodule structure issues
  • WINDUP-892 Migration Issues Report: Column with string title for Level of Effort should be connected to the value
  • WINDUP-891 Migration Issues Report: Mandatory type issues should be first in the table
  • WINDUP-890 Report Index: graph bars are hovered while cursor points on them
  • WINDUP-887 Refactor XmlFile
  • WINDUP-883 Top menu bar hides page title when window narrowed
  • WINDUP-881 FreeMarker template error on an ejb-jar.xml that doesn't contain
  • WINDUP-879 Top nav obscures the page heading if the browser window is too small
  • WINDUP-877 windup.sh doesn't deal with spaces in WINDUP_HOME properly
  • WINDUP-872 Multiple Applications: File Source report leaked combine links to all XSL transformations
  • WINDUP-871 Report description is not shown for Application List and Migration Issues Reports
  • WINDUP-867 Application Report Needs Memory of Expansion
  • WINDUP-866 Data Source Provider not Resolving All Session Factory Types
  • WINDUP-863 Adjust Static IP Address to Be More Targetted
  • WINDUP-861 Source Report Inline Hint CSS
  • WINDUP-858 Migration Issues report should be updated to match the style from Tobias
  • WINDUP-857 It is difficult to tell the difference between the global migration issues report (covering all apps) and the one for each app
  • WINDUP-856 Technology tag colors have a meaning, but this is not described to the user
  • WINDUP-855 Hover help is missing on the application list page and the migration issues page
  • WINDUP-854 Invalid value of the --target option doesn't cause an error
  • WINDUP-853 The --discoverPackages output seems wrong
  • WINDUP-844 Add readme.txt into distribution with usefull information about Windup
  • WINDUP-841 License should only generate a tech tag and not a classification
  • WINDUP-840 The first column (issue name) in the Migration Issues Report is not sortable
  • WINDUP-839 Send feedback links at the bottom of the application list and the top of the application overview page are broken
  • WINDUP-838 Clear up report names (overview vs application list)
  • WINDUP-834 Can't install an addon when I don't specify a version (ClassCastException)
  • WINDUP-828 The GreetingListener is never used
  • WINDUP-827 The --updateDistribution option is not recognized
  • WINDUP-824 Catchall report should be different than Application overview
  • WINDUP-823 Regression in java freemarker template
  • WINDUP-817 Update furnace version
  • WINDUP-815 Generated class(es) are on both Migration Issues and Compatible reports
  • WINDUP-809 Bootstrap doesn't process arguments properly
  • WINDUP-808 Improve static IP matching - remove matches with version and revision on same line
  • WINDUP-806 Windup Overview page doesn't show caught java files
  • WINDUP-793 "Duplicate" entries in Compatible report for both .class and .java
  • WINDUP-772 Non xml files are trying to be parsed
  • WINDUP-754 Repeated identical hint titles in the report overview
  • WINDUP-732 When scanning multiple applications placed in one folder, windup breaks
  • WINDUP-710 Create XSD for ruletest xml tests
  • WINDUP-703 ExportCSV is using too much memory

Enhancements

  • WINDUP-996 Switch FramedElement Element cache to a SoftReference for improved memory handling in low memory situations
  • WINDUP-979 Use @RuleMetadata instead of MetadataBuilder and toStringPerform
  • WINDUP-978 Convenience: ...Model m = GraphContext#create(Class<...Model> type);
  • WINDUP-969 Application Details Report: Project tree: EAR names repeated in subnodes
  • WINDUP-958 Windup Rules Test harness should take target Technology for testing rules.
  • WINDUP-935 "Requires Architectural Change" too long, squeezes the chart
  • WINDUP-934 Maven plugin quickstart: Add an example of running against app archive.
  • WINDUP-932 Maven plugin: Get rid of the Forge and Furnace version specification by the user.
  • WINDUP-926 Add favicon to reports
  • WINDUP-924 Change the contents of the incident count cell on the application_list to use mandatory vs optional
  • WINDUP-922 Make the package patterns work with .* suffix
  • WINDUP-918 Ruleset XSD: Reflect the enumerated attributes.
  • WINDUP-911 Slim down Windup-rulesets artifact
  • WINDUP-905 Rework the layout of the migration issues page
  • WINDUP-904 On the report index, the text inside the boxes does not line up perfectly with the page heading
  • WINDUP-903 Move hover help to an always visible box at the top of the page
  • WINDUP-901 The two report boxes at the top of the report_index are together with no spacing in between
  • WINDUP-900 The application list should display effort categories
  • WINDUP-896 Potential Issues Report: when no issues are caught there is empty space after heading panel
  • WINDUP-895 Migration Issues report: Hint text should be moved to more logical place
  • WINDUP-864 Panels are Inconsistent Styling on Application Report
  • WINDUP-859 Proposed changes to topnav
  • WINDUP-850 Responsive design in reports is broken if you change browser window size
  • WINDUP-849 Application name for multiple application list is not enough intuitive
  • WINDUP-848 Enhance Windup help usage for --packages option
  • WINDUP-847 Source and Target options are not clear how to use them
  • WINDUP-846 Windup bootstrap runs slow even for showing help usage
  • WINDUP-845 Update windup startup script to not show warnings for java 8 runtime
  • WINDUP-842 Remove breadcrumb trail
  • WINDUP-836 Remove 3D style for tag labels
  • WINDUP-835 Create an index/table of content as the default
  • WINDUP-829 Add expand all/collapse all option in Overview reportr
  • WINDUP-825 Make Tattletale and Compatible files report optional
  • WINDUP-822 Overview page should list projects with collapsable div
  • WINDUP-803 Note the number of occurences of hints in a file on the Migration Issues Report
  • WINDUP-795 Skip Tattletale's generation of the .png file
  • WINDUP-790 Top nav should indicate which report you are on
  • WINDUP-785 Need to add signature for VisualAge Generator to the generated files singature list
  • WINDUP-771 Reports should be usable/accessible when off-line
  • WINDUP-744 Migration Issue Report should group same category issues
  • WINDUP-720 Consider renaming  to
  • WINDUP-691 JSF/HTML templates migration is not shown in reports
  • WINDUP-686 Windup Should Automatically Cleanup Graph & Archive Directories
  • WINDUP-604 Read JMS Pool Configurations from Vendor Specific EJB
  • WINDUP-540 Report improvements suggestions from the UX team

Windup 2.5.0 will contain the fixes for bugs found by the users. Thanks especially to Marc Zottner.

You can already try Windup 2.5.0.CR3 (candidate release 3) - ask me for a link.

 

Marek Novotny has compiled a set of new features in 2.5.0 based on Jira features/enhancements report:

 

  • CLI user experience changes (bootstrap help faster, packages can be
  • With wildcards, discovering available packages in input)
  • Added VisualAge Generator generated classes into ignored packages
  • Updated Maven plugin with showcasing it in new Quickstart
  • Migration issues report rework
  • Enhanced of all reports layouts to be more user friendly (graphs, tree like structure)
  • Added/Fixed core migration rules

 

Windup 2.6.0 will bring few new features, including automated partial Mavenization of the your project, which will help you identify the libraries you have in your application bundle and the APIs it uses. More on that later.

Last week, we had a team meeting in Barcelona.

And we have plenty of work from that. 16 pages long bulleted list of topics discussed, fileld with action items. You can see many of them in the WINDUP, WINDUPRULE and MIGR jira projects.

 

One thing I'm currently working on is automated mavenization of applications. Turns out it's not really easy and there is a reason it takes a big part of migration effort.

Barcelona0437-DSC_0025_2 Meeting skupinovka_.JPG

 

Barcelona was nice, all those crazy Gaudí buildings, the little hills around the center, nicely working infractructure, and the view of the sea from the citadel...

Actually I've been there cca. 26 years ago. Sagrada Familia didn't move a bit, only there's more things smacked on the facade. But in general the city got nicer

Barcelona1159-DSC_0760 Sagrada strop panorama.JPG

Barcelona1215-DSC_0821 Model_.JPG

 

I and Jess Sightler visited an AngularJS meetup at University of Barcelona.

The local community has around 1000 members, and the talk was attended by 80+ people. Quite impressive for a city of 2.5 million. Go Catalunya!

Barcelona0533-DSC_0121_1 AngularJS meetup.JPG

Windup roadmap leads the 3.0 milestone to be a web application.

After some consideration, we chose Angular 2 (the other considered option was Wicket 7) and, of course, JBoss EAP 7 as a backend platform.

 

So far, the application is quite small. And since JBoss EAP Quickstarts are missing an Angular 2 quickstart, you can use it as such

There's a new video codec HEVC (High Eficiency Video Codec), and certain media from "certain sources" come in that format.

To play that, you need the latest SW or firmware.

If you play these videos in VLC, then you're going to need VLC 2.2.x. Here's how to put it to Ubuntu 14.04:

https://launchpad.net/~mc3man/+archive/ubuntu/trusty-media/

 

In short:

sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get dist-upgrade

 

Pay the special attention to the note:

Please note that if using this ppa I would *not* try upgrading to 14.10/15.04, ect. Do a fresh install instead. The intent here is just for users wishing to stay on 14.04*

If upgrading anyway use ppa-purge first -

sudo ppa-purge ppa:mc3man/trusty-media

Then you need the codec itself:

sudo apt-add-repository ppa:strukturag/libde265
sudo apt-get update
sudo apt-get install vlc-plugin-libde265

 

This worked for me.

Enjoy. And don't forget to purge and remove these repos before upgrading to new Ubuntu version!

I've set up Arquillian with Selenium 2 testing.

It's not trivial as Arquillian is quite modularized and you need to pick the right bits and right versions, and there are not many places which would guide you through that.

This is what I used to get oriented:

Testing JSF Applications with Arquillian and Selenium - YouTube

 

After setting things up, I got into WebDriverException: Permission denied to access property '...'.

That turned out to be a bug in Selenium 2.52 which is discussed here:

Webdriver Firefox Exception : org.openqa.selenium.WebDriverException: Permission denied to access property '__qosId' · I…

 

That's where I got before Jess Sightler came with his master skills and figured that out sooner than me, and used PhantomJS instead of FirefoxDriver.

##  E.g. /home/ondra/sw/AS/jboss-eap-7.0
EAP_DIR=$1
if [ "" == "$1" ] ; then
    echo "Where is the EAP to which the MySQL JDBC module should be installed?"
    read EAP_DIR;
fi

MODULES_DIR=$EAP_DIR/modules/system/layers/base
if [ ! -d $MODULES_DIR ] ; then
    echo "Module's dir not found in EAP: " + $MODULES_DIR;
    return -1;
fi
JDBC_DIR=$MODULES_DIR/mysqljdbc
wget -q https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.38.zip
unzip mysql-connector-java-5.1.38.zip
rm mysql-connector-java-5.1.38.zip
mkdir -p $JDBC_DIR/main
mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar $JDBC_DIR/main
rm -rf mysql-connector-java-5.1.38/

cat <<EOF > $JDBC_DIR/main/module.xml
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="mysqljdbc">
    <resources> <resource-root path="mysql-connector-java-5.1.38-bin.jar"/> </resources>
    <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies>
</module>
EOF


Long, long time ago, in a remote kingdom of North Carolina, the Wicket quickstart was removed from JBoss EAP quickstarts.

The reason was the wicket-cdi integration was using seam-conversation to control the scope.

The Wicket version used was 1.5.5 at that time.

https://bugzilla.redhat.com/show_bug.cgi?id=1103713

 

Now, with Wicket 7.x and wicket-cdi-1.1, this problem has gone, and I hope the Wicket quickstart will make it back.

https://github.com/jboss-developer/jboss-eap-quickstarts/pull/1789

 

Enjoy 

UYsuvd3.png

Today is the last day of Matěj Briškár in Red Hat. His nature urged him to try something really exotic, so he's taken the challenge to be a developer of a major job-market site

 

Matěj, you were a great co-worker, always thinking positively, doing what's needed, and doing it very tenaciously. I wish you the best in your next episode of life, and I will look forward to meet you again some day.

 

Have a happy life!

Hear, hear, behold!

 

At the famous world-class Developer Conference Brno 2016, the biggest developer conference in the Brno region , I had the honor to present Windup. After fighting the Linux implementation of Adobe Reader which crashed on a .pdf with an animation, I stopped being sick (had a fever) and started being awesome and to my surprise, I presented what we were doing for the last year, at quite listenable level - if you excuse the long pauses when I was trying to find the mouse pointer at some of the 3 screens or vain attempts to connect to the wifi.

 

After making this, I had to stay in bed for few days. I hope watching it won't have that effect on you Enjoy!

Windup - automated migration platform - Ondrej Zizka - YouTube

Highly recommended:  SKIP TO 7:40 unless you're really really fan of desktop backgrounds

 

We're getting to a point when the two conditions are met:

 

1) The features wanted for 2.5 are implemented, and

2) The implementations did not break something else (despite how hard we tried ).

 

So it seems that the 2.5 release, which is, of course, the most informative, most effective, most organized, most colorful and otherwise awesome in every aspect (except the size ), is going to appear in the repository.jboss.org pretty soon.

 

I don't expect everyone to git clone our repo and build all the pieces, so here's what you want to see:

Windup 2.5.0 demo - Automated migration tool for Java EE - YouTube

Enjoy!

 

 

 

A note to myself: Converting from OGV to MP4:

ffmpeg -i Windup-demo-2.5.0.ogv -acodec libmp3lame -vcodec libx264 -strict experimental -crf 18 Windup-demo-2.5.0x.mp4

Tinkerpop is a group of projects for manipulating a graph database. It's a mix of API and implementations, since the underlying graph storage may vary (Titan DB, OrientDB, ...) which in turn may use different storages, e.g. key-value DBs Cassandra or BerkleyDB.

 

In 2015, Tinkerpop was donated to the Apache Foundation.

Since then, the version 3.x got to 3.1.1-SNAPSHOT but has not been released yet, probably because it's still in the incubator.

So what's new in 3.x?

 

This is what the documentation says:

The thought too much to bear as he approached his realization of The TinkerPop. The closer he got, the more his world dissolved — west is right, around is straight, and form nothing more than nothing. With each step towards The TinkerPop, less and less of his world, but perhaps because more and more of all the other worlds made possible. Everything is everything in The TinkerPop, and when the dust settled, Gremlin emerged Gremlitron. It was time to realize that all that he realized was just a realization and that all realized realizations are just as real. For The TinkerPop is and is not — The TinkerPop.

Well, that's quite useful, if you want to achieve nirvana, but for practical consideration wheter to upgrade, not that much.

Here is the slideshow for a presentation called What's new in Tinkerpop 3, but that seems to be only comprehensible if you could listen to the speaker.

 

Here's is the Changelog, with all the detailed changes.

 

Edit: I found these slides which explain a lot: http://events.linuxfoundation.org/sites/events/files/slides/ApacheCon2015TinkerPop3.pdf

 

So, what's really new in Tinkerpop 3?

 

I don't really know yet   I am going to find out during my next task. But from what I can tell:

  1. The Pipes API has changed to Traversal API (or maybe called Process API?), which is easier to extend. Could help us in Windup where we sometimes need to interlace the queries with data from outside of the graph. In which case I assume the optimization may suffer a lot. See this video.
  2. Gremlin is now more central part. Instead of being a query language part, it's more of an environment through which you can control the server.
  3. The Structure API - Graph, Vertex, Edge, Element, Property, Transaction - has moved from com.tinkerpop.blueprints to org.apache.gremlin.structure.
  4. More supported databases. This rather comes with time, as more databases finished their implementation of Blueprints.
    • Bluemix Graph Data Store - IBM's OLTP graph database as a service.
    • elastic-gremlin - Elasticsearch reprsented as a graph with OLTP support.
    • Hadoop (Giraph) - OLAP engine using Giraph.
    • Hadoop (Spark) - OLAP engine using Spark.
    • Neo4j - OLTP graph database.
    • Sqlg - RDBMS OLTP implementation with HSQLDB and Postresql support.
    • Stardog - RDF graph database with OLTP and OLAP support.
    • TinkerGraph - In-memory OLTP and OLAP reference implementation.
    • Titan - Distributed OLTP and OLAP graph database with BerkeleyDB, Cassandra and HBase support.
    • Titan (Amazon) - The Amazon DynamoDB Storage Backend for Titan.
  1. Some more algorithms implemented in Furnace.

 

Do you know more news? Let me know in comments, thanks.

 

By the way, thanks the Tinkerpop team for all the work.

Windup 2.5 will be again faster than the previous release, and consume less memory - avoiding OutOfMemoryError's with huge applications.

And you can now run Windup against multiple applications at once.

The UI is nicer - some visual candy, like charts, layout improvements, collapsible panels etc.

Also, quite some bugs are fixed.

See the full list:

Issue Navigator - JBoss Issue Tracker

 

Stay tuned for the 2.5.0 release!

ozizka

Forge/Furnace based tests

Posted by ozizka Jul 28, 2015

Note for myself:

 

In case you get such error

 

java.lang.IllegalStateException: Test runner could not locate test class [org.jboss.windup.addon.ui.WindupUpdateDistributionCommandXTest] in any deployed Addon - Reason unknown.

at org.jboss.forge.arquillian.impl.FurnaceTestMethodExecutor.invoke(FurnaceTestMethodExecutor.java:272)

 

It's because the test is using a simple Furnace container by default, and you rather need the CDI container, i.e.

 

{
    @Deployment
    @AddonDependencies({
        @AddonDependency(name = "org.jboss.forge.furnace.container:cdi"),

 

Would be nice if Furnace told you something along the lines of  "You are using the simple container, that means services should be registered as documented at http://..."

 

HTH

Filter Blog

By date:
By tag: