GithubHelp home page GithubHelp logo

kevoree / kevoree Goto Github PK

View Code? Open in Web Editor NEW
38.0 12.0 8.0 29.6 MB

The Kevoree Java project

Home Page: http://kevoree.org

License: GNU Lesser General Public License v3.0

Shell 21.54% Java 71.42% Objective-C++ 3.45% Batchfile 3.58%
java-8 runtime deployment component-based

kevoree's Introduction

Kevoree

Please find documentation at http://doc.kevoree.org

Kevoree icon

Please visit kevoree.org

Structure

This repository contains all the Kevoree Java core, api and tooling.

Kevoree Java Runtime

Current dev version that only works with https://new-registry.kevoree.org is 5.5.0-SNAPSHOT

Download

mkdir -p /tmp/kevoree
cd /tmp/kevoree
wget http://oss.sonatype.org/service/local/artifact/maven/redirect?r=public\&g=org.kevoree\&a=org.kevoree.tools.runtime\&v=LATEST -O kevoree.jar

Run

java -jar kevoree.jar

โš ๏ธ Note that you need to make your .kevoree/config.json point to the new Kevoree registry available at https://new-registry.kevoree.org for dev version 5.5.0-SNAPSHOT

Usage with Docker

Maybe the easiest way to get started with Kevoree is to use the Docker image: kevoree/java:5.5.0-SNAPSHOT

docker run -it -v /tmp/main.kevs:/tmp/main.kevs kevoree/java:5.5.0-SNAPSHOT -Dregistry.host=new-registry.kevoree.org -Dnode.bootstrap=/tmp/main.kevs

In the example above we are starting a Docker container using the kevoree/java:5.5.0-SNAPSHOT image.
We are mounting a local KevScript file (in /tmp/main.kevs to the same location in the container) and we are telling Kevoree to use it to bootstrap with -Dnode.bootstrap=/tmp/main.kevs.
We are also by-passing the default registry.host (ie. editor.kevoree.org) to point to the new one at new-registry.kevoree.org

Usage with Maven

POM file inheriting

If you want to create your own Kevoree component, node, group or channel you can use the starter-parent artefact:

<parent>
  <groupId>org.kevoree.library</groupId>
  <artifactId>starter-parent</artifactId>
  <version>KEVOREE_VERSION</version>
</parent>

Manual dependencies management

You can also create your own pom.xml from scratch without using any <parent> like so:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>your.group.id</groupId>
	<artifactId>my-kevoree-comp</artifactId>
	<version>1.0.0-SNAPSHOT</version>
	<name>YourGroupId :: MyKevoreeComp</name>

	<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<java.version>1.8</java.version>
		<maven.compiler.source>${java.version}</maven.compiler.source>
		<maven.compiler.target>${java.version}</maven.compiler.target>
		<kevoree.version>KEVOREE_VERSION</kevoree.version>
		<kevoree.registry.namespace>yournamespace</kevoree.registry.namespace>
		<kevoree.registry.url>https://registry.kevoree.org</kevoree.registry.url>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.kevoree</groupId>
			<artifactId>org.kevoree.api</artifactId>
			<version>${kevoree.version}</version>
			<scope>provided</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
			</plugin>
			<!-- Kevoree plugins -->
			<plugin>
				<groupId>org.kevoree</groupId>
				<artifactId>org.kevoree.tools.mavenplugin</artifactId>
				<version>${kevoree.version}</version>
				<executions>
					<execution>
						<goals>
							<goal>generate</goal>
							<goal>deploy</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<registry>${kevoree.registry.url}</registry>
					<namespace>${kevoree.registry.namespace}</namespace>
					<kevscript>${env.KEVS}</kevscript>
				</configuration>
			</plugin>
		</plugins>
	</build>

</project>

2. Standard Library documentation

> Standard libraries repository

kevoree's People

Contributors

barais avatar brice-morin avatar cdiehl avatar dukeboard avatar dvojtise avatar edaubert avatar gnain avatar jean-emile avatar maxleiko avatar sunye avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kevoree's Issues

Improve Hash validation

Improve hash validation to perform check in editor & runtime to ensure consistency with last compile.

Use maven sha1 generted file

Add generic shortcuts in editor

This is a feature request from a colsed issue:
"In addition, it would be good to be able to delete any element using the "delete" key of the keyboard."
I would argue to also add generic keboard shortcuts (Cut, Copy, Paste, Undo).

Win64 native libs for RxTx

I am using RxTx to wrap devices connected to the USB port into Kevoree components. The RxTx libs provided by Kevoree work fine on Ubuntu 64. However, when I try to port my Kevoree application to Windows 7 64 bits, it seems that the native libs are not properly included (even though the POM looks fine...)

Kevoree START ERROR=org.osgi.framework.BundleException: Unresolved constraint in
bundle org.rxtx [1]: No matching native libraries found.

Unclear error message during apt process

An error has occured during annotations processing, but the message is not sufficient for the developer to solve the problem.
[]...pre-process...[]
[apt:process]
Processing 32 source files to /[Path-to-the-project]/target/generated-sources/apt
ProvidedPort not found on

Model2Code

End up the Model2Code plugin with associated editor

Packages exported by Kevoree system bundle are all in version 0.0.0

This causes provisionning issues for other bundles that require packages from the system bundle.
Eg.
DEBUG: No viable candidates (org.apache.felix.framework.resolver.ResolveException: Unable to resolve 3.0: missing requirement [3.0] package; (&(package=org.osgi.framework)(version>=1.5.0)))

