CENM (Corda Enterprise Network Manager) 1.2 custom issuance workflow plugin - plugins

I am trying to build a custom workflow plugin for CENM 1.2 identity manager issuance scenario.
I have referred to this link: https://docs.corda.net/docs/cenm/1.2/workflow.html for the same. The Git Hub links on this page are broken and I can not see the examples referred in the page.
I am trying to build Example 2, by creating a new class. How do I resolve the ENM Plugin API and other dependencies? Where are these Jars available for building a custom plugin?

Including bundled.jar as a dependency resolved the issue.

Related

Unable to upload custom Plugin

I created a custom plugin to be uploaded on Google Cloud Data Fusion platform, which is based on CDAP platform.
I followed the instructions for developing and deploying plugins but the upload fails when I try to associate the corresponding Json configuration file (generated by IntelliJ itself through the CDAP Maven artifacts) with following error:
Artifact artifact:default.record-gen-source.1.0 extends artifacts 'system:cdap-data-streams[4.0.0,5.0.0)/system:cdap-data-pipeline[4.0.0,5.0.0)' that do not exist
If I remove the reference to parent artifacts the custom plugin is loaded but it doesn't appear neither as a batch plugin or as a stream plugin (I can understand this, I'm removing the parents references).
What could be the error?
The issue is the plugin you are trying to upload inherits from incorrect parent artifact versions(which in this case cdap-data-streams & cdap-data-pipeline). The version of these artifacts are based on the version that is available in your current Data Fusion instance (which I believe is 6.1). If the version of cdap-data-pipeline/cdap-data-streams artifact doesn't fall under the range specified then you will be seeing this error. If you edit the version range to be [4.0.0,7.0.0) it should work I believe.
Can you try updating the pom.xml if you are using cdap-maven-plugin plugin with updated version range Like here and rebuild & deploy?

jBPM 6 - deploy process definition from API to jbpm-console

I've created a process definition in jBPM Project in Eclipse and now I'd like to deploy this definition to jbpm-console on remote database.
I found (here:https://developer.jboss.org/thread/234899) two ways to deploy a process, but it's not what I want:
- use archetype to create maven project for kjar, then simple mvn clean install and use Deployments view in jbpm console to deploy it
- push your maven project into jbpm console git repository and build and deploy it from within console - there is GIT integration screen cast on jbpm installer chapter in docs that might be useful
Is there a possibility to do this from API? I mean by using some methods.
If I understand your question well, you are looking for some remote API call which allows you to upload your process definitions into the jBPM Console. Am I right?
Unfortunately, there is not such option. The remote API only provides methods to manipulate with the resources that are already on the server. And you can get your resources there using one of those two methods you have mentioned.
However, for process definitions there is also a third option which is more user-friendly but there is no easy way how to automate it. You can just create a new business process directly using the web interface of jBPM Console and upload your process definition in jBPM Designer.

Installing a Griffon plugin in zip format from private remote url

Somehow I cannot find and answer to this in griffon documentation nor googling...
I have created a griffon plugin. It gets packaged as usual with:
griffon package-plugin
Then I can install it locally in my application specifying path to the zip file resulting from packaging:
griffon install-plugin /path-to-plugin/plugin-name.zip
I can even upload it to a remote url and install it from there:
griffon install-plugin address-of-my-site/plugin-name.zip
How can I make installing of this plugin from my url an automatic step during building/running of a griffon application, which uses it?
I work on the application with another developer and don't want to force him to install the plugin manually every time when something changes. It should be downloaded from my site automatically. But I don't want to release the plugin to the griffon official repository either - it's pretty experimental stuff still.
There is a line in application.properties, which tells griffon, that the plugin is needed:
plugins.plugin-name=0.3
But it cannot be installed from griffon central repository, like all the other plugins, because it's not there, obviously.
I looked into documentation of "griffon.project.dependency.resolution" section in BuildConfig.groovy, but I can't find anything useful for my purposes there.
Do I miss something?
The answer you seek is found in sections 12.1 and 12.2 of the guide. The first section describes an example of a plugin being pushed to a local repository. The second section describes the types of repositories supported by Griffon.
Plugins that are available from a plugin repository that can be queried by the build system (i.e, the repository is configured) are instantly available to be installed using the short notation you want.
There's always a local repository configured by Griffon: griffon-local. Pushing releases to it will make them instantly available to install-plugin, list-plugins, plugin-info, etc.

Use another plugin in own hudson plugin?

I'm developing my own hudson plugin and can not find a really comprehensive documentation.
How can I connect to the artifactory plugin to get a list of artifacts? The artifactory plugin is installed in hudson but I don't know how to instance it/connect to it from my own plugin.
My plugin deploys a specific version to our webstart server. This includes downloading the artifact from artifactory over HTTP, creating version.xml and *.jnlp file and uploading these three files to the webserver using SCP. For the configuration of this plugin, I need a list of all versions of a specific project from artifactory.
Thanks in advance.
If you'd like to use model and utility classes of another plugin, then it's simply a process of depending on that plugin (compile-wise) and making sure that the dependent plugin is installed so you can reference these classes at runtime.
If you'd like to use entities like builders, actions or wrappers, you'll probably need to use Hudson's facilities; I'm not so sure as to which facilities it has, but Jenkins' hudson.model.AbstractBuild and hudson.model.AbstractProject (and other) objects have methods like:
hudson.model.Actionable#getActions
AbstractProject#getPublishersList
That'll return those entities (assuming they're configured on the project in question).
Apart from that approach, there are a number of ways to solve your issue using Artifactory's REST API:
If the artifacts are contained in Artifactory within one location that's known to you, you can execute a file list query to reveal the contents of that directory.
If you'd like to fetch the produced artifacts of a specific Hudson build, and assuming that you use the Hudson plugin to deploy Build Info, you can request the Build Info object using the Build Info resource; utilizing the checksums of the produced artifacts listed in this object, you can perform artifact checksum queries to find out if and where these artifacts exist in Artifactory.
If you don't know the specific build name and number or the location, you can use any of the search facilities to locate artifacts based on different details; The GAVC or XPath searchers are most likely to help in your situation.

Disable refresh of target on build

I'm using tycho to build my rcp application. Sadly, today I have to release the first internal milestone, but one of the projects I'm using is down (The great LWJGL - http://www.lwjgl.org/) and consequently my build fails because I cannot resolve an entry of my target platform.
Does there is a way to disable such update?
Note that I already have build my app, hence I already have downloaded all the LWJGL's jars and p2 stuff. Now I simply want to use the version of LWJGL I already have to build my RCP application...
There is a corresponding Eclipse p2 bug that needs update site checking for the target platform - that's why maven offline mode does not work as expected. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=337022
For later, I suggest building a mirror of critical outside sites. In that case you could at least redirect the build to that. E.g. b3 aggregator can be used for this: http://www.eclipse.org/modeling/emft/b3/
try maven offline mode (mvn -o)