JCR explorer for RepositoryImpl - jackrabbit

I've created a JackRabbit content repository instance with the following lines:
File repositoryConfig = new File(getClass().getResource("/repository.xml").toURI());
RepositoryConfig conf = RepositoryConfig.install(repositoryConfig, new File("MY_JCR_HOME_ADDRESS"));
RepositoryImpl repository = RepositoryImpl.create(conf);
Now I want to run a JCR explorer on it. I've tried different JCR explorers like JackrabbitExplorer and JCR-Explorer. But all of them works with JNDI or web-based repositories.
My question is that how can I run a JCR explorer on a RepositoryImpl instance.

As requested :)
Like yourself, I couldn't find an explorer so I made a simple one with swing and JTree! Took less than a day.

You can take a look at Toromiro which is a JCR browser and editor for local and remote repositories. The documentation describes how to connect to a JackRabbit repository by RMI, WebDAV or just by specifying a local repository.xml.

Related

TinyVirtuoso: where is the documentation?

I found this NuGet package interesting: a embedded rdf database in C# based on OpenLink Virtuoso, with MIT licensing...
But, when I tried to find any instruction about usage, or the API reference, I couldn't find it...
I installed TinyVirtuoso.win v 7.2.1 from NuGet ...
Why doesn't the sample code in "First Steps" work?
It does not recognize VirtuosoConnection() nor IStore
using Semiodesk.TinyVirtuoso;
using Semiodesk.VirtuosoInstrumentation;
// Create a new Virtuoso store in a directory named 'Data', located in your app folder.
var virtuoso = new TinyVirtuoso("Data");
// You can have multiple separate database instances which contain different data.
// This will create a directory "Data/ExampleProject" in your app directory.
var instance = virtuoso.GetOrCreateInstance("ExampleProject");
// Start the embedded database server instance.
instance.Start();
// a) You can access the store using the Semiodesk Trinity graph database API.
// Please refer to our Trinity documentation and examples for more information.
IStore store = StoreFactory.CreateStore(instance.GetTrinityConnectionString());
// b) Alternatively, you can use it with plain ADO.Net to use the relational
// database features and SQL (make sure to install OpenLink.Data.Virtuoso).
var connection = new VirtuosoConnection();
connection.ConnectionString = instance.GetAdoNetConnectionString();
connection.Connect();
// When you are done, stop the embedded database server instance.
instance.Stop();
Looking it over quickly, I think TinyVirtuoso is not an "embedded RDF database in C#" (which is not surprising, as that would require portation of the entire C-based VOS (Virtuoso Open Source) project). Note that their wiki says —
TinyVirtuoso does not link against OpenLink Virtuoso in any way. It just provides a way to start, stop and configure the software.
Elsewhere in that wiki, they say they depend on the Open Source Virtuoso project, but it's not clear whether they fully install Virtuoso, just install the ADO.NET client library, or somewhere in between.
I did notice this advice --
The software is supported by Semiodesk. If you have any questions, suggestions or just want to tell us in which projects you are using the library, don't hesitate to hello#semiodesk.com.
-- which led me to a somewhat more informative (and I think more recently updated) page on Semiodesk's website, which suggests that they do indeed intend bundling the main Virtuoso binary, among other things, which I don't think you've installed yet.
Documentation of Virtuoso itself, and its ADO.NET Provider (both Installation/Configuration and Programming/API), are found on the OpenLink website.
I hope this is helpful...

Need some information about Crawl Anywhere and solr

I gone through the crawl anywhere documentation but i am very much confuse about its installation steps.
What i understood is Apache is optional. But do need independent tomcat instance for crawl? Because what i saw in folder structure, there is tomcat folder already present and war file is also there?
Also do we need independent instance of Apache solr also ?
If we want to add postgresql database to crawl, how we can do that?
Please provide some link also so that I can go through it and clarify any doubt I have in my mind.
Apache is needed to use admin interface. Tomcat is needed for some interactive features. You can crawl without both of them.
No.
MySQL and MongoDB are supported. The code is open source, so you can add postgresql support.
Try Google Groups for other questions

IllegalAccessException on protected class member while parsing Excel 2007 file using Apache POI library on AppEngine