unable to stop child node with minicloud

DEBUG [EmbeddedFelix.java:99] - Stopping OSGi Embedded Framework
WARN [KevoreeCoreBean.scala:145] - Kevoree Core will be stopped !
DEBUG [MiniCloudNode.java:91] - starting kompare...
INFO [StopNodeKompare.scala:30] - STOP NODE node0
INFO [TypeDefinitionAspect.scala:230] - Deploy Unit not found on first level JavaSENode
INFO [TypeDefinitionAspect.scala:233] - Deploy Unit not found for node node0 : MiniCloudNode=> JavaSENode
INFO [TypeDefinitionAspect.scala:266] - Search on super type => JavaSENode
DEBUG [TypeDefinitionAspect.scala:253] - candidate deploy unit => org.kevoree.library.javase.javaseNode
DEBUG [TypeDefinitionAspect.scala:257] - found & exit=org.kevoree.library.javase.javaseNode
DEBUG [TypeDefinitionAspect.scala:237] - will exit with => org.kevoree.impl.DeployUnitImpl@1696cdb
INFO [TypeDefinitionAspect.scala:227] - found deploy unit => org.kevoree.library.sky.minicloud for type MiniCloudNode
DEBUG [TypeDefinitionAspect.scala:237] - will exit with => org.kevoree.impl.DeployUnitImpl@41825e
INFO [TypeDefinitionAspect.scala:230] - Deploy Unit not found on first level RestGroup
INFO [TypeDefinitionAspect.scala:233] - Deploy Unit not found for node node0 : MiniCloudNode=> RestGroup
INFO [TypeDefinitionAspect.scala:266] - Search on super type => JavaSENode
DEBUG [TypeDefinitionAspect.scala:253] - candidate deploy unit => org.kevoree.library.javase.javaseNode
DEBUG [TypeDefinitionAspect.scala:257] - found & exit=org.kevoree.library.javase.rest
DEBUG [TypeDefinitionAspect.scala:237] - will exit with => org.kevoree.impl.DeployUnitImpl@69a6cb
INFO [TypeDefinitionAspect.scala:227] - found deploy unit => org.kevoree.library.sky.minicloud for type MiniCloudGroup
DEBUG [TypeDefinitionAspect.scala:237] - will exit with => org.kevoree.impl.DeployUnitImpl@41825e
DEBUG [MiniCloudNode.java:212] - Kompare model contain 11 primitives
DEBUG [MiniCloudNode.java:215] - primitive RemoveInstance
DEBUG [MiniCloudNode.java:215] - primitive StopInstance
DEBUG [MiniCloudNode.java:215] - primitive RemoveInstance
DEBUG [MiniCloudNode.java:215] - primitive StopInstance
DEBUG [MiniCloudNode.java:215] - primitive RemoveType
DEBUG [MiniCloudNode.java:215] - primitive RemoveDeployUnit
DEBUG [MiniCloudNode.java:215] - primitive RemoveType
DEBUG [MiniCloudNode.java:215] - primitive RemoveDeployUnit
DEBUG [MiniCloudNode.java:215] - primitive RemoveType
DEBUG [MiniCloudNode.java:215] - primitive RemoveDeployUnit
DEBUG [MiniCloudNode.java:215] - primitive RemoveType
DEBUG [MiniCloudNode.java:224] - ask for primitiveCommand corresponding to StopInstance
DEBUG [PrimitiveCommandExecutionHelper.scala:57] - Populate primitive => StopInstanceCommand(org.kevoree.impl.GroupImpl@18b995c,node0)
DEBUG [PrimitiveCommandExecutionHelper.scala:127] - Waiting for 1 threads
INFO [HttpServer.scala:210] - Stopped spray-can HTTP server on /0.0.0.0:8000
DEBUG [HttpPeer.scala:219] - Cleaning up scheduled tasks and NIO selector
DEBUG [PrimitiveCommandExecutionHelper.scala:138] - getResult 1
DEBUG [MiniCloudNode.java:224] - ask for primitiveCommand corresponding to StopInstance
DEBUG [PrimitiveCommandExecutionHelper.scala:57] - Populate primitive => StopInstanceCommand(org.kevoree.impl.GroupImpl@126b165,node0)
DEBUG [PrimitiveCommandExecutionHelper.scala:127] - Waiting for 1 threads
DEBUG [PrimitiveCommandExecutionHelper.scala:138] - getResult 1
DEBUG [MiniCloudNode.java:224] - ask for primitiveCommand corresponding to RemoveInstance
DEBUG [PrimitiveCommandExecutionHelper.scala:57] - Populate primitive => RemoveInstanceCommand(org.kevoree.impl.GroupImpl@18b995c,node0)
DEBUG [MiniCloudNode.java:224] - ask for primitiveCommand corresponding to RemoveInstance
DEBUG [PrimitiveCommandExecutionHelper.scala:57] - Populate primitive => RemoveInstanceCommand(org.kevoree.impl.GroupImpl@126b165,node0)
DEBUG [RemoveInstanceCommand.scala:31] - CMD REMOVE INSTANCE EXECUTION - sync - type - RestGroup
DEBUG [PrimitiveCommandExecutionHelper.scala:127] - Waiting for 2 threads
DEBUG [RemoveInstanceCommand.scala:31] - CMD REMOVE INSTANCE EXECUTION - group1608545632 - type - MiniCloudGroup
DEBUG [PrimitiveCommandExecutionHelper.scala:138] - getResult 1
DEBUG [PrimitiveCommandExecutionHelper.scala:138] - getResult 2
DEBUG [MiniCloudNode.java:224] - ask for primitiveCommand corresponding to RemoveType
DEBUG [PrimitiveCommandExecutionHelper.scala:57] - Populate primitive => RemoveTypeCommand(org.kevoree.impl.NodeTypeImpl@1f31432,node0)
DEBUG [MiniCloudNode.java:224] - ask for primitiveCommand corresponding to RemoveType
DEBUG [PrimitiveCommandExecutionHelper.scala:57] - Populate primitive => RemoveTypeCommand(org.kevoree.impl.NodeTypeImpl@1181df3,node0)
DEBUG [MiniCloudNode.java:224] - ask for primitiveCommand corresponding to RemoveType
DEBUG [PrimitiveCommandExecutionHelper.scala:57] - Populate primitive => RemoveTypeCommand(org.kevoree.impl.GroupTypeImpl@1b31c23,node0)
DEBUG [MiniCloudNode.java:224] - ask for primitiveCommand corresponding to RemoveType
DEBUG [PrimitiveCommandExecutionHelper.scala:57] - Populate primitive => RemoveTypeCommand(org.kevoree.impl.GroupTypeImpl@119fc9e,node0)
DEBUG [RemoveTypeCommand.scala:41] - mapping not found for MiniCloudNode
DEBUG [PrimitiveCommandExecutionHelper.scala:127] - Waiting for 4 threads
DEBUG [PrimitiveCommandExecutionHelper.scala:138] - getResult 1
DEBUG [RemoveTypeCommand.scala:41] - mapping not found for JavaSENode
DEBUG [RemoveTypeCommand.scala:34] - Remove type, previous size mapping 8
DEBUG [PrimitiveCommandExecutionHelper.scala:138] - getResult 2
DEBUG [RemoveTypeCommand.scala:36] - Remove type, after size mapping 7
DEBUG [RemoveTypeCommand.scala:34] - Remove type, previous size mapping 7
DEBUG [PrimitiveCommandExecutionHelper.scala:138] - getResult 3
DEBUG [RemoveTypeCommand.scala:36] - Remove type, after size mapping 6
DEBUG [PrimitiveCommandExecutionHelper.scala:138] - getResult 4
DEBUG [MiniCloudNode.java:224] - ask for primitiveCommand corresponding to RemoveDeployUnit
DEBUG [PrimitiveCommandExecutionHelper.scala:57] - Populate primitive => RemoveDeployUnitCommand(org.kevoree.impl.DeployUnitImpl@1696cdb)
DEBUG [MiniCloudNode.java:224] - ask for primitiveCommand corresponding to RemoveDeployUnit
DEBUG [PrimitiveCommandExecutionHelper.scala:57] - Populate primitive => RemoveDeployUnitCommand(org.kevoree.impl.DeployUnitImpl@41825e)
DEBUG [MiniCloudNode.java:224] - ask for primitiveCommand corresponding to RemoveDeployUnit
DEBUG [PrimitiveCommandExecutionHelper.scala:57] - Populate primitive => RemoveDeployUnitCommand(org.kevoree.impl.DeployUnitImpl@69a6cb)
DEBUG [PrimitiveCommandExecutionHelper.scala:127] - Waiting for 3 threads
DEBUG [RemoveDeployUnitCommand.scala:36] - map => /mvn:org.kevoree.library.javase/org.kevoree.library.javase.javaseNode/1.5.0-SNAPSHOT-org.kevoree.impl.DeployUnitImpl-1
DEBUG [RemoveDeployUnitCommand.scala:36] - map => /mvn:org.kevoree.extra/org.kevoree.extra.netty/3.2.5-org.kevoree.impl.DeployUnitImpl-2
DEBUG [RemoveDeployUnitCommand.scala:36] - map => /mvn:org.kevoree.library.sky/org.kevoree.library.sky.minicloud/1.5.0-SNAPSHOT-org.kevoree.impl.DeployUnitImpl-3
DEBUG [RemoveDeployUnitCommand.scala:36] - map => -org.kevoree.impl.DeployUnitImpl-4
DEBUG [RemoveDeployUnitCommand.scala:36] - map => /mvn:org.kevoree.library.javase/org.kevoree.library.javase.rest/1.5.0-SNAPSHOT-org.kevoree.impl.DeployUnitImpl-5
DEBUG [RemoveDeployUnitCommand.scala:36] - map => -org.kevoree.impl.DeployUnitImpl-2
DEBUG [RemoveDeployUnitCommand.scala:36] - map => /mvn:org.kevoree.library.javase/org.kevoree.library.javase.javaseNode/1.5.0-SNAPSHOT-org.kevoree.impl.DeployUnitImpl-1
DEBUG [RemoveDeployUnitCommand.scala:36] - map => /mvn:org.kevoree.extra/org.kevoree.extra.netty/3.2.5-org.kevoree.impl.DeployUnitImpl-2
DEBUG [RemoveDeployUnitCommand.scala:36] - map => /mvn:org.kevoree.library.sky/org.kevoree.library.sky.minicloud/1.5.0-SNAPSHOT-org.kevoree.impl.DeployUnitImpl-3
DEBUG [RemoveDeployUnitCommand.scala:36] - map => -org.kevoree.impl.DeployUnitImpl-4
DEBUG [RemoveDeployUnitCommand.scala:36] - map => /mvn:org.kevoree.library.javase/org.kevoree.library.javase.rest/1.5.0-SNAPSHOT-org.kevoree.impl.DeployUnitImpl-5
DEBUG [RemoveDeployUnitCommand.scala:36] - map => -org.kevoree.impl.DeployUnitImpl-2
DEBUG [RemoveDeployUnitCommand.scala:36] - map => /mvn:org.kevoree.library.javase/org.kevoree.library.javase.javaseNode/1.5.0-SNAPSHOT-org.kevoree.impl.DeployUnitImpl-1
DEBUG [RemoveDeployUnitCommand.scala:36] - map => /mvn:org.kevoree.extra/org.kevoree.extra.netty/3.2.5-org.kevoree.impl.DeployUnitImpl-2
DEBUG [RemoveDeployUnitCommand.scala:36] - map => /mvn:org.kevoree.library.sky/org.kevoree.library.sky.minicloud/1.5.0-SNAPSHOT-org.kevoree.impl.DeployUnitImpl-3
DEBUG [RemoveDeployUnitCommand.scala:36] - map => -org.kevoree.impl.DeployUnitImpl-4
DEBUG [RemoveDeployUnitCommand.scala:36] - map => /mvn:org.kevoree.library.javase/org.kevoree.library.javase.rest/1.5.0-SNAPSHOT-org.kevoree.impl.DeployUnitImpl-5
DEBUG [RemoveDeployUnitCommand.scala:36] - map => -org.kevoree.impl.DeployUnitImpl-2
DEBUG [RemoveDeployUnitCommand.scala:43] - Deploy Unit Bundle remove , try to refresh package
DEBUG [PrimitiveCommandExecutionHelper.scala:138] - getResult 1
DEBUG [RemoveDeployUnitCommand.scala:43] - Deploy Unit Bundle remove , try to refresh package
DEBUG [PrimitiveCommandExecutionHelper.scala:138] - getResult 2
DEBUG [RemoveDeployUnitCommand.scala:43] - Deploy Unit Bundle remove , try to refresh package
DEBUG [PrimitiveCommandExecutionHelper.scala:138] - getResult 3
DEBUG [MiniCloudNode.java:83] - stopping node type of node0
ERROR: JarContent: Unable to read bytes. (java.lang.IllegalStateException: zip file closed)
java.lang.IllegalStateException: zip file closed
at java.util.zip.ZipFile.ensureOpen(ZipFile.java:416)
at java.util.zip.ZipFile.getEntry(ZipFile.java:161)
at org.apache.felix.framework.util.ZipFileX.getEntry(ZipFileX.java:52)
at org.apache.felix.framework.cache.JarContent.getEntryAsBytes(JarContent.java:122)
at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.findClass(ModuleImpl.java:1856)
at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:752)
at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:72)
at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1807)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at org.kevoree.library.sky.minicloud.nodeType.MiniCloudNode.stopNode(MiniCloudNode.java:85)
at org.kevoree.core.impl.KevoreeCoreBean.stop(KevoreeCoreBean.scala:164)
at org.kevoree.platform.osgi.standalone.BootstrapActivator.stop(BootstrapActivator.java:120)
at org.kevoree.platform.osgi.standalone.EmbeddedFelix$1.run(EmbeddedFelix.java:101)
ERROR [KevoreeCoreBean.scala:168] - Error while stopping node instance
java.lang.NoClassDefFoundError: com/twitter/util/Duration
at org.kevoree.library.sky.minicloud.nodeType.MiniCloudNode.stopNode(MiniCloudNode.java:85) ~[na:na]
at org.kevoree.core.impl.KevoreeCoreBean.stop(KevoreeCoreBean.scala:164) ~[org.kevoree.core-1.5.0-SNAPSHOT.jar:na]
at org.kevoree.platform.osgi.standalone.BootstrapActivator.stop(BootstrapActivator.java:120) [classes/:na]
at org.kevoree.platform.osgi.standalone.EmbeddedFelix$1.run(EmbeddedFelix.java:101) [classes/:na]
Caused by: java.lang.ClassNotFoundException: com.twitter.util.Duration not found by org.kevoree.library.sky.org.kevoree.library.sky.minicloud [3]
at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:812) ~[org.apache.felix.framework-3.2.2.jar:na]
at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:72) ~[org.apache.felix.framework-3.2.2.jar:na]
at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1807) ~[org.apache.felix.framework-3.2.2.jar:na]
at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ~[na:1.6.0_26]
... 4 common frames omitted
DEBUG [KevoreeCoreBean.scala:173] - Kevoree core stopped

