felix-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Richard S. Hall" <he...@ungoverned.org>
Subject Re: gogo: ClassCastException: java.lang.String cannot be cast to [Ljava.lang.String;
Date Thu, 16 Jun 2011 19:24:09 GMT
On 6/16/11 14:46, Mike Veksler wrote:
> Cool thanks.
> So you said it is coming next week?

If all goes well with the vote, yes. I will shoot for Tues...

-> richard

>
> On Thu, Jun 16, 2011 at 11:14 AM, Richard S. Hall<heavy@ungoverned.org>wrote:
>
>> On 6/16/11 13:57, Mike Veksler wrote:
>>
>>> So how will it be addressed? It will convert string into string array?
>>> Will
>>> I have to specify list of functions with specific format?
>>>
>> It will accept either a string or a string[]...
>>
>> ->  richard
>>
>>
>>   On Jun 16, 2011 10:54 AM, "Richard S. Hall"<heavy@ungoverned.org>   wrote:
>>>> On 6/16/11 13:51, Mike Veksler wrote:
>>>>
>>>>> Also, I could just use activator and not use IPOJO for TUI component.
>>>>> I through I was doing something wrong.
>>>>> However, looks like we need to raise an issue with IPOJO Annotation to
>>>>> properly convert string into String array?
>>>>>
>>>>> Thanks for the info on the "e" and "type" commands. I did not see them
>>>>> documented anywhere did you dig in the code to uncover theme?
>>>>>
>>>> I just started a release vote for Gogo 0.10.0 which should address this
>>>> issue in Gogo too, so grab that early next week.
>>>>
>>>> ->   richard
>>>>
>>>>
>>>>> On Thu, Jun 16, 2011 at 2:13 AM, Derek Baum<derek.baum@paremus.com>
>>>>>
>>>> wrote:
>>>> Hmmm this seems to be a limitation of the iPojo @ServiceProperty
>>>>>> annotation.
>>>>>>
>>>>>> You don't actually need the gogo help command to test your example.
>>>>>>
>>>>>> another command which will show the existence of your search command
is
>>>>>> 'type':
>>>>>>
>>>>>> g! type search
>>>>>>
>>>>>> search is Set<Book>   book:search(String, String, String, String)
>>>>>> search is Set<Book>   book:search(String, String, String, int,
int)
>>>>>>
>>>>>> You should be able to invoke it directly:
>>>>>>
>>>>>> g! search args ...
>>>>>>
>>>>>> Derek
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 16 June 2011 09:58, Mike Veksler<mveksler@gmail.com>   wrote:
>>>>>>
>>>>>>   I tried registing FUNCTIONS however the annotation expects String
>>>>>>> value
>>>>>>>
>>>>>> and
>>>>>>
>>>>>>> not String array.
>>>>>>>
>>>>>>> On Thu, Jun 16, 2011 at 1:55 AM, Derek Baum<derek.baum@paremus.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>   This is a bug in the gogo help command.
>>>>>>>> Services proving commands can be registered with
>>>>>>>> @ServiceProperty(name = "osgi.command.function", functions)
>>>>>>>>
>>>>>>>> where functions is either String or String[].
>>>>>>>>
>>>>>>>> The gogo help command does not take account of this being
a String
>>>>>>>>
>>>>>>> rather
>>>>>>> than String[].
>>>>>>>> The quick fix for now is to register FUNCTIONS rather than
>>>>>>>>
>>>>>>> FUNCTIONS_STR.
>>>>>>> I'll raise an issue to fix the gogo help command.
>>>>>>>> Derek
>>>>>>>>
>>>>>>>>
>>>>>>>> On 16 June 2011 09:46, Mike Veksler<mveksler@gmail.com>
  wrote:
>>>>>>>>
>>>>>>>>   Here is the stack trace:
>>>>>>>>> g! e
>>>>>>>>> java.lang.ClassCastException: java.lang.String cannot
be cast to
>>>>>>>>> [Ljava.lang.String;
>>>>>>>>> at
>>>>>>>>>
>>>>>>>> org.apache.felix.gogo.command.Basic.getCommands(Basic.java:384)
>>>>>>>> at org.apache.felix.gogo.command.Basic.help(Basic.java:211)
>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
Source)
>>>>>>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
>>>>>>>>>
>>>>>>>> Source)
>>>>>>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>>>>>>>> at
>>>>>>>>> org.apache.felix.gogo.runtime.Reflective.method(Reflective.java:136)
>>>>>>>>> at
>>>>>>>>>
>>>>>>>>> org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:82)
>>>> at
>>>>>>>>> org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:469)
>>>>>>>>> at
>>>>>>>>>
>>>>>>>>> org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:395)
>>>> at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
>>>>>>>>> at
>>>>>>>>>
>>>>>>>> org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)
>>>>>>>> at
>>>>>>>> org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)
>>>>>>>> at
>>>>>>>>>
>>>>>>>>> org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.jav
>>>> a:89)
>>>>>>>>> at org.apache.felix.gogo.shell.Console.run(Console.java:62)
>>>>>>>>> at org.apache.felix.gogo.shell.Shell.console(Shell.java:203)
>>>>>>>>> at org.apache.felix.gogo.shell.Shell.gosh(Shell.java:128)
>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
Source)
>>>>>>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
>>>>>>>>>
>>>>>>>> Source)
>>>>>>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>>>>>>>> at
>>>>>>>>> org.apache.felix.gogo.runtime.Reflective.method(Reflective.java:136)
>>>>>>>>> at
>>>>>>>>>
>>>>>>>>> org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:82)
>>>> at
>>>>>>>>> org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:469)
>>>>>>>>> at
>>>>>>>>>
>>>>>>>>> org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:395)
>>>> at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
>>>>>>>>> at
>>>>>>>>>
>>>>>>>> org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)
>>>>>>>> at
>>>>>>>> org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)
>>>>>>>> at
>>>>>>>>>
>>>>>>>>> org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.jav
>>>> a:89)
>>>>>>>>> at
>>>>>>>>> org.apache.felix.shell.remote.Shell.startGogoShell(Shell.java:108)
>>>>>>>>> at org.apache.felix.shell.remote.Shell.run(Shell.java:81)
>>>>>>>>> at java.lang.Thread.run(Unknown Source)
>>>>>>>>> g!
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Thu, Jun 16, 2011 at 1:39 AM, Derek Baum<derek.baum@paremus.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>   Have you got a stack trace?
>>>>>>>>>> Type 'e' in gogo after an exception is reported to
see the stack
>>>>>>>>>>
>>>>>>>>> trace
>>>>>>>> 'e' is actually a function:
>>>>>>>>>> g! type e
>>>>>>>>>> e is function { $exception printStackTrace }
>>>>>>>>>>
>>>>>>>>>> which simply invokes the printStackTrace() method
on the Exception
>>>>>>>>>>
>>>>>>>>> object
>>>>>>>>> stored in the gogo exception variable.
>>>>>>>>>> Derek
>>>>>>>>>>
>>>>>>>>>> On 16 June 2011 06:35, Mike Veksler<mveksler@gmail.com>
  wrote:
