incubator-clerezza-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tommaso Teofili <tommaso.teof...@gmail.com>
Subject Re: New shell
Date Wed, 01 Dec 2010 12:56:46 GMT
Hello Reto,
I found it cool from the first time we talked about it :-)
Also I'd maintain the possibility to switch to Felix console in the future
to provide a familiar shell environment to people new to Clerezza.
Cheers,
Tommaso

2010/12/1 Reto Bachmann-Gmuer <reto.bachmann@trialox.org>

> I've just switched to the new Scala based shell in our launchers. What does
> this involve?
>
> You'll notice that you're using the new shell by the zz> prompt
>
> This is how you are greated:
>
> > Welcome to the Apache Clerezza Console
> > Console is based on Scala version 2.8.0.final (OpenJDK 64-Bit Server VM,
> > Java 1.6.0_20).
> > Type in expressions to have them evaluated.
> > Hint: To execute a Felix-Shell command prepend ":f "
> > Type :help for more information.
> > zz>
> >
>
> You're now using a scala shell and interpret scala code
>
> zz>val m = "hello world"
> > m: java.lang.String = hello world
> > zz>println(m)
> > hello world
> >
>
> You can also access the bundleContext
>
> zz>val b = bundleContext.getBundle(0)
> > b: org.osgi.framework.Bundle = org.apache.felix.framework [0]
> > zz>b.getHeaders
> > res4: java.util.Dictionary[_, _] = {Bundle-Description=This bundle is
> > system specific; it implements various system services.,
> > Bundle-ManifestVersion=2, Bundle-Name=System Bundle,
> > Bundle-SymbolicName=org.apache.felix.framework, Bundle-Version=3.0.3,
> > Export-Package=org.osgi.framework; version="1.5.0",
> > org.osgi.framework.launch; version="1.0.0",
> > org.osgi.framework.hooks.service; version="1.0.0",
> > org.osgi.service.packageadmin; version="1.2.0",
> org.osgi.service.startlevel;
> > version="1.1.0", org.osgi.service.url; version="1.0.0",
> > org.osgi.util.tracker; version="1.4.0", javax.accessibility;
> > version="0.0.0.1_006_JavaSE", javax.activation;
> > version="0.0.0.1_006_JavaSE", javax.activity;
> version="0.0.0.1_006_JavaSE",
> > javax.annotation; version="0.0.0.1_006_JavaSE",
> javax.annotation.processing;
> > versi...zz>
> > zz>
> >
>
> The console supports autocompletion with the TAB-key:
>
> zz>b.[TAB]
> >
> > asInstanceOf                    findEntries
> > getBundleContext                getBundleId
> > getEntry                        getEntryPaths
> > getHeaders                      getLastModified
> > getLocation                     getPersistentState
> > getRegisteredServices           getResource
> > getResources                    getServicesInUse
> > getSignerCertificates           getState
> > getSymbolicName                 getVersion
> > hasPermission                   init
> > isInstanceOf                    loadClass
> > setPersistentStateActive        setPersistentStateInactive
> > setPersistentStateUninstalled   start
> > stop                            toString
> > uninstall                       update
> > waitForStop
> >
>
> You can access services using the syntax $[serviceInterface]
>
> > zz>val tcManager = $[rdf.core.access.TcManager]
> > tcManager: org.apache.clerezza.rdf.core.access.TcManager =
> > org.apache.clerezza.rdf.core.access.TcManager@6241ad5d
> > zz>import scala.collection.JavaConversions._
> > import scala.collection.JavaConversions._
> > zz>for (g <- tcManager.listMGraphs) {println(g)}
> > <http://zz.localhost/enrichment.graph>
> > <http://zz.localhost/graph-access.graph>
> > <http://tpf.localhost/content.graph>
> > <http://tpf.localhost/config.graph>
> > <http://tpf.localhost/system.graph>
> > <http://zz.localhost/web-resources.graph>
> >
>
> While one could do all OSGi stuff using the bundleContext an DSL makes
> things easier, it currently is very incomplete, but is hould be easy to add
> everything that is frequently needed:
>
> http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.shell/src/main/scala/org/apache/clerezza/shell/OsgiDsl.scala?view=markup
>
> > zz>install("mvn:example/example")
> > zz>shutdown
> >
>
> but as long as some command are missing in the DSL, there's still the
> possibility to execute felix shell commands
>
> > zz>:f scr list
> >    Id   State          Name
> > [   0] [active       ]
> > org.apache.clerezza.platform.security.BundlePermissionManager
> > ...
> >
>
> Cheers,
> reto
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message