Add a "Launch" option on NodeInstances

The idea is to add the possibility for a user to launch a runtime from the editor, by right clicking on the node.
Probably only for JavaSeNode Family in a first try.

Merger issue : reference to local files in model

SW version : 1.1.0-BETA1

A model built with the merge of 2 libs can contain reference to local files:

See for instance








<targetNodeType href="file:/C:/Users/cdiehlwa/AppData/Local/Temp/kevoreeloaderLib2500920006502503179536470549.xmi#//@typeDefinitions.0"/>

Exception on shutdown

shutdown
java.lang.NoSuchMethodException: org.apache.felix.framework.URLHandlers.unregisterFrameworkListsForContextSearch(java.lang.ClassLoader)
at java.lang.Class.getDeclaredMethod(Class.java:1937)
at org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:1325)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.felix.framework.util.SecureAction.getDeclaredMethod(SecureAction.java:776)
at org.apache.felix.framework.URLHandlers.unregisterFrameworkInstance(URLHandlers.java:557)
at org.apache.felix.framework.URLHandlersActivator.stop(URLHandlersActivator.java:77)
at org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:1259)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.felix.framework.util.SecureAction.stopActivator(SecureAction.java:646)
at org.apache.felix.framework.Felix$SystemBundleActivator.run(Felix.java:4356)
at java.lang.Thread.run(Thread.java:662)
Feb 18, 2011 2:07:58 PM org.restlet.engine.connector.ServerConnectionHelper stop
INFO: Stopping the internal [HTTP/1.1] server

