<?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.
-->
<wicket:extend xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
    <h1>Blueprint container details</h1>

    <table class="dataview grid_12">
        <tr wicket:id="components" class="component">
            <td>
                <span wicket:id="componentId">.component-1</span>
            </td>
            <td>
                <span wicket:id="type">org.osgi.service.blueprint.reflect.ComponentMetadata</span>
            </td>
            <td>
                <ul>
                    <li wicket:id="dependencies">
                        <span wicket:id="dependency">.component-12</span>
                    </li>
                </ul>
            </td>
        </tr>
    </table>

    <div id="graph" class="grid_12" style="height: 550px"></div>
</wicket:extend>