<?xml version="1.0" encoding="UTF-8"?>
<!--

    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

-->
<blueprint
        xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
        xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"
        xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0"
        default-activation="lazy">

    <!-- Command Bundle -->
    <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.0.0">
        <command name="jclouds/blobstore-write">
            <action class="org.jclouds.examples.blobstore.osgi.shell.WriteCommand">
                <property name="blobStoreService" ref="blobStoreServiceImpl"/>
            </action>
        </command>

        <command name="jclouds/blobstore-read">
            <action class="org.jclouds.examples.blobstore.osgi.shell.ReadCommand">
                <property name="blobStoreService" ref="blobStoreServiceImpl"/>
            </action>
        </command>
    </command-bundle>

    <bean id="blobStoreServiceImpl" class="org.jclouds.examples.blobstore.osgi.BlobStoreServiceImpl">
        <cm:managed-properties persistent-id="org.jclouds.blobstore" update-method="createOrUpdate"
                               update-strategy="container-managed"/>
    </bean>

</blueprint>