>>>>>>>>>>
>>>>>>>>>>   I am trying to go through tutorial from OSGI and
Apache Felix 3.0
>>>>>>>>>> book
>>>>>>>>> and
>>>>>>>>>>> one of the the examples is to use IPOJO Annotation
and Meta.xml.
>>>>>>>>>>>
>>>>>>>>>> When
>>>>>>>> I
>>>>>>>>
>>>>>>>>> deploy application to Felix the application runs fine
but if i
>>>>>>>>>> try
>>>>>>> to
>>>>>>>
>>>>>>>> lookup
>>>>>>>>>>> help iside Felix Gogo shell, I get error: gogo:
>>>>>>>>>>>
>>>>>>>>>> ClassCastException:
>>>>>>> java.lang.String cannot be cast to [Ljava.lang.String;
>>>>>>>>>>> Here is the code with annotation:
>>>>>>>>>>>
>>>>>>>>>>> package com.packtpub.felix.bookshelf.service.tui;
>>>>>>>>>>>
>>>>>>>>>>> import com.packtpub.felix.bookshelf.inventory.api.Book;
>>>>>>>>>>> import
>>>>>>>>>>>
>>>>>>>>>>> com.packtpub.felix.bookshelf.inventory.api.BookAlreadyExistsException;
>>>>>>>>> import
>>>>>>>>>> com.packtpub.felix.bookshelf.inventory.api.BookNotFoundException;
>>>>>>>>>> import
>>>>>>>>>> com.packtpub.felix.bookshelf.inventory.api.InvalidBookException;
>>>>>>>>> import com.packtpub.felix.bookshelf.service.api.BookshelfService;
>>>>>>>>>>> import
>>>>>>>>>>>
>>>>>>>>>>> com.packtpub.felix.bookshelf.service.api.InvalidCredentialsException;
>>>>>>>> import
>>>>>>>>>> com.packtpub.felix.bookshelf.service.tui.api.BookshelfServiceProxy;
>>>>>>>>>>
>>>>>>>>>>> import org.apache.felix.ipojo.annotations.Component;
>>>>>>>>>>> import org.apache.felix.ipojo.annotations.Provides;
>>>>>>>>>>> import org.apache.felix.ipojo.annotations.Requires;
>>>>>>>>>>> import org.apache.felix.ipojo.annotations.ServiceProperty;
>>>>>>>>>>> import org.apache.felix.service.command.Descriptor;
>>>>>>>>>>> //import org.osgi.framework.BundleContext;
>>>>>>>>>>> import org.osgi.framework.ServiceReference;
>>>>>>>>>>>
>>>>>>>>>>> import java.util.HashSet;
>>>>>>>>>>> import java.util.Set;
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> @Component(name = "BookshelfServiceProxy")
>>>>>>>>>>> @Provides
>>>>>>>>>>> public class BookshelfServiceProxyImpl implements
>>>>>>>>>>>
>>>>>>>>>> BookshelfServiceProxy{
>>>>>>>>>> public static final String SCOPE = "book";
>>>>>>>>>>> @ServiceProperty(name = "osgi.command.scope",
value = SCOPE)
>>>>>>>>>>> public String gogoScope;
>>>>>>>>>>>
>>>>>>>>>>> public static final String[] FUNCTIONS = new
String[] {
>>>>>>>>>>> "add", "search"
>>>>>>>>>>> };
>>>>>>>>>>>
>>>>>>>>>>> public static final String FUNCTIONS_STR ="search";
>>>>>>>>>>> @ServiceProperty(name = "osgi.command.function",
value =
>>>>>>>>>>>
>>>>>>>>>> FUNCTIONS_STR)
>>>>>>>>>>
>>>>>>>>>>> public String gogoFunctions;
>>>>>>>>>>>
>>>>>>>>>>> //private BundleContext context;
>>>>>>>>>>> @Requires
>>>>>>>>>>> private BookshelfService bookshelf;
>>>>>>>>>>>
>>>>>>>>>>> // public BookshelfServiceProxyImpl(BundleContext
context){
>>>>>>>>>>> // this.context = context;
>>>>>>>>>>> // }
>>>>>>>>>>> public BookshelfServiceProxyImpl(){
>>>>>>>>>>> }
>>>>>>>>>>>
>>>>>>>>>>> @Descriptor("Search books by author, title, or
category")
>>>>>>>>>>> public Set<Book>   search(
>>>>>>>>>>> @Descriptor("username")
>>>>>>>>>>> String username,
>>>>>>>>>>> @Descriptor("password")
>>>>>>>>>>> String password,
>>>>>>>>>>> @Descriptor(
>>>>>>>>>>> "search on attribute: author, title, or
>>>>>>>>>>>
>>>>>>>>>> category"
>>>>>>>> )
>>>>>>>>>>> String attribute,
>>>>>>>>>>> @Descriptor(
>>>>>>>>>>> "match like (use % at the beginning or end of
>>>>>>>>>>>
>>>>>>>>>> <like>"
>>>>>>>>>> +
>>>>>>>>>>
>>>>>>>>>>> " for wild-card)")
>>>>>>>>>>> String filter) throws InvalidCredentialsException{
>>>>>>>>>>>
>>>>>>>>>>> BookshelfService service = lookupService();
>>>>>>>>>>>
>>>>>>>>>>> String sessionid =
>>>>>>>>>>>
>>>>>>>>>> service.login(username,password.toCharArray());
>>>>>>>>>> Set<String>   results;
>>>>>>>>>>> if("title".equals(attribute)){
>>>>>>>>>>> results =
>>>>>>>>>>>
>>>>>>>>>> service.searchBooksByTitle(sessionid,filter);
>>>>>>> }
>>>>>>>>>>> else if("author".equals(attribute)){
>>>>>>>>>>> results =
>>>>>>>>>>>
>>>>>>>>>> service.searchBooksByAuthor(sessionid,filter);
>>>>>>> }
>>>>>>>>>>> else if("category".equals(attribute)){
>>>>>>>>>>> results =
>>>>>>>>>>>
>>>>>>>>>> service.searchBooksByCategory(sessionid,filter);
>>>>>>>> }
>>>>>>>>>>> else{
>>>>>>>>>>> throw new RuntimeException(
>>>>>>>>>>> "Invalid attribute, expecting one of {
>>>>>>>>>>>
>>>>>>>>>> 'title',
>>>>>>> "
>>>>>>>
>>>>>>>> +
>>>>>>>>
>>>>>>>>> "'author', 'category' } got
>>>>>>>>>> '"+attribute+"'");
>>>>>>>>>> }
>>>>>>>>>>> return getBooks(sessionid,service,results);
>>>>>>>>>>>
>>>>>>>>>>> }
>>>>>>>>>>>
>>>>>>>>>>> @Descriptor("Search books by rating")
>>>>>>>>>>> public Set<Book>   search(
>>>>>>>>>>> @Descriptor("username")
>>>>>>>>>>> String username,
>>>>>>>>>>> @Descriptor("password")
>>>>>>>>>>> String password,
>>>>>>>>>>> @Descriptor("search on attribute rating")
>>>>>>>>>>> String attribute,
>>>>>>>>>>> @Descriptor("lower rating limit (inclusive)")
>>>>>>>>>>> int lower,
>>>>>>>>>>> @Descriptor("upper rating limit (inclusive)")
>>>>>>>>>>> int upper) throws InvalidCredentialsException
{
>>>>>>>>>>>
>>>>>>>>>>> if(!"rating".equals(attribute)){
>>>>>>>>>>> throw new RuntimeException(
>>>>>>>>>>> "Invalid attribute, expecting 'rating' got '"+
>>>>>>>>>>> attribute+"'");
>>>>>>>>>>> }
>>>>>>>>>>>
>>>>>>>>>>> BookshelfService service = lookupService();
>>>>>>>>>>> String sessionid =
>>>>>>>>>>>
>>>>>>>>>> service.login(username,password.toCharArray());
>>>>>>>>>> Set<String>   results =
>>>>>>>>>>> service.searchBooksByRating(sessionid,lower,upper);
>>>>>>>>>>> return getBooks(sessionid,service,results);
>>>>>>>>>>> }
>>>>>>>>>>>
>>>>>>>>>>> @Descriptor("Add book to the inventory")
>>>>>>>>>>> public String add(
>>>>>>>>>>> @Descriptor("username") String username,
>>>>>>>>>>> @Descriptor("password") String password,
>>>>>>>>>>> @Descriptor("ISBN") String isbn,
>>>>>>>>>>> @Descriptor("Title") String title,
>>>>>>>>>>> @Descriptor("Author") String author,
>>>>>>>>>>> @Descriptor("Category") String category,
>>>>>>>>>>> @Descriptor("Rating (0..10)") int rating)
>>>>>>>>>>> throws InvalidCredentialsException,
>>>>>>>>>>> BookAlreadyExistsException,
>>>>>>>>>>> InvalidBookException{
>>>>>>>>>>> BookshelfService service = lookupService();
>>>>>>>>>>> String sessionId =
>>>>>>>>>>>
>>>>>>>>>> service.login(username,password.toCharArray());
>>>>>>>> service.addBook(sessionId,isbn,title,author,category,rating);
>>>>>>>> return isbn;
>>>>>>>>>>> }
>>>>>>>>>>>
>>>>>>>>>>> private BookshelfService lookupService(){
>>>>>>>>>>> // ServiceReference reference =
>>>>>>>>>>>
>>>>>>>>>> context.getServiceReference(
>>>>>>> // BookshelfService.class.getName());
>>>>>>>>>>> // if(reference==null){
>>>>>>>>>>> // throw new RuntimeException("BookshelfService
not
>>>>>>>>>>> registered,cannot invoke "+
>>>>>>>>>>> // "operation");
>>>>>>>>>>> // }
>>>>>>>>>>> // BookshelfService service = (BookshelfService)
>>>>>>>>>>> this.context.getService(reference);
>>>>>>>>>>> // if(service==null){
>>>>>>>>>>> // throw new RuntimeException(
>>>>>>>>>>> // "BookshelfService not registered, cannot
>>>>>>>>>>>
>>>>>>>>>> invoke
>>>>>>>> "+
>>>>>>>>>> // "operation");
>>>>>>>>>>> // }
>>>>>>>>>>> // return service;
>>>>>>>>>>> return this.bookshelf;
>>>>>>>>>>> }
>>>>>>>>>>>
>>>>>>>>>>> private Set<Book>   getBooks(
>>>>>>>>>>> String sessionid, BookshelfService service,
>>>>>>>>>>> Set<String>   results) {
>>>>>>>>>>> Set<Book>   books = new HashSet<Book>();
>>>>>>>>>>> for(String isbn: results){
>>>>>>>>>>> Book book;
>>>>>>>>>>> try{
>>>>>>>>>>> book = service.getBook(sessionid,isbn);
>>>>>>>>>>> books.add(book);
>>>>>>>>>>> } catch (BookNotFoundException e) {
>>>>>>>>>>> System.out.println("ISBN "+ isbn +
>>>>>>>>>>> " referenced but not found");
>>>>>>>>>>> }
>>>>>>>>>>> }
>>>>>>>>>>> return books;
>>>>>>>>>>> }
>>>>>>>>>>> }
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Here is meta.xml:
>>>>>>>>>>>
>>>>>>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>>>>>>> <ipojo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>>>>>>>>> xsi:schemaLocation="org.apache.felix.ipojo
>>>>>>>>>>> http://felix.apache.org/ipojo/schemas/CURRENT/core.xsd"
>>>>>>>>>>> xmlns="org.apache.felix.ipojo">
>>>>>>>>>>>
>>>>>>>>>>> <instance component="BookshelfServiceProxy"
>>>>>>>>>>> name="bookshelf.service.tui"/>
>>>>>>>>>>> </ipojo>
>>>>>>>>>>>
>>>>>>>>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>>> For additional commands, e-mail: users-help@felix.apache.org
>>>>
>>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Mime
View raw message