1 #set( $symbol_pound = '#' )
2 #set( $symbol_dollar = '$' )
3 #set( $symbol_escape = '\' )
5 * Copyright 2014,2015 Open Networking Laboratory
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
21 import com.google.common.collect.ImmutableList;
22 import org.apache.felix.scr.annotations.Activate;
23 import org.apache.felix.scr.annotations.Component;
24 import org.apache.felix.scr.annotations.Deactivate;
25 import org.apache.felix.scr.annotations.Reference;
26 import org.apache.felix.scr.annotations.ReferenceCardinality;
27 import org.onosproject.ui.UiExtension;
28 import org.onosproject.ui.UiExtensionService;
29 import org.onosproject.ui.UiMessageHandlerFactory;
30 import org.onosproject.ui.UiView;
31 import org.slf4j.Logger;
32 import org.slf4j.LoggerFactory;
34 import java.util.List;
37 * Skeletal ONOS UI application component.
39 @Component(immediate = true)
40 public class AppUiComponent {
42 private final Logger log = LoggerFactory.getLogger(getClass());
44 @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
45 protected UiExtensionService uiExtensionService;
47 // List of application views
48 private final List<UiView> uiViews = ImmutableList.of(
49 new UiView(UiView.Category.OTHER, "sample", "Sample")
52 // Factory for UI message handlers
53 private final UiMessageHandlerFactory messageHandlerFactory =
54 () -> ImmutableList.of(
55 new AppUiMessageHandler()
58 // Application UI extension
59 protected UiExtension extension =
60 new UiExtension.Builder(getClass().getClassLoader(), uiViews)
61 .messageHandlerFactory(messageHandlerFactory)
65 protected void activate() {
66 uiExtensionService.register(extension);
71 protected void deactivate() {
72 uiExtensionService.unregister(extension);