I am trying to parse excel 2007 (.xlsx) file using Apache POI library on Google AppEngine but while doing that I am getting an exception (see below).
java.lang.IllegalAccessException: Class com.google.appengine.tools.development.agent.runtime.Runtime$21 can not access a member of class org.apache.poi.xssf.usermodel.XSSFSheet with modifiers "protected"
So I checked with Apache POI team, but they claim that its an AppEngine issue. I am not sure what is the right place for AppEngine questions, but I know lot of appengine developers monitor Stackoverflow. So posting this question here.
Bug filed for Apache POI team : https://issues.apache.org/bugzilla/show_bug.cgi?id=55665
This bug has a sample maven project, and instructions to reproduce it.
I am not sure how to attach this zip file here.
If any one knows how to fix this then let me know, or right place to file bug.
The key part of the stacktrace is:
java.lang.IllegalAccessException: Class com.google.appengine.tools.development.agent.runtime.Runtime$21 can not access a member of class org.apache.poi.xssf.usermodel.XSSFSheet with modifiers "protected"
at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:105)
at com.google.appengine.tools.development.agent.runtime.Runtime$22.run(Runtime.java:488)
at java.security.AccessController.doPrivileged(Native Method)
at com.google.appengine.tools.development.agent.runtime.Runtime.checkAccess(Runtime.java:485)
at com.google.appengine.tools.development.agent.runtime.Runtime.checkAccess(Runtime.java:479)
at com.google.appengine.tools.development.agent.runtime.Runtime.newInstance_(Runtime.java:123)
at com.google.appengine.tools.development.agent.runtime.Runtime.newInstance(Runtime.java:135)
at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:60)
I've run into the same issue. I think this is only an issue with the development server. Admittedly, this doesn't fully answer your question but I guess the situation at least isn't as bas as you'd think. To get around the issue I've been developing my POI code in a standard Java project (using dummy data) and then copying it into the App Engine project.
I've logged the issue with Google: https://code.google.com/p/googleappengine/issues/detail?id=11752
If you're interested, in the process of logging the issue, I created a sample project which is also available on App Engine (which works as it's running in the production environment).
Sample project: https://bitbucket.org/bronze/jakarta-poi-issue
App running on production environment: http://bronze-gae-poi-issue.appspot.com/

Development Environment for RIDC in Java

I need to write code that communicates to Oracle Content Server 11g in Java. My understanding is that it's done using RIDC (Remote Intradoc Client).
The best I can find on getting started is this:
http://docs.oracle.com/cd/E23943_01/doc.1111/e10807/c23_ridc.htm
However, it doesn't cover the development environment setup. Where do I get the pieces to get started? I'm assuming I need JDeveloper R1, is that correct? Where do I download the SDK? Thanks.
TD
You need to install WebCenter Support API in JDeveloper. Search for the updates shown in the following image in Help->Check for Updates.
I am in PS6.
You do not need the Oracle WebCenter Portal extensions nor JDeveloper.
You can develop code using the RIDC library with any IDE, all you need is to make sure you have the correct version of the RIDC jar file on your classpath. You can obtain it from your Oracle_ECM1 installation home, in the /ucm/Distribution/RIDC folder.

What's the benefit of deploying a war file instead of an exploded directory?

I'm configuring an installer for our product which, up until now, was distributed as a war file, usually on tomcat. Once tomcat has exploded the directory, the user has to open a properties file and set their database connection information. I'd like the installer to do this (we're using install4j) but there doesn't seem to be a built-in way to modify a text file inside a war file. I could just have the installer deploy the app as an exploded directory, which would save me the trouble here, but what do I lose by deploying like that instead of deploying the war?
It might work better to set up the database connection as a JNDI Datasource, rather than hand-editing a properties file inside the webapp/ directory. This is especially important if you want to allow users to re-deploy the application from the .WAR archive without overwriting their local configuration changes.
Of course, the JNDI setup isn't going to be trivially accomplished through the installer, either, since the mechanism used varies from app server to app server. However, any competent Java application server administrator should know how to configure a named datasource. Furthermore, by delegating responsibility to the app server, you allow your users to take advantage of connection pooling, clustering, and any other features provided by the datasource implementation bundled with their application server of choice.
Not much I would think - perhaps a bit of disk space, but if that's not a problem you'd be fine. Have you thought of having the installer generate the properties file and using a ZIP library (.WAR is really a .ZIP - rename it to a .ZIP and see what you get :) ) to replace or add it in?

Resources