Merge of model - what does it means ?

Is-it possible to merge models, that is merging type definitions but also instances and bindings ?

In the editor, it is now possible to call 'Model -> Merge Lib' with kev file.
I tried to do that with a kev file that contains also instances and bindings.
Instances of the 'merged file' were actually merged : that is they were added to my model.
but not their bindings.
This behavihor is surprising : if the instances are merged, why not the bindings ?

The provision of a dependancy fails

I have a package (org.entimid.homesimulator ) that imports another package (org.entimid.framework)
The provision of this dependancy fails :
org.osgi.framework.BundleException: Unresolved constraint in bundle org.entimid.homesimulator [1]: Unable to resolve 1.0: missing
requirement [1.0] package; (package=org.entimid.framework.service)

It was not the case in art2, and actually provision information are missing in the model
in art2 model I had :
In Kev model I have nothing about "org.entimid.framework".

Deletion of bindings, etc in the Editor

I cannot delete bindings in the graphical editor. I could of course do it in KevScript, but it would be nicer to be able to deleted bindings in the editor, without deleting the whole hub and all its binding.

In addition, it would be good to be able to delete any element using the "delete" key of the keyboard.

Model deploy failure on android

A model with 1 component and defaultChannel library causes :

Exception or error caught in server resource
I/kevoree.osgi.service.logger(14561):
I/kevoree.osgi.service.logger(14561): java.lang.IndexOutOfBoundsException: Arguments out of bounds
I/kevoree.osgi.service.logger(14561): at java.io.OutputStream.write(OutputStream.java:118)
I/kevoree.osgi.service.logger(14561): at org.restlet.engine.io.BioUtils.copy(BioUtils.java:73)
I/kevoree.osgi.service.logger(14561): at org.restlet.engine.io.NioUtils.copy(NioUtils.java:99)
I/kevoree.osgi.service.logger(14561): at org.restlet.representation.ChannelRepresentation.write(ChannelRepresentation.java:71)
I/kevoree.osgi.service.logger(14561): at org.restlet.representation.ChannelRepresentation.write(ChannelRepresentation.java:76)
I/kevoree.osgi.service.logger(14561): at org.restlet.representation.Representation.getText(Representation.java:379)
I/kevoree.osgi.service.logger(14561): at org.kevoree.remote.rest.ModelHandlerResource.post(ModelHandlerResource.scala:56)
I/kevoree.osgi.service.logger(14561): at org.kevoree.remote.rest.ModelHandlerResource.doHandle(ModelHandlerResource.scala:43)
I/kevoree.osgi.service.logger(14561): at org.restlet.resource.ServerResource.doNegotiatedHandle(ServerResource.java:639)
I/kevoree.osgi.service.logger(14561): at org.restlet.resource.ServerResource.doConditionalHandle(ServerResource.java:336)
I/kevoree.osgi.service.logger(14561): at org.restlet.resource.ServerResource.handle(ServerResource.java:894)
I/kevoree.osgi.service.logger(14561): at org.restlet.resource.Finder.handle(Finder.java:244)
I/kevoree.osgi.service.logger(14561): at org.restlet.routing.Filter.doHandle(Filter.java:156)
I/kevoree.osgi.service.logger(14561): at org.restlet.routing.Filter.handle(Filter.java:203)
I/kevoree.osgi.service.logger(14561): at org.restlet.routing.Router.doHandle(Router.java:440)
I/kevoree.osgi.service.logger(14561): at org.restlet.routing.Router.handle(Router.java:666)
I/kevoree.osgi.service.logger(14561): at org.restlet.routing.Filter.doHandle(Filter.java:156)
I/kevoree.osgi.service.logger(14561): at org.restlet.routing.Filter.handle(Filter.java:203)
I/kevoree.osgi.service.logger(14561): at org.restlet.routing.Router.doHandle(Router.java:440)
I/kevoree.osgi.service.logger(14561): at org.restlet.routing.Router.handle(Router.java:666)
I/kevoree.osgi.service.logger(14561): at org.restlet.routing.Filter.doHandle(Filter.java:156)
I/kevoree.osgi.service.logger(14561): at org.restlet.engine.application.StatusFilter.doHandle(StatusFilter.java:151)
I/kevoree.osgi.service.logger(14561): at org.restlet.routing.Filter.handle(Filter.java:203)
I/kevoree.osgi.service.logger(14561): at org.restlet.routing.Filter.doHandle(Filter.java:156)
I/kevoree.osgi.service.logger(14561): at org.restlet.routing.Filter.handle(Filter.java:203)
I/kevoree.osgi.service.logger(14561): at org.restlet.engine.CompositeHelper.handle(CompositeHelper.java:158)
I/kevoree.osgi.service.logger(14561): at org.restlet.Component.handle(Component.java:388)
I/kevoree.osgi.service.logger(14561): at org.restlet.Server.handle(Server.java:491)
I/kevoree.osgi.service.logger(14561): at org.restlet.engine.connector.ServerConnectionHelper.handle(ServerConnectionHelper.java:
248)
I/kevoree.osgi.service.logger(14561): at org.restlet.engine.connector.ServerConnectionHelper.doHandleInbound(ServerConnectionHel
per.java:183)
I/kevoree.osgi.service.logger(14561): at org.restlet.engine.connector.BaseHelper$2.run(BaseHelper.java:574)
I/kevoree.osgi.service.logger(14561): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
I/kevoree.osgi.service.logger(14561): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
I/kevoree.osgi.service.logger(14561): at java.lang.Thread.run(Thread.java:1096)
I/kevoree.osgi.service.logger(14561): 2011-02-24 11:48:43 127.0.0.1 - - 8000 POST /model/cur
rent - 500 416 2509 91 http://127.0.0.1:8000 Java/1.6.0_20 -
D/dalvikvm(14561): GC_FOR_MALLOC freed 30980 objects / 1005736 bytes in 60ms

Specifying ThirdParties dependancies at component level may not be enough to resolve bundle requirements

We can have the following situation.

2 components C1 and C2 in the same bundle.
C1 has T1 as third party, C2 does not.
A configuration where only C2 is instantiated will nevertheless requires T1, since it is a requirement of the bundle that contains C2.

suggestions:
1- Still specify ThirdParties at component level, but use them at bundle level
2- Specify ThirdParties at bundle level
3- Generate Thirdparties dependancies

The behavior of 'Load' button in kevScript editor is surprising !

When I use the load button a first time with a valid kevscript file, the editor window becomes empty;
When I use it a second time with the same file, the script is loaded correctly
When I use it a third time with the same file, the window again becomes empty

Software version 1.1.0-BETA1

Visibility of mapped methods

The Annotation processor should throw an ERROR when the visibility of a method mapped by a port is different from "public".

Update is called when creating a new instance

during Phase 10 of a deploy. Eg.
...
09:04:41.868 [ForkJoinPool-1-worker-7] INFO o.k.a.deploy.osgi.KevoreeDeployPhase - Phase 10 SET PROPERTY=11
09:04:41.868 [ForkJoinPool-1-worker-7] INFO o.k.a.deploy.osgi.KevoreeDeployPhase - Execute command org.kevoree.adaptation.deploy.
osgi.command.UpdateDictionaryCommand
...

