Author: ldywicki Date: Thu Aug 30 19:58:27 2012 New Revision: 1379101 URL: http://svn.apache.org/viewvc?rev=1379101&view=rev Log: KARAF-1782 - Solve serialization issues in blueprint plugin
Signed-off-by: Lukasz Dywicki <l...@code-house.org> Added: karaf/webconsole/trunk/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintColumn.java karaf/webconsole/trunk/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintPanel.java karaf/webconsole/trunk/osgi/blueprint/src/main/resources/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintPanel.html Modified: karaf/webconsole/trunk/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintColumnProvider.java karaf/webconsole/trunk/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/details/MetadataModel.java karaf/webconsole/trunk/osgi/blueprint/src/main/resources/OSGI-INF/blueprint/blueprint.xml Added: karaf/webconsole/trunk/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintColumn.java URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintColumn.java?rev=1379101&view=auto ============================================================================== --- karaf/webconsole/trunk/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintColumn.java (added) +++ karaf/webconsole/trunk/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintColumn.java Thu Aug 30 19:58:27 2012 @@ -0,0 +1,41 @@ +/* + * 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. + */ +package org.apache.karaf.webconsole.osgi.blueprint.bundle; + +import static org.apache.wicket.model.Model.of; + +import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator; +import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn; +import org.apache.wicket.markup.repeater.Item; +import org.apache.wicket.model.IModel; +import org.osgi.framework.Bundle; + +/** + * Column representing items blueprint state. + */ +class BlueprintColumn extends AbstractColumn<Bundle> { + + private static final long serialVersionUID = 1L; + + public BlueprintColumn() { + super(of("Blueprint")); + } + + public void populateItem(Item<ICellPopulator<Bundle>> cellItem, String componentId, IModel<Bundle> rowModel) { + cellItem.add(new BlueprintPanel(componentId, rowModel)); + } +} \ No newline at end of file Modified: karaf/webconsole/trunk/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintColumnProvider.java URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintColumnProvider.java?rev=1379101&r1=1379100&r2=1379101&view=diff ============================================================================== --- karaf/webconsole/trunk/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintColumnProvider.java (original) +++ karaf/webconsole/trunk/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintColumnProvider.java Thu Aug 30 19:58:27 2012 @@ -16,16 +16,8 @@ */ package org.apache.karaf.webconsole.osgi.blueprint.bundle; -import org.apache.karaf.webconsole.osgi.blueprint.BlueprintState; -import org.apache.karaf.webconsole.osgi.blueprint.IBlueprintBundleStateTracker; import org.apache.karaf.webconsole.osgi.core.spi.IColumnProvider; -import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator; -import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn; import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn; -import org.apache.wicket.markup.html.basic.Label; -import org.apache.wicket.markup.repeater.Item; -import org.apache.wicket.model.IModel; -import org.apache.wicket.model.Model; import org.osgi.framework.Bundle; /** @@ -33,25 +25,8 @@ import org.osgi.framework.Bundle; */ public class BlueprintColumnProvider implements IColumnProvider { - private IBlueprintBundleStateTracker tracker; - - public BlueprintColumnProvider(IBlueprintBundleStateTracker tracker) { - this.tracker = tracker; - } - - @SuppressWarnings("serial") public IColumn<Bundle> getColumn() { - return new AbstractColumn<Bundle>(Model.of("Blueprint")) { - public void populateItem(Item<ICellPopulator<Bundle>> cellItem, String componentId, IModel<Bundle> rowModel) { - Bundle bundle = rowModel.getObject(); - BlueprintState state = tracker.getState(bundle); - if (state != null) { - cellItem.add(new Label(componentId, state.name())); - } else { - cellItem.add(new Label(componentId)); - } - } - }; + return new BlueprintColumn(); } } Added: karaf/webconsole/trunk/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintPanel.java URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintPanel.java?rev=1379101&view=auto ============================================================================== --- karaf/webconsole/trunk/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintPanel.java (added) +++ karaf/webconsole/trunk/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintPanel.java Thu Aug 30 19:58:27 2012 @@ -0,0 +1,46 @@ +/* + * 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. + */ +package org.apache.karaf.webconsole.osgi.blueprint.bundle; + +import org.apache.karaf.webconsole.osgi.blueprint.BlueprintState; +import org.apache.karaf.webconsole.osgi.blueprint.IBlueprintBundleStateTracker; +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.html.panel.Panel; +import org.apache.wicket.model.IModel; +import org.ops4j.pax.wicket.api.PaxWicketBean; +import org.osgi.framework.Bundle; + +public class BlueprintPanel extends Panel { + + private static final long serialVersionUID = 1L; + + @PaxWicketBean(name = "tracker") + private IBlueprintBundleStateTracker tracker; + + public BlueprintPanel(String componentId, IModel<Bundle> model) { + super(componentId, model); + + Bundle bundle = model.getObject(); + BlueprintState state = tracker.getState(bundle); + if (state != null) { + add(new Label("state", state.name())); + } else { + add(new Label("state")); + } + } + +} Modified: karaf/webconsole/trunk/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/details/MetadataModel.java URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/details/MetadataModel.java?rev=1379101&r1=1379100&r2=1379101&view=diff ============================================================================== --- karaf/webconsole/trunk/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/details/MetadataModel.java (original) +++ karaf/webconsole/trunk/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/details/MetadataModel.java Thu Aug 30 19:58:27 2012 @@ -66,5 +66,6 @@ class MetadataModel extends LoadableDeta if (reference != null) { context.ungetService(reference); } + reference = null; } -} \ No newline at end of file +} Modified: karaf/webconsole/trunk/osgi/blueprint/src/main/resources/OSGI-INF/blueprint/blueprint.xml URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/blueprint/src/main/resources/OSGI-INF/blueprint/blueprint.xml?rev=1379101&r1=1379100&r2=1379101&view=diff ============================================================================== --- karaf/webconsole/trunk/osgi/blueprint/src/main/resources/OSGI-INF/blueprint/blueprint.xml (original) +++ karaf/webconsole/trunk/osgi/blueprint/src/main/resources/OSGI-INF/blueprint/blueprint.xml Thu Aug 30 19:58:27 2012 @@ -31,29 +31,25 @@ <bean id="provider" class="org.apache.karaf.webconsole.osgi.blueprint.navigation.BlueprintNavigationProvider" /> - <bean id="tracker" class="org.apache.karaf.webconsole.osgi.blueprint.BlueprintBundleStateTracker" /> + <bean id="trackerBean" class="org.apache.karaf.webconsole.osgi.blueprint.BlueprintBundleStateTracker" /> <service auto-export="interfaces"> - <bean class="org.apache.karaf.webconsole.osgi.blueprint.bundle.BlueprintActionProvider"> - <argument ref="trackerService" /> - </bean> + <bean class="org.apache.karaf.webconsole.osgi.blueprint.bundle.BlueprintActionProvider" /> </service> <service auto-export="interfaces"> - <bean class="org.apache.karaf.webconsole.osgi.blueprint.bundle.BlueprintColumnProvider"> - <argument ref="trackerService" /> - </bean> + <bean class="org.apache.karaf.webconsole.osgi.blueprint.bundle.BlueprintColumnProvider" /> </service> <service auto-export="interfaces"> <bean class="org.apache.karaf.webconsole.osgi.blueprint.bundle.BlueprintDecorationProvider"> - <argument ref="trackerService" /> + <argument ref="tracker" /> </bean> </service> - <service ref="tracker" auto-export="interfaces" /> + <reference id="tracker" interface="org.apache.karaf.webconsole.osgi.blueprint.IBlueprintBundleStateTracker" availability="optional" /> + + <service ref="trackerBean" auto-export="interfaces" /> - <reference id="trackerService" interface="org.apache.karaf.webconsole.osgi.blueprint.IBlueprintBundleStateTracker" - availability="optional" /> </blueprint> Added: karaf/webconsole/trunk/osgi/blueprint/src/main/resources/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintPanel.html URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/blueprint/src/main/resources/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintPanel.html?rev=1379101&view=auto ============================================================================== --- karaf/webconsole/trunk/osgi/blueprint/src/main/resources/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintPanel.html (added) +++ karaf/webconsole/trunk/osgi/blueprint/src/main/resources/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintPanel.html Thu Aug 30 19:58:27 2012 @@ -0,0 +1,20 @@ +<?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:panel xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"> + <span wicket:id="state" /> +</wicket:panel> \ No newline at end of file