Risk of deadlock when stopping instances

Test case :
A node on which is deployed a model with 2 instances A and B, that are bounded by a service channel (synchronous). In its stop method B do a synchronous call to a service of A.

On the same node, an empty model is deployed : the instances are first stopped, then the bindings are removed.
Issue:

  • stop of B may never end up
  • remove of bindings never ends up (see trace below)

Workarounds/Ideas

  • Do not allow synchronous call in stop (but will need to have a kind of pre-stop method)
  • find a better schedule to stop instances and remove bindings (but may be not solvable)

Trace:
15:28:02.659 [ForkJoinPool-1-worker-0] INFO o.kevoree.kompare.KevoreeKompareBean - UPDATE NODE KEVOREEDefaultNodeName
15:28:02.663 [ForkJoinPool-1-worker-0] INFO o.k.a.deploy.osgi.KevoreeDeployPhase - Phase 0 STOP COMPONENT=3
15:28:02.664 [ForkJoinPool-1-worker-0] INFO o.k.a.deploy.osgi.KevoreeDeployPhase - Execute command org.kevoree.adaptation.deploy.osgi.command.StopInstanceCommand
15:28:02.665 [ForkJoinPool-1-worker-0] INFO o.k.a.deploy.osgi.KevoreeDeployPhase - Execute command org.kevoree.adaptation.deploy.osgi.command.StopInstanceCommand
15:28:02.669 [ForkJoinPool-1-worker-0] INFO o.k.a.deploy.osgi.KevoreeDeployPhase - Execute command org.kevoree.adaptation.deploy.osgi.command.StopInstanceCommand
local dispatch
15:28:02.673 [ForkJoinPool-1-worker-0] INFO o.k.a.deploy.osgi.KevoreeDeployPhase - Result : true
15:28:02.683 [ForkJoinPool-1-worker-0] INFO o.k.a.deploy.osgi.KevoreeDeployPhase - Phase 1 Remove Binding=2
15:28:02.683 [ForkJoinPool-1-worker-0] INFO o.k.a.deploy.osgi.KevoreeDeployPhase - Execute command org.kevoree.adaptation.deploy.osgi.command.RemoveBindingCommand
15:28:02.684 [ForkJoinPool-1-worker-0] INFO o.k.a.d.o.c.RemoveBindingCommand - Try to remove binding , component=>HomeDrawing--1817651700portname =>uiService, channel=hub-1015436377
org.kevoree.library.defaultChannels.defSERVICEFactory$$anon$1@4f9f9c7a
Send unbind msgorg.kevoree.framework.message.PortUnbindMessage@77da366c

Inconsistencies between editor and kev script commands

1- Editor allows to create 2 nodes with the same name
kev script does not allow it.
output message of script execution is Node Already existe, Interpreter Result : true

2- Editor allows to create 2 channels with the same name
kev script does not allow it:
output message of script execution is Channel already exist on, Interpreter Result : false

Provisioning issue on Android that causes exception

See the trace

I/o_.k_.a_.d_.o_.Kevoree_(15146): Execute command org.kevoree.adaptation.deploy.osgi.command.AddThirdPartyCommand
I/kevoree.osgi.service.logger(15146): potential url=mvn:org.entimid/framework/3.0.0-SNAPSHOT
I/kevoree.osgi.service.logger(15146): potential url=mvn:http://dukeboard.github.com/kevoree/maven/!org.entimid/framework/3.0.0-SNAPSHOT
I/kevoree.osgi.service.logger(15146): potential url=mvn:http://192.168.1.105:8001/provisioning/!org.entimid/framework/3.0.0-SNAPSHOT
I/kevoree.osgi.service.logger(15146): potential url=mvn:http://192.168.1.102:8000/provisioning/!org.entimid/framework/3.0.0-SNAPSHOT
I/kevoree.osgi.service.logger(15146): CMD ADD ThirdParty EXECUTION => url=mvn:org.entimid/framework/3.0.0-SNAPSHOT
I/kevoree.osgi.service.logger(15146): Default buffer size used in BufferedWriter constructor. It would be better to be explicit if an 8k-char buffer is required.
I/kevoree.osgi.service.logger(15146): Default buffer size used in BufferedWriter constructor. It would be better to be explicit if an 8k-char buffer is required.
I/kevoree.osgi.service.logger(15146): Default buffer size used in BufferedWriter constructor. It would be better to be explicit if an 8k-char buffer is required.
E/o_.k_.a_.d_.o_.c_.AddT_(15146): Error installing ThirdParty
E/o_.k_.a_.d_.o_.c_.AddT_(15146): org.osgi.framework.BundleException: Unable to cache bundle: mvn:org.entimid/framework/3.0.0-SNAPSHOT
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at org.apache.felix.framework.Felix.installBundle(Felix.java:2461)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at org.apache.felix.framework.Felix.installBundle(Felix.java:2417)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:129)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:107)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at org.kevoree.adaptation.deploy.osgi.command.AddThirdPartyCommand.installBundle(AddThirdPartyCommand.scala:61)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at org.kevoree.adaptation.deploy.osgi.command.AddThirdPartyCommand$$anonfun$execute$3.apply(AddThirdPartyCommand.scala:52)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at org.kevoree.adaptation.deploy.osgi.command.AddThirdPartyCommand$$anonfun$execute$3.apply(AddThirdPartyCommand.scala:51)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at scala.collection.LinearSeqOptimized$class.exists(LinearSeqOptimized.scala:81)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at scala.collection.immutable.List.exists(List.scala:45)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at org.kevoree.adaptation.deploy.osgi.command.AddThirdPartyCommand.execute(AddThirdPartyCommand.scala:51)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at org.kevoree.adaptation.deploy.osgi.KevoreeDeployPhase$$anonfun$1.apply(KevoreeDeployPhase.scala:45)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at org.kevoree.adaptation.deploy.osgi.KevoreeDeployPhase$$anonfun$1.apply(KevoreeDeployPhase.scala:43)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at scala.collection.LinearSeqOptimized$class.forall(LinearSeqOptimized.scala:71)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at scala.collection.immutable.List.forall(List.scala:45)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at org.kevoree.adaptation.deploy.osgi.KevoreeDeployPhase.phase(KevoreeDeployPhase.scala:43)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at org.kevoree.adaptation.deploy.osgi.KevoreeAdaptationDeployServiceOSGi.deploy(KevoreeAdaptationDeployServiceOSGi.scala:184)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at org.kevoree.core.impl.KevoreeCoreBean.internal_process(KevoreeCoreBean.scala:87)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at org.kevoree.framework.KevoreeActor$$anonfun$act$1$$anonfun$apply$1.apply(KevoreeActor.scala:66)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at org.kevoree.framework.KevoreeActor$$anonfun$act$1$$anonfun$apply$1.apply(KevoreeActor.scala:57)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at scala.actors.ReactorTask.run(ReactorTask.scala:34)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at org.kevoree.core.impl.KevoreeCoreBean.scala$actors$ReplyReactor$$super$resumeReceiver(KevoreeCoreBean.scala:40)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at org.kevoree.core.impl.KevoreeCoreBean.resumeReceiver(KevoreeCoreBean.scala:40)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at org.kevoree.core.impl.KevoreeCoreBean.searchMailbox(KevoreeCoreBean.scala:40)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at scala.actors.ReactorTask.run(ReactorTask.scala:36)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at scala.actors.threadpool.ThreadPoolExecutor.runWorker(Unknown Source)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at scala.actors.threadpool.ThreadPoolExecutor$Worker.run(Unknown Source)
E/o_.k_.a_.d_.o_.c_.AddT_(15146): at java.lang.Thread.run(Thread.java:1096)
E/o_.k_.a_.d_.o_.c_.AddT*(15146): Caused by: java.lang.RuntimeException: URL [mvn:org.entimid/framework/3.0.0-SNAPSHOT] could not be resolved.

Layout of components

There exist a physical device composed of 10 modules. Each module can offer up to 5 actions (On, Off, Up, Down,Stop).
When implementing a Kevoree component for this device, this creates... a component with 50 provided ports !
And there are two of them in the considered configuration.

In the editor, a single component of this kind reaches the limits of the vertical layout used inside the nodes.
Could we imagine other means of navigation that would enable a more efficient placement of components inside a node.
For instance, could we have a "single node" mode, or a way to specify a node to be considered as the current focus, and use the entire modeling panel. Thus, the background of the model editor is not the System scope, but a single node scope.

This is an idea and could be completed or argumented.

Abstract class declared as @ComponentType not checked

Abstract class declared as @ComponentType.
Should be @ComponentFragment.
Should be checked.

[ERROR]/[path]/target/generated-sources/apt/[component]Factory.scala:9: error: class [component] is abstract; cannot be instantiated
var newcomponent = new component;

REST channels: Method not allowed

When I use a REST channel, I get a "Method Not Allowed" message in my browser when I try to access the URL of the channel e.g., localhost:8000/channels/myChannel

Pushing an incomplete model makes the kevoree runtime crash without explicit message

Let see below a model where type definitions are missing.

It causes the following exception :
17:28:58.225 [ForkJoinPool-1-worker-4] INFO o.kevoree.kompare.KevoreeKompareBean - INIT NODE v2 home
org.kevoree.core.impl.KevoreeCoreBean@175b28d8: caught java.lang.NullPointerException
java.lang.NullPointerException
at org.kevoree.framework.aspects.ContainerNodeAspect$$anonfun$getUsedTypeDefinition$2$$anonfun$apply$3.apply(ContainerNodeAspect.scala:56)
at org.kevoree.framework.aspects.ContainerNodeAspect$$anonfun$getUsedTypeDefinition$2$$anonfun$apply$3.apply(ContainerNodeAspect.scala:56)
at scala.collection.LinearSeqOptimized$class.exists(LinearSeqOptimized.scala:81)
at scala.collection.immutable.List.exists(List.scala:45)
at org.kevoree.framework.aspects.ContainerNodeAspect$$anonfun$getUsedTypeDefinition$2.apply(ContainerNodeAspect.scala:56)
at org.kevoree.framework.aspects.ContainerNodeAspect$$anonfun$getUsedTypeDefinition$2.apply(ContainerNodeAspect.scala:54)
...

----------------------------------------- Model ------------------------------------------

<kevoree:ContainerRoot xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:kevoree="http://kevoree/1.0">













































































































/kevoree:ContainerRoot

at scala.collection.Iterator$class.foreach(Iterator.scala:631)
at scala.collection.JavaConversions$JIteratorWrapper.foreach(JavaConversions.scala:549)
at scala.collection.IterableLike$class.foreach(IterableLike.scala:79)
at scala.collection.JavaConversions$JListWrapper.foreach(JavaConversions.scala:596)
at org.kevoree.framework.aspects.ContainerNodeAspect.getUsedTypeDefinition(ContainerNodeAspect.scala:54)
at org.kevoree.kompare.sub.InitNodeKompare$class.getInitNodeAdaptationModel(InitNodeKompare.scala:38)

Highlighting instances

The numbers of deployed instances in the outline is very nice. I think we could push the concept a little bit further by highlighting all the instances of a given type that we have selected in the outline.

Remove DeployUnit when DeployUnit contains group

stractTrace :

Phase 3 Remove ComponentType=1
Execute command org.kevoree.adaptation.deploy.osgi.command.RemoveTypeCommand
Result : true
Phase 4 Remove TypeDefinition DeployUnit=1
Execute command org.kevoree.adaptation.deploy.osgi.command.RemoveDeployUnitCommand
Kevoree DEPLOY ERROR=
java.lang.NullPointerException: null
at org.kevoree.adaptation.deploy.osgi.command.RemoveDeployUnitCommand.execute(RemoveDeployUnitCommand.scala:35) ~[org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at org.kevoree.adaptation.deploy.osgi.KevoreeDeployPhase$$anonfun$1.apply(KevoreeDeployPhase.scala:45) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at org.kevoree.adaptation.deploy.osgi.KevoreeDeployPhase$$anonfun$1.apply(KevoreeDeployPhase.scala:43) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at scala.collection.LinearSeqOptimized$class.forall(LinearSeqOptimized.scala:71) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at scala.collection.immutable.List.forall(List.scala:45) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at org.kevoree.adaptation.deploy.osgi.KevoreeDeployPhase.phase(KevoreeDeployPhase.scala:43) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at org.kevoree.adaptation.deploy.osgi.KevoreeAdaptationDeployServiceOSGi.execute(KevoreeAdaptationDeployServiceOSGi.scala:403) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at org.kevoree.adaptation.deploy.osgi.KevoreeAdaptationDeployServiceOSGi.deploy(KevoreeAdaptationDeployServiceOSGi.scala:237) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at org.kevoree.core.impl.KevoreeCoreBean.internal_process(KevoreeCoreBean.scala:116) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at org.kevoree.framework.KevoreeActor$$anonfun$act$1$$anonfun$apply$1.apply(KevoreeActor.scala:66) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at org.kevoree.framework.KevoreeActor$$anonfun$act$1$$anonfun$apply$1.apply(KevoreeActor.scala:57) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at scala.actors.ReactorTask.run(ReactorTask.scala:34) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at org.kevoree.core.impl.KevoreeCoreBean.scala$actors$ReplyReactor$$super$resumeReceiver(KevoreeCoreBean.scala:42) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at org.kevoree.core.impl.KevoreeCoreBean.resumeReceiver(KevoreeCoreBean.scala:42) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at scala.actors.Actor$class.searchMailbox(Actor.scala:478) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at org.kevoree.core.impl.KevoreeCoreBean.searchMailbox(KevoreeCoreBean.scala:42) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at scala.actors.ReactorTask.run(ReactorTask.scala:36) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325) [org.kevoree.platform.osgi.standalone.gui-1.1.0-BETA1.jar:na]
CMD ADD DEPLOY UNIT EXECUTION
Try to install from URI, mvn:http://maven.kevoree.org/libs-release-local!org.kevoree.library/org.kevoree.library.gossiperNetty/1.1.0-BETA1
Result : false
CMD ADD DEPLOY UNIT EXECUTION
Try to install from URI, mvn:http://maven.kevoree.org/libs-release-local!org.kevoree.library/org.kevoree.library.gossiperNetty/1.1.0-BETA1
CMD ADD CT EXECUTION

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.