From d84f89ba3d18fb8e9c44fa0bab004d24c56b0a81 Mon Sep 17 00:00:00 2001 From: Ray Milkey Date: Fri, 17 Aug 2018 14:54:17 -0700 Subject: [PATCH] [WIP] Upgrade ONOS to karaf version 4.2.1 Change-Id: I7cd40c995bdf1c80f94b1895fb3344e32404c7fa --- .bazelrc | 2 + .../org/onosproject/acl/impl/AclManager.java | 24 +- .../acl/impl/DistributedAclStore.java | 20 +- .../actn/mdsc/tetunnelctl/TeTunnelCtl.java | 22 +- .../mdsc/pce/impl/TeTunnelPceManager.java | 10 +- .../artemis/impl/ArtemisDeaggregatorImpl.java | 30 +-- .../artemis/impl/ArtemisDetectorImpl.java | 20 +- .../artemis/impl/ArtemisManager.java | 20 +- .../artemis/impl/ArtemisMonitorImpl.java | 18 +- .../org/onosproject/bgprouter/BgpRouter.java | 24 +- .../java/org/onosproject/castor/Castor.java | 16 +- .../onosproject/castor/CastorArpManager.java | 22 +- .../castor/ConnectivityManager.java | 23 +- .../castor/DistributedCastorStore.java | 18 +- .../l2monitoring/cfm/impl/CfmMdManager.java | 24 +- .../l2monitoring/cfm/impl/CfmMepManager.java | 56 ++-- .../cfm/impl/DistributedMdStore.java | 18 +- .../cfm/impl/DistributedMepStore.java | 16 +- .../l2monitoring/soam/impl/SoamManager.java | 26 +- .../org/onosproject/cfm/CfmWebComponent.java | 12 +- .../org/onosproject/cip/ClusterIpManager.java | 26 +- .../impl/DistributedDynamicConfigStore.java | 17 +- .../config/impl/DynamicConfigManager.java | 34 ++- ...confDeviceConfigSynchronizerComponent.java | 20 +- .../impl/DynamicDeviceConfigSynchronizer.java | 53 ++-- .../org/onosproject/cpman/gui/CpmanUI.java | 16 +- .../cpman/impl/ControlPlaneManager.java | 16 +- .../cpman/impl/ControlPlaneMonitor.java | 18 +- .../impl/message/ControlMessageManager.java | 17 +- .../message/DefaultControlMessageStore.java | 10 +- .../cpman/rest/CPManCodecRegistrator.java | 12 +- .../onosproject/dhcp/impl/DhcpManager.java | 35 ++- .../org/onosproject/dhcp/impl/DhcpUi.java | 16 +- .../dhcp/impl/DistributedDhcpStore.java | 18 +- .../dhcprelay/Dhcp4HandlerImpl.java | 71 +++-- .../dhcprelay/Dhcp6HandlerImpl.java | 47 ++-- .../dhcprelay/DhcpRelayManager.java | 106 ++++---- .../DistributedDhcpRelayCountersStore.java | 23 +- .../store/DistributedDhcpRelayStore.java | 16 +- .../store/DistributedFpmPrefixStore.java | 34 +-- .../drivermatrix/DriverViewComponent.java | 12 +- .../events/EventHistoryManager.java | 61 +++-- .../impl/EvpnRouteManager.java | 36 ++- .../store/DistributedEvpnRouteStore.java | 16 +- .../manager/impl/EvpnManager.java | 54 ++-- .../rsc/baseport/impl/BasePortManager.java | 18 +- .../vpnafconfig/impl/VpnAfConfigManager.java | 18 +- .../vpninstance/impl/VpnInstanceManager.java | 24 +- .../rsc/vpnport/impl/VpnPortManager.java | 26 +- .../alarms/gui/AlarmTableComponent.java | 12 +- .../alarms/gui/AlarmTopovComponent.java | 12 +- .../faultmanagement/impl/AlarmManager.java | 22 +- .../impl/DistributedAlarmStore.java | 18 +- .../impl/PollingAlarmProvider.java | 29 +-- .../web/AlarmCodecRegistrator.java | 12 +- .../flowanalyzer/FlowAnalyzer.java | 32 ++- .../onosproject/fwd/ReactiveForwarding.java | 101 ++++--- .../DefaultGangliaMetricsReporter.java | 39 ++- .../gluon/manager/GluonManager.java | 14 +- .../DefaultGraphiteMetricsReporter.java | 43 ++- .../imr/IntentMonitorAndRerouteManager.java | 26 +- .../inbandtelemetry/app/IntControl.java | 16 +- .../app/ui/IntAppUiComponent.java | 12 +- .../inbandtelemetry/impl/IntManager.java | 24 +- .../DefaultInfluxDbMetricsReporter.java | 37 ++- .../DefaultInfluxDbMetricsRetriever.java | 16 +- .../InfluxDbMetricsConfig.java | 41 ++- .../intentsync/IntentSynchronizer.java | 23 +- .../impl/EventConversionManager.java | 10 +- .../impl/EventSubscriptionManager.java | 37 ++- .../impl/KafkaCodecRegistrator.java | 12 +- .../impl/KafkaStorageManager.java | 16 +- .../kafkaintegration/kafka/EventListener.java | 24 +- .../kafka/EventPublisher.java | 20 +- .../kafka/KafkaConfigManager.java | 32 ++- .../kafka/PublishManager.java | 18 +- .../impl/DistributedNetL3VpnStore.java | 16 +- .../l3vpn/netl3vpn/impl/NetL3VpnManager.java | 28 +- .../layout/RoleBasedLayoutManager.java | 24 +- .../LearningSwitchSolution.java | 16 +- .../LearningSwitchTutorial.java | 16 +- .../onosproject/linkprops/LinkPropApp.java | 12 +- .../mapping/MappingCodecRegistrator.java | 12 +- .../mapping/impl/DistributedMappingStore.java | 18 +- .../mapping/impl/MappingManager.java | 18 +- .../mapping/impl/SimpleMappingStore.java | 12 +- .../mapping/web/gui/MappingsTopoUI.java | 12 +- .../mapping/web/gui/MappingsUI.java | 16 +- .../impl/DistributedMcastRoutesStore.java | 16 +- .../mcast/impl/MulticastRouteManager.java | 18 +- .../web/McastServiceCodecRegistrator.java | 12 +- .../metrics/intent/IntentMetrics.java | 30 +-- .../metrics/topology/TopologyMetrics.java | 36 ++- .../mfwd/impl/McastForwarding.java | 18 +- .../mlb/MastershipLoadBalancer.java | 31 ++- .../onosproject/mobility/HostMobility.java | 18 +- .../client/impl/NetconfActiveComponent.java | 18 +- .../client/impl/NetconfTranslatorImpl.java | 24 +- .../fnl/impl/NetworkDiagnosticManager.java | 37 ++- .../newoptical/OpticalPathProvisioner.java | 41 ++- .../nodemetrics/impl/NodeMetricsManager.java | 38 ++- .../onosproject/odtn/utils/YangToolUtil.java | 14 +- .../impl/ServiceApplicationComponent.java | 26 +- .../internal/DcsBasedTapiTopologyManager.java | 28 +- .../odtn/internal/DefaultTapiResolver.java | 23 +- .../ofagent/impl/DistributedOFAgentStore.java | 23 +- .../ofagent/impl/OFAgentManager.java | 24 +- .../ofagent/impl/OFSwitchManager.java | 24 +- .../OpenRoadmNetworkModelRegistrator.java | 2 +- .../OpenRoadmServiceModelRegistrator.java | 2 +- .../impl/DistributedInstancePortStore.java | 18 +- .../DistributedOpenstackNetworkStore.java | 18 +- .../impl/DistributedOpenstackRouterStore.java | 18 +- .../impl/DistributedSecurityGroupStore.java | 18 +- .../impl/InstancePortManager.java | 26 +- .../OpenStackSwitchingDirectPortProvider.java | 26 +- .../impl/OpenstackFlowRuleManager.java | 24 +- .../impl/OpenstackMetadataProxyHandler.java | 26 +- .../impl/OpenstackNetworkManager.java | 26 +- .../impl/OpenstackRouterManager.java | 18 +- .../impl/OpenstackRoutingArpHandler.java | 39 ++- .../OpenstackRoutingFloatingIpHandler.java | 30 +-- .../impl/OpenstackRoutingHandler.java | 41 ++- .../impl/OpenstackRoutingIcmpHandler.java | 24 +- .../impl/OpenstackRoutingSnatHandler.java | 28 +- .../impl/OpenstackSecurityGroupHandler.java | 41 ++- .../impl/OpenstackSecurityGroupManager.java | 18 +- .../impl/OpenstackSwitchingArpHandler.java | 44 ++-- .../impl/OpenstackSwitchingDhcpHandler.java | 35 ++- .../impl/OpenstackSwitchingHandler.java | 32 +-- .../impl/OpenstackSwitchingHostProvider.java | 28 +- .../impl/PreCommitPortManager.java | 18 +- .../web/OpenstackNetworkingCodecRegister.java | 12 +- .../OpenstackNetworkingUiManager.java | 20 +- .../impl/DefaultOpenstackNodeHandler.java | 43 ++- .../impl/DistributedOpenstackNodeStore.java | 18 +- .../impl/OpenstackNodeManager.java | 35 ++- .../web/OpenstackNodeCodecRegister.java | 12 +- .../gui/OpensteckTelemetryUI.java | 16 +- .../impl/GrpcTelemetryConfigManager.java | 41 ++- .../impl/GrpcTelemetryManager.java | 16 +- .../impl/InfluxDbTelemetryConfigManager.java | 53 ++-- .../impl/InfluxDbTelemetryManager.java | 16 +- .../impl/KafkaTelemetryConfigManager.java | 63 +++-- .../impl/KafkaTelemetryManager.java | 16 +- .../impl/OpenstackTelemetryManager.java | 16 +- .../impl/RestTelemetryConfigManager.java | 49 ++-- .../impl/RestTelemetryManager.java | 16 +- .../impl/StatsFlowRuleManager.java | 63 +++-- .../web/OpenstackTelemetryCodecRegister.java | 12 +- .../impl/OpenstackTroubleshootManager.java | 36 ++- .../impl/DistributedOpenstackVtapStore.java | 16 +- .../impl/OpenstackVtapManager.java | 36 ++- .../optical/cli/AddOpticalIntentCommand.java | 10 +- .../optical/cli/OpticalPortsListCommand.java | 4 +- .../OpticalCircuitIntentCompiler.java | 43 ++- .../OpticalConnectivityIntentCompiler.java | 18 +- .../compiler/OpticalOduIntentCompiler.java | 20 +- .../compiler/OpticalPathIntentCompiler.java | 16 +- .../optical/internal/OpticalModelLoader.java | 14 +- .../p4tutorial/mytunnel/MyTunnelApp.java | 18 +- .../p4tutorial/pipeconf/PipeconfFactory.java | 12 +- .../packetstats/PacketStatistics.java | 20 +- .../packetstats/PacketStatsUiComponent.java | 12 +- .../onosproject/pathpainter/PathPainter.java | 12 +- .../pce/pceservice/PceManager.java | 97 ++++--- .../pce/pcestore/DistributedPceStore.java | 18 +- .../bandwidthmgr/BandwidthManager.java | 20 +- .../DistributedBandwidthMgmtStore.java | 38 ++- .../pcerest/PceCodecRegistrator.java | 12 +- .../pceweb/PceWebTopovComponent.java | 12 +- .../common/AbstractUpgradableFabricApp.java | 26 +- .../pi/demo/app/ecmp/EcmpFabricApp.java | 4 +- .../onosproject/pim/impl/PimApplication.java | 18 +- .../pim/impl/PimInterfaceManager.java | 38 ++- .../onosproject/proxyarp/DefaultProxyArp.java | 16 +- .../rabbitmq/listener/MQEventHandler.java | 18 +- .../routing/ReactiveRoutingConfiguration.java | 26 +- .../routing/SdnIpReactiveRouting.java | 24 +- .../restconfmanager/RestconfManager.java | 16 +- .../roadm/DistributedRoadmStore.java | 17 +- .../org/onosproject/roadm/RoadmComponent.java | 12 +- .../org/onosproject/roadm/RoadmManager.java | 25 +- .../impl/ConfigurationRouteSource.java | 14 +- .../routeservice/impl/RouteManager.java | 30 +-- .../rest/RouteServiceCodecRegistrator.java | 12 +- .../routeservice/store/RouteStoreImpl.java | 23 +- .../ra/RouterAdvertisementManager.java | 57 ++-- .../routing/bgp/BgpSessionManager.java | 20 +- .../impl/BgpSpeakerNeighbourHandler.java | 18 +- .../routing/impl/DirectHostManager.java | 33 ++- .../cpr/ControlPlaneRedirectManager.java | 41 ++- .../routing/fibinstaller/FibInstaller.java | 53 ++-- .../onosproject/routing/fpm/FpmManager.java | 55 ++-- .../impl/ScalableGatewayManager.java | 28 +- .../java/org/onosproject/sdnip/SdnIp.java | 24 +- .../java/org/onosproject/sdnip/SdnIpFib.java | 20 +- .../segmentrouting/SegmentRoutingManager.java | 91 +++---- .../xconnect/api/XconnectService.java | 2 - .../xconnect/impl/XconnectManager.java | 30 +-- .../simplefabric/SimpleFabricL2Forward.java | 18 +- .../simplefabric/SimpleFabricManager.java | 58 ++--- .../simplefabric/SimpleFabricNeighbour.java | 20 +- .../SimpleFabricReactiveRouting.java | 28 +- .../t3/impl/TroubleshootManager.java | 32 ++- .../topology/impl/TeTopologyNbiManager.java | 18 +- .../tenbi/tunnel/TeTunnelNbiManager.java | 22 +- .../onosproject/clusterha/ClusterHATest.java | 22 +- .../org/onosproject/demo/DemoInstaller.java | 101 ++++--- .../DistributedPrimitivesTest.java | 22 +- .../onosproject/election/ElectionTest.java | 16 +- .../org/onosproject/flowperf/FlowPerfApp.java | 67 +++-- .../intentperf/IntentPerfCollector.java | 20 +- .../intentperf/IntentPerfInstaller.java | 59 ++--- .../onosproject/intentperf/IntentPerfUi.java | 16 +- .../DistributedConsensusLoadTest.java | 56 ++-- .../messagingperf/MessagingPerfApp.java | 79 +++--- .../netcfgmonitor/NetCfgEventMonitor.java | 8 +- .../primitiveperf/PrimitivePerfApp.java | 117 ++++----- .../primitiveperf/PrimitivePerfCollector.java | 32 ++- .../org/onosproject/proxytest/ProxyTest.java | 20 +- .../routescale/ScaleTestManager.java | 39 ++- .../transactionperf/TransactionPerfApp.java | 64 +++-- .../impl/DistributedTeTopologyStore.java | 73 +++--- .../management/impl/TeTopologyManager.java | 113 ++++---- .../management/SimpleTeTopologyStore.java | 37 ++- .../impl/DistributedTeTunnelStore.java | 20 +- .../tetunnel/impl/TeTunnelManager.java | 31 ++- .../virtualbng/VbngConfigurationManager.java | 10 +- .../onosproject/virtualbng/VbngManager.java | 22 +- .../virtualbng/VirtualPublicHosts.java | 16 +- .../org/onosproject/vpls/VplsManager.java | 34 ++- .../vpls/VplsNeighbourHandler.java | 20 +- .../vpls/VplsOperationManager.java | 30 +-- .../vpls/config/VplsConfigManager.java | 22 +- .../vpls/store/DistributedVplsStore.java | 26 +- .../java/org/onosproject/vrouter/Vrouter.java | 14 +- .../sfc/manager/impl/SfcManager.java | 49 ++-- .../sfcweb/SfcwebUiTopovComponent.java | 12 +- .../vtn/manager/impl/VtnManager.java | 87 +++---- .../classifier/impl/ClassifierManager.java | 21 +- .../floatingip/impl/FloatingIpManager.java | 43 ++- .../impl/FlowClassifierManager.java | 27 +- .../portchain/impl/PortChainManager.java | 28 +- .../impl/PortChainSfMapManager.java | 35 ++- .../vtnrsc/portpair/impl/PortPairManager.java | 28 +- .../impl/PortPairGroupManager.java | 28 +- .../vtnrsc/router/impl/RouterManager.java | 39 ++- .../impl/RouterInterfaceManager.java | 39 ++- .../vtnrsc/service/impl/VtnRscManager.java | 58 ++--- .../vtnrsc/subnet/impl/SubnetManager.java | 20 +- .../impl/TenantNetworkManager.java | 18 +- .../virtualport/impl/VirtualPortManager.java | 40 ++- .../vtnweb/gui/SfcUiExtensionManager.java | 29 +-- .../vtnweb/web/VtnCodecRegistrator.java | 12 +- .../yang/gui/YangModelUiComponent.java | 12 +- .../yang/AbstractYangModelRegistrator.java | 14 +- .../yang/impl/YangLiveCompilerManager.java | 10 +- .../yang/impl/YangRuntimeManager.java | 18 +- .../onosproject/yms/app/ymsm/YmsManager.java | 16 +- .../onosproject/yms/app/ypm/YpmManager.java | 12 +- cli/BUILD | 9 +- .../cli/AbstractChoicesCompleter.java | 12 +- .../onosproject/cli/AbstractCompleter.java | 24 +- .../onosproject/cli/AbstractShellCommand.java | 26 +- .../cli/BalanceMastersCommand.java | 6 +- .../org/onosproject/cli/CliComponent.java | 10 +- .../java/org/onosproject/cli/IssuCommand.java | 8 +- .../java/org/onosproject/cli/MarkCommand.java | 10 +- .../onosproject/cli/MastersListCommand.java | 6 +- .../cli/MembershipsListCommand.java | 6 +- .../onosproject/cli/MetricsListCommand.java | 8 +- .../org/onosproject/cli/NodeAddCommand.java | 8 +- .../org/onosproject/cli/NodeIdCompleter.java | 12 +- .../onosproject/cli/NodeRemoveCommand.java | 8 +- .../org/onosproject/cli/NodesListCommand.java | 6 +- .../onosproject/cli/PlaceholderCompleter.java | 12 +- .../java/org/onosproject/cli/PrettyJson.java | 6 +- .../java/org/onosproject/cli/PrettyXml.java | 6 +- .../org/onosproject/cli/RolesCommand.java | 6 +- .../org/onosproject/cli/SummaryCommand.java | 6 +- .../cli/app/ApplicationCommand.java | 8 +- .../cli/app/ApplicationIdListCommand.java | 6 +- .../ApplicationIdWithIntentNameCompleter.java | 12 +- .../cli/app/ApplicationNameCompleter.java | 14 +- .../cli/app/ApplicationsListCommand.java | 8 +- .../cli/cfg/ComponentConfigCommand.java | 10 +- .../cfg/ComponentConfigCommandCompleter.java | 12 +- .../cli/cfg/ComponentNameCompleter.java | 12 +- .../cfg/ComponentPropertyNameCompleter.java | 12 +- .../cli/cfg/ConfigKeyCompleter.java | 8 +- .../cli/cfg/NetworkConfigCommand.java | 10 +- .../cli/cfg/NetworkConfigRegistryCommand.java | 8 +- .../cli/cfg/SubjectKeyCompleter.java | 4 +- .../cli/net/AddHostToHostIntentCommand.java | 8 +- ...dMultiPointToSinglePointIntentCommand.java | 8 +- .../cli/net/AddPointToPointIntentCommand.java | 10 +- .../AddProtectedTransportIntentCommand.java | 10 +- ...dSinglePointToMultiPointIntentCommand.java | 8 +- .../cli/net/AddTestFlowsCommand.java | 8 +- .../onosproject/cli/net/AddTunnelCommand.java | 8 +- .../cli/net/AllocationsCommand.java | 10 +- .../cli/net/AnnotateDeviceCommand.java | 10 +- .../cli/net/AnnotateLinkCommand.java | 10 +- .../cli/net/AnnotatePortCommand.java | 10 +- .../cli/net/ClusterDevicesCommand.java | 8 +- .../cli/net/ClusterIdCompleter.java | 12 +- .../cli/net/ClusterLinksCommand.java | 8 +- .../cli/net/ClustersListCommand.java | 6 +- .../cli/net/ConfigureLinkCommand.java | 10 +- .../cli/net/ConnectPointCompleter.java | 12 +- .../cli/net/ConnectivityIntentCommand.java | 2 +- .../onosproject/cli/net/CounterCommand.java | 8 +- .../cli/net/CountersListCommand.java | 6 +- .../cli/net/DeviceControllersCommand.java | 8 +- .../cli/net/DeviceIdCompleter.java | 12 +- .../cli/net/DeviceInterfaceAddCommand.java | 10 +- .../cli/net/DeviceInterfaceRemoveCommand.java | 10 +- .../cli/net/DeviceInterfacesListCommand.java | 8 +- .../cli/net/DeviceKeyAddCommand.java | 10 +- .../cli/net/DeviceKeyListCommand.java | 6 +- .../cli/net/DeviceKeyRemoveCommand.java | 8 +- .../cli/net/DevicePortStateCommand.java | 8 +- .../cli/net/DevicePortStatsCommand.java | 10 +- .../cli/net/DevicePortsListCommand.java | 10 +- .../cli/net/DeviceRemoveCommand.java | 8 +- .../cli/net/DeviceRoleCommand.java | 8 +- .../cli/net/DeviceSetControllersCommand.java | 10 +- .../cli/net/DevicesListCommand.java | 8 +- .../cli/net/DomainIdCompleter.java | 12 +- .../onosproject/cli/net/DpisListCommand.java | 10 +- .../cli/net/DriverNameCompleter.java | 12 +- .../cli/net/DriverProvidersListCommand.java | 6 +- .../cli/net/DriversListCommand.java | 10 +- .../cli/net/EdgePortsListCommand.java | 8 +- .../cli/net/EncapTypeCompleter.java | 12 +- .../onosproject/cli/net/EthTypeCompleter.java | 12 +- .../cli/net/ExtHeaderCompleter.java | 12 +- .../net/FlowObjectiveCompositionCommand.java | 8 +- .../cli/net/FlowObjectiveNextListCommand.java | 6 +- .../net/FlowObjectivePendingNextCommand.java | 6 +- .../net/FlowObjectiveQueueClearCommand.java | 8 +- .../net/FlowObjectiveQueueListCommand.java | 8 +- .../cli/net/FlowRuleStatusCompleter.java | 12 +- .../onosproject/cli/net/FlowsListCommand.java | 10 +- .../cli/net/GetDomainsCommand.java | 6 +- .../cli/net/GetFlowStatisticsCommand.java | 10 +- .../cli/net/GetStatisticsCommand.java | 8 +- .../cli/net/GlobalLabelApplyCommand.java | 8 +- .../cli/net/GlobalLabelCommand.java | 6 +- .../cli/net/GlobalLabelPoolCreateCommand.java | 8 +- .../net/GlobalLabelPoolDestroyCommand.java | 6 +- .../cli/net/GlobalLabelReleaseCommand.java | 8 +- .../cli/net/GroupsListCommand.java | 10 +- .../onosproject/cli/net/HostIdCompleter.java | 12 +- .../cli/net/HostRemoveCommand.java | 8 +- .../onosproject/cli/net/HostsListCommand.java | 8 +- .../cli/net/Icmp6CodeCompleter.java | 12 +- .../cli/net/Icmp6TypeCompleter.java | 12 +- .../cli/net/IntentCycleCommand.java | 8 +- .../cli/net/IntentDetailsCommand.java | 8 +- .../cli/net/IntentKeyCompleter.java | 12 +- .../cli/net/IntentListCompilers.java | 6 +- .../cli/net/IntentListInstallers.java | 6 +- .../cli/net/IntentPurgeCommand.java | 6 +- .../cli/net/IntentPushTestCommand.java | 10 +- .../cli/net/IntentRemoveCommand.java | 10 +- .../cli/net/IntentsDiagnosisCommand.java | 10 +- .../cli/net/IntentsListCommand.java | 8 +- .../cli/net/InterfaceAddCommand.java | 10 +- .../cli/net/InterfaceRemoveCommand.java | 8 +- .../cli/net/InterfacesListCommand.java | 6 +- .../cli/net/IpProtocolCompleter.java | 12 +- .../cli/net/LabelApplyCommand.java | 8 +- .../cli/net/LabelPoolCreateCommand.java | 8 +- .../cli/net/LabelPoolDestroyCommand.java | 8 +- .../cli/net/LabelReleaseCommand.java | 8 +- .../cli/net/LabelResourceCommand.java | 8 +- .../onosproject/cli/net/LayoutAddCommand.java | 8 +- .../cli/net/LayoutListCommand.java | 8 +- .../onosproject/cli/net/LeaderCommand.java | 10 +- .../onosproject/cli/net/LinkDstCompleter.java | 12 +- .../onosproject/cli/net/LinkSrcCompleter.java | 8 +- .../onosproject/cli/net/LinksListCommand.java | 8 +- .../onosproject/cli/net/MapsListCommand.java | 6 +- .../cli/net/McastDeleteCommand.java | 8 +- .../onosproject/cli/net/McastJoinCommand.java | 8 +- .../cli/net/McastRoutesListCommand.java | 6 +- .../onosproject/cli/net/McastShowCommand.java | 8 +- .../onosproject/cli/net/MeterAddCommand.java | 10 +- .../cli/net/MeterRemoveCommand.java | 8 +- .../cli/net/MetersListCommand.java | 8 +- .../cli/net/NeighbourHandlersListCommand.java | 6 +- .../cli/net/PacketProcessorsListCommand.java | 6 +- .../cli/net/PacketRequestsListCommand.java | 6 +- .../cli/net/PartitionsListCommand.java | 8 +- .../onosproject/cli/net/PathListCommand.java | 10 +- .../cli/net/PortNumberCompleter.java | 4 +- .../cli/net/PortQueryVlansCommand.java | 8 +- .../cli/net/QueuesListCommand.java | 6 +- .../cli/net/RandomIntentCommand.java | 8 +- .../onosproject/cli/net/RegionAddCommand.java | 8 +- .../cli/net/RegionAddDevicesCommand.java | 8 +- .../cli/net/RegionAddPeerLocCommand.java | 8 +- .../cli/net/RegionListCommand.java | 8 +- .../cli/net/RegionRemoveCommand.java | 8 +- .../cli/net/RegionRemoveDevicesCommand.java | 8 +- .../cli/net/RegionUpdateCommand.java | 8 +- .../onosproject/cli/net/ResourcesCommand.java | 10 +- .../onosproject/cli/net/RoleCompleter.java | 12 +- .../cli/net/TableStatisticsCommand.java | 10 +- .../cli/net/TestAllocateResource.java | 10 +- .../TestProtectionEndpointIntentCommand.java | 10 +- .../onosproject/cli/net/TopologyCommand.java | 8 +- .../cli/net/TransactionsCommand.java | 6 +- .../cli/net/TunnelBorrowCommand.java | 10 +- .../cli/net/TunnelCreateCommand.java | 10 +- .../cli/net/TunnelQueryCommand.java | 8 +- .../net/TunnelQuerySubscriptionCommand.java | 8 +- .../cli/net/TunnelRemoveCommand.java | 8 +- .../cli/net/TunnelReturnCommand.java | 10 +- .../cli/net/TunnelUpdateCommand.java | 10 +- .../onosproject/cli/net/WipeOutCommand.java | 8 +- .../completer/PeerConnectPointCompleter.java | 16 +- .../cli/net/vnet/TenantAddCommand.java | 8 +- .../cli/net/vnet/TenantCompleter.java | 12 +- .../cli/net/vnet/TenantListCommand.java | 6 +- .../cli/net/vnet/TenantRemoveCommand.java | 8 +- .../cli/net/vnet/VirtualDeviceCompleter.java | 4 +- .../net/vnet/VirtualDeviceCreateCommand.java | 8 +- .../net/vnet/VirtualDeviceListCommand.java | 8 +- .../net/vnet/VirtualDeviceRemoveCommand.java | 8 +- .../cli/net/vnet/VirtualFlowsListCommand.java | 10 +- .../cli/net/vnet/VirtualHostCompleter.java | 4 +- .../net/vnet/VirtualHostCreateCommand.java | 10 +- .../cli/net/vnet/VirtualHostListCommand.java | 8 +- .../net/vnet/VirtualHostRemoveCommand.java | 8 +- .../net/vnet/VirtualLinkCreateCommand.java | 10 +- .../cli/net/vnet/VirtualLinkListCommand.java | 8 +- .../net/vnet/VirtualLinkRemoveCommand.java | 10 +- .../VirtualNetworkBalanceMastersCommand.java | 8 +- .../cli/net/vnet/VirtualNetworkCompleter.java | 12 +- .../net/vnet/VirtualNetworkCreateCommand.java | 8 +- .../VirtualNetworkIntentCreateCommand.java | 8 +- .../VirtualNetworkIntentRemoveCommand.java | 10 +- .../net/vnet/VirtualNetworkListCommand.java | 6 +- .../VirtualNetworkPacketRequestCommand.java | 10 +- .../net/vnet/VirtualNetworkRemoveCommand.java | 8 +- .../cli/net/vnet/VirtualPortBindCommand.java | 8 +- .../cli/net/vnet/VirtualPortCompleter.java | 4 +- .../net/vnet/VirtualPortCreateCommand.java | 8 +- .../cli/net/vnet/VirtualPortListCommand.java | 8 +- .../net/vnet/VirtualPortRemoveCommand.java | 8 +- .../cli/net/vnet/VirtualPortStateCommand.java | 8 +- .../ReviewApplicationNameCompleter.java | 8 +- .../cli/security/ReviewCommand.java | 8 +- cli2/BUCK | 16 ++ cli2/BUILD | 12 + .../cli2/AbstractChoicesCompleter.java | 40 +++ .../onosproject/cli2/AbstractCompleter.java | 39 +++ .../cli2/AbstractShellCommand.java | 194 ++++++++++++++ .../org/onosproject/cli2/CliComponent.java | 39 +++ .../onosproject/cli2/MastersListCommand.java | 96 +++++++ .../org/onosproject/cli2/NodeAddCommand.java | 52 ++++ .../org/onosproject/cli2/NodeIdCompleter.java | 52 ++++ .../onosproject/cli2/NodeRemoveCommand.java | 44 ++++ .../onosproject/cli2/NodesListCommand.java | 89 +++++++ .../org/onosproject/cli2/SummaryCommand.java | 92 +++++++ .../cli2/app/ApplicationCommand.java | 154 +++++++++++ .../cli2/app/ApplicationCommandCompleter.java | 36 +++ .../cli2/app/ApplicationNameCompleter.java | 125 +++++++++ .../org/onosproject/cli2/package-info.java | 20 ++ .../event/AbstractListenerManager.java | 9 +- .../net/driver/AbstractDriverLoader.java | 9 +- .../AbstractIndependentDriverLoader.java | 12 +- .../AbstractListenerProviderRegistry.java | 8 +- .../rest/AbstractApiDocRegistrator.java | 13 +- .../onosproject/codec/impl/CodecManager.java | 10 +- .../common/net/AbstractDeviceProvider.java | 14 +- .../trivial/SimpleApplicationIdStore.java | 8 +- .../store/trivial/SimpleApplicationStore.java | 24 +- .../store/trivial/SimpleClusterStore.java | 22 +- .../trivial/SimpleComponentConfigStore.java | 10 +- .../store/trivial/SimpleDeviceStore.java | 24 +- .../store/trivial/SimpleFlowRuleStore.java | 28 +- .../store/trivial/SimpleGroupStore.java | 41 ++- .../store/trivial/SimpleHostStore.java | 10 +- .../store/trivial/SimpleIdBlockStore.java | 6 +- .../store/trivial/SimpleIntentStore.java | 10 +- .../trivial/SimpleLeadershipManager.java | 32 ++- .../store/trivial/SimpleLinkStore.java | 15 +- .../store/trivial/SimpleMastershipStore.java | 55 ++-- .../store/trivial/SimplePacketStore.java | 6 +- .../store/trivial/SimpleStatisticStore.java | 10 +- .../store/trivial/SimpleTopologyStore.java | 10 +- core/net/BUILD | 1 + .../app/impl/ApplicationManager.java | 19 +- .../cfg/impl/ComponentConfigLoader.java | 10 +- .../cfg/impl/ComponentConfigManager.java | 25 +- .../cluster/impl/ClusterManager.java | 26 +- .../cluster/impl/ClusterMetadataManager.java | 46 ++-- .../cluster/impl/ComponentsMonitor.java | 52 ++-- ...onfigFileBasedClusterMetadataProvider.java | 15 +- .../impl/DefaultClusterMetadataProvider.java | 14 +- .../cluster/impl/LeadershipManager.java | 29 +-- .../cluster/impl/MastershipManager.java | 48 ++-- .../cluster/impl/MastershipProxyManager.java | 52 ++-- .../cluster/impl/MembershipManager.java | 30 +-- .../cluster/impl/ProxyManager.java | 36 ++- .../component/impl/ComponentManager.java | 75 +++--- .../onosproject/core/impl/CoreManager.java | 45 ++-- .../core/impl/HybridLogicalClockManager.java | 18 +- .../core/impl/MetricsManagerComponent.java | 12 +- .../onosproject/core/impl/VersionManager.java | 18 +- .../event/impl/CoreEventDispatcher.java | 33 ++- .../net/config/impl/BasicNetworkConfigs.java | 22 +- .../impl/DeviceInjectionConfigMonitor.java | 57 ++-- .../net/config/impl/NetworkConfigLoader.java | 14 +- .../net/config/impl/NetworkConfigManager.java | 21 +- .../net/device/impl/DeviceManager.java | 28 +- .../net/domain/impl/DomainIntentManager.java | 18 +- .../net/domain/impl/DomainManager.java | 16 +- .../net/driver/impl/DriverManager.java | 23 +- .../driver/impl/DriverRegistryManager.java | 38 +-- .../net/edgeservice/impl/EdgeManager.java | 20 +- .../net/flow/impl/FlowRuleManager.java | 49 ++-- .../impl/FlowObjectiveManager.java | 37 ++- .../impl/InOrderFlowObjectiveManager.java | 11 +- .../FlowObjectiveCompositionManager.java | 24 +- .../net/group/impl/GroupManager.java | 35 ++- .../net/host/impl/HostManager.java | 65 +++-- .../net/host/impl/HostProbingManager.java | 22 +- .../net/intent/impl/IntentCleanup.java | 31 ++- .../net/intent/impl/IntentManager.java | 59 ++--- .../net/intent/impl/ObjectiveTracker.java | 28 +- .../intent/impl/ProtectionConfigMonitor.java | 57 ++-- .../compiler/ConnectivityIntentCompiler.java | 14 +- .../compiler/HostToHostIntentCompiler.java | 12 +- .../IntentConfigurableRegistrator.java | 51 ++-- .../LinkCollectionIntentCompiler.java | 18 +- ...CollectionIntentFlowObjectiveCompiler.java | 20 +- ...MultiPointToSinglePointIntentCompiler.java | 16 +- .../impl/compiler/PathIntentCompiler.java | 16 +- .../PathIntentFlowObjectiveCompiler.java | 18 +- .../compiler/PointToPointIntentCompiler.java | 17 +- .../ProtectedTransportIntentCompiler.java | 14 +- ...SinglePointToMultiPointIntentCompiler.java | 13 +- .../compiler/TwoWayP2PIntentCompiler.java | 6 +- .../VirtualNetworkIntentCompiler.java | 16 +- .../impl/installer/DomainIntentInstaller.java | 18 +- .../FlowObjectiveIntentInstaller.java | 18 +- .../installer/FlowRuleIntentInstaller.java | 31 ++- .../ProtectionEndpointIntentInstaller.java | 18 +- .../net/intf/impl/InterfaceManager.java | 28 +- .../net/key/impl/DeviceKeyManager.java | 16 +- .../net/link/impl/LinkManager.java | 35 ++- .../net/mcast/impl/MulticastRouteManager.java | 20 +- .../net/meter/impl/MeterManager.java | 39 ++- .../impl/NeighbourResolutionManager.java | 49 ++-- .../net/packet/impl/PacketManager.java | 26 +- .../net/pi/impl/PiPipeconfManager.java | 20 +- .../pi/impl/PiPipeconfWatchdogManager.java | 33 ++- .../net/pi/impl/PiTranslationServiceImpl.java | 24 +- .../net/region/impl/RegionManager.java | 18 +- .../net/resource/impl/ResourceManager.java | 20 +- .../net/resource/impl/ResourceRegistrar.java | 22 +- .../statistic/impl/FlowStatisticManager.java | 41 ++- .../net/statistic/impl/StatisticManager.java | 23 +- .../impl/DefaultTopologyProvider.java | 70 +++-- .../net/topology/impl/PathManager.java | 27 +- .../net/topology/impl/TopologyManager.java | 16 +- .../upgrade/impl/UpgradeManager.java | 32 ++- core/security/BUILD | 11 - .../security/impl/DefaultPolicyBuilder.java | 12 +- .../security/impl/SecurityModeManager.java | 246 +----------------- .../store/DistributedSecurityModeStore.java | 28 +- .../app/DistributedApplicationStore.java | 39 +-- .../cfg/DistributedComponentConfigStore.java | 16 +- .../cluster/impl/DistributedClusterStore.java | 43 ++- .../impl/DistributedLeadershipStore.java | 50 ++-- .../impl/ClusterCommunicationManager.java | 22 +- .../messaging/impl/NettyMessagingManager.java | 92 ++++--- .../impl/DistributedNetworkConfigStore.java | 16 +- .../impl/DistributedApplicationIdStore.java | 32 +-- .../core/impl/DistributedIdBlockStore.java | 17 +- .../store/core/impl/LogicalClockManager.java | 19 +- .../store/device/impl/DeviceClockManager.java | 35 ++- .../store/device/impl/ECDeviceStore.java | 59 ++--- .../store/device/impl/GossipDeviceStore.java | 39 +-- .../flow/impl/DistributedFlowRuleStore.java | 66 +++-- .../store/flow/impl/ECFlowRuleStore.java | 85 +++--- .../store/flow/impl/ReplicaInfoManager.java | 18 +- .../impl/DistributedFlowObjectiveStore.java | 22 +- .../group/impl/DistributedGroupStore.java | 43 ++- .../host/impl/DefaultHostProbeStore.java | 18 +- .../store/host/impl/DistributedHostStore.java | 24 +- .../impl/ConsistentIntentSetMultimap.java | 18 +- .../store/intent/impl/GossipIntentStore.java | 29 +-- .../intent/impl/WorkPartitionManager.java | 24 +- .../key/impl/DistributedDeviceKeyStore.java | 16 +- .../store/link/impl/ECLinkStore.java | 51 ++-- .../impl/ConsistentDeviceMastershipStore.java | 65 +++-- .../mcast/impl/DistributedMcastStore.java | 17 +- .../packet/impl/DistributedPacketStore.java | 31 +-- ...AbstractDistributedPiTranslationStore.java | 13 +- ...DistributedDevicePipeconfMappingStore.java | 16 +- ...DistributedPiFlowRuleTranslationStore.java | 6 +- .../DistributedPiGroupTranslationStore.java | 6 +- .../DistributedPiMeterTranslationStore.java | 6 +- ...butedPiMulticastGroupTranslationStore.java | 6 +- .../region/impl/DistributedRegionStore.java | 16 +- .../impl/ConsistentResourceStore.java | 42 ++- .../impl/DistributedFlowStatisticStore.java | 30 +-- .../impl/DistributedStatisticStore.java | 30 +-- .../impl/DistributedTopologyStore.java | 31 +-- .../impl/DistributedStatisticStoreTest.java | 6 +- .../persistence/impl/PersistenceManager.java | 10 +- .../cluster/impl/AtomixClusterStore.java | 30 +-- .../impl/AtomixMessagingManager.java | 32 ++- .../store/atomix/impl/AtomixManager.java | 32 ++- .../primitives/impl/CoordinationManager.java | 32 ++- .../primitives/impl/PartitionManager.java | 24 +- .../primitives/impl/StorageManager.java | 40 ++- .../drivers/arista/AristaDriversLoader.java | 2 +- .../barefoot/BarefootDriversLoader.java | 2 +- .../drivers/bmv2/Bmv2DriversLoader.java | 2 +- .../bmv2/ctl/Bmv2PreControllerImpl.java | 31 +-- .../mirror/AbstractDistributedBmv2Mirror.java | 12 +- .../mirror/DistributedBmv2PreGroupMirror.java | 6 +- .../ciena/c5162/Ciena5162DriversLoader.java | 2 +- .../ciena/c5170/Ciena5170DriversLoader.java | 2 +- .../ciena/waveserver/CienaDriversLoader.java | 2 +- .../waveserverai/CienaDriversLoader.java | 2 +- .../drivers/cisco/CiscoDriversLoader.java | 2 +- .../cisco/rest/CiscoRestDriversLoader.java | 2 +- .../drivers/corsa/CorsaDriversLoader.java | 2 +- .../driver/DefaultCodecRegister.java | 12 +- .../driver/DefaultDriversLoader.java | 6 +- .../flowspec/FlowSpecDriversLoader.java | 2 +- .../drivers/fujitsu/FujitsuDriversLoader.java | 2 +- .../drivers/gnmi/GnmiDriversLoader.java | 2 +- .../drivers/hp/HPDriverLoader.java | 2 +- .../drivers/huawei/HuaweiDriversLoader.java | 2 +- .../drivers/juniper/JuniperDriversLoader.java | 2 +- .../drivers/lisp/LispDriversLoader.java | 2 +- .../LispMappingExtensionCodecRegistrator.java | 12 +- .../lumentum/LumentumDriversLoader.java | 2 +- .../mellanox/MellanoxDriversLoader.java | 2 +- .../microsemi/EA1000MeterProvider.java | 18 +- .../microsemi/MicrosemiDriversLoader.java | 2 +- .../microsemi/NetconfConfigGetter.java | 6 +- .../yang/impl/AbstractYangServiceImpl.java | 32 ++- .../yang/impl/IetfSystemManager.java | 10 +- .../microsemi/yang/impl/MseaCfmManager.java | 13 +- .../yang/impl/MseaSaFilteringManager.java | 10 +- .../yang/impl/MseaUniEvcServiceManager.java | 10 +- .../yang/MockYangRuntimeManager.java | 10 +- .../drivers/netconf/NetconfDriversLoader.java | 2 +- drivers/odtn-driver/BUILD | 4 - .../drivers/odtn/impl/OdtnDriversLoader.java | 2 +- .../drivers/oplink/OplinkDriversLoader.java | 2 +- .../flowrule/DefaultCrossConnectCache.java | 6 +- .../optical/OpticalAdjacencyLinkManager.java | 16 +- .../drivers/optical/OpticalDriversLoader.java | 12 +- .../drivers/ovsdb/OvsdbDriversLoader.java | 2 +- .../p4runtime/P4RuntimeDriversLoader.java | 2 +- .../AbstractDistributedP4RuntimeMirror.java | 12 +- .../DistributedP4RuntimeGroupMirror.java | 6 +- .../DistributedP4RuntimeMeterMirror.java | 8 +- ...tributedP4RuntimeMulticastGroupMirror.java | 6 +- .../DistributedP4RuntimeTableMirror.java | 6 +- .../polatis/netconf/PolatisDriversLoader.java | 12 +- .../openflow/PolatisDriversLoader.java | 12 +- .../polatis/snmp/PolatisDriversLoader.java | 12 +- .../drivers/server/ServerDriversLoader.java | 2 +- .../net/config/impl/ExtraNetworkConfigs.java | 12 +- .../net/domain/impl/IntentDomainManager.java | 10 +- .../net/dpi/impl/DpiStatisticsManager.java | 18 +- .../net/impl/PortStatisticsManager.java | 20 +- .../label/impl/LabelResourceManager.java | 20 +- .../net/tunnel/impl/TunnelManager.java | 18 +- .../virtual/impl/VirtualNetworkManager.java | 26 +- .../DefaultVirtualFlowRuleProvider.java | 32 ++- .../provider/DefaultVirtualGroupProvider.java | 20 +- .../provider/DefaultVirtualMeterProvider.java | 18 +- .../DefaultVirtualNetworkProvider.java | 18 +- .../DefaultVirtualPacketProvider.java | 22 +- .../impl/provider/VirtualProviderManager.java | 9 +- .../registry/GrpcServiceRegistryImpl.java | 14 +- .../services/nb/GrpcNbApplicationService.java | 14 +- .../nb/GrpcNbComponentConfigService.java | 14 +- .../services/nb/GrpcNbDeviceService.java | 14 +- .../services/nb/GrpcNbHostService.java | 14 +- .../services/nb/GrpcNbLinkService.java | 14 +- .../services/nb/GrpcNbMastershipService.java | 14 +- .../services/nb/GrpcNbMeterService.java | 14 +- .../services/nb/GrpcNbRegionService.java | 14 +- .../rpc/grpc/GrpcRemoteServiceProvider.java | 12 +- .../rpc/grpc/GrpcRemoteServiceServer.java | 18 +- .../incubator/rpc/nb/impl/GrpcServer.java | 12 +- .../rpc/impl/LocalRemoteServiceProvider.java | 12 +- .../rpc/impl/RemoteServiceManager.java | 17 +- .../meter/impl/DistributedMeterStore.java | 24 +- .../impl/DistributedLabelResourceStore.java | 59 ++--- .../tunnel/impl/DistributedTunnelStore.java | 46 ++-- ...onsistentVirtualDeviceMastershipStore.java | 29 +-- .../DistributedVirtualFlowObjectiveStore.java | 6 +- .../impl/DistributedVirtualFlowRuleStore.java | 49 ++-- .../impl/DistributedVirtualNetworkStore.java | 18 +- .../impl/DistributedVirtualPacketStore.java | 31 +-- .../impl/SimpleVirtualFlowObjectiveStore.java | 14 +- .../impl/SimpleVirtualFlowRuleStore.java | 31 +-- .../virtual/impl/SimpleVirtualGroupStore.java | 10 +- .../impl/SimpleVirtualIntentStore.java | 10 +- .../impl/SimpleVirtualMastershipStore.java | 18 +- .../virtual/impl/SimpleVirtualMeterStore.java | 16 +- .../impl/SimpleVirtualPacketStore.java | 10 +- lib/BUCK | 179 +++++++------ lib/deps.json | 57 ++-- .../CienaWaveserverAiModelRegistrator.java | 2 +- .../models/common/YangModelRegistrator.java | 2 +- .../onosproject/HuaweiModelRegistrator.java | 2 +- .../models/l3vpn/L3VpnModelRegistrator.java | 2 +- .../microsemi/MicrosemiModelRegistrator.java | 2 +- .../OpenConfigModelRegistrator.java | 2 +- .../models/tapi/TapiModelRegistrator.java | 2 +- modules.bzl | 27 +- .../pipelines/basic/IntProgrammableImpl.java | 12 +- .../pipelines/basic/PipeconfLoader.java | 14 +- .../pipelines/fabric/IntProgrammableImpl.java | 12 +- .../pipelines/fabric/PipeconfLoader.java | 14 +- .../controller/impl/BgpControllerImpl.java | 14 +- .../grpc/ctl/GrpcControllerImpl.java | 23 +- .../impl/DefaultIsisController.java | 16 +- .../lisp/ctl/impl/LispControllerImpl.java | 43 ++- .../netconf/cli/impl/NetconfGetCommand.java | 2 +- .../cli/impl/NetconfGetConfigCommand.java | 2 +- .../cli/impl/NetconfRpcTestCommand.java | 2 +- .../impl/NetconfSubscriptionTestCommand.java | 2 +- .../ctl/impl/NetconfControllerImpl.java | 41 ++- .../impl/OpenFlowControllerImpl.java | 53 ++-- .../controller/impl/OspfControllerImpl.java | 16 +- .../controller/impl/OvsdbControllerImpl.java | 47 ++-- .../ctl/P4RuntimeControllerImpl.java | 18 +- .../server/PcepClientControllerAdapter.java | 4 +- .../DistributedPceLabelStore.java | 36 ++- .../server/impl/PcepClientControllerImpl.java | 83 +++--- .../pcep/server/impl/PcepControllerImpl.java | 11 +- .../rest/ctl/RestSBControllerImpl.java | 16 +- .../ctl/RestConfSBControllerImpl.java | 10 +- .../snmp/ctl/DefaultSnmpController.java | 8 +- .../tl1/impl/DefaultTl1Controller.java | 16 +- .../xmpp/core/ctl/XmppControllerImpl.java | 27 +- .../pubsub/ctl/XmppPubSubControllerImpl.java | 16 +- .../provider/bgp/cfg/impl/BgpAppConfig.java | 6 +- .../provider/bgp/cfg/impl/BgpCfgProvider.java | 18 +- .../bgp/route/impl/BgpRouteProvider.java | 14 +- .../topology/impl/BgpTopologyProvider.java | 26 +- .../flow/impl/BgpcepFlowRuleProvider.java | 12 +- .../device/impl/GeneralDeviceProvider.java | 51 ++-- .../host/impl/HostLocationProvider.java | 85 +++--- .../impl/DefaultHostProbingProvider.java | 22 +- .../topology/TeTopologyRestconfProvider.java | 24 +- .../te/tunnel/TeTunnelRestconfProvider.java | 22 +- .../provider/isis/cfg/impl/IsisAppConfig.java | 6 +- .../isis/cfg/impl/IsisCfgProvider.java | 22 +- .../isis/cli/ApplicationIsisCommand.java | 4 +- .../topology/impl/IsisTopologyProvider.java | 20 +- .../impl/LinkDiscoveryProvider.java | 33 ++- .../lisp/device/impl/LispDeviceProvider.java | 18 +- .../mapping/impl/LispMappingProvider.java | 16 +- .../message/impl/LispMessageProvider.java | 14 +- .../provider/lldp/impl/LldpLinkProvider.java | 78 +++--- .../netcfghost/NetworkConfigHostProvider.java | 16 +- .../NetworkConfigLinksProvider.java | 45 ++-- .../netconf/alarm/NetconfAlarmProvider.java | 14 +- .../device/impl/NetconfDeviceProvider.java | 41 ++- .../provider/nil/NullProviders.java | 69 +++-- .../device/impl/OpenFlowDeviceProvider.java | 31 ++- .../of/flow/impl/OpenFlowRuleProvider.java | 29 +-- .../of/group/impl/OpenFlowGroupProvider.java | 56 ++-- .../impl/OpenFlowControlMessageProvider.java | 16 +- .../of/meter/impl/OpenFlowMeterProvider.java | 18 +- .../packet/impl/OpenFlowPacketProvider.java | 14 +- .../provider/ospf/cfg/impl/OspfAppConfig.java | 6 +- .../ospf/cfg/impl/OspfCfgProvider.java | 24 +- .../ospf/cli/ApplicationOspfCommand.java | 12 +- .../topology/impl/OspfTopologyProvider.java | 18 +- .../providers/device/OvsdbDeviceProvider.java | 40 ++- .../provider/host/OvsdbHostProvider.java | 34 ++- .../provider/tunnel/OvsdbTunnelProvider.java | 20 +- .../packet/impl/P4RuntimePacketProvider.java | 18 +- .../topology/impl/PcepTopologyProvider.java | 24 +- .../pcep/tunnel/impl/PcepTunnelProvider.java | 56 ++-- .../tunnel/impl/TunnelStatsCollector.java | 6 +- .../rest/device/impl/RestDeviceProvider.java | 35 ++- .../snmp/alarm/impl/SnmpAlarmProvider.java | 26 +- .../snmp/device/impl/SnmpDeviceProvider.java | 24 +- .../tl1/device/impl/Tl1DeviceProvider.java | 22 +- .../xmpp/device/impl/XmppDeviceProvider.java | 18 +- tools/build/bazel/generate_workspace.bzl | 178 ++++++++----- tools/build/bazel/osgi_features.bzl | 2 +- tools/build/bazel/osgi_java_library.bzl | 18 +- tools/build/onos-lib-gen | 3 +- tools/build/publish-target-list | 2 + .../src/main/java/AppComponent.java | 8 +- .../src/main/java/AppUiComponent.java | 12 +- .../src/main/java/AppUiTableComponent.java | 12 +- .../src/main/java/AppUiTopovComponent.java | 12 +- tools/package/bin/onos-service | 4 +- .../apache/karaf/branding/branding.properties | 3 +- tools/package/etc/keys.properties | 35 +++ .../package/etc/org.apache.karaf.features.cfg | 107 ++++++++ tools/package/etc/shell.init.script | 65 +++++ tools/package/etc/users.properties | 5 +- tools/package/features/BUILD | 13 +- tools/package/onos-prep-karaf | 26 +- tools/package/onos-run-karaf | 18 +- tools/package/onos_stage.py | 8 +- tools/test/bin/onos-secure-ssh | 3 +- .../java/org/onlab/osgiwrap/OSGiWrapper.java | 27 +- .../onosproject/rest/impl/ApiDocManager.java | 10 +- web/gui/BUILD | 3 +- .../ui/impl/UiExtensionManager.java | 25 +- .../org/onosproject/ui/impl/UiWebSocket.java | 60 ++--- .../ui/impl/UiWebSocketServlet.java | 18 +- .../ui/impl/cli/UiPreferencesListCommand.java | 4 +- .../ui/impl/cli/UiViewListCommand.java | 4 +- .../ui/impl/topo/UiTopoLayoutManager.java | 16 +- .../impl/topo/cli/UiCacheDevicesCommand.java | 4 +- .../ui/impl/topo/cli/UiCacheHostsCommand.java | 4 +- .../ui/impl/topo/cli/UiCacheLinksCommand.java | 4 +- .../impl/topo/cli/UiCacheMembersCommand.java | 4 +- .../impl/topo/cli/UiCacheRegionsCommand.java | 4 +- .../ui/impl/topo/cli/UiClearMetaCommand.java | 4 +- .../ui/impl/topo/cli/UiGeoMapListCommand.java | 4 +- .../topo/model/UiSharedTopologyModel.java | 40 ++- 837 files changed, 9482 insertions(+), 8743 deletions(-) create mode 100644 cli2/BUCK create mode 100644 cli2/BUILD create mode 100644 cli2/src/main/java/org/onosproject/cli2/AbstractChoicesCompleter.java create mode 100644 cli2/src/main/java/org/onosproject/cli2/AbstractCompleter.java create mode 100644 cli2/src/main/java/org/onosproject/cli2/AbstractShellCommand.java create mode 100644 cli2/src/main/java/org/onosproject/cli2/CliComponent.java create mode 100644 cli2/src/main/java/org/onosproject/cli2/MastersListCommand.java create mode 100644 cli2/src/main/java/org/onosproject/cli2/NodeAddCommand.java create mode 100644 cli2/src/main/java/org/onosproject/cli2/NodeIdCompleter.java create mode 100644 cli2/src/main/java/org/onosproject/cli2/NodeRemoveCommand.java create mode 100644 cli2/src/main/java/org/onosproject/cli2/NodesListCommand.java create mode 100644 cli2/src/main/java/org/onosproject/cli2/SummaryCommand.java create mode 100644 cli2/src/main/java/org/onosproject/cli2/app/ApplicationCommand.java create mode 100644 cli2/src/main/java/org/onosproject/cli2/app/ApplicationCommandCompleter.java create mode 100644 cli2/src/main/java/org/onosproject/cli2/app/ApplicationNameCompleter.java create mode 100644 cli2/src/main/java/org/onosproject/cli2/package-info.java delete mode 100644 core/security/BUILD create mode 100644 tools/package/etc/keys.properties create mode 100644 tools/package/etc/org.apache.karaf.features.cfg create mode 100644 tools/package/etc/shell.init.script diff --git a/.bazelrc b/.bazelrc index 3a1c95be58..46f9c7c7b7 100644 --- a/.bazelrc +++ b/.bazelrc @@ -8,5 +8,7 @@ build --javabase=@local_jdk//:jdk build --java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8 build --host_javabase=@local_jdk//:jdk build --distinct_host_configuration=false +#FIXME - this is temporary while porting to karaf 4.2.1 +build --action_env=HOME #build --disk_cache=~/bazel-cache #build --remote_http_cache=http://10.1.10.224:80/cache diff --git a/apps/acl/src/main/java/org/onosproject/acl/impl/AclManager.java b/apps/acl/src/main/java/org/onosproject/acl/impl/AclManager.java index d7e77485f8..8b396618c7 100644 --- a/apps/acl/src/main/java/org/onosproject/acl/impl/AclManager.java +++ b/apps/acl/src/main/java/org/onosproject/acl/impl/AclManager.java @@ -29,12 +29,6 @@ import org.onlab.packet.TpPort; import org.onosproject.acl.AclRule; import org.onosproject.acl.AclService; import org.onosproject.acl.AclStore; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.acl.RuleId; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -56,6 +50,11 @@ import org.onosproject.net.flow.instructions.Instructions; import org.onosproject.net.host.HostEvent; import org.onosproject.net.host.HostListener; import org.onosproject.net.host.HostService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.HashSet; @@ -67,20 +66,19 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of the ACL service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = AclService.class) public class AclManager implements AclService { - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected AclStore aclStore; private final Logger log = getLogger(getClass()); diff --git a/apps/acl/src/main/java/org/onosproject/acl/impl/DistributedAclStore.java b/apps/acl/src/main/java/org/onosproject/acl/impl/DistributedAclStore.java index e37d30c7a3..0dbb7185ca 100644 --- a/apps/acl/src/main/java/org/onosproject/acl/impl/DistributedAclStore.java +++ b/apps/acl/src/main/java/org/onosproject/acl/impl/DistributedAclStore.java @@ -21,15 +21,9 @@ package org.onosproject.acl.impl; import com.google.common.collect.Collections2; +import org.onlab.util.KryoNamespace; import org.onosproject.acl.AclRule; import org.onosproject.acl.AclStore; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onlab.util.KryoNamespace; import org.onosproject.acl.RuleId; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -41,6 +35,11 @@ import org.onosproject.store.service.ConsistentMap; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.Versioned; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.ArrayList; @@ -53,8 +52,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of the ACL store service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = AclStore.class) public class DistributedAclStore extends AbstractStore implements AclStore { private final Logger log = getLogger(getClass()); @@ -66,9 +64,9 @@ public class DistributedAclStore extends AbstractStore implements AclStore { private ConsistentMap> ruleToFlow; private ConsistentMap> denyRuleToAllowRule; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; @Activate diff --git a/apps/actn-mdsc/tetunnel-ctl/src/main/java/org/onosproject/actn/mdsc/tetunnelctl/TeTunnelCtl.java b/apps/actn-mdsc/tetunnel-ctl/src/main/java/org/onosproject/actn/mdsc/tetunnelctl/TeTunnelCtl.java index 77961ed7e6..c725a015fc 100644 --- a/apps/actn-mdsc/tetunnel-ctl/src/main/java/org/onosproject/actn/mdsc/tetunnelctl/TeTunnelCtl.java +++ b/apps/actn-mdsc/tetunnel-ctl/src/main/java/org/onosproject/actn/mdsc/tetunnelctl/TeTunnelCtl.java @@ -16,11 +16,11 @@ package org.onosproject.actn.mdsc.tetunnelctl; import com.google.common.collect.Lists; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.actn.mdsc.pce.TeTunnelPceService; import org.onosproject.incubator.net.tunnel.Tunnel; import org.onosproject.incubator.net.tunnel.TunnelAdminService; @@ -63,22 +63,22 @@ public class TeTunnelCtl { private final TunnelListener tunnelListener = new InternalTunnelListener(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TunnelService tunnelService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TunnelAdminService tunnelAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TeTunnelService teTunnelService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TeTunnelAdminService teTunnelAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TeTopologyService teTopologyService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TeTunnelPceService teTunnelPceService; @Activate diff --git a/apps/actn-mdsc/tetunnel-pce/src/main/java/org/onosproject/actn/mdsc/pce/impl/TeTunnelPceManager.java b/apps/actn-mdsc/tetunnel-pce/src/main/java/org/onosproject/actn/mdsc/pce/impl/TeTunnelPceManager.java index b0efe8049b..a87aaa994e 100644 --- a/apps/actn-mdsc/tetunnel-pce/src/main/java/org/onosproject/actn/mdsc/pce/impl/TeTunnelPceManager.java +++ b/apps/actn-mdsc/tetunnel-pce/src/main/java/org/onosproject/actn/mdsc/pce/impl/TeTunnelPceManager.java @@ -18,10 +18,9 @@ package org.onosproject.actn.mdsc.pce.impl; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.onosproject.actn.mdsc.pce.TeTunnelPce; import org.onosproject.actn.mdsc.pce.TeTunnelPceService; import org.onosproject.tetunnel.api.tunnel.TeTunnel; @@ -35,8 +34,7 @@ import java.util.List; /** * Implementation of Te Tunnel PCE service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = TeTunnelPceService.class) public class TeTunnelPceManager implements TeTunnelPceService { private static final Logger log = getLogger(TeTunnelPceManager.class); diff --git a/apps/artemis/src/main/java/org/onosproject/artemis/impl/ArtemisDeaggregatorImpl.java b/apps/artemis/src/main/java/org/onosproject/artemis/impl/ArtemisDeaggregatorImpl.java index d9141f4373..a26ae309c8 100644 --- a/apps/artemis/src/main/java/org/onosproject/artemis/impl/ArtemisDeaggregatorImpl.java +++ b/apps/artemis/src/main/java/org/onosproject/artemis/impl/ArtemisDeaggregatorImpl.java @@ -23,12 +23,6 @@ import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.channel.ChannelHandlerContext; import io.netty.util.CharsetUtil; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.json.JSONObject; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; @@ -65,6 +59,11 @@ import org.onosproject.ovsdb.controller.OvsdbClientService; import org.onosproject.ovsdb.controller.OvsdbController; import org.onosproject.ovsdb.controller.OvsdbInterface; import org.onosproject.routing.bgp.BgpInfoService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -74,36 +73,35 @@ import java.util.Set; import static org.onlab.packet.Ethernet.TYPE_IPV4; -@Component(immediate = true) -@Service +@Component(immediate = true, service = ArtemisDeaggregator.class) public class ArtemisDeaggregatorImpl implements ArtemisDeaggregator { private final Logger log = LoggerFactory.getLogger(getClass()); private static final int PRIORITY = 1000; /* Services */ - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private BgpInfoService bgpInfoService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private ArtemisService artemisService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private OvsdbController ovsdbController; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private InterfaceService interfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private FlowObjectiveService flowObjectiveService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private CoreService coreService; /* Variables */ diff --git a/apps/artemis/src/main/java/org/onosproject/artemis/impl/ArtemisDetectorImpl.java b/apps/artemis/src/main/java/org/onosproject/artemis/impl/ArtemisDetectorImpl.java index 09a8d2c102..02f9cd291a 100644 --- a/apps/artemis/src/main/java/org/onosproject/artemis/impl/ArtemisDetectorImpl.java +++ b/apps/artemis/src/main/java/org/onosproject/artemis/impl/ArtemisDetectorImpl.java @@ -17,12 +17,6 @@ package org.onosproject.artemis.impl; import org.apache.commons.lang.exception.ExceptionUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; @@ -32,22 +26,26 @@ import org.onosproject.artemis.ArtemisEventListener; import org.onosproject.artemis.ArtemisService; import org.onosproject.core.CoreService; import org.onosproject.event.EventDeliveryService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Component(immediate = true) -@Service +@Component(immediate = true, service = ArtemisDetector.class) public class ArtemisDetectorImpl implements ArtemisDetector { private final Logger log = LoggerFactory.getLogger(getClass()); /* Services */ - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private ArtemisService artemisService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected EventDeliveryService eventDispatcher; private final ArtemisEventListener artemisEventListener = this::handleArtemisEvent; diff --git a/apps/artemis/src/main/java/org/onosproject/artemis/impl/ArtemisManager.java b/apps/artemis/src/main/java/org/onosproject/artemis/impl/ArtemisManager.java index c714b05a23..a0872e5a8d 100644 --- a/apps/artemis/src/main/java/org/onosproject/artemis/impl/ArtemisManager.java +++ b/apps/artemis/src/main/java/org/onosproject/artemis/impl/ArtemisManager.java @@ -16,12 +16,6 @@ package org.onosproject.artemis.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.artemis.ArtemisEventListener; import org.onosproject.artemis.ArtemisService; import org.onosproject.core.ApplicationId; @@ -33,13 +27,17 @@ import org.onosproject.net.config.NetworkConfigListener; import org.onosproject.net.config.NetworkConfigRegistry; import org.onosproject.net.config.NetworkConfigService; import org.onosproject.net.config.basics.SubjectFactories; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Optional; -@Component(immediate = true) -@Service +@Component(immediate = true, service = ArtemisService.class) public class ArtemisManager extends AbstractListenerManager implements ArtemisService { @@ -51,13 +49,13 @@ public class ArtemisManager private final InternalNetworkConfigListener configListener = new InternalNetworkConfigListener(); /* Services */ - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private NetworkConfigRegistry registry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private NetworkConfigService configService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private CoreService coreService; /* Variables */ diff --git a/apps/artemis/src/main/java/org/onosproject/artemis/impl/ArtemisMonitorImpl.java b/apps/artemis/src/main/java/org/onosproject/artemis/impl/ArtemisMonitorImpl.java index 1f4d757ef6..b05044839a 100755 --- a/apps/artemis/src/main/java/org/onosproject/artemis/impl/ArtemisMonitorImpl.java +++ b/apps/artemis/src/main/java/org/onosproject/artemis/impl/ArtemisMonitorImpl.java @@ -17,12 +17,6 @@ package org.onosproject.artemis.impl; import com.google.common.collect.Sets; import io.netty.channel.ChannelHandlerContext; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.json.JSONObject; import org.onlab.packet.IpPrefix; import org.onosproject.artemis.ArtemisMonitor; @@ -32,6 +26,11 @@ import org.onosproject.event.EventDeliveryService; import org.onosproject.net.config.NetworkConfigEvent; import org.onosproject.net.config.NetworkConfigListener; import org.onosproject.net.config.NetworkConfigService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -39,16 +38,15 @@ import java.util.Map; import java.util.Set; import java.util.stream.Collectors; -@Component(immediate = true) -@Service +@Component(immediate = true, service = ArtemisMonitor.class) public class ArtemisMonitorImpl implements ArtemisMonitor { private final Logger log = LoggerFactory.getLogger(getClass()); private static final Class CONFIG_CLASS = ArtemisConfig.class; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected EventDeliveryService eventDispatcher; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private NetworkConfigService configService; /* Variables */ diff --git a/apps/bgprouter/src/main/java/org/onosproject/bgprouter/BgpRouter.java b/apps/bgprouter/src/main/java/org/onosproject/bgprouter/BgpRouter.java index 43416455ce..6ee27a313e 100644 --- a/apps/bgprouter/src/main/java/org/onosproject/bgprouter/BgpRouter.java +++ b/apps/bgprouter/src/main/java/org/onosproject/bgprouter/BgpRouter.java @@ -15,11 +15,11 @@ */ package org.onosproject.bgprouter; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; import org.onosproject.component.ComponentService; @@ -51,25 +51,25 @@ public class BgpRouter { public static final String BGP_ROUTER_APP = "org.onosproject.bgprouter"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InterfaceService interfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry networkConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowObjectiveService flowObjectiveService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentService componentService; private ApplicationId appId; diff --git a/apps/castor/src/main/java/org/onosproject/castor/Castor.java b/apps/castor/src/main/java/org/onosproject/castor/Castor.java index 7b32f2a68e..d190d2ad8b 100644 --- a/apps/castor/src/main/java/org/onosproject/castor/Castor.java +++ b/apps/castor/src/main/java/org/onosproject/castor/Castor.java @@ -15,11 +15,11 @@ */ package org.onosproject.castor; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.app.ApplicationService; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -38,13 +38,13 @@ public class Castor { public static final String CASTOR_APP = "org.onosproject.castor"; private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ApplicationService applicationService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentSynchronizationService intentSynchronizer; private ApplicationId appId; diff --git a/apps/castor/src/main/java/org/onosproject/castor/CastorArpManager.java b/apps/castor/src/main/java/org/onosproject/castor/CastorArpManager.java index f1d336fabc..3d6e7d0cbf 100644 --- a/apps/castor/src/main/java/org/onosproject/castor/CastorArpManager.java +++ b/apps/castor/src/main/java/org/onosproject/castor/CastorArpManager.java @@ -15,12 +15,6 @@ */ package org.onosproject.castor; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.ARP; import org.onlab.packet.Ethernet; import org.onlab.packet.Ip4Address; @@ -40,6 +34,11 @@ import org.onosproject.net.packet.InboundPacket; import org.onosproject.net.packet.PacketContext; import org.onosproject.net.packet.PacketProcessor; import org.onosproject.net.packet.PacketService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.nio.ByteBuffer; @@ -54,20 +53,19 @@ import static org.slf4j.LoggerFactory.getLogger; * Component for managing the ARPs. */ -@Component(immediate = true, enabled = true) -@Service +@Component(immediate = true, service = ArpService.class) public class CastorArpManager implements ArpService { - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ConnectivityManagerService connectivityManager; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CastorStore castorStore; private ProxyArpProcessor processor = new ProxyArpProcessor(); diff --git a/apps/castor/src/main/java/org/onosproject/castor/ConnectivityManager.java b/apps/castor/src/main/java/org/onosproject/castor/ConnectivityManager.java index a9a986ee6a..5125ce36a6 100644 --- a/apps/castor/src/main/java/org/onosproject/castor/ConnectivityManager.java +++ b/apps/castor/src/main/java/org/onosproject/castor/ConnectivityManager.java @@ -14,12 +14,7 @@ * limitations under the License. */ package org.onosproject.castor; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; + import org.onlab.packet.Ethernet; import org.onlab.packet.IPv4; import org.onlab.packet.IPv6; @@ -29,6 +24,7 @@ import org.onlab.packet.MacAddress; import org.onlab.packet.TpPort; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; +import org.onosproject.intentsync.IntentSynchronizationService; import org.onosproject.net.ConnectPoint; import org.onosproject.net.FilteredConnectPoint; import org.onosproject.net.flow.DefaultTrafficSelector; @@ -38,7 +34,11 @@ import org.onosproject.net.flow.TrafficTreatment; import org.onosproject.net.intent.Key; import org.onosproject.net.intent.MultiPointToSinglePointIntent; import org.onosproject.net.intent.PointToPointIntent; -import org.onosproject.intentsync.IntentSynchronizationService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -56,17 +56,16 @@ import static com.google.common.base.Preconditions.checkNotNull; /** * Manages the connectivity requirements between peers. */ -@Component(immediate = true, enabled = true) -@Service +@Component(immediate = true, service = ConnectivityManagerService.class) public class ConnectivityManager implements ConnectivityManagerService { - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentSynchronizationService intentSynchronizer; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CastorStore castorStore; private static final int PRIORITY_OFFSET = 1000; diff --git a/apps/castor/src/main/java/org/onosproject/castor/DistributedCastorStore.java b/apps/castor/src/main/java/org/onosproject/castor/DistributedCastorStore.java index 681756e8e2..3a1a98cb4e 100644 --- a/apps/castor/src/main/java/org/onosproject/castor/DistributedCastorStore.java +++ b/apps/castor/src/main/java/org/onosproject/castor/DistributedCastorStore.java @@ -16,24 +16,23 @@ package org.onosproject.castor; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onlab.packet.MacAddress; import org.onlab.util.KryoNamespace; import org.onosproject.net.intent.Key; import org.onosproject.net.intent.MultiPointToSinglePointIntent; import org.onosproject.net.intent.PointToPointIntent; +import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.ConsistentMap; import org.onosproject.store.service.DistributedSet; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.Versioned; -import org.onosproject.store.serializers.KryoNamespaces; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -45,13 +44,12 @@ import java.util.Set; * Distributed Store for Castor. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = CastorStore.class) public class DistributedCastorStore implements CastorStore { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private ConsistentMap addressMap; diff --git a/apps/cfm/app/src/main/java/org/onosproject/incubator/net/l2monitoring/cfm/impl/CfmMdManager.java b/apps/cfm/app/src/main/java/org/onosproject/incubator/net/l2monitoring/cfm/impl/CfmMdManager.java index b18d2f6764..5c5a12c5c5 100644 --- a/apps/cfm/app/src/main/java/org/onosproject/incubator/net/l2monitoring/cfm/impl/CfmMdManager.java +++ b/apps/cfm/app/src/main/java/org/onosproject/incubator/net/l2monitoring/cfm/impl/CfmMdManager.java @@ -15,15 +15,6 @@ */ package org.onosproject.incubator.net.l2monitoring.cfm.impl; -import java.util.Collection; -import java.util.Optional; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; import org.onosproject.event.AbstractListenerManager; @@ -38,14 +29,21 @@ import org.onosproject.incubator.net.l2monitoring.cfm.service.MdEvent; import org.onosproject.incubator.net.l2monitoring.cfm.service.MdListener; import org.onosproject.incubator.net.l2monitoring.cfm.service.MdStore; import org.onosproject.incubator.net.l2monitoring.cfm.service.MdStoreDelegate; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Collection; +import java.util.Optional; + /** * Manager of Cfm Md Service - persists Maintenance Domain in distributed store. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = CfmMdService.class) public class CfmMdManager extends AbstractListenerManager implements CfmMdService { @@ -54,10 +52,10 @@ public class CfmMdManager extends AbstractListenerManager protected ApplicationId appId; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MdStore store; protected final MdStoreDelegate delegate = new InternalStoreDelegate(); diff --git a/apps/cfm/app/src/main/java/org/onosproject/incubator/net/l2monitoring/cfm/impl/CfmMepManager.java b/apps/cfm/app/src/main/java/org/onosproject/incubator/net/l2monitoring/cfm/impl/CfmMepManager.java index e58a57091d..e641f3c8ca 100644 --- a/apps/cfm/app/src/main/java/org/onosproject/incubator/net/l2monitoring/cfm/impl/CfmMepManager.java +++ b/apps/cfm/app/src/main/java/org/onosproject/incubator/net/l2monitoring/cfm/impl/CfmMepManager.java @@ -15,28 +15,6 @@ */ package org.onosproject.incubator.net.l2monitoring.cfm.impl; -import static org.onlab.util.Tools.groupedThreads; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Optional; -import java.util.Set; -import java.util.concurrent.ConcurrentLinkedQueue; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.ScheduledFuture; -import java.util.concurrent.TimeUnit; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.core.CoreService; import org.onosproject.core.IdGenerator; import org.onosproject.event.AbstractListenerManager; @@ -66,13 +44,33 @@ import org.onosproject.net.DeviceId; import org.onosproject.net.device.DeviceEvent; import org.onosproject.net.device.DeviceListener; import org.onosproject.net.device.DeviceService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Optional; +import java.util.Set; +import java.util.concurrent.ConcurrentLinkedQueue; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.TimeUnit; + +import static org.onlab.util.Tools.groupedThreads; +import static org.slf4j.LoggerFactory.getLogger; + /** * Provides implementation of the CFM North and South Bound Interfaces. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = CfmMepService.class) public class CfmMepManager extends AbstractListenerManager implements CfmMepService { @@ -82,16 +80,16 @@ public class CfmMepManager private InternalDeviceListener deviceListener = null; private InternalMdListener mdListener = null; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CfmMdService cfmMdService; private static final int DEFAULT_POLL_FREQUENCY = 30; @@ -116,7 +114,7 @@ public class CfmMepManager private IdGenerator idGenerator; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MepStore mepStore; protected final MepStoreDelegate delegate = new InternalStoreDelegate(); diff --git a/apps/cfm/app/src/main/java/org/onosproject/incubator/net/l2monitoring/cfm/impl/DistributedMdStore.java b/apps/cfm/app/src/main/java/org/onosproject/incubator/net/l2monitoring/cfm/impl/DistributedMdStore.java index 81813f82ca..f12be558ed 100644 --- a/apps/cfm/app/src/main/java/org/onosproject/incubator/net/l2monitoring/cfm/impl/DistributedMdStore.java +++ b/apps/cfm/app/src/main/java/org/onosproject/incubator/net/l2monitoring/cfm/impl/DistributedMdStore.java @@ -17,12 +17,6 @@ package org.onosproject.incubator.net.l2monitoring.cfm.impl; import com.google.common.net.InternetDomainName; import org.apache.commons.lang3.tuple.ImmutablePair; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.MacAddress; import org.onlab.util.Identifier; import org.onlab.util.KryoNamespace; @@ -47,13 +41,18 @@ import org.onosproject.incubator.net.l2monitoring.cfm.service.CfmConfigException import org.onosproject.incubator.net.l2monitoring.cfm.service.MdEvent; import org.onosproject.incubator.net.l2monitoring.cfm.service.MdStore; import org.onosproject.incubator.net.l2monitoring.cfm.service.MdStoreDelegate; -import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.AbstractStore; +import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.ConsistentMap; import org.onosproject.store.service.MapEvent; import org.onosproject.store.service.MapEventListener; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -66,14 +65,13 @@ import java.util.stream.Collectors; /** * Maintenance Domain Store implementation backed by consistent map. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = MdStore.class) public class DistributedMdStore extends AbstractStore implements MdStore { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private ConsistentMap maintenanceDomainConsistentMap; diff --git a/apps/cfm/app/src/main/java/org/onosproject/incubator/net/l2monitoring/cfm/impl/DistributedMepStore.java b/apps/cfm/app/src/main/java/org/onosproject/incubator/net/l2monitoring/cfm/impl/DistributedMepStore.java index c21166aee1..444ca9cb78 100644 --- a/apps/cfm/app/src/main/java/org/onosproject/incubator/net/l2monitoring/cfm/impl/DistributedMepStore.java +++ b/apps/cfm/app/src/main/java/org/onosproject/incubator/net/l2monitoring/cfm/impl/DistributedMepStore.java @@ -15,12 +15,6 @@ */ package org.onosproject.incubator.net.l2monitoring.cfm.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onlab.packet.VlanId; import org.onlab.util.KryoNamespace; @@ -52,6 +46,11 @@ import org.onosproject.store.service.MapEvent; import org.onosproject.store.service.MapEventListener; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -64,14 +63,13 @@ import java.util.stream.Collectors; /** * MEP Store implementation backed by consistent map. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = MepStore.class) public class DistributedMepStore extends AbstractStore implements MepStore { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private ConsistentMap mepConsistentMap; diff --git a/apps/cfm/app/src/main/java/org/onosproject/incubator/net/l2monitoring/soam/impl/SoamManager.java b/apps/cfm/app/src/main/java/org/onosproject/incubator/net/l2monitoring/soam/impl/SoamManager.java index 79a648031a..8738041577 100644 --- a/apps/cfm/app/src/main/java/org/onosproject/incubator/net/l2monitoring/soam/impl/SoamManager.java +++ b/apps/cfm/app/src/main/java/org/onosproject/incubator/net/l2monitoring/soam/impl/SoamManager.java @@ -15,15 +15,6 @@ */ package org.onosproject.incubator.net.l2monitoring.soam.impl; -import java.util.Collection; -import java.util.Optional; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; import org.onosproject.incubator.net.l2monitoring.cfm.MepEntry; @@ -46,14 +37,21 @@ import org.onosproject.incubator.net.l2monitoring.soam.loss.LossMeasurementEntry import org.onosproject.incubator.net.l2monitoring.soam.loss.LossMeasurementStatCurrent; import org.onosproject.net.DeviceId; import org.onosproject.net.device.DeviceService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Collection; +import java.util.Optional; + /** * ONOS application component. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = SoamService.class) public class SoamManager implements SoamService { private final Logger log = LoggerFactory.getLogger(getClass()); @@ -61,13 +59,13 @@ public class SoamManager implements SoamService { private ApplicationId appId; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CfmMepService cfmMepService; @Activate diff --git a/apps/cfm/nbi/src/main/java/org/onosproject/cfm/CfmWebComponent.java b/apps/cfm/nbi/src/main/java/org/onosproject/cfm/CfmWebComponent.java index a31a407510..0cef175fe6 100644 --- a/apps/cfm/nbi/src/main/java/org/onosproject/cfm/CfmWebComponent.java +++ b/apps/cfm/nbi/src/main/java/org/onosproject/cfm/CfmWebComponent.java @@ -15,11 +15,11 @@ */ package org.onosproject.cfm; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.VlanId; import org.onosproject.cfm.web.ComponentCodec; import org.onosproject.cfm.web.FngAddressCodec; @@ -90,7 +90,7 @@ import org.slf4j.LoggerFactory; public class CfmWebComponent { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CodecService codecService; /** diff --git a/apps/cip/src/main/java/org/onosproject/cip/ClusterIpManager.java b/apps/cip/src/main/java/org/onosproject/cip/ClusterIpManager.java index 5dff893c67..17259fd07a 100644 --- a/apps/cip/src/main/java/org/onosproject/cip/ClusterIpManager.java +++ b/apps/cip/src/main/java/org/onosproject/cip/ClusterIpManager.java @@ -16,14 +16,6 @@ package org.onosproject.cip; import com.google.common.io.ByteStreams; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.LeadershipEvent; @@ -31,6 +23,12 @@ import org.onosproject.cluster.LeadershipEventListener; import org.onosproject.cluster.LeadershipService; import org.onosproject.cluster.NodeId; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -63,13 +61,13 @@ public class ClusterIpManager { private static final String CLUSTER_IP = "cluster/ip"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; private final LeadershipEventListener listener = new InternalLeadershipListener(); @@ -78,15 +76,15 @@ public class ClusterIpManager { private boolean wasLeader = false; // By default there is no IP; this has to be configured - @Property(name = "aliasIp", value = "", label = "Alias IP address") + //@Property(name = "aliasIp", value = "", label = "Alias IP address") private String aliasIp = ""; public static final String DEFAULT_MASK = "255.255.0.0"; - @Property(name = "aliasMask", value = DEFAULT_MASK, label = "Alias IP mask") + //@Property(name = "aliasMask", value = DEFAULT_MASK, label = "Alias IP mask") private String aliasMask = DEFAULT_MASK; public static final String ETH_0 = "eth0:0"; - @Property(name = "aliasAdapter", value = ETH_0, label = "Alias IP adapter") + //@Property(name = "aliasAdapter", value = ETH_0, label = "Alias IP adapter") private String aliasAdapter = ETH_0; @Activate diff --git a/apps/config/src/main/java/org/onosproject/config/impl/DistributedDynamicConfigStore.java b/apps/config/src/main/java/org/onosproject/config/impl/DistributedDynamicConfigStore.java index f74e26c101..62cd86da25 100644 --- a/apps/config/src/main/java/org/onosproject/config/impl/DistributedDynamicConfigStore.java +++ b/apps/config/src/main/java/org/onosproject/config/impl/DistributedDynamicConfigStore.java @@ -16,12 +16,6 @@ package org.onosproject.config.impl; import com.google.common.annotations.Beta; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.config.DynamicConfigEvent; import org.onosproject.config.DynamicConfigStore; @@ -56,6 +50,11 @@ import org.onosproject.yang.model.ListKey; import org.onosproject.yang.model.NodeKey; import org.onosproject.yang.model.ResourceId; import org.onosproject.yang.model.SchemaId; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -66,6 +65,7 @@ import java.util.Map; import java.util.Optional; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; + import static org.onosproject.config.DynamicConfigEvent.Type.NODE_ADDED; import static org.onosproject.config.DynamicConfigEvent.Type.NODE_DELETED; import static org.onosproject.config.DynamicConfigEvent.Type.NODE_UPDATED; @@ -76,15 +76,14 @@ import static org.onosproject.d.config.DeviceResourceIds.DCS_NAMESPACE; * Implementation of the dynamic config store. */ @Beta -@Component(immediate = true) -@Service +@Component(immediate = true, service = DynamicConfigStore.class) public class DistributedDynamicConfigStore extends AbstractStore implements DynamicConfigStore { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; // FIXME transactionally mutate the 2 or consolidate into 1 AsyncDocTree diff --git a/apps/config/src/main/java/org/onosproject/config/impl/DynamicConfigManager.java b/apps/config/src/main/java/org/onosproject/config/impl/DynamicConfigManager.java index 944cd029f9..074f8d4239 100644 --- a/apps/config/src/main/java/org/onosproject/config/impl/DynamicConfigManager.java +++ b/apps/config/src/main/java/org/onosproject/config/impl/DynamicConfigManager.java @@ -15,17 +15,6 @@ */ package org.onosproject.config.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onosproject.config.RpcExecutor; -import org.onosproject.config.RpcMessageId; -import org.onosproject.d.config.DeviceResourceIds; -import org.onosproject.d.config.ResourceIds; -import org.onosproject.event.AbstractListenerManager; import org.onosproject.config.DynamicConfigEvent; import org.onosproject.config.DynamicConfigListener; import org.onosproject.config.DynamicConfigService; @@ -33,23 +22,33 @@ import org.onosproject.config.DynamicConfigStore; import org.onosproject.config.DynamicConfigStoreDelegate; import org.onosproject.config.FailedException; import org.onosproject.config.Filter; -import org.onosproject.yang.model.RpcInput; -import org.onosproject.yang.model.RpcOutput; +import org.onosproject.config.RpcExecutor; +import org.onosproject.config.RpcMessageId; +import org.onosproject.d.config.DeviceResourceIds; +import org.onosproject.d.config.ResourceIds; +import org.onosproject.event.AbstractListenerManager; import org.onosproject.yang.model.DataNode; import org.onosproject.yang.model.DataNode.Type; import org.onosproject.yang.model.InnerNode; import org.onosproject.yang.model.ResourceId; import org.onosproject.yang.model.RpcContext; +import org.onosproject.yang.model.RpcInput; +import org.onosproject.yang.model.RpcOutput; import org.onosproject.yang.model.RpcRegistry; import org.onosproject.yang.model.RpcService; import org.onosproject.yang.model.SchemaContextProvider; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; +import org.slf4j.Logger; import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ConcurrentHashMap; -import org.slf4j.Logger; import static com.google.common.base.Preconditions.checkNotNull; import static org.onosproject.d.config.DeviceResourceIds.DCS_NAMESPACE; @@ -59,8 +58,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Implementation of the Dynamic Config Service. * */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = { DynamicConfigService.class, RpcRegistry.class }) public class DynamicConfigManager extends AbstractListenerManager implements DynamicConfigService, RpcRegistry { @@ -68,10 +66,10 @@ public class DynamicConfigManager private final Logger log = getLogger(getClass()); private final DynamicConfigStoreDelegate storeDelegate = new InternalStoreDelegate(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DynamicConfigStore store; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected SchemaContextProvider contextProvider; // FIXME is it OK this is not using the Store? diff --git a/apps/configsync-netconf/src/main/java/org/onosproject/d/config/sync/impl/netconf/NetconfDeviceConfigSynchronizerComponent.java b/apps/configsync-netconf/src/main/java/org/onosproject/d/config/sync/impl/netconf/NetconfDeviceConfigSynchronizerComponent.java index e3ec5c7766..d107da7a02 100644 --- a/apps/configsync-netconf/src/main/java/org/onosproject/d/config/sync/impl/netconf/NetconfDeviceConfigSynchronizerComponent.java +++ b/apps/configsync-netconf/src/main/java/org/onosproject/d/config/sync/impl/netconf/NetconfDeviceConfigSynchronizerComponent.java @@ -15,11 +15,11 @@ */ package org.onosproject.d.config.sync.impl.netconf; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.d.config.sync.DeviceConfigSynchronizationProviderRegistry; import org.onosproject.d.config.sync.DeviceConfigSynchronizationProviderService; import org.onosproject.net.device.DeviceService; @@ -51,19 +51,19 @@ public class NetconfDeviceConfigSynchronizerComponent { public static final ProviderId PID = new ProviderId("netconf", "org.onosproject.d.config.sync.netconf"); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceConfigSynchronizationProviderRegistry registry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetconfController netconfController; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected YangRuntimeService yangRuntimeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected SchemaContextProvider schemaContextProvider; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; private NetconfDeviceConfigSynchronizerProvider provider; diff --git a/apps/configsync/src/main/java/org/onosproject/d/config/sync/impl/DynamicDeviceConfigSynchronizer.java b/apps/configsync/src/main/java/org/onosproject/d/config/sync/impl/DynamicDeviceConfigSynchronizer.java index c2f9a9ec0a..ab094fc767 100644 --- a/apps/configsync/src/main/java/org/onosproject/d/config/sync/impl/DynamicDeviceConfigSynchronizer.java +++ b/apps/configsync/src/main/java/org/onosproject/d/config/sync/impl/DynamicDeviceConfigSynchronizer.java @@ -15,27 +15,9 @@ */ package org.onosproject.d.config.sync.impl; -import static java.util.concurrent.CompletableFuture.completedFuture; -import static org.onosproject.d.config.DeviceResourceIds.isUnderDeviceRootNode; -import static org.onosproject.d.config.DeviceResourceIds.toDeviceId; -import static org.onosproject.d.config.DeviceResourceIds.toResourceId; -import static org.onosproject.d.config.sync.operation.SetResponse.response; -import static org.slf4j.LoggerFactory.getLogger; - -import java.time.Duration; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.CompletableFuture; -import java.util.stream.Collectors; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import com.google.common.annotations.Beta; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; import org.onlab.util.Tools; import org.onosproject.config.DynamicConfigEvent; import org.onosproject.config.DynamicConfigEvent.Type; @@ -58,11 +40,27 @@ import org.onosproject.net.provider.AbstractProviderService; import org.onosproject.store.primitives.TransactionId; import org.onosproject.yang.model.DataNode; import org.onosproject.yang.model.ResourceId; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.annotations.Beta; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; +import java.time.Duration; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.CompletableFuture; +import java.util.stream.Collectors; + +import static java.util.concurrent.CompletableFuture.completedFuture; +import static org.onosproject.d.config.DeviceResourceIds.isUnderDeviceRootNode; +import static org.onosproject.d.config.DeviceResourceIds.toDeviceId; +import static org.onosproject.d.config.DeviceResourceIds.toResourceId; +import static org.onosproject.d.config.sync.operation.SetResponse.response; +import static org.slf4j.LoggerFactory.getLogger; /** * Component to bridge Dynamic Config store and the Device configuration state. @@ -73,8 +71,7 @@ import com.google.common.collect.ImmutableMap; * */ @Beta -@Component(immediate = true) -@Service +@Component(immediate = true, service = DeviceConfigSynchronizationProviderRegistry.class) public class DynamicDeviceConfigSynchronizer extends AbstractProviderRegistry @@ -82,10 +79,10 @@ public class DynamicDeviceConfigSynchronizer private static final Logger log = getLogger(DynamicDeviceConfigSynchronizer.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DynamicConfigService dynConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService netcfgService; private DynamicConfigListener listener = new InnerDyConListener(); diff --git a/apps/cpman/app/src/main/java/org/onosproject/cpman/gui/CpmanUI.java b/apps/cpman/app/src/main/java/org/onosproject/cpman/gui/CpmanUI.java index 0d8f14006c..097c24552a 100644 --- a/apps/cpman/app/src/main/java/org/onosproject/cpman/gui/CpmanUI.java +++ b/apps/cpman/app/src/main/java/org/onosproject/cpman/gui/CpmanUI.java @@ -16,16 +16,15 @@ package org.onosproject.cpman.gui; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.ui.UiExtension; import org.onosproject.ui.UiExtensionService; import org.onosproject.ui.UiMessageHandlerFactory; import org.onosproject.ui.UiView; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -36,8 +35,7 @@ import static org.onosproject.ui.UiView.Category.NETWORK; /** * Mechanism to stream data to the GUI. */ -@Component(immediate = true, enabled = true) -@Service(value = CpmanUI.class) +@Component(immediate = true, service = CpmanUI.class) public class CpmanUI { private static final String CPMAN_ID = "cpman"; private static final String CPMAN_TEXT = "Control Plane Manager"; @@ -46,7 +44,7 @@ public class CpmanUI { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UiExtensionService uiExtensionService; // Factory for UI message handlers diff --git a/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/ControlPlaneManager.java b/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/ControlPlaneManager.java index d4139f3d99..96dde2511a 100644 --- a/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/ControlPlaneManager.java +++ b/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/ControlPlaneManager.java @@ -15,11 +15,11 @@ */ package org.onosproject.cpman.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; import org.onosproject.cpman.ControlMessage; @@ -45,13 +45,13 @@ public class ControlPlaneManager { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ControlMessageService messageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ControlPlaneMonitorService monitorService; private final ControlMessageListener messageListener = diff --git a/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/ControlPlaneMonitor.java b/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/ControlPlaneMonitor.java index dbc8082015..ea2dabcaaf 100644 --- a/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/ControlPlaneMonitor.java +++ b/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/ControlPlaneMonitor.java @@ -19,12 +19,6 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.NodeId; @@ -42,6 +36,11 @@ import org.onosproject.store.cluster.messaging.ClusterCommunicationService; import org.onosproject.store.cluster.messaging.MessageSubject; import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.Serializer; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -63,8 +62,7 @@ import static org.onosproject.cpman.ControlResource.Type; /** * Control plane monitoring service class. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = ControlPlaneMonitorService.class) public class ControlPlaneMonitor implements ControlPlaneMonitorService { private final Logger log = LoggerFactory.getLogger(getClass()); @@ -74,10 +72,10 @@ public class ControlPlaneMonitor implements ControlPlaneMonitorService { private Map diskMetricsMap; private Map networkMetricsMap; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterCommunicationService communicationService; private static final String DEFAULT_RESOURCE = "default"; diff --git a/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/message/ControlMessageManager.java b/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/message/ControlMessageManager.java index 2b491b436c..bb92c1b50d 100644 --- a/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/message/ControlMessageManager.java +++ b/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/message/ControlMessageManager.java @@ -15,12 +15,6 @@ */ package org.onosproject.cpman.impl.message; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.cpman.ControlMessage; import org.onosproject.cpman.message.ControlMessageAdminService; import org.onosproject.cpman.message.ControlMessageEvent; @@ -34,6 +28,11 @@ import org.onosproject.cpman.message.ControlMessageStoreDelegate; import org.onosproject.net.DeviceId; import org.onosproject.net.provider.AbstractListenerProviderRegistry; import org.onosproject.net.provider.AbstractProviderService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Set; @@ -44,8 +43,8 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Provides implementation of the control message SB & NB APIs. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = { ControlMessageService.class, ControlMessageAdminService.class, + ControlMessageProviderRegistry.class }) public class ControlMessageManager extends AbstractListenerProviderRegistry @@ -58,7 +57,7 @@ public class ControlMessageManager private final ControlMessageStoreDelegate delegate = new InternalStoreDelegate(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ControlMessageStore store; @Activate diff --git a/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/message/DefaultControlMessageStore.java b/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/message/DefaultControlMessageStore.java index 660d9f0a5b..eda361a2bc 100644 --- a/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/message/DefaultControlMessageStore.java +++ b/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/message/DefaultControlMessageStore.java @@ -15,10 +15,6 @@ */ package org.onosproject.cpman.impl.message; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.onosproject.cpman.ControlMessage; import org.onosproject.cpman.message.ControlMessageEvent; import org.onosproject.cpman.message.ControlMessageStore; @@ -26,6 +22,9 @@ import org.onosproject.cpman.message.ControlMessageStoreDelegate; import org.onosproject.net.DeviceId; import org.onosproject.net.provider.ProviderId; import org.onosproject.store.AbstractStore; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import java.util.Set; @@ -36,8 +35,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Manages inventory of control message using trivial in-memory structures * implementation. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = ControlMessageStore.class) public class DefaultControlMessageStore extends AbstractStore implements ControlMessageStore { diff --git a/apps/cpman/app/src/main/java/org/onosproject/cpman/rest/CPManCodecRegistrator.java b/apps/cpman/app/src/main/java/org/onosproject/cpman/rest/CPManCodecRegistrator.java index c49da9471d..961f4b1188 100644 --- a/apps/cpman/app/src/main/java/org/onosproject/cpman/rest/CPManCodecRegistrator.java +++ b/apps/cpman/app/src/main/java/org/onosproject/cpman/rest/CPManCodecRegistrator.java @@ -15,11 +15,11 @@ */ package org.onosproject.cpman.rest; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.codec.CodecService; import org.onosproject.cpman.ControlLoadSnapshot; import org.onosproject.cpman.codec.ControlLoadSnapshotCodec; @@ -35,7 +35,7 @@ public class CPManCodecRegistrator { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CodecService codecService; @Activate diff --git a/apps/dhcp/app/src/main/java/org/onosproject/dhcp/impl/DhcpManager.java b/apps/dhcp/app/src/main/java/org/onosproject/dhcp/impl/DhcpManager.java index f18b861c82..a0f954857a 100644 --- a/apps/dhcp/app/src/main/java/org/onosproject/dhcp/impl/DhcpManager.java +++ b/apps/dhcp/app/src/main/java/org/onosproject/dhcp/impl/DhcpManager.java @@ -17,15 +17,6 @@ package org.onosproject.dhcp.impl; import com.google.common.base.Strings; import com.google.common.collect.ImmutableSet; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.ARP; import org.onlab.packet.DHCP; import org.onlab.packet.Ethernet; @@ -69,6 +60,12 @@ import org.onosproject.net.packet.PacketService; import org.onosproject.net.provider.AbstractProvider; import org.onosproject.net.provider.ProviderId; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -77,7 +74,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.Dictionary; import java.util.HashSet; - import java.util.List; import java.util.Map; import java.util.Objects; @@ -97,8 +93,7 @@ import static org.onosproject.net.config.basics.SubjectFactories.APP_SUBJECT_FAC /** * Skeletal ONOS DHCP Server application. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = DhcpService.class) public class DhcpManager implements DhcpService { private static final ProviderId PID = new ProviderId("of", "org.onosproject.dhcp", true); @@ -119,28 +114,28 @@ public class DhcpManager implements DhcpService { } } ); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; private DhcpPacketProcessor processor = new DhcpPacketProcessor(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DhcpStore dhcpStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostProviderRegistry hostProviderRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService componentConfigService; - @Property(name = ALLOW_HOST_DISCOVERY, boolValue = DEFAULT_ALLOW_HOST_DISCOVERY, - label = "Allow host discovery from DHCP request") + //@Property(name = ALLOW_HOST_DISCOVERY, boolValue = DEFAULT_ALLOW_HOST_DISCOVERY, + // label = "Allow host discovery from DHCP request") private boolean allowHostDiscovery = DEFAULT_ALLOW_HOST_DISCOVERY; protected HostProviderService hostProviderService; diff --git a/apps/dhcp/app/src/main/java/org/onosproject/dhcp/impl/DhcpUi.java b/apps/dhcp/app/src/main/java/org/onosproject/dhcp/impl/DhcpUi.java index 0369dde555..908099c50c 100644 --- a/apps/dhcp/app/src/main/java/org/onosproject/dhcp/impl/DhcpUi.java +++ b/apps/dhcp/app/src/main/java/org/onosproject/dhcp/impl/DhcpUi.java @@ -16,16 +16,15 @@ package org.onosproject.dhcp.impl; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.ui.UiExtension; import org.onosproject.ui.UiExtensionService; import org.onosproject.ui.UiMessageHandlerFactory; import org.onosproject.ui.UiView; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -36,14 +35,13 @@ import static org.onosproject.ui.UiView.Category.NETWORK; /** * Mechanism to stream data to the GUI. */ -@Component(immediate = true, enabled = true) -@Service(value = DhcpUi.class) +@Component(immediate = true, service = DhcpUi.class) public class DhcpUi { private final Logger log = LoggerFactory.getLogger(getClass()); private static final ClassLoader CL = DhcpUi.class.getClassLoader(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UiExtensionService uiExtensionService; private final UiMessageHandlerFactory messageHandlerFactory = diff --git a/apps/dhcp/app/src/main/java/org/onosproject/dhcp/impl/DistributedDhcpStore.java b/apps/dhcp/app/src/main/java/org/onosproject/dhcp/impl/DistributedDhcpStore.java index 94b0ddca0d..e8ce2ccea4 100644 --- a/apps/dhcp/app/src/main/java/org/onosproject/dhcp/impl/DistributedDhcpStore.java +++ b/apps/dhcp/app/src/main/java/org/onosproject/dhcp/impl/DistributedDhcpStore.java @@ -16,12 +16,6 @@ package org.onosproject.dhcp.impl; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.Ip4Address; import org.onlab.packet.MacAddress; import org.onlab.util.KryoNamespace; @@ -34,12 +28,17 @@ import org.onosproject.store.service.DistributedSet; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.Versioned; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Date; -import java.util.Map; import java.util.HashMap; +import java.util.Map; import static org.onosproject.dhcp.IpAssignment.AssignmentStatus.Option_Assigned; import static org.onosproject.dhcp.IpAssignment.AssignmentStatus.Option_RangeNotEnforced; @@ -49,13 +48,12 @@ import static org.onosproject.dhcp.IpAssignment.AssignmentStatus.Option_RangeNot * Remembers the mapping between MAC ID and IP Addresses assigned. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = DhcpStore.class) public class DistributedDhcpStore implements DhcpStore { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private ConsistentMap allocationMap; diff --git a/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp4HandlerImpl.java b/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp4HandlerImpl.java index 886115bde1..702df7e3a3 100644 --- a/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp4HandlerImpl.java +++ b/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp4HandlerImpl.java @@ -23,14 +23,6 @@ import com.google.common.collect.Lists; import com.google.common.collect.Multimap; import com.google.common.collect.Multimaps; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.BasePacket; import org.onlab.packet.DHCP; import org.onlab.packet.Ethernet; @@ -54,44 +46,50 @@ import org.onosproject.dhcprelay.config.DhcpServerConfig; import org.onosproject.dhcprelay.config.IgnoreDhcpConfig; import org.onosproject.dhcprelay.store.DhcpRecord; import org.onosproject.dhcprelay.store.DhcpRelayStore; +import org.onosproject.net.ConnectPoint; import org.onosproject.net.Device; import org.onosproject.net.DeviceId; +import org.onosproject.net.Host; +import org.onosproject.net.HostId; +import org.onosproject.net.HostLocation; import org.onosproject.net.behaviour.Pipeliner; import org.onosproject.net.device.DeviceService; import org.onosproject.net.flow.DefaultTrafficSelector; +import org.onosproject.net.flow.DefaultTrafficTreatment; import org.onosproject.net.flow.TrafficSelector; +import org.onosproject.net.flow.TrafficTreatment; import org.onosproject.net.flowobjective.DefaultForwardingObjective; import org.onosproject.net.flowobjective.FlowObjectiveService; import org.onosproject.net.flowobjective.ForwardingObjective; import org.onosproject.net.flowobjective.Objective; import org.onosproject.net.flowobjective.ObjectiveContext; import org.onosproject.net.flowobjective.ObjectiveError; +import org.onosproject.net.host.DefaultHostDescription; +import org.onosproject.net.host.HostDescription; import org.onosproject.net.host.HostEvent; import org.onosproject.net.host.HostListener; import org.onosproject.net.host.HostProvider; import org.onosproject.net.host.HostProviderRegistry; import org.onosproject.net.host.HostProviderService; -import org.onosproject.net.intf.Interface; -import org.onosproject.net.intf.InterfaceService; -import org.onosproject.net.packet.PacketPriority; -import org.onosproject.net.provider.ProviderId; -import org.onosproject.routeservice.Route; -import org.onosproject.routeservice.RouteStore; -import org.onosproject.net.ConnectPoint; -import org.onosproject.net.Host; -import org.onosproject.net.HostId; -import org.onosproject.net.HostLocation; -import org.onosproject.net.flow.DefaultTrafficTreatment; -import org.onosproject.net.flow.TrafficTreatment; -import org.onosproject.net.host.DefaultHostDescription; -import org.onosproject.net.host.HostDescription; import org.onosproject.net.host.HostService; import org.onosproject.net.host.InterfaceIpAddress; +import org.onosproject.net.intf.Interface; +import org.onosproject.net.intf.InterfaceService; import org.onosproject.net.packet.DefaultOutboundPacket; import org.onosproject.net.packet.OutboundPacket; import org.onosproject.net.packet.PacketContext; +import org.onosproject.net.packet.PacketPriority; import org.onosproject.net.packet.PacketService; +import org.onosproject.net.provider.ProviderId; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteStore; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -121,9 +119,8 @@ import static org.onosproject.net.flowobjective.Objective.Operation.ADD; import static org.onosproject.net.flowobjective.Objective.Operation.REMOVE; -@Component -@Service -@Property(name = "version", value = "4") +@Component(service = { DhcpHandler.class, HostProvider.class }) +//@Property(name = "version", value = "4") public class Dhcp4HandlerImpl implements DhcpHandler, HostProvider { public static final String DHCP_V4_RELAY_APP = "org.onosproject.Dhcp4HandlerImpl"; public static final ProviderId PROVIDER_ID = new ProviderId("dhcp4", DHCP_V4_RELAY_APP); @@ -152,34 +149,34 @@ public class Dhcp4HandlerImpl implements DhcpHandler, HostProvider { ); private static Logger log = LoggerFactory.getLogger(Dhcp4HandlerImpl.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DhcpRelayStore dhcpRelayStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RouteStore routeStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InterfaceService interfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowObjectiveService flowObjectiveService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; protected HostProviderService providerService; @@ -190,8 +187,8 @@ public class Dhcp4HandlerImpl implements DhcpHandler, HostProvider { private List defaultServerInfoList = new CopyOnWriteArrayList<>(); private List indirectServerInfoList = new CopyOnWriteArrayList<>(); - @Property(name = Dhcp4HandlerImpl.LQ_ROUTE_PROPERTY_NAME, boolValue = false, - label = "Enable learning routing information from LQ") + //@Property(name = Dhcp4HandlerImpl.LQ_ROUTE_PROPERTY_NAME, boolValue = false, + // label = "Enable learning routing information from LQ") private Boolean learnRouteFromLeasequery = Boolean.TRUE; private Executor hostEventExecutor = newSingleThreadExecutor( diff --git a/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp6HandlerImpl.java b/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp6HandlerImpl.java index e36daf9caa..ba759a21af 100644 --- a/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp6HandlerImpl.java +++ b/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp6HandlerImpl.java @@ -22,14 +22,12 @@ import com.google.common.collect.Multimap; import com.google.common.collect.Multimaps; import com.google.common.collect.Sets; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.BasePacket; import org.onlab.packet.DHCP6; import org.onlab.packet.IPv6; @@ -126,9 +124,8 @@ import static org.onosproject.net.flowobjective.Objective.Operation.ADD; import static org.onosproject.net.flowobjective.Objective.Operation.REMOVE; import java.util.concurrent.Semaphore; -@Component -@Service -@Property(name = "version", value = "6") +@Component(service = { DhcpHandler.class, HostProvider.class }) +//@Property(name = "version", value = "6") public class Dhcp6HandlerImpl implements DhcpHandler, HostProvider { public static final String DHCP_V6_RELAY_APP = "org.onosproject.Dhcp6HandlerImpl"; public static final ProviderId PROVIDER_ID = new ProviderId("dhcp6", DHCP_V6_RELAY_APP); @@ -164,44 +161,44 @@ public class Dhcp6HandlerImpl implements DhcpHandler, HostProvider { ); private static Logger log = LoggerFactory.getLogger(Dhcp6HandlerImpl.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DhcpRelayStore dhcpRelayStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DhcpRelayCountersStore dhcpRelayCountersStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RouteStore routeStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InterfaceService interfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DhcpFpmPrefixStore dhcpFpmPrefixStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowObjectiveService flowObjectiveService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; - @Property(name = Dhcp6HandlerImpl.LQ_ROUTE_PROPERTY_NAME, boolValue = false, - label = "Enable learning routing information from LQ") + //@Property(name = Dhcp6HandlerImpl.LQ_ROUTE_PROPERTY_NAME, boolValue = false, + // label = "Enable learning routing information from LQ") private Boolean learnRouteFromLeasequery = Boolean.TRUE; protected HostProviderService providerService; diff --git a/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/DhcpRelayManager.java b/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/DhcpRelayManager.java index f2ca330c08..3bb7f4e204 100644 --- a/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/DhcpRelayManager.java +++ b/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/DhcpRelayManager.java @@ -15,37 +15,19 @@ */ package org.onosproject.dhcprelay; -import java.nio.ByteBuffer; -import java.util.Collection; -import java.util.Collections; -import java.util.Dictionary; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.stream.Collectors; -import java.util.stream.Stream; - import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; import com.google.common.collect.Streams; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.ARP; import org.onlab.packet.DHCP; import org.onlab.packet.DHCP6; -import org.onlab.packet.IPacket; -import org.onlab.packet.IPv6; import org.onlab.packet.Ethernet; +import org.onlab.packet.IPacket; import org.onlab.packet.IPv4; +import org.onlab.packet.IPv6; import org.onlab.packet.Ip4Address; -import org.onlab.packet.MacAddress; import org.onlab.packet.IpPrefix; +import org.onlab.packet.MacAddress; import org.onlab.packet.UDP; import org.onlab.packet.VlanId; import org.onlab.util.Tools; @@ -58,56 +40,68 @@ import org.onosproject.dhcprelay.api.DhcpServerInfo; import org.onosproject.dhcprelay.config.DefaultDhcpRelayConfig; import org.onosproject.dhcprelay.config.DhcpServerConfig; import org.onosproject.dhcprelay.config.EnableDhcpFpmConfig; -import org.onosproject.dhcprelay.config.IndirectDhcpRelayConfig; import org.onosproject.dhcprelay.config.IgnoreDhcpConfig; +import org.onosproject.dhcprelay.config.IndirectDhcpRelayConfig; +import org.onosproject.dhcprelay.store.DhcpFpmPrefixStore; import org.onosproject.dhcprelay.store.DhcpRecord; import org.onosproject.dhcprelay.store.DhcpRelayStore; -import org.onosproject.dhcprelay.store.DhcpFpmPrefixStore; -import org.onosproject.routing.fpm.api.FpmRecord; +import org.onosproject.net.ConnectPoint; import org.onosproject.net.Device; import org.onosproject.net.Host; -import org.onosproject.net.config.Config; -import org.onosproject.net.device.DeviceEvent; -import org.onosproject.net.device.DeviceListener; -import org.onosproject.net.device.DeviceService; -import org.onosproject.net.intf.Interface; -import org.onosproject.net.intf.InterfaceService; -import org.onosproject.net.ConnectPoint; import org.onosproject.net.HostId; +import org.onosproject.net.config.Config; import org.onosproject.net.config.ConfigFactory; import org.onosproject.net.config.NetworkConfigEvent; import org.onosproject.net.config.NetworkConfigListener; import org.onosproject.net.config.NetworkConfigRegistry; +import org.onosproject.net.device.DeviceEvent; +import org.onosproject.net.device.DeviceListener; +import org.onosproject.net.device.DeviceService; import org.onosproject.net.flow.DefaultTrafficSelector; import org.onosproject.net.flow.DefaultTrafficTreatment; import org.onosproject.net.flow.TrafficSelector; import org.onosproject.net.flow.TrafficTreatment; import org.onosproject.net.host.HostService; +import org.onosproject.net.intf.Interface; +import org.onosproject.net.intf.InterfaceService; import org.onosproject.net.packet.DefaultOutboundPacket; import org.onosproject.net.packet.OutboundPacket; import org.onosproject.net.packet.PacketContext; import org.onosproject.net.packet.PacketPriority; import org.onosproject.net.packet.PacketProcessor; import org.onosproject.net.packet.PacketService; - +import org.onosproject.routing.fpm.api.FpmRecord; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; + +import java.nio.ByteBuffer; +import java.util.Collection; +import java.util.Collections; +import java.util.Dictionary; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; +import java.util.stream.Stream; + import static org.onlab.util.Tools.groupedThreads; - - -import com.google.common.collect.ImmutableSet; - import static org.onosproject.net.config.basics.SubjectFactories.APP_SUBJECT_FACTORY; /** * DHCP Relay Agent Application Component. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = DhcpRelayService.class) public class DhcpRelayManager implements DhcpRelayService { public static final String DHCP_RELAY_APP = "org.onosproject.dhcprelay"; public static final String ROUTE_STORE_IMPL = @@ -159,51 +153,51 @@ public class DhcpRelayManager implements DhcpRelayService { ); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InterfaceService interfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DhcpRelayStore dhcpRelayStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService compCfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DhcpFpmPrefixStore dhcpFpmPrefixStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY, + @Reference(cardinality = ReferenceCardinality.MANDATORY, target = "(version=4)") protected DhcpHandler v4Handler; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY, + @Reference(cardinality = ReferenceCardinality.MANDATORY, target = "(version=6)") protected DhcpHandler v6Handler; - @Property(name = "arpEnabled", boolValue = true, - label = "Enable Address resolution protocol") + //@Property(name = "arpEnabled", boolValue = true, + // label = "Enable Address resolution protocol") protected boolean arpEnabled = true; - @Property(name = "dhcpPollInterval", intValue = 24 * 3600, - label = "dhcp relay poll interval") + //@Property(name = "dhcpPollInterval", intValue = 24 * 3600, + // label = "dhcp relay poll interval") protected int dhcpPollInterval = 24 * 3600; - @Property(name = "dhcpFpmEnabled", boolValue = false, - label = "Enable DhcpRelay Fpm") + //@Property(name = "dhcpFpmEnabled", boolValue = false, + // label = "Enable DhcpRelay Fpm") protected boolean dhcpFpmEnabled = false; private ScheduledExecutorService timerExecutor; diff --git a/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/store/DistributedDhcpRelayCountersStore.java b/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/store/DistributedDhcpRelayCountersStore.java index 4b7b26c11e..a668463bd8 100644 --- a/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/store/DistributedDhcpRelayCountersStore.java +++ b/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/store/DistributedDhcpRelayCountersStore.java @@ -15,34 +15,31 @@ */ package org.onosproject.dhcprelay.store; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; - import org.onlab.util.KryoNamespace; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; +import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.ConsistentMap; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; +import org.onosproject.store.service.Versioned; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.onosproject.store.serializers.KryoNamespaces; import java.util.HashSet; import java.util.Map; import java.util.Optional; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import org.onosproject.store.service.Versioned; import static com.google.common.base.Preconditions.checkNotNull; -@Component(immediate = true) -@Service +@Component(immediate = true, service = DhcpRelayCountersStore.class) public class DistributedDhcpRelayCountersStore implements DhcpRelayCountersStore { private static final KryoNamespace.Builder APP_KYRO = KryoNamespace.newBuilder() .register(KryoNamespaces.API) @@ -51,10 +48,10 @@ public class DistributedDhcpRelayCountersStore implements DhcpRelayCountersStore private Logger log = LoggerFactory.getLogger(getClass()); private ConsistentMap counters; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; diff --git a/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/store/DistributedDhcpRelayStore.java b/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/store/DistributedDhcpRelayStore.java index 884d9cc463..c622be27bd 100644 --- a/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/store/DistributedDhcpRelayStore.java +++ b/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/store/DistributedDhcpRelayStore.java @@ -16,12 +16,6 @@ package org.onosproject.dhcprelay.store; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.DHCP; import org.onlab.packet.DHCP6; import org.onlab.util.KryoNamespace; @@ -33,6 +27,11 @@ import org.onosproject.store.service.EventuallyConsistentMapEvent; import org.onosproject.store.service.EventuallyConsistentMapListener; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.WallClockTimestamp; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collection; @@ -44,8 +43,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Distributed DHCP relay store. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = DhcpRelayStore.class) public class DistributedDhcpRelayStore implements DhcpRelayStore { private static final KryoNamespace APP_KRYO = KryoNamespace.newBuilder() .register(KryoNamespaces.API) @@ -60,7 +58,7 @@ public class DistributedDhcpRelayStore implements DhcpRelayStore { private EventuallyConsistentMap dhcpRecords; private EventuallyConsistentMapListener listener; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; @Activate diff --git a/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/store/DistributedFpmPrefixStore.java b/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/store/DistributedFpmPrefixStore.java index bc95d0b0d3..f199671e8c 100644 --- a/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/store/DistributedFpmPrefixStore.java +++ b/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/store/DistributedFpmPrefixStore.java @@ -16,45 +16,35 @@ package org.onosproject.dhcprelay.store; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.apache.felix.scr.annotations.Property; -import org.onlab.util.KryoNamespace; -import org.onosproject.store.StoreDelegate; import org.onlab.packet.IpPrefix; +import org.onlab.util.KryoNamespace; +import org.onosproject.routing.fpm.api.FpmPrefixStoreEvent; +import org.onosproject.routing.fpm.api.FpmRecord; +import org.onosproject.store.StoreDelegate; import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.EventuallyConsistentMap; import org.onosproject.store.service.EventuallyConsistentMapEvent; import org.onosproject.store.service.EventuallyConsistentMapListener; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.WallClockTimestamp; -import org.onosproject.routing.fpm.api.FpmRecord; -import org.onosproject.routing.fpm.api.FpmPrefixStoreEvent; - - - - +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collection; import java.util.Optional; - - - import static com.google.common.base.Preconditions.checkNotNull; import static org.slf4j.LoggerFactory.getLogger; /** * Persistent Fpm Prefix Store with Listener. */ -@Component(immediate = true) -@Property(name = "fpm_type", value = "DHCP") -@Service +@Component(immediate = true, service = DhcpFpmPrefixStore.class) +//@Property(name = "fpm_type", value = "DHCP") public class DistributedFpmPrefixStore implements DhcpFpmPrefixStore { private static final KryoNamespace APP_KRYO = KryoNamespace.newBuilder() @@ -68,7 +58,7 @@ public class DistributedFpmPrefixStore implements DhcpFpmPrefixStore { private EventuallyConsistentMap dhcpFpmRecords; private EventuallyConsistentMapListener listener; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; @Activate diff --git a/apps/drivermatrix/src/main/java/org/onosproject/drivermatrix/DriverViewComponent.java b/apps/drivermatrix/src/main/java/org/onosproject/drivermatrix/DriverViewComponent.java index 7fedcc1372..a50575572f 100644 --- a/apps/drivermatrix/src/main/java/org/onosproject/drivermatrix/DriverViewComponent.java +++ b/apps/drivermatrix/src/main/java/org/onosproject/drivermatrix/DriverViewComponent.java @@ -16,11 +16,11 @@ package org.onosproject.drivermatrix; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.ui.UiExtension; import org.onosproject.ui.UiExtensionService; import org.onosproject.ui.UiMessageHandlerFactory; @@ -42,7 +42,7 @@ public class DriverViewComponent { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UiExtensionService uiExtensionService; // List of application views diff --git a/apps/events/src/main/java/org/onosproject/events/EventHistoryManager.java b/apps/events/src/main/java/org/onosproject/events/EventHistoryManager.java index 0bdd94be27..549b358166 100644 --- a/apps/events/src/main/java/org/onosproject/events/EventHistoryManager.java +++ b/apps/events/src/main/java/org/onosproject/events/EventHistoryManager.java @@ -15,22 +15,6 @@ */ package org.onosproject.events; -import static java.util.concurrent.Executors.newSingleThreadScheduledExecutor; -import static org.onlab.util.Tools.groupedThreads; -import static org.onlab.util.Tools.minPriority; - -import java.util.Deque; -import java.util.concurrent.ConcurrentLinkedDeque; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.UnmodifiableDeque; import org.onosproject.cluster.ClusterService; import org.onosproject.core.ApplicationId; @@ -47,55 +31,68 @@ import org.onosproject.net.host.HostService; import org.onosproject.net.intent.IntentService; import org.onosproject.net.link.LinkService; import org.onosproject.net.topology.TopologyService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Deque; +import java.util.concurrent.ConcurrentLinkedDeque; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; + +import static java.util.concurrent.Executors.newSingleThreadScheduledExecutor; +import static org.onlab.util.Tools.groupedThreads; +import static org.onlab.util.Tools.minPriority; + /** * Application to store history of instance local ONOS Events. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = EventHistoryManager.class) public class EventHistoryManager implements EventHistoryService { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TopologyService topologyService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected EdgePortService edgeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentService intentService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService netcfgService; - @Property(name = "excludeStatsEvent", boolValue = true, - label = "Exclude stats related events") + //@Property(name = "excludeStatsEvent", boolValue = true, + // label = "Exclude stats related events") private boolean excludeStatsEvent = true; - @Property(name = "sizeLimit", intValue = 10_000, - label = "Number of event history to store") + //@Property(name = "sizeLimit", intValue = 10_000, + // label = "Number of event history to store") private int sizeLimit = 10_000; private ApplicationId appId; diff --git a/apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/impl/EvpnRouteManager.java b/apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/impl/EvpnRouteManager.java index 3c9f22392f..f13b89a14b 100644 --- a/apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/impl/EvpnRouteManager.java +++ b/apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/impl/EvpnRouteManager.java @@ -16,23 +16,6 @@ package org.onosproject.evpnrouteservice.impl; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.ThreadFactory; - -import javax.annotation.concurrent.GuardedBy; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; - import org.onosproject.evpnrouteservice.EvpnInternalRouteEvent; import org.onosproject.evpnrouteservice.EvpnRoute; import org.onosproject.evpnrouteservice.EvpnRouteAdminService; @@ -43,23 +26,36 @@ import org.onosproject.evpnrouteservice.EvpnRouteSet; import org.onosproject.evpnrouteservice.EvpnRouteStore; import org.onosproject.evpnrouteservice.EvpnRouteStoreDelegate; import org.onosproject.evpnrouteservice.EvpnRouteTableId; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.annotation.concurrent.GuardedBy; +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.ThreadFactory; + import static java.util.concurrent.Executors.newSingleThreadExecutor; import static org.onlab.util.Tools.groupedThreads; /** * Implementation of the EVPN route service. */ -@Service -@Component +@Component(service = { EvpnRouteService.class, EvpnRouteAdminService.class }) public class EvpnRouteManager implements EvpnRouteService, EvpnRouteAdminService { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected EvpnRouteStore evpnRouteStore; @GuardedBy(value = "this") diff --git a/apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/store/DistributedEvpnRouteStore.java b/apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/store/DistributedEvpnRouteStore.java index de1dbd69da..8917325733 100644 --- a/apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/store/DistributedEvpnRouteStore.java +++ b/apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/store/DistributedEvpnRouteStore.java @@ -17,12 +17,6 @@ package org.onosproject.evpnrouteservice.store; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onlab.util.KryoNamespace; import org.onosproject.evpnrouteservice.EvpnInternalRouteEvent; @@ -38,6 +32,11 @@ import org.onosproject.store.service.Serializer; import org.onosproject.store.service.SetEvent; import org.onosproject.store.service.SetEventListener; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -54,8 +53,7 @@ import static org.onlab.util.Tools.groupedThreads; /** * Route store based on distributed storage. */ -@Service -@Component +@Component(service = EvpnRouteStore.class) public class DistributedEvpnRouteStore extends AbstractStore @@ -64,7 +62,7 @@ public class DistributedEvpnRouteStore extends private static final Logger log = LoggerFactory .getLogger(DistributedEvpnRouteStore.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public StorageService storageService; private static final EvpnRouteTableId EVPN_IPV4 = new EvpnRouteTableId("evpn_ipv4"); diff --git a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/manager/impl/EvpnManager.java b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/manager/impl/EvpnManager.java index 7a87fd52dc..edfbfd0c61 100644 --- a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/manager/impl/EvpnManager.java +++ b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/manager/impl/EvpnManager.java @@ -18,12 +18,6 @@ package org.onosproject.evpnopenflow.manager.impl; import com.fasterxml.jackson.databind.JsonNode; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.osgi.DefaultServiceDirectory; import org.onlab.packet.EthType; import org.onlab.packet.IpAddress; @@ -45,11 +39,6 @@ import org.onosproject.evpnopenflow.rsc.vpninstance.VpnInstanceService; import org.onosproject.evpnopenflow.rsc.vpnport.VpnPortEvent; import org.onosproject.evpnopenflow.rsc.vpnport.VpnPortListener; import org.onosproject.evpnopenflow.rsc.vpnport.VpnPortService; -import org.onosproject.gluon.rsc.GluonConfig; -import org.onosproject.incubator.net.resource.label.LabelResource; -import org.onosproject.incubator.net.resource.label.LabelResourceAdminService; -import org.onosproject.incubator.net.resource.label.LabelResourceId; -import org.onosproject.incubator.net.resource.label.LabelResourceService; import org.onosproject.evpnrouteservice.EvpnInstanceName; import org.onosproject.evpnrouteservice.EvpnInstanceNextHop; import org.onosproject.evpnrouteservice.EvpnInstancePrefix; @@ -66,6 +55,11 @@ import org.onosproject.evpnrouteservice.EvpnRouteStore; import org.onosproject.evpnrouteservice.Label; import org.onosproject.evpnrouteservice.RouteDistinguisher; import org.onosproject.evpnrouteservice.VpnRouteTarget; +import org.onosproject.gluon.rsc.GluonConfig; +import org.onosproject.incubator.net.resource.label.LabelResource; +import org.onosproject.incubator.net.resource.label.LabelResourceAdminService; +import org.onosproject.incubator.net.resource.label.LabelResourceId; +import org.onosproject.incubator.net.resource.label.LabelResourceService; import org.onosproject.mastership.MastershipService; import org.onosproject.net.AnnotationKeys; import org.onosproject.net.Device; @@ -94,6 +88,11 @@ import org.onosproject.net.flowobjective.Objective.Operation; import org.onosproject.net.host.HostEvent; import org.onosproject.net.host.HostListener; import org.onosproject.net.host.HostService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.ArrayList; @@ -151,56 +150,55 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of the EVPN service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = EvpnService.class) public class EvpnManager implements EvpnService { private final Logger log = getLogger(getClass()); private static final EthType.EtherType ARP_TYPE = EthType.EtherType.ARP; protected ApplicationId appId; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected EvpnRouteService evpnRouteService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected EvpnRouteStore evpnRouteStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected EvpnRouteAdminService evpnRouteAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LabelResourceAdminService labelAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LabelResourceService labelService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VpnInstanceService vpnInstanceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowObjectiveService flowObjectiveService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VpnPortService vpnPortService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VpnAfConfigService vpnAfConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService configService; public Set evpnInstanceRoutes = new HashSet<>(); diff --git a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/baseport/impl/BasePortManager.java b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/baseport/impl/BasePortManager.java index 29c4d66001..27f9fd7ae1 100644 --- a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/baseport/impl/BasePortManager.java +++ b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/baseport/impl/BasePortManager.java @@ -18,12 +18,6 @@ package org.onosproject.evpnopenflow.rsc.baseport.impl; import com.fasterxml.jackson.databind.JsonNode; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onlab.packet.MacAddress; import org.onlab.util.KryoNamespace; @@ -55,6 +49,11 @@ import org.onosproject.vtnrsc.TenantId; import org.onosproject.vtnrsc.TenantNetwork; import org.onosproject.vtnrsc.TenantNetworkId; import org.onosproject.vtnrsc.TenantRouter; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -77,8 +76,7 @@ import static org.onosproject.evpnopenflow.rsc.EvpnConstants.RESPONSE_NOT_NULL; /** * Provides implementation of the BasePort APIs. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = BasePortService.class) public class BasePortManager implements BasePortService { private final Set listeners = Sets @@ -105,10 +103,10 @@ public class BasePortManager implements BasePortService { protected EventuallyConsistentMap vPortStore; protected ApplicationId appId; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; @Activate diff --git a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpnafconfig/impl/VpnAfConfigManager.java b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpnafconfig/impl/VpnAfConfigManager.java index 7645c2e335..a2ee02ca90 100644 --- a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpnafconfig/impl/VpnAfConfigManager.java +++ b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpnafconfig/impl/VpnAfConfigManager.java @@ -18,12 +18,6 @@ package org.onosproject.evpnopenflow.rsc.vpnafconfig.impl; import com.fasterxml.jackson.databind.JsonNode; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.core.CoreService; import org.onosproject.evpnopenflow.rsc.DefaultVpnAfConfig; @@ -36,6 +30,11 @@ import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.EventuallyConsistentMap; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.WallClockTimestamp; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -75,8 +74,7 @@ import static org.onosproject.evpnopenflow.rsc.EvpnConstants.VRF_RT_VALUE; /** * Provides implementation of the VPN af config APIs. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = VpnAfConfigService.class) public class VpnAfConfigManager implements VpnAfConfigService { private final Logger log = LoggerFactory.getLogger(getClass()); private final Set listeners = Sets @@ -84,10 +82,10 @@ public class VpnAfConfigManager implements VpnAfConfigService { protected EventuallyConsistentMap vpnAfConfigStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; @Activate diff --git a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpninstance/impl/VpnInstanceManager.java b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpninstance/impl/VpnInstanceManager.java index 20c6d151b6..91eba1d87e 100644 --- a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpninstance/impl/VpnInstanceManager.java +++ b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpninstance/impl/VpnInstanceManager.java @@ -18,12 +18,6 @@ package org.onosproject.evpnopenflow.rsc.vpninstance.impl; import com.fasterxml.jackson.databind.JsonNode; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -34,13 +28,18 @@ import org.onosproject.evpnopenflow.rsc.VpnInstanceId; import org.onosproject.evpnopenflow.rsc.vpnafconfig.VpnAfConfigService; import org.onosproject.evpnopenflow.rsc.vpninstance.VpnInstanceService; import org.onosproject.evpnrouteservice.EvpnInstanceName; -import org.onosproject.routeservice.RouteAdminService; import org.onosproject.evpnrouteservice.RouteDistinguisher; import org.onosproject.evpnrouteservice.VpnRouteTarget; +import org.onosproject.routeservice.RouteAdminService; import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.EventuallyConsistentMap; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.WallClockTimestamp; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -80,8 +79,7 @@ import static org.onosproject.evpnopenflow.rsc.EvpnConstants.VPN_INSTANCE_UPDATE /** * Provides implementation of the VpnInstance APIs. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = VpnInstanceService.class) public class VpnInstanceManager implements VpnInstanceService { private final Logger log = LoggerFactory.getLogger(getClass()); @@ -89,16 +87,16 @@ public class VpnInstanceManager implements VpnInstanceService { protected EventuallyConsistentMap vpnInstanceStore; protected ApplicationId appId; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RouteAdminService routeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VpnAfConfigService vpnAfConfigService; @Activate diff --git a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpnport/impl/VpnPortManager.java b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpnport/impl/VpnPortManager.java index 2babba61cb..b62d034042 100644 --- a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpnport/impl/VpnPortManager.java +++ b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpnport/impl/VpnPortManager.java @@ -18,12 +18,6 @@ package org.onosproject.evpnopenflow.rsc.vpnport.impl; import com.fasterxml.jackson.databind.JsonNode; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; import org.onlab.packet.MacAddress; @@ -64,6 +58,11 @@ import org.onosproject.vtnrsc.VirtualPortId; import org.onosproject.vtnrsc.subnet.SubnetService; import org.onosproject.vtnrsc.tenantnetwork.TenantNetworkService; import org.onosproject.vtnrsc.virtualport.VirtualPortService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -100,8 +99,7 @@ import static org.onosproject.evpnopenflow.rsc.EvpnConstants.VPN_PORT_UPDATE_FAI /** * Provides implementation of the VpnPort service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = VpnPortService.class) public class VpnPortManager implements VpnPortService { private final Logger log = LoggerFactory.getLogger(getClass()); @@ -111,22 +109,22 @@ public class VpnPortManager implements VpnPortService { protected EventuallyConsistentMap vpnPortStore; protected ApplicationId appId; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected BasePortService basePortService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VirtualPortService virtualPortService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TenantNetworkService tenantNetworkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected SubnetService subnetService; @Activate diff --git a/apps/faultmanagement/fmgui/src/main/java/org/onosproject/faultmanagement/alarms/gui/AlarmTableComponent.java b/apps/faultmanagement/fmgui/src/main/java/org/onosproject/faultmanagement/alarms/gui/AlarmTableComponent.java index 927de45bcb..3ab3d15e43 100644 --- a/apps/faultmanagement/fmgui/src/main/java/org/onosproject/faultmanagement/alarms/gui/AlarmTableComponent.java +++ b/apps/faultmanagement/fmgui/src/main/java/org/onosproject/faultmanagement/alarms/gui/AlarmTableComponent.java @@ -16,11 +16,11 @@ package org.onosproject.faultmanagement.alarms.gui; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.ui.UiExtension; import org.onosproject.ui.UiExtensionService; import org.onosproject.ui.UiMessageHandlerFactory; @@ -43,7 +43,7 @@ public class AlarmTableComponent { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UiExtensionService uiExtensionService; // List of application views diff --git a/apps/faultmanagement/fmgui/src/main/java/org/onosproject/faultmanagement/alarms/gui/AlarmTopovComponent.java b/apps/faultmanagement/fmgui/src/main/java/org/onosproject/faultmanagement/alarms/gui/AlarmTopovComponent.java index 1c136d3179..9e4092eff5 100644 --- a/apps/faultmanagement/fmgui/src/main/java/org/onosproject/faultmanagement/alarms/gui/AlarmTopovComponent.java +++ b/apps/faultmanagement/fmgui/src/main/java/org/onosproject/faultmanagement/alarms/gui/AlarmTopovComponent.java @@ -16,11 +16,11 @@ package org.onosproject.faultmanagement.alarms.gui; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.ui.UiExtension; import org.onosproject.ui.UiExtensionService; import org.onosproject.ui.UiMessageHandlerFactory; @@ -43,7 +43,7 @@ public class AlarmTopovComponent { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UiExtensionService uiExtensionService; // List of application views diff --git a/apps/faultmanagement/fmmgr/src/main/java/org/onosproject/faultmanagement/impl/AlarmManager.java b/apps/faultmanagement/fmmgr/src/main/java/org/onosproject/faultmanagement/impl/AlarmManager.java index 74ed2c2beb..e9a4695860 100644 --- a/apps/faultmanagement/fmmgr/src/main/java/org/onosproject/faultmanagement/impl/AlarmManager.java +++ b/apps/faultmanagement/fmmgr/src/main/java/org/onosproject/faultmanagement/impl/AlarmManager.java @@ -16,13 +16,6 @@ package org.onosproject.faultmanagement.impl; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.ItemNotFoundException; import org.onosproject.faultmanagement.api.AlarmStore; import org.onosproject.faultmanagement.api.AlarmStoreDelegate; @@ -44,6 +37,12 @@ import org.onosproject.net.device.DeviceListener; import org.onosproject.net.device.DeviceService; import org.onosproject.net.provider.AbstractListenerProviderRegistry; import org.onosproject.net.provider.AbstractProviderService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collection; @@ -59,21 +58,20 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of the Alarm service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = { AlarmService.class, AlarmProviderRegistry.class }) public class AlarmManager extends AbstractListenerProviderRegistry implements AlarmService, AlarmProviderRegistry { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected AlarmStore store; protected AlarmStoreDelegate delegate = this::post; diff --git a/apps/faultmanagement/fmmgr/src/main/java/org/onosproject/faultmanagement/impl/DistributedAlarmStore.java b/apps/faultmanagement/fmmgr/src/main/java/org/onosproject/faultmanagement/impl/DistributedAlarmStore.java index 4a917492f7..2c85310255 100644 --- a/apps/faultmanagement/fmmgr/src/main/java/org/onosproject/faultmanagement/impl/DistributedAlarmStore.java +++ b/apps/faultmanagement/fmmgr/src/main/java/org/onosproject/faultmanagement/impl/DistributedAlarmStore.java @@ -17,13 +17,6 @@ package org.onosproject.faultmanagement.impl; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.faultmanagement.api.AlarmStore; import org.onosproject.faultmanagement.api.AlarmStoreDelegate; import org.onosproject.incubator.net.faultmanagement.alarm.Alarm; @@ -39,6 +32,12 @@ import org.onosproject.store.service.MapEvent; import org.onosproject.store.service.MapEventListener; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collection; @@ -52,8 +51,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Manages information of alarms using gossip protocol to distribute * information. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = AlarmStore.class) public class DistributedAlarmStore extends AbstractStore implements AlarmStore { @@ -62,7 +60,7 @@ public class DistributedAlarmStore private ConsistentMap alarms; private Map alarmsMap; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private final MapEventListener listener = new InternalListener(); diff --git a/apps/faultmanagement/fmmgr/src/main/java/org/onosproject/faultmanagement/impl/PollingAlarmProvider.java b/apps/faultmanagement/fmmgr/src/main/java/org/onosproject/faultmanagement/impl/PollingAlarmProvider.java index c74934cc5b..eeee627187 100644 --- a/apps/faultmanagement/fmmgr/src/main/java/org/onosproject/faultmanagement/impl/PollingAlarmProvider.java +++ b/apps/faultmanagement/fmmgr/src/main/java/org/onosproject/faultmanagement/impl/PollingAlarmProvider.java @@ -15,13 +15,6 @@ */ package org.onosproject.faultmanagement.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.incubator.net.faultmanagement.alarm.AlarmConsumer; import org.onosproject.incubator.net.faultmanagement.alarm.AlarmProvider; @@ -38,6 +31,12 @@ import org.onosproject.net.device.DeviceService; import org.onosproject.net.provider.AbstractProvider; import org.onosproject.net.provider.ProviderId; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Dictionary; @@ -62,16 +61,16 @@ public class PollingAlarmProvider extends AbstractProvider implements AlarmProvi private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected AlarmProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; protected AlarmProviderService providerService; @@ -89,14 +88,14 @@ public class PollingAlarmProvider extends AbstractProvider implements AlarmProvi private static final int CORE_POOL_SIZE = 10; private static final int DEFAULT_POLL_FREQUENCY_SECONDS = 60; - @Property(name = "alarmPollFrequencySeconds", intValue = DEFAULT_POLL_FREQUENCY_SECONDS, - label = "Frequency (in seconds) for polling alarm from devices") + //@Property(name = "alarmPollFrequencySeconds", intValue = DEFAULT_POLL_FREQUENCY_SECONDS, + // label = "Frequency (in seconds) for polling alarm from devices") protected int alarmPollFrequencySeconds = DEFAULT_POLL_FREQUENCY_SECONDS; // TODO implement purging of old alarms. private static final int DEFAULT_CLEAR_FREQUENCY_SECONDS = 500; - @Property(name = "clearedAlarmPurgeSeconds", intValue = DEFAULT_CLEAR_FREQUENCY_SECONDS, - label = "Frequency (in seconds) for deleting cleared alarms") + //@Property(name = "clearedAlarmPurgeSeconds", intValue = DEFAULT_CLEAR_FREQUENCY_SECONDS, + // label = "Frequency (in seconds) for deleting cleared alarms") private int clearedAlarmPurgeFrequencySeconds = DEFAULT_CLEAR_FREQUENCY_SECONDS; public PollingAlarmProvider() { diff --git a/apps/faultmanagement/fmweb/src/main/java/org/onosproject/faultmanagement/web/AlarmCodecRegistrator.java b/apps/faultmanagement/fmweb/src/main/java/org/onosproject/faultmanagement/web/AlarmCodecRegistrator.java index b6bccd0d17..0a2120a586 100644 --- a/apps/faultmanagement/fmweb/src/main/java/org/onosproject/faultmanagement/web/AlarmCodecRegistrator.java +++ b/apps/faultmanagement/fmweb/src/main/java/org/onosproject/faultmanagement/web/AlarmCodecRegistrator.java @@ -15,11 +15,11 @@ */ package org.onosproject.faultmanagement.web; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.codec.CodecService; import org.onosproject.incubator.net.faultmanagement.alarm.Alarm; @@ -34,7 +34,7 @@ public class AlarmCodecRegistrator { private static final Logger log = LoggerFactory.getLogger(AlarmCodecRegistrator.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CodecService codecService; @Activate diff --git a/apps/flowanalyzer/src/main/java/org/onosproject/flowanalyzer/FlowAnalyzer.java b/apps/flowanalyzer/src/main/java/org/onosproject/flowanalyzer/FlowAnalyzer.java index 9f899aca82..990ec459e0 100644 --- a/apps/flowanalyzer/src/main/java/org/onosproject/flowanalyzer/FlowAnalyzer.java +++ b/apps/flowanalyzer/src/main/java/org/onosproject/flowanalyzer/FlowAnalyzer.java @@ -15,34 +15,33 @@ */ package org.onosproject.flowanalyzer; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.ConnectPoint; +import org.onosproject.net.DeviceId; +import org.onosproject.net.HostId; +import org.onosproject.net.Link; import org.onosproject.net.PortNumber; import org.onosproject.net.flow.FlowEntry; import org.onosproject.net.flow.FlowRuleService; -import org.onosproject.net.DeviceId; -import org.onosproject.net.HostId; import org.onosproject.net.flow.criteria.Criteria; import org.onosproject.net.flow.criteria.Criterion; import org.onosproject.net.flow.criteria.PortCriterion; import org.onosproject.net.flow.instructions.Instruction; import org.onosproject.net.flow.instructions.Instructions; -import org.onosproject.net.topology.TopologyService; -import org.onosproject.net.topology.TopologyGraph; import org.onosproject.net.link.LinkService; -import org.onosproject.net.Link; +import org.onosproject.net.topology.TopologyGraph; +import org.onosproject.net.topology.TopologyService; import org.onosproject.net.topology.TopologyVertex; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; +import java.util.HashMap; import java.util.HashSet; import java.util.List; -import java.util.HashMap; import java.util.Map; import java.util.Set; @@ -51,19 +50,18 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Simple flow space analyzer app. */ -@Component(immediate = true) -@Service(value = FlowAnalyzer.class) +@Component(immediate = true, service = FlowAnalyzer.class) public class FlowAnalyzer { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TopologyService topologyService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; @Activate diff --git a/apps/fwd/src/main/java/org/onosproject/fwd/ReactiveForwarding.java b/apps/fwd/src/main/java/org/onosproject/fwd/ReactiveForwarding.java index 9917a851cd..77c304b069 100644 --- a/apps/fwd/src/main/java/org/onosproject/fwd/ReactiveForwarding.java +++ b/apps/fwd/src/main/java/org/onosproject/fwd/ReactiveForwarding.java @@ -16,14 +16,6 @@ package org.onosproject.fwd; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.Ethernet; import org.onlab.packet.ICMP; import org.onlab.packet.ICMP6; @@ -79,6 +71,12 @@ import org.onosproject.store.service.MultiValuedTimestamp; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.WallClockTimestamp; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Dictionary; @@ -96,8 +94,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Sample reactive forwarding application. */ -@Component(immediate = true) -@Service(value = ReactiveForwarding.class) +@Component(immediate = true, service = ReactiveForwarding.class) public class ReactiveForwarding { private static final int DEFAULT_TIMEOUT = 10; @@ -105,28 +102,28 @@ public class ReactiveForwarding { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TopologyService topologyService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowObjectiveService flowObjectiveService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private ReactivePacketProcessor processor = new ReactivePacketProcessor(); @@ -135,69 +132,69 @@ public class ReactiveForwarding { private ApplicationId appId; - @Property(name = "packetOutOnly", boolValue = false, - label = "Enable packet-out only forwarding; default is false") + //@Property(name = "packetOutOnly", boolValue = false, + // label = "Enable packet-out only forwarding; default is false") private boolean packetOutOnly = false; - @Property(name = "packetOutOfppTable", boolValue = false, - label = "Enable first packet forwarding using OFPP_TABLE port " + - "instead of PacketOut with actual port; default is false") + //@Property(name = "packetOutOfppTable", boolValue = false, + // label = "Enable first packet forwarding using OFPP_TABLE port " + + // "instead of PacketOut with actual port; default is false") private boolean packetOutOfppTable = false; - @Property(name = "flowTimeout", intValue = DEFAULT_TIMEOUT, - label = "Configure Flow Timeout for installed flow rules; " + - "default is 10 sec") + //@Property(name = "flowTimeout", intValue = DEFAULT_TIMEOUT, + // label = "Configure Flow Timeout for installed flow rules; " + + // "default is 10 sec") private int flowTimeout = DEFAULT_TIMEOUT; - @Property(name = "flowPriority", intValue = DEFAULT_PRIORITY, - label = "Configure Flow Priority for installed flow rules; " + - "default is 10") + //@Property(name = "flowPriority", intValue = DEFAULT_PRIORITY, + // label = "Configure Flow Priority for installed flow rules; " + + // "default is 10") private int flowPriority = DEFAULT_PRIORITY; - @Property(name = "ipv6Forwarding", boolValue = false, - label = "Enable IPv6 forwarding; default is false") + //@Property(name = "ipv6Forwarding", boolValue = false, + // label = "Enable IPv6 forwarding; default is false") private boolean ipv6Forwarding = false; - @Property(name = "matchDstMacOnly", boolValue = false, - label = "Enable matching Dst Mac Only; default is false") + //@Property(name = "matchDstMacOnly", boolValue = false, + // label = "Enable matching Dst Mac Only; default is false") private boolean matchDstMacOnly = false; - @Property(name = "matchVlanId", boolValue = false, - label = "Enable matching Vlan ID; default is false") + //@Property(name = "matchVlanId", boolValue = false, + // label = "Enable matching Vlan ID; default is false") private boolean matchVlanId = false; - @Property(name = "matchIpv4Address", boolValue = false, - label = "Enable matching IPv4 Addresses; default is false") + //@Property(name = "matchIpv4Address", boolValue = false, + // label = "Enable matching IPv4 Addresses; default is false") private boolean matchIpv4Address = false; - @Property(name = "matchIpv4Dscp", boolValue = false, - label = "Enable matching IPv4 DSCP and ECN; default is false") + //@Property(name = "matchIpv4Dscp", boolValue = false, + // label = "Enable matching IPv4 DSCP and ECN; default is false") private boolean matchIpv4Dscp = false; - @Property(name = "matchIpv6Address", boolValue = false, - label = "Enable matching IPv6 Addresses; default is false") + //@Property(name = "matchIpv6Address", boolValue = false, + // label = "Enable matching IPv6 Addresses; default is false") private boolean matchIpv6Address = false; - @Property(name = "matchIpv6FlowLabel", boolValue = false, - label = "Enable matching IPv6 FlowLabel; default is false") + //@Property(name = "matchIpv6FlowLabel", boolValue = false, + // label = "Enable matching IPv6 FlowLabel; default is false") private boolean matchIpv6FlowLabel = false; - @Property(name = "matchTcpUdpPorts", boolValue = false, - label = "Enable matching TCP/UDP ports; default is false") + //@Property(name = "matchTcpUdpPorts", boolValue = false, + // label = "Enable matching TCP/UDP ports; default is false") private boolean matchTcpUdpPorts = false; - @Property(name = "matchIcmpFields", boolValue = false, - label = "Enable matching ICMPv4 and ICMPv6 fields; " + - "default is false") + //@Property(name = "matchIcmpFields", boolValue = false, + // label = "Enable matching ICMPv4 and ICMPv6 fields; " + + // "default is false") private boolean matchIcmpFields = false; - @Property(name = "ignoreIPv4Multicast", boolValue = false, - label = "Ignore (do not forward) IPv4 multicast packets; default is false") + //@Property(name = "ignoreIPv4Multicast", boolValue = false, + // label = "Ignore (do not forward) IPv4 multicast packets; default is false") private boolean ignoreIpv4McastPackets = false; - @Property(name = "recordMetrics", boolValue = false, - label = "Enable record metrics for reactive forwarding") + //@Property(name = "recordMetrics", boolValue = false, + // label = "Enable record metrics for reactive forwarding") private boolean recordMetrics = false; private final TopologyListener topologyListener = new InternalTopologyListener(); diff --git a/apps/gangliametrics/src/main/java/org/onosproject/gangliametrics/DefaultGangliaMetricsReporter.java b/apps/gangliametrics/src/main/java/org/onosproject/gangliametrics/DefaultGangliaMetricsReporter.java index b3c7dfca4c..742564ab38 100644 --- a/apps/gangliametrics/src/main/java/org/onosproject/gangliametrics/DefaultGangliaMetricsReporter.java +++ b/apps/gangliametrics/src/main/java/org/onosproject/gangliametrics/DefaultGangliaMetricsReporter.java @@ -19,18 +19,17 @@ import com.codahale.metrics.MetricRegistry; import com.codahale.metrics.ganglia.GangliaReporter; import info.ganglia.gmetric4j.gmetric.GMetric; import org.apache.commons.lang.StringUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onlab.metrics.MetricsService; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.core.CoreService; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.io.IOException; @@ -57,33 +56,33 @@ public class DefaultGangliaMetricsReporter implements GangliaMetricsReporter { private static final int DEFAULT_TTL = 1; private static final String DEFAULT_METRIC_NAMES = "default"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MetricsService metricsService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; - @Property(name = "monitorAll", boolValue = true, - label = "Enable to monitor all of metrics stored in metric registry default is true") + //@Property(name = "monitorAll", boolValue = true, + // label = "Enable to monitor all of metrics stored in metric registry default is true") protected boolean monitorAll = true; - @Property(name = "metricNames", value = DEFAULT_METRIC_NAMES, - label = "Names of metric to be monitored; default metric names are 'default'") + //@Property(name = "metricNames", value = DEFAULT_METRIC_NAMES, + // label = "Names of metric to be monitored; default metric names are 'default'") protected String metricNames = DEFAULT_METRIC_NAMES; - @Property(name = "address", value = DEFAULT_ADDRESS, - label = "IP address of ganglia monitoring server; default is localhost") + //@Property(name = "address", value = DEFAULT_ADDRESS, + // label = "IP address of ganglia monitoring server; default is localhost") protected String address = DEFAULT_ADDRESS; - @Property(name = "port", intValue = DEFAULT_PORT, - label = "Port number of ganglia monitoring server; default is 8649") + //@Property(name = "port", intValue = DEFAULT_PORT, + // label = "Port number of ganglia monitoring server; default is 8649") protected int port = DEFAULT_PORT; - @Property(name = "ttl", intValue = DEFAULT_TTL, - label = "TTL value of ganglia monitoring server; default is 1") + //@Property(name = "ttl", intValue = DEFAULT_TTL, + // label = "TTL value of ganglia monitoring server; default is 1") protected int ttl = DEFAULT_TTL; private GMetric ganglia; diff --git a/apps/gluon/src/main/java/org/onosproject/gluon/manager/GluonManager.java b/apps/gluon/src/main/java/org/onosproject/gluon/manager/GluonManager.java index c0a4b6799a..1d8b32a5bd 100644 --- a/apps/gluon/src/main/java/org/onosproject/gluon/manager/GluonManager.java +++ b/apps/gluon/src/main/java/org/onosproject/gluon/manager/GluonManager.java @@ -15,11 +15,11 @@ */ package org.onosproject.gluon.manager; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.core.CoreService; import org.onosproject.gluon.rsc.GluonConfig; import org.onosproject.gluon.rsc.GluonServer; @@ -41,10 +41,10 @@ public class GluonManager { private final Logger log = LoggerFactory.getLogger(getClass()); private static final String APP_ID = "org.onosproject.gluon"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry configRegistry; diff --git a/apps/graphitemetrics/src/main/java/org/onosproject/graphitemetrics/DefaultGraphiteMetricsReporter.java b/apps/graphitemetrics/src/main/java/org/onosproject/graphitemetrics/DefaultGraphiteMetricsReporter.java index c4995a52d6..61dd14cc16 100644 --- a/apps/graphitemetrics/src/main/java/org/onosproject/graphitemetrics/DefaultGraphiteMetricsReporter.java +++ b/apps/graphitemetrics/src/main/java/org/onosproject/graphitemetrics/DefaultGraphiteMetricsReporter.java @@ -20,18 +20,17 @@ import com.codahale.metrics.MetricRegistry; import com.codahale.metrics.graphite.Graphite; import com.codahale.metrics.graphite.GraphiteReporter; import org.apache.commons.lang.StringUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onlab.metrics.MetricsService; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.core.CoreService; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.net.InetSocketAddress; @@ -57,37 +56,37 @@ public class DefaultGraphiteMetricsReporter implements GraphiteMetricsReporter { private static final String DEFAULT_METRIC_NAME_PREFIX = "onos"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MetricsService metricsService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; - @Property(name = "monitorAll", boolValue = true, - label = "Enable to monitor all of metrics stored in metric registry default is true") + //@Property(name = "monitorAll", boolValue = true, + // label = "Enable to monitor all of metrics stored in metric registry default is true") protected boolean monitorAll = true; - @Property(name = "metricNames", value = DEFAULT_METRIC_NAMES, - label = "Names of metric to be monitored; default metric names are 'default'") + //@Property(name = "metricNames", value = DEFAULT_METRIC_NAMES, + // label = "Names of metric to be monitored; default metric names are 'default'") protected String metricNames = DEFAULT_METRIC_NAMES; - @Property(name = "address", value = DEFAULT_ADDRESS, - label = "IP address of graphite monitoring server; default is localhost") + //@Property(name = "address", value = DEFAULT_ADDRESS, + // label = "IP address of graphite monitoring server; default is localhost") protected String address = DEFAULT_ADDRESS; - @Property(name = "port", intValue = DEFAULT_PORT, - label = "Port number of graphite monitoring server; default is 2003") + //@Property(name = "port", intValue = DEFAULT_PORT, + // label = "Port number of graphite monitoring server; default is 2003") protected int port = DEFAULT_PORT; - @Property(name = "reportPeriod", intValue = DEFAULT_REPORT_PERIOD, - label = "Reporting period of graphite monitoring server; default is 1") + //@Property(name = "reportPeriod", intValue = DEFAULT_REPORT_PERIOD, + // label = "Reporting period of graphite monitoring server; default is 1") protected int reportPeriod = DEFAULT_REPORT_PERIOD; - @Property(name = "metricNamePrefix", value = DEFAULT_METRIC_NAME_PREFIX, - label = "Prefix of metric name for graphite back-end server; default is 'onos'") + //@Property(name = "metricNamePrefix", value = DEFAULT_METRIC_NAME_PREFIX, + // label = "Prefix of metric name for graphite back-end server; default is 'onos'") protected String metricNamePrefix = DEFAULT_METRIC_NAME_PREFIX; private Graphite graphite; diff --git a/apps/imr/app/src/main/java/org/onosproject/imr/IntentMonitorAndRerouteManager.java b/apps/imr/app/src/main/java/org/onosproject/imr/IntentMonitorAndRerouteManager.java index 9b5d0706e8..187ef190e0 100644 --- a/apps/imr/app/src/main/java/org/onosproject/imr/IntentMonitorAndRerouteManager.java +++ b/apps/imr/app/src/main/java/org/onosproject/imr/IntentMonitorAndRerouteManager.java @@ -18,12 +18,6 @@ package org.onosproject.imr; import com.google.common.collect.ImmutableSet; import org.apache.commons.lang3.tuple.Pair; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.core.ApplicationId; import org.onosproject.imr.data.Path; @@ -61,6 +55,11 @@ import org.onosproject.store.service.ConsistentMap; import org.onosproject.store.service.DistributedSet; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -82,8 +81,7 @@ import static com.google.common.base.Preconditions.checkNotNull; /** * Manager of Intent Monitor and Reroute. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = IntentMonitorAndRerouteService.class) public class IntentMonitorAndRerouteManager implements IntentMonitorAndRerouteService { private final Logger log = LoggerFactory.getLogger(getClass()); @@ -93,22 +91,22 @@ public class IntentMonitorAndRerouteManager implements IntentMonitorAndRerouteSe private DistributedSet toBeMonitoredIntents; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentService intentService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowStatisticStore statsStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private InternalIntentListener intentListener = new InternalIntentListener(); diff --git a/apps/inbandtelemetry/app/src/main/java/org/onosproject/inbandtelemetry/app/IntControl.java b/apps/inbandtelemetry/app/src/main/java/org/onosproject/inbandtelemetry/app/IntControl.java index efd3590db8..cbd520cead 100644 --- a/apps/inbandtelemetry/app/src/main/java/org/onosproject/inbandtelemetry/app/IntControl.java +++ b/apps/inbandtelemetry/app/src/main/java/org/onosproject/inbandtelemetry/app/IntControl.java @@ -15,11 +15,11 @@ */ package org.onosproject.inbandtelemetry.app; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.core.CoreService; import org.onosproject.inbandtelemetry.api.IntService; import org.onosproject.net.host.HostService; @@ -33,13 +33,13 @@ public class IntControl { // private static final int collectorPort = 1234; // private static final IpAddress collectorIp = IpAddress.valueOf("10.0.0.3"); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntService intService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; @Activate diff --git a/apps/inbandtelemetry/app/src/main/java/org/onosproject/inbandtelemetry/app/ui/IntAppUiComponent.java b/apps/inbandtelemetry/app/src/main/java/org/onosproject/inbandtelemetry/app/ui/IntAppUiComponent.java index 94c823e010..9769bb037c 100644 --- a/apps/inbandtelemetry/app/src/main/java/org/onosproject/inbandtelemetry/app/ui/IntAppUiComponent.java +++ b/apps/inbandtelemetry/app/src/main/java/org/onosproject/inbandtelemetry/app/ui/IntAppUiComponent.java @@ -16,11 +16,11 @@ package org.onosproject.inbandtelemetry.app.ui; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.ui.UiExtension; import org.onosproject.ui.UiExtensionService; import org.onosproject.ui.UiMessageHandlerFactory; @@ -41,7 +41,7 @@ public class IntAppUiComponent { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UiExtensionService uiExtensionService; // List of application views diff --git a/apps/inbandtelemetry/impl/src/main/java/org/onosproject/inbandtelemetry/impl/IntManager.java b/apps/inbandtelemetry/impl/src/main/java/org/onosproject/inbandtelemetry/impl/IntManager.java index 5cf32dad6a..df0fc91681 100644 --- a/apps/inbandtelemetry/impl/src/main/java/org/onosproject/inbandtelemetry/impl/IntManager.java +++ b/apps/inbandtelemetry/impl/src/main/java/org/onosproject/inbandtelemetry/impl/IntManager.java @@ -15,12 +15,6 @@ */ package org.onosproject.inbandtelemetry.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -42,6 +36,11 @@ import org.onosproject.store.service.AtomicIdGenerator; import org.onosproject.store.service.ConsistentMap; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Map; @@ -53,8 +52,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of IntService, for controlling INT-capable pipelines. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = IntService.class) public class IntManager implements IntService { private final String appName = "org.onosproject.inbandtelemetry"; private ApplicationId appId; @@ -66,19 +64,19 @@ public class IntManager implements IntService { private InternalHostListener hostListener = new InternalHostListener(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private FlowRuleService flowRuleService; @Activate diff --git a/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/DefaultInfluxDbMetricsReporter.java b/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/DefaultInfluxDbMetricsReporter.java index 1425f79b3a..a3bb6eff6b 100644 --- a/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/DefaultInfluxDbMetricsReporter.java +++ b/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/DefaultInfluxDbMetricsReporter.java @@ -19,14 +19,6 @@ import com.codahale.metrics.MetricRegistry; import com.izettle.metrics.influxdb.InfluxDbHttpSender; import com.izettle.metrics.influxdb.InfluxDbReporter; import org.apache.commons.lang.StringUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.metrics.MetricsService; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; @@ -34,6 +26,12 @@ import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.ControllerNode; import org.onosproject.core.CoreService; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Dictionary; @@ -44,8 +42,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * A Metric reporter that reports all metrics value to influxDB server. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = InfluxDbMetricsReporter.class) public class DefaultInfluxDbMetricsReporter implements InfluxDbMetricsReporter { private final Logger log = getLogger(getClass()); @@ -58,26 +55,26 @@ public class DefaultInfluxDbMetricsReporter implements InfluxDbMetricsReporter { private static final int DEFAULT_CONN_TIMEOUT = 1000; private static final int DEFAULT_READ_TIMEOUT = 1000; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MetricsService metricsService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Property(name = "monitorAll", boolValue = true, - label = "Enable to monitor all of metrics stored in metric registry " + - "default is true") + //@Property(name = "monitorAll", boolValue = true, + // label = "Enable to monitor all of metrics stored in metric registry " + + // "default is true") protected boolean monitorAll = true; - @Property(name = "metricNames", value = DEFAULT_METRIC_NAMES, - label = "Names of metric to be monitored in third party monitoring " + - "server; default metric names are 'default'") + //@Property(name = "metricNames", value = DEFAULT_METRIC_NAMES, + // label = "Names of metric to be monitored in third party monitoring " + + // "server; default metric names are 'default'") protected String metricNames = DEFAULT_METRIC_NAMES; protected String address; diff --git a/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/DefaultInfluxDbMetricsRetriever.java b/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/DefaultInfluxDbMetricsRetriever.java index a174925b8b..1871b5af2b 100644 --- a/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/DefaultInfluxDbMetricsRetriever.java +++ b/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/DefaultInfluxDbMetricsRetriever.java @@ -21,18 +21,17 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; import org.apache.commons.lang.StringUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.influxdb.InfluxDB; import org.influxdb.InfluxDBFactory; import org.influxdb.dto.Query; import org.influxdb.dto.QueryResult; import org.onosproject.cluster.NodeId; import org.onosproject.core.CoreService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.List; @@ -45,8 +44,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * A Metric retriever implementation for querying metrics from influxDB server. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = InfluxDbMetricsRetriever.class) public class DefaultInfluxDbMetricsRetriever implements InfluxDbMetricsRetriever { private final Logger log = getLogger(getClass()); @@ -72,7 +70,7 @@ public class DefaultInfluxDbMetricsRetriever implements InfluxDbMetricsRetriever TIME_UNIT_MAP.put(TimeUnit.SECONDS, "s"); } - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; protected String database; diff --git a/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/InfluxDbMetricsConfig.java b/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/InfluxDbMetricsConfig.java index 499e4b9c0e..c5301df8a5 100644 --- a/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/InfluxDbMetricsConfig.java +++ b/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/InfluxDbMetricsConfig.java @@ -15,17 +15,16 @@ */ package org.onosproject.influxdbmetrics; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.core.CoreService; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Dictionary; @@ -47,36 +46,36 @@ public class InfluxDbMetricsConfig { private static final String DEFAULT_USERNAME = "onos"; private static final String DEFAULT_PASSWORD = "onos.password"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InfluxDbMetricsReporter influxDbMetricsReporter; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InfluxDbMetricsRetriever influxDbMetricsRetriever; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; - @Property(name = "address", value = DEFAULT_ADDRESS, - label = "IP address of influxDB server; default is localhost") + //@Property(name = "address", value = DEFAULT_ADDRESS, + // label = "IP address of influxDB server; default is localhost") protected String address = DEFAULT_ADDRESS; - @Property(name = "port", intValue = DEFAULT_PORT, - label = "Port number of influxDB server; default is 8086") + //@Property(name = "port", intValue = DEFAULT_PORT, + // label = "Port number of influxDB server; default is 8086") protected int port = DEFAULT_PORT; - @Property(name = "database", value = DEFAULT_DATABASE, - label = "Database name of influxDB server; default is onos") + //@Property(name = "database", value = DEFAULT_DATABASE, + // label = "Database name of influxDB server; default is onos") protected String database = DEFAULT_DATABASE; - @Property(name = "username", value = DEFAULT_USERNAME, - label = "Username of influxDB server; default is onos") + //@Property(name = "username", value = DEFAULT_USERNAME, + // label = "Username of influxDB server; default is onos") protected String username = DEFAULT_USERNAME; - @Property(name = "password", value = DEFAULT_PASSWORD, - label = "Password of influxDB server; default is onos.password") + //@Property(name = "password", value = DEFAULT_PASSWORD, + // label = "Password of influxDB server; default is onos.password") protected String password = DEFAULT_PASSWORD; @Activate diff --git a/apps/intentsync/src/main/java/org/onosproject/intentsync/IntentSynchronizer.java b/apps/intentsync/src/main/java/org/onosproject/intentsync/IntentSynchronizer.java index c15ea3ce8e..1f33976b81 100644 --- a/apps/intentsync/src/main/java/org/onosproject/intentsync/IntentSynchronizer.java +++ b/apps/intentsync/src/main/java/org/onosproject/intentsync/IntentSynchronizer.java @@ -16,12 +16,6 @@ package org.onosproject.intentsync; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.LeadershipEvent; import org.onosproject.cluster.LeadershipEventListener; @@ -34,6 +28,11 @@ import org.onosproject.net.intent.IntentService; import org.onosproject.net.intent.IntentState; import org.onosproject.net.intent.IntentUtils; import org.onosproject.net.intent.Key; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -51,8 +50,8 @@ import static org.onlab.util.Tools.groupedThreads; /** * Synchronizes intents between an in-memory intent store and the IntentService. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = { IntentSynchronizationService.class, + IntentSynchronizationAdminService.class }) public class IntentSynchronizer implements IntentSynchronizationService, IntentSynchronizationAdminService { @@ -60,16 +59,16 @@ public class IntentSynchronizer implements IntentSynchronizationService, private static final String APP_NAME = "org.onosproject.intentsynchronizer"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentService intentService; private NodeId localNodeId; diff --git a/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/impl/EventConversionManager.java b/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/impl/EventConversionManager.java index c96b81b94e..5c90325941 100644 --- a/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/impl/EventConversionManager.java +++ b/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/impl/EventConversionManager.java @@ -16,10 +16,9 @@ package org.onosproject.kafkaintegration.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.onosproject.event.Event; import org.onosproject.kafkaintegration.api.EventConversionService; import org.onosproject.kafkaintegration.api.dto.OnosEvent; @@ -38,8 +37,7 @@ import static org.onosproject.kafkaintegration.api.dto.OnosEvent.Type.LINK; * Implementation of Event Conversion Service. * */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = EventConversionService.class) public class EventConversionManager implements EventConversionService { private final Logger log = LoggerFactory.getLogger(getClass()); diff --git a/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/impl/EventSubscriptionManager.java b/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/impl/EventSubscriptionManager.java index fdb7ed5b5c..3671abbbf1 100644 --- a/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/impl/EventSubscriptionManager.java +++ b/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/impl/EventSubscriptionManager.java @@ -15,19 +15,7 @@ */ package org.onosproject.kafkaintegration.impl; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.UUID; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import com.google.common.collect.ImmutableList; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; import org.onosproject.kafkaintegration.api.EventSubscriptionService; @@ -35,25 +23,34 @@ import org.onosproject.kafkaintegration.api.KafkaConfigService; import org.onosproject.kafkaintegration.api.dto.DefaultEventSubscriber; import org.onosproject.kafkaintegration.api.dto.EventSubscriber; import org.onosproject.kafkaintegration.api.dto.EventSubscriberGroupId; -import org.onosproject.kafkaintegration.api.dto.RegistrationResponse; import org.onosproject.kafkaintegration.api.dto.OnosEvent; import org.onosproject.kafkaintegration.api.dto.OnosEvent.Type; +import org.onosproject.kafkaintegration.api.dto.RegistrationResponse; import org.onosproject.kafkaintegration.errors.InvalidApplicationException; import org.onosproject.kafkaintegration.errors.InvalidGroupIdException; import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.collect.ImmutableList; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.UUID; + +import static com.google.common.base.Preconditions.checkNotNull; /** * Implementation of Event Subscription Manager. * */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = EventSubscriptionService.class) public class EventSubscriptionManager implements EventSubscriptionService { private final Logger log = LoggerFactory.getLogger(getClass()); @@ -67,13 +64,13 @@ public class EventSubscriptionManager implements EventSubscriptionService { private static final String SUBSCRIBED_APPS = "event-subscriptions"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected KafkaConfigService kafkaConfigService; private ApplicationId appId; diff --git a/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/impl/KafkaCodecRegistrator.java b/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/impl/KafkaCodecRegistrator.java index 4af3f508f0..4ab9a0da67 100644 --- a/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/impl/KafkaCodecRegistrator.java +++ b/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/impl/KafkaCodecRegistrator.java @@ -15,11 +15,11 @@ */ package org.onosproject.kafkaintegration.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.codec.CodecService; import org.onosproject.kafkaintegration.api.dto.EventSubscriber; import org.slf4j.Logger; @@ -32,7 +32,7 @@ import org.slf4j.LoggerFactory; public class KafkaCodecRegistrator { private static Logger log = LoggerFactory.getLogger(KafkaCodecRegistrator .class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CodecService codecService; @Activate diff --git a/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/impl/KafkaStorageManager.java b/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/impl/KafkaStorageManager.java index 19e58caea0..138db2b507 100644 --- a/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/impl/KafkaStorageManager.java +++ b/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/impl/KafkaStorageManager.java @@ -15,12 +15,6 @@ */ package org.onosproject.kafkaintegration.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onosproject.kafkaintegration.api.KafkaEventStorageService; import org.onosproject.kafkaintegration.api.dto.OnosEvent; import org.onosproject.store.serializers.KryoNamespaces; @@ -28,17 +22,21 @@ import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.Task; import org.onosproject.store.service.WorkQueue; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; -@Component(immediate = false) -@Service +@Component(service = KafkaEventStorageService.class) public class KafkaStorageManager implements KafkaEventStorageService { - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private final Logger log = LoggerFactory.getLogger(getClass()); diff --git a/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/kafka/EventListener.java b/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/kafka/EventListener.java index 1b53c2af93..18baccbfd3 100644 --- a/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/kafka/EventListener.java +++ b/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/kafka/EventListener.java @@ -16,13 +16,13 @@ package org.onosproject.kafkaintegration.kafka; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.NodeId; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.cluster.LeadershipService; import org.onosproject.kafkaintegration.api.EventConversionService; import org.onosproject.kafkaintegration.api.EventSubscriptionService; @@ -53,25 +53,25 @@ import static org.onosproject.kafkaintegration.api.dto.OnosEvent.Type.LINK; public class EventListener { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected EventSubscriptionService eventSubscriptionService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected EventConversionService eventConversionService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected KafkaEventStorageService kafkaStoreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; private final DeviceListener deviceListener = new InternalDeviceListener(); diff --git a/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/kafka/EventPublisher.java b/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/kafka/EventPublisher.java index a42e56a98f..86d1d72e31 100644 --- a/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/kafka/EventPublisher.java +++ b/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/kafka/EventPublisher.java @@ -15,11 +15,11 @@ */ package org.onosproject.kafkaintegration.kafka; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.apache.kafka.clients.producer.ProducerRecord; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.LeadershipService; @@ -42,19 +42,19 @@ public class EventPublisher { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected KafkaConfigService kafkaConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected KafkaEventStorageService kafkaStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected KafkaPublisherService kafkaPublisher; protected ScheduledExecutorService exService; diff --git a/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/kafka/KafkaConfigManager.java b/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/kafka/KafkaConfigManager.java index 79d7baff96..aed8ba8f13 100644 --- a/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/kafka/KafkaConfigManager.java +++ b/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/kafka/KafkaConfigManager.java @@ -15,37 +15,35 @@ */ package org.onosproject.kafkaintegration.kafka; -import static com.google.common.base.Strings.isNullOrEmpty; -import static org.onlab.util.Tools.get; - -import java.util.Dictionary; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.kafkaintegration.api.KafkaConfigService; import org.onosproject.kafkaintegration.api.KafkaPublisherAdminService; import org.onosproject.kafkaintegration.api.dto.KafkaServerConfig; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Property; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Component(immediate = true) -@Service +import java.util.Dictionary; + +import static com.google.common.base.Strings.isNullOrEmpty; +import static org.onlab.util.Tools.get; + +@Component(immediate = true, service = KafkaConfigService.class) public class KafkaConfigManager implements KafkaConfigService { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService componentConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected KafkaPublisherAdminService kafkaPublisherAdminService; public static final String BOOTSTRAP_SERVERS = "localhost:9092"; diff --git a/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/kafka/PublishManager.java b/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/kafka/PublishManager.java index b3064b1fa9..5110001dac 100644 --- a/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/kafka/PublishManager.java +++ b/apps/kafka-integration/app/src/main/java/org/onosproject/kafkaintegration/kafka/PublishManager.java @@ -16,27 +16,25 @@ package org.onosproject.kafkaintegration.kafka; -import java.util.Properties; -import java.util.concurrent.Future; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.apache.kafka.clients.producer.KafkaProducer; import org.apache.kafka.clients.producer.ProducerRecord; import org.apache.kafka.clients.producer.RecordMetadata; -import org.onosproject.kafkaintegration.api.KafkaPublisherService; import org.onosproject.kafkaintegration.api.KafkaPublisherAdminService; +import org.onosproject.kafkaintegration.api.KafkaPublisherService; import org.onosproject.kafkaintegration.api.dto.KafkaServerConfig; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Properties; +import java.util.concurrent.Future; + /** * Implementation of a Kafka Producer. */ -@Component -@Service +@Component(service = { KafkaPublisherService.class, KafkaPublisherAdminService.class }) public class PublishManager implements KafkaPublisherService, KafkaPublisherAdminService { private KafkaProducer kafkaProducer = null; diff --git a/apps/l3vpn/src/main/java/org/onosproject/l3vpn/netl3vpn/impl/DistributedNetL3VpnStore.java b/apps/l3vpn/src/main/java/org/onosproject/l3vpn/netl3vpn/impl/DistributedNetL3VpnStore.java index 28a90da0b5..5178d5e863 100644 --- a/apps/l3vpn/src/main/java/org/onosproject/l3vpn/netl3vpn/impl/DistributedNetL3VpnStore.java +++ b/apps/l3vpn/src/main/java/org/onosproject/l3vpn/netl3vpn/impl/DistributedNetL3VpnStore.java @@ -16,12 +16,6 @@ package org.onosproject.l3vpn.netl3vpn.impl; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.l3vpn.netl3vpn.AccessInfo; import org.onosproject.l3vpn.netl3vpn.BgpInfo; @@ -47,6 +41,11 @@ import org.onosproject.yang.model.ListKey; import org.onosproject.yang.model.NodeKey; import org.onosproject.yang.model.ResourceId; import org.onosproject.yang.model.SchemaId; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Map; @@ -59,8 +58,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Manages the pool of available VPN instances and its associated devices * and interface information. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = NetL3VpnStore.class) public class DistributedNetL3VpnStore implements NetL3VpnStore { private static final Serializer L3VPN_SERIALIZER = Serializer @@ -95,7 +93,7 @@ public class DistributedNetL3VpnStore implements NetL3VpnStore { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; /** diff --git a/apps/l3vpn/src/main/java/org/onosproject/l3vpn/netl3vpn/impl/NetL3VpnManager.java b/apps/l3vpn/src/main/java/org/onosproject/l3vpn/netl3vpn/impl/NetL3VpnManager.java index b7d4ddd01a..7c1ccf883b 100644 --- a/apps/l3vpn/src/main/java/org/onosproject/l3vpn/netl3vpn/impl/NetL3VpnManager.java +++ b/apps/l3vpn/src/main/java/org/onosproject/l3vpn/netl3vpn/impl/NetL3VpnManager.java @@ -15,11 +15,11 @@ */ package org.onosproject.l3vpn.netl3vpn.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.util.AbstractAccumulator; import org.onlab.util.Accumulator; import org.onosproject.cluster.ClusterService; @@ -154,31 +154,31 @@ public class NetL3VpnManager { private final InternalLeadershipListener leadershipEventListener = new InternalLeadershipListener(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ModelConverter modelConverter; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DynamicConfigService configService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetL3VpnStore l3VpnStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PceService pceService; protected IdGenerator l3VpnIdGen; diff --git a/apps/layout/src/main/java/org/onosproject/layout/RoleBasedLayoutManager.java b/apps/layout/src/main/java/org/onosproject/layout/RoleBasedLayoutManager.java index 932e62601e..ce01c98016 100644 --- a/apps/layout/src/main/java/org/onosproject/layout/RoleBasedLayoutManager.java +++ b/apps/layout/src/main/java/org/onosproject/layout/RoleBasedLayoutManager.java @@ -17,12 +17,6 @@ package org.onosproject.layout; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.config.NetworkConfigService; import org.onosproject.net.device.DeviceService; import org.onosproject.net.host.HostService; @@ -34,6 +28,11 @@ import org.onosproject.ui.UiTopoOverlay; import org.onosproject.ui.UiTopoOverlayFactory; import org.onosproject.ui.UiView; import org.onosproject.ui.UiViewHidden; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -44,8 +43,7 @@ import java.util.List; * supported layout variants using roles assigned to network elements using * network configuration. */ -@Component(immediate = true) -@Service(value = RoleBasedLayoutManager.class) +@Component(immediate = true, service = RoleBasedLayoutManager.class) public class RoleBasedLayoutManager { private Logger log = LoggerFactory.getLogger(getClass()); @@ -74,19 +72,19 @@ public class RoleBasedLayoutManager { .topoOverlayFactory(topoOverlayFactory) .build(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService networkConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UiExtensionService uiExtensionService; @Activate diff --git a/apps/learning-switch/src/main/java/org/onosproject/learningswitch/LearningSwitchSolution.java b/apps/learning-switch/src/main/java/org/onosproject/learningswitch/LearningSwitchSolution.java index 621d16dee7..8dd07fde05 100644 --- a/apps/learning-switch/src/main/java/org/onosproject/learningswitch/LearningSwitchSolution.java +++ b/apps/learning-switch/src/main/java/org/onosproject/learningswitch/LearningSwitchSolution.java @@ -16,11 +16,11 @@ package org.onosproject.learningswitch; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.Ethernet; import org.onlab.packet.MacAddress; import org.onosproject.core.ApplicationId; @@ -52,13 +52,13 @@ import java.util.Optional; public class LearningSwitchSolution { // Instantiates the relevant services. - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; private final Logger log = LoggerFactory.getLogger(getClass()); diff --git a/apps/learning-switch/src/main/java/org/onosproject/learningswitch/LearningSwitchTutorial.java b/apps/learning-switch/src/main/java/org/onosproject/learningswitch/LearningSwitchTutorial.java index 3a9c8b7dd3..1cfd87620b 100644 --- a/apps/learning-switch/src/main/java/org/onosproject/learningswitch/LearningSwitchTutorial.java +++ b/apps/learning-switch/src/main/java/org/onosproject/learningswitch/LearningSwitchTutorial.java @@ -16,11 +16,11 @@ package org.onosproject.learningswitch; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.Ethernet; import org.onlab.packet.MacAddress; import org.onosproject.core.ApplicationId; @@ -48,13 +48,13 @@ import java.util.Optional; public class LearningSwitchTutorial { // Instantiates the relevant services. - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; private final Logger log = LoggerFactory.getLogger(getClass()); diff --git a/apps/linkprops/src/main/java/org/onosproject/linkprops/LinkPropApp.java b/apps/linkprops/src/main/java/org/onosproject/linkprops/LinkPropApp.java index e3c577c19d..3e0cd8973e 100644 --- a/apps/linkprops/src/main/java/org/onosproject/linkprops/LinkPropApp.java +++ b/apps/linkprops/src/main/java/org/onosproject/linkprops/LinkPropApp.java @@ -16,11 +16,11 @@ package org.onosproject.linkprops; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.ui.UiExtension; import org.onosproject.ui.UiExtensionService; import org.onosproject.ui.UiMessageHandlerFactory; @@ -43,7 +43,7 @@ public class LinkPropApp { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UiExtensionService uiExtensionService; // List of application views diff --git a/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/MappingCodecRegistrator.java b/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/MappingCodecRegistrator.java index 1bd5f96dc6..83f9e09b4b 100644 --- a/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/MappingCodecRegistrator.java +++ b/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/MappingCodecRegistrator.java @@ -15,11 +15,11 @@ */ package org.onosproject.mapping; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.codec.CodecService; import org.onosproject.mapping.actions.MappingAction; import org.onosproject.mapping.addresses.MappingAddress; @@ -43,7 +43,7 @@ public class MappingCodecRegistrator { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public CodecService codecService; @Activate diff --git a/apps/mappingmanagement/mgr/src/main/java/org/onosproject/mapping/impl/DistributedMappingStore.java b/apps/mappingmanagement/mgr/src/main/java/org/onosproject/mapping/impl/DistributedMappingStore.java index 4fca6e0d8b..45944d9773 100644 --- a/apps/mappingmanagement/mgr/src/main/java/org/onosproject/mapping/impl/DistributedMappingStore.java +++ b/apps/mappingmanagement/mgr/src/main/java/org/onosproject/mapping/impl/DistributedMappingStore.java @@ -18,12 +18,6 @@ package org.onosproject.mapping.impl; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.mapping.DefaultMapping; import org.onosproject.mapping.DefaultMappingEntry; import org.onosproject.mapping.Mapping; @@ -47,6 +41,11 @@ import org.onosproject.store.service.MapEvent; import org.onosproject.store.service.MapEventListener; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Map; @@ -58,8 +57,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of a distributed store for managing mapping information. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = MappingStore.class) public class DistributedMappingStore extends AbstractStore implements MappingStore { @@ -72,10 +70,10 @@ public class DistributedMappingStore private Map databaseMap; private Map cacheMap; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; private final MapEventListener listener = new InternalListener(); diff --git a/apps/mappingmanagement/mgr/src/main/java/org/onosproject/mapping/impl/MappingManager.java b/apps/mappingmanagement/mgr/src/main/java/org/onosproject/mapping/impl/MappingManager.java index 0bbca3bca4..85b4c1d839 100644 --- a/apps/mappingmanagement/mgr/src/main/java/org/onosproject/mapping/impl/MappingManager.java +++ b/apps/mappingmanagement/mgr/src/main/java/org/onosproject/mapping/impl/MappingManager.java @@ -19,12 +19,6 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.core.ApplicationId; import org.onosproject.mapping.MappingAdminService; import org.onosproject.mapping.MappingEntry; @@ -44,6 +38,11 @@ import org.onosproject.net.DeviceId; import org.onosproject.net.device.DeviceService; import org.onosproject.net.provider.AbstractListenerProviderRegistry; import org.onosproject.net.provider.AbstractProviderService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.List; @@ -54,8 +53,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of mapping management service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = { MappingService.class, MappingAdminService.class, MappingProviderRegistry.class }) public class MappingManager extends AbstractListenerProviderRegistry @@ -66,10 +64,10 @@ public class MappingManager private static final String MAPPING_OP_TOPIC = "mapping-ops-ids"; private final MappingStoreDelegate delegate = new InternalStoreDelegate(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MappingStore store; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; @Activate diff --git a/apps/mappingmanagement/mgr/src/main/java/org/onosproject/mapping/impl/SimpleMappingStore.java b/apps/mappingmanagement/mgr/src/main/java/org/onosproject/mapping/impl/SimpleMappingStore.java index bdb898eeb8..eed42ee856 100644 --- a/apps/mappingmanagement/mgr/src/main/java/org/onosproject/mapping/impl/SimpleMappingStore.java +++ b/apps/mappingmanagement/mgr/src/main/java/org/onosproject/mapping/impl/SimpleMappingStore.java @@ -18,11 +18,6 @@ package org.onosproject.mapping.impl; import com.google.common.collect.FluentIterable; import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Service; import org.onosproject.mapping.DefaultMappingEntry; import org.onosproject.mapping.Mapping; import org.onosproject.mapping.MappingEntry; @@ -35,6 +30,10 @@ import org.onosproject.mapping.StoredMappingEntry; import org.onosproject.net.DeviceId; import org.onosproject.store.AbstractStore; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; import org.slf4j.Logger; import java.util.Collections; @@ -52,8 +51,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Manages inventory of mappings using trivial in-memory implementation. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = MappingStore.class) public class SimpleMappingStore extends AbstractStore implements MappingStore { diff --git a/apps/mappingmanagement/web/src/main/java/org/onosproject/mapping/web/gui/MappingsTopoUI.java b/apps/mappingmanagement/web/src/main/java/org/onosproject/mapping/web/gui/MappingsTopoUI.java index 9de9277818..eec55067b2 100644 --- a/apps/mappingmanagement/web/src/main/java/org/onosproject/mapping/web/gui/MappingsTopoUI.java +++ b/apps/mappingmanagement/web/src/main/java/org/onosproject/mapping/web/gui/MappingsTopoUI.java @@ -16,11 +16,11 @@ package org.onosproject.mapping.web.gui; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.ui.UiExtension; import org.onosproject.ui.UiExtensionService; import org.onosproject.ui.UiMessageHandlerFactory; @@ -44,7 +44,7 @@ public class MappingsTopoUI { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UiExtensionService uiExtensionService; // Factory for UI message handlers diff --git a/apps/mappingmanagement/web/src/main/java/org/onosproject/mapping/web/gui/MappingsUI.java b/apps/mappingmanagement/web/src/main/java/org/onosproject/mapping/web/gui/MappingsUI.java index 9f87004b6e..2b059881e0 100644 --- a/apps/mappingmanagement/web/src/main/java/org/onosproject/mapping/web/gui/MappingsUI.java +++ b/apps/mappingmanagement/web/src/main/java/org/onosproject/mapping/web/gui/MappingsUI.java @@ -16,17 +16,16 @@ package org.onosproject.mapping.web.gui; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.ui.UiExtension; import org.onosproject.ui.UiExtensionService; import org.onosproject.ui.UiMessageHandlerFactory; import org.onosproject.ui.UiView; import org.onosproject.ui.UiViewHidden; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -35,8 +34,7 @@ import java.util.List; /** * Mechanism to stream data to the GUI. */ -@Component(immediate = true, enabled = true) -@Service(value = MappingsUI.class) +@Component(immediate = true, service = MappingsUI.class) public class MappingsUI { private static final String MAPPING_ID = "mapping"; private static final String RES_PATH = "gui"; @@ -44,7 +42,7 @@ public class MappingsUI { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UiExtensionService uiExtensionService; // Factory for UI message handlers diff --git a/apps/mcast/impl/src/main/java/org/onosproject/mcast/impl/DistributedMcastRoutesStore.java b/apps/mcast/impl/src/main/java/org/onosproject/mcast/impl/DistributedMcastRoutesStore.java index c9baac3c64..e3526c4298 100644 --- a/apps/mcast/impl/src/main/java/org/onosproject/mcast/impl/DistributedMcastRoutesStore.java +++ b/apps/mcast/impl/src/main/java/org/onosproject/mcast/impl/DistributedMcastRoutesStore.java @@ -17,12 +17,6 @@ package org.onosproject.mcast.impl; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.mcast.api.McastEvent; import org.onosproject.mcast.api.McastRoute; @@ -39,6 +33,11 @@ import org.onosproject.store.service.MapEventListener; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.Versioned; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collection; @@ -56,8 +55,7 @@ import static org.slf4j.LoggerFactory.getLogger; * New distributed mcast route store implementation. Routes are stored consistently * across the cluster. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = McastStore.class) public class DistributedMcastRoutesStore extends AbstractStore implements McastStore { @@ -65,7 +63,7 @@ public class DistributedMcastRoutesStore private static final String MCASTRIB = "onos-mcast-route-table"; private Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private Map mcastRoutes; diff --git a/apps/mcast/impl/src/main/java/org/onosproject/mcast/impl/MulticastRouteManager.java b/apps/mcast/impl/src/main/java/org/onosproject/mcast/impl/MulticastRouteManager.java index bc848d1df7..a004c8dcf0 100644 --- a/apps/mcast/impl/src/main/java/org/onosproject/mcast/impl/MulticastRouteManager.java +++ b/apps/mcast/impl/src/main/java/org/onosproject/mcast/impl/MulticastRouteManager.java @@ -18,12 +18,6 @@ package org.onosproject.mcast.impl; import com.google.common.base.Objects; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onosproject.event.AbstractListenerManager; import org.onosproject.mcast.api.McastEvent; @@ -40,6 +34,11 @@ import org.onosproject.net.HostLocation; import org.onosproject.net.host.HostEvent; import org.onosproject.net.host.HostListener; import org.onosproject.net.host.HostService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.HashSet; @@ -56,8 +55,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * An implementation of a multicast route table. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = MulticastRouteService.class) public class MulticastRouteManager extends AbstractListenerManager implements MulticastRouteService { @@ -67,10 +65,10 @@ public class MulticastRouteManager private final McastStoreDelegate delegate = new InternalMcastStoreDelegate(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected McastStore store; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; private HostListener hostListener = new InternalHostListener(); diff --git a/apps/mcast/web/src/main/java/org/onosproject/mcast/web/McastServiceCodecRegistrator.java b/apps/mcast/web/src/main/java/org/onosproject/mcast/web/McastServiceCodecRegistrator.java index 90ba1701b4..ab0c99053e 100644 --- a/apps/mcast/web/src/main/java/org/onosproject/mcast/web/McastServiceCodecRegistrator.java +++ b/apps/mcast/web/src/main/java/org/onosproject/mcast/web/McastServiceCodecRegistrator.java @@ -15,11 +15,11 @@ */ package org.onosproject.mcast.web; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.codec.CodecService; import org.onosproject.mcast.api.McastRoute; import org.slf4j.Logger; @@ -34,7 +34,7 @@ public class McastServiceCodecRegistrator { private static Logger log = LoggerFactory.getLogger(McastServiceCodecRegistrator.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CodecService codecService; @Activate diff --git a/apps/metrics/src/main/java/org/onosproject/metrics/intent/IntentMetrics.java b/apps/metrics/src/main/java/org/onosproject/metrics/intent/IntentMetrics.java index b1d91887fc..8fa618a48a 100644 --- a/apps/metrics/src/main/java/org/onosproject/metrics/intent/IntentMetrics.java +++ b/apps/metrics/src/main/java/org/onosproject/metrics/intent/IntentMetrics.java @@ -15,18 +15,7 @@ */ package org.onosproject.metrics.intent; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.LinkedList; -import java.util.List; - import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.metrics.EventMetric; import org.onlab.metrics.MetricsService; import org.onosproject.core.ApplicationId; @@ -34,24 +23,33 @@ import org.onosproject.core.CoreService; import org.onosproject.net.intent.IntentEvent; import org.onosproject.net.intent.IntentListener; import org.onosproject.net.intent.IntentService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; +import java.util.LinkedList; +import java.util.List; + +import static org.slf4j.LoggerFactory.getLogger; + /** * ONOS Intent Metrics Application that collects intent-related metrics. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = { IntentMetricsService.class, IntentListener.class }) public class IntentMetrics implements IntentMetricsService, IntentListener { private static final Logger log = getLogger(IntentMetrics.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentService intentService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MetricsService metricsService; private ApplicationId appId; diff --git a/apps/metrics/src/main/java/org/onosproject/metrics/topology/TopologyMetrics.java b/apps/metrics/src/main/java/org/onosproject/metrics/topology/TopologyMetrics.java index 1850ed8d86..77d8d5ecd0 100644 --- a/apps/metrics/src/main/java/org/onosproject/metrics/topology/TopologyMetrics.java +++ b/apps/metrics/src/main/java/org/onosproject/metrics/topology/TopologyMetrics.java @@ -15,18 +15,7 @@ */ package org.onosproject.metrics.topology; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.LinkedList; -import java.util.List; - import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.metrics.EventMetric; import org.onlab.metrics.MetricsService; import org.onosproject.core.ApplicationId; @@ -44,32 +33,41 @@ import org.onosproject.net.link.LinkService; import org.onosproject.net.topology.TopologyEvent; import org.onosproject.net.topology.TopologyListener; import org.onosproject.net.topology.TopologyService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; +import java.util.LinkedList; +import java.util.List; + +import static org.slf4j.LoggerFactory.getLogger; + /** * ONOS Topology Metrics Application that collects topology-related metrics. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = TopologyMetricsService.class) public class TopologyMetrics implements TopologyMetricsService { private static final Logger log = getLogger(TopologyMetrics.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MetricsService metricsService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TopologyService topologyService; private ApplicationId appId; diff --git a/apps/mfwd/src/main/java/org/onosproject/mfwd/impl/McastForwarding.java b/apps/mfwd/src/main/java/org/onosproject/mfwd/impl/McastForwarding.java index 811c05d767..d61a5e6ee5 100644 --- a/apps/mfwd/src/main/java/org/onosproject/mfwd/impl/McastForwarding.java +++ b/apps/mfwd/src/main/java/org/onosproject/mfwd/impl/McastForwarding.java @@ -15,11 +15,11 @@ */ package org.onosproject.mfwd.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.Ethernet; import org.onlab.packet.IPv4; import org.onlab.packet.Ip4Address; @@ -68,16 +68,16 @@ public class McastForwarding { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private IntentService intentService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MulticastRouteService mcastRouteManager; protected McastIntentManager mcastIntentManager; diff --git a/apps/mlb/src/main/java/org/onosproject/mlb/MastershipLoadBalancer.java b/apps/mlb/src/main/java/org/onosproject/mlb/MastershipLoadBalancer.java index 3bd3cefa55..ca6cd595cf 100644 --- a/apps/mlb/src/main/java/org/onosproject/mlb/MastershipLoadBalancer.java +++ b/apps/mlb/src/main/java/org/onosproject/mlb/MastershipLoadBalancer.java @@ -16,13 +16,6 @@ package org.onosproject.mlb; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.cluster.ClusterService; @@ -34,10 +27,16 @@ import org.onosproject.mastership.MastershipAdminService; import org.onosproject.mastership.MastershipEvent; import org.onosproject.mastership.MastershipListener; import org.onosproject.mastership.MastershipService; -import org.osgi.service.component.ComponentContext; import org.onosproject.net.region.RegionEvent; import org.onosproject.net.region.RegionListener; import org.onosproject.net.region.RegionService; +import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Dictionary; @@ -63,8 +62,8 @@ public class MastershipLoadBalancer { private final Logger log = getLogger(getClass()); private static final int DEFAULT_SCHEDULE_PERIOD = 30; - @Property(name = "schedulePeriod", intValue = DEFAULT_SCHEDULE_PERIOD, - label = "Period to schedule balancing the mastership to be shared as evenly as by all online instances.") + //@Property(name = "schedulePeriod", intValue = DEFAULT_SCHEDULE_PERIOD, + // label = "Period to schedule balancing the mastership to be shared as evenly as by all online instances.") private int schedulePeriod = DEFAULT_SCHEDULE_PERIOD; private static final String REBALANCE_MASTERSHIP = "rebalance/mastership"; @@ -75,22 +74,22 @@ public class MastershipLoadBalancer { private AtomicReference nextTask = new AtomicReference<>(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipAdminService mastershipAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RegionService regionService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; private InnerLeadershipListener leadershipListener = new InnerLeadershipListener(); diff --git a/apps/mobility/src/main/java/org/onosproject/mobility/HostMobility.java b/apps/mobility/src/main/java/org/onosproject/mobility/HostMobility.java index 5c7343b33c..79da063072 100644 --- a/apps/mobility/src/main/java/org/onosproject/mobility/HostMobility.java +++ b/apps/mobility/src/main/java/org/onosproject/mobility/HostMobility.java @@ -22,11 +22,11 @@ import java.util.Collection; import java.util.List; import java.util.concurrent.ExecutorService; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; import org.onosproject.net.Device; @@ -54,16 +54,16 @@ public class HostMobility { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; private ApplicationId appId; diff --git a/apps/netconf/client/src/main/java/org/onosproject/netconf/client/impl/NetconfActiveComponent.java b/apps/netconf/client/src/main/java/org/onosproject/netconf/client/impl/NetconfActiveComponent.java index 33b52a4529..7bf380c0cf 100644 --- a/apps/netconf/client/src/main/java/org/onosproject/netconf/client/impl/NetconfActiveComponent.java +++ b/apps/netconf/client/src/main/java/org/onosproject/netconf/client/impl/NetconfActiveComponent.java @@ -17,11 +17,11 @@ package org.onosproject.netconf.client.impl; import com.google.common.annotations.Beta; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.config.DynamicConfigEvent; import org.onosproject.config.DynamicConfigListener; import org.onosproject.config.DynamicConfigService; @@ -63,16 +63,16 @@ import static com.google.common.base.Preconditions.checkNotNull; public class NetconfActiveComponent implements DynamicConfigListener { private static final Logger log = LoggerFactory.getLogger(NetconfActiveComponent.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DynamicConfigService cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetconfTranslator netconfTranslator; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetconfController controller; private final Accumulator accumulator = new InternalEventAccummulator(); diff --git a/apps/netconf/client/src/main/java/org/onosproject/netconf/client/impl/NetconfTranslatorImpl.java b/apps/netconf/client/src/main/java/org/onosproject/netconf/client/impl/NetconfTranslatorImpl.java index f663fd0d40..84ae19b10f 100644 --- a/apps/netconf/client/src/main/java/org/onosproject/netconf/client/impl/NetconfTranslatorImpl.java +++ b/apps/netconf/client/src/main/java/org/onosproject/netconf/client/impl/NetconfTranslatorImpl.java @@ -17,12 +17,6 @@ package org.onosproject.netconf.client.impl; import com.google.common.annotations.Beta; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.cluster.NodeId; import org.onosproject.net.DeviceId; import org.onosproject.netconf.NetconfController; @@ -31,6 +25,7 @@ import org.onosproject.netconf.NetconfException; import org.onosproject.netconf.NetconfSession; import org.onosproject.netconf.client.NetconfTranslator; import org.onosproject.yang.model.DataNode; +import org.onosproject.yang.model.DefaultResourceData; import org.onosproject.yang.model.InnerNode; import org.onosproject.yang.model.KeyLeaf; import org.onosproject.yang.model.LeafListKey; @@ -47,13 +42,17 @@ import org.onosproject.yang.runtime.DefaultAnnotatedNodeInfo; import org.onosproject.yang.runtime.DefaultAnnotation; import org.onosproject.yang.runtime.DefaultCompositeData; import org.onosproject.yang.runtime.DefaultCompositeStream; -import org.onosproject.yang.model.DefaultResourceData; import org.onosproject.yang.runtime.DefaultRuntimeContext; import org.onosproject.yang.runtime.DefaultYangSerializerContext; +import org.onosproject.yang.runtime.SerializerHelper; import org.onosproject.yang.runtime.YangRuntimeService; import org.onosproject.yang.runtime.YangSerializerContext; -import org.onosproject.yang.runtime.SerializerHelper; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -89,8 +88,7 @@ import static org.onosproject.yang.runtime.SerializerHelper.addDataNode; * will be no session available. */ @Beta -@Service -@Component(immediate = true) +@Component(immediate = true, service = NetconfTranslator.class) public class NetconfTranslatorImpl implements NetconfTranslator { private static final Logger log = LoggerFactory @@ -120,13 +118,13 @@ public class NetconfTranslatorImpl implements NetconfTranslator { private static final String XMLNS_XC_SPECIFIER = "xmlns:xc"; private static final String XMLNS_SPECIFIER = "xmlns"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetconfController netconfController; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected YangRuntimeService yangRuntimeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected SchemaContextProvider schemaContextProvider; @Activate diff --git a/apps/network-troubleshoot/core/src/main/java/org/onosproject/fnl/impl/NetworkDiagnosticManager.java b/apps/network-troubleshoot/core/src/main/java/org/onosproject/fnl/impl/NetworkDiagnosticManager.java index db004e94af..3a9635cb9b 100644 --- a/apps/network-troubleshoot/core/src/main/java/org/onosproject/fnl/impl/NetworkDiagnosticManager.java +++ b/apps/network-troubleshoot/core/src/main/java/org/onosproject/fnl/impl/NetworkDiagnosticManager.java @@ -15,27 +15,25 @@ */ package org.onosproject.fnl.impl; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Deactivate; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; +import org.onosproject.core.ApplicationId; +import org.onosproject.core.CoreService; import org.onosproject.fnl.intf.NetworkAnomaly; import org.onosproject.fnl.intf.NetworkDiagnostic; import org.onosproject.fnl.intf.NetworkDiagnostic.Type; import org.onosproject.fnl.intf.NetworkDiagnosticService; -import org.onosproject.core.ApplicationId; -import org.onosproject.core.CoreService; import org.onosproject.net.device.DeviceService; import org.onosproject.net.flow.FlowRuleService; import org.onosproject.net.host.HostService; import org.onosproject.net.link.LinkService; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -52,8 +50,7 @@ import static com.google.common.base.Preconditions.checkNotNull; * * It is simply modularized at present. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = NetworkDiagnosticService.class) public class NetworkDiagnosticManager implements NetworkDiagnosticService { /** @@ -67,30 +64,30 @@ public class NetworkDiagnosticManager implements NetworkDiagnosticService { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; // ------ service below is for auto register ------ - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService ds; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hs; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService frs; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService ls; - @Property(name = PROPERTY_AUTO_REGISTER_DIAG, boolValue = true, - label = "Automatically register all of default diagnostic modules.") + //@Property(name = PROPERTY_AUTO_REGISTER_DIAG, boolValue = true, + // label = "Automatically register all of default diagnostic modules.") private boolean autoRegister = true; diff --git a/apps/newoptical/src/main/java/org/onosproject/newoptical/OpticalPathProvisioner.java b/apps/newoptical/src/main/java/org/onosproject/newoptical/OpticalPathProvisioner.java index e907cf5faa..19edcbc1fd 100644 --- a/apps/newoptical/src/main/java/org/onosproject/newoptical/OpticalPathProvisioner.java +++ b/apps/newoptical/src/main/java/org/onosproject/newoptical/OpticalPathProvisioner.java @@ -18,14 +18,12 @@ package org.onosproject.newoptical; import com.google.common.annotations.Beta; import com.google.common.collect.ImmutableList; import org.apache.commons.lang3.tuple.Pair; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.graph.DefaultEdgeWeigher; import org.onlab.graph.ScalarWeight; import org.onlab.graph.Weight; @@ -114,8 +112,7 @@ import static org.onosproject.net.optical.device.OpticalDeviceServiceView.optica * Main component to configure optical connectivity. */ @Beta -@Service -@Component(immediate = true) +@Component(immediate = true, service = OpticalPathService.class) public class OpticalPathProvisioner extends AbstractListenerManager implements OpticalPathService { @@ -132,40 +129,40 @@ public class OpticalPathProvisioner private static final String CONNECTIVITY_MAP_NAME = "newoptical-connectivity"; private static final String CROSSCONNECTLINK_SET_NAME = "newoptical-crossconnectlink"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentService intentService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TopologyService topologyService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService networkConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ResourceService resourceService; private static final String MAX_PATHS = "maxPaths"; private static final int DEFAULT_MAX_PATHS = 10; - @Property(name = MAX_PATHS, intValue = DEFAULT_MAX_PATHS, - label = "Maximum number of paths to consider for path provisioning") + //@Property(name = MAX_PATHS, intValue = DEFAULT_MAX_PATHS, + // label = "Maximum number of paths to consider for path provisioning") private int maxPaths = DEFAULT_MAX_PATHS; private ApplicationId appId; diff --git a/apps/nodemetrics/mgr/src/main/java/org/onosproject/nodemetrics/impl/NodeMetricsManager.java b/apps/nodemetrics/mgr/src/main/java/org/onosproject/nodemetrics/impl/NodeMetricsManager.java index 812ebb77b3..7ae4cec9f3 100644 --- a/apps/nodemetrics/mgr/src/main/java/org/onosproject/nodemetrics/impl/NodeMetricsManager.java +++ b/apps/nodemetrics/mgr/src/main/java/org/onosproject/nodemetrics/impl/NodeMetricsManager.java @@ -15,16 +15,6 @@ */ package org.onosproject.nodemetrics.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.osgi.service.component.ComponentContext; -import org.onosproject.cfg.ComponentConfigService; import org.hyperic.sigar.CpuPerc; import org.hyperic.sigar.FileSystemUsage; import org.hyperic.sigar.Mem; @@ -32,6 +22,7 @@ import org.hyperic.sigar.Sigar; import org.hyperic.sigar.SigarException; import org.onlab.util.KryoNamespace; import org.onlab.util.Tools; +import org.onosproject.cfg.ComponentConfigService; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.NodeId; import org.onosproject.core.ApplicationId; @@ -45,9 +36,17 @@ import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.EventuallyConsistentMap; import org.onosproject.store.service.LogicalClockService; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Dictionary; import java.util.Map; import java.util.Objects; import java.util.concurrent.Executors; @@ -55,12 +54,11 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; -import java.util.Dictionary; + import static org.onlab.util.Tools.getIntegerProperty; -@Service -@Component(immediate = true) +@Component(immediate = true, service = NodeMetricsService.class) public class NodeMetricsManager implements NodeMetricsService { private static final int DEFAULT_POLL_FREQUENCY_SECONDS = 15; private static final String SLASH = "/"; @@ -68,19 +66,19 @@ public class NodeMetricsManager implements NodeMetricsService { private final Logger log = LoggerFactory .getLogger(this.getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LogicalClockService clockService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; private ScheduledExecutorService metricsExecutor; @@ -95,8 +93,8 @@ public class NodeMetricsManager implements NodeMetricsService { private Sigar sigar; - @Property(name = "metricPollFrequencySeconds", intValue = DEFAULT_POLL_FREQUENCY_SECONDS, - label = "Frequency (in seconds) for polling controller metrics") + //@Property(name = "metricPollFrequencySeconds", intValue = DEFAULT_POLL_FREQUENCY_SECONDS, + // label = "Frequency (in seconds) for polling controller metrics") protected int metricPollFrequencySeconds = DEFAULT_POLL_FREQUENCY_SECONDS; @Activate diff --git a/apps/odtn/api/src/main/java/org/onosproject/odtn/utils/YangToolUtil.java b/apps/odtn/api/src/main/java/org/onosproject/odtn/utils/YangToolUtil.java index b0d56cbafe..608209e6f6 100644 --- a/apps/odtn/api/src/main/java/org/onosproject/odtn/utils/YangToolUtil.java +++ b/apps/odtn/api/src/main/java/org/onosproject/odtn/utils/YangToolUtil.java @@ -32,11 +32,11 @@ import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.osgi.DefaultServiceDirectory; import org.onosproject.yang.model.DataNode; import org.onosproject.yang.model.DefaultModelObjectData; @@ -71,11 +71,11 @@ import com.google.common.io.CharStreams; public class YangToolUtil { private static final Logger log = getLogger(YangToolUtil.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected YangRuntimeService yangRuntimeService; protected static YangRuntimeService yrs; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ModelConverter modelConverter; protected static ModelConverter converter; diff --git a/apps/odtn/service/src/main/java/org/onosproject/odtn/impl/ServiceApplicationComponent.java b/apps/odtn/service/src/main/java/org/onosproject/odtn/impl/ServiceApplicationComponent.java index ff813e50f8..a77b5a3c31 100644 --- a/apps/odtn/service/src/main/java/org/onosproject/odtn/impl/ServiceApplicationComponent.java +++ b/apps/odtn/service/src/main/java/org/onosproject/odtn/impl/ServiceApplicationComponent.java @@ -20,11 +20,11 @@ package org.onosproject.odtn.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.net.ConnectPoint; import org.onosproject.net.DeviceId; import org.onosproject.net.Link; @@ -71,28 +71,28 @@ public class ServiceApplicationComponent { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DynamicConfigService dynConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService netcfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry netcfgRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RpcRegistry rpcRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TapiTopologyManager tapiTopologyManager; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TapiResolver resolver; // Listener for events from the DCS diff --git a/apps/odtn/service/src/main/java/org/onosproject/odtn/internal/DcsBasedTapiTopologyManager.java b/apps/odtn/service/src/main/java/org/onosproject/odtn/internal/DcsBasedTapiTopologyManager.java index 659e984dc8..585e2823f1 100644 --- a/apps/odtn/service/src/main/java/org/onosproject/odtn/internal/DcsBasedTapiTopologyManager.java +++ b/apps/odtn/service/src/main/java/org/onosproject/odtn/internal/DcsBasedTapiTopologyManager.java @@ -16,35 +16,32 @@ package org.onosproject.odtn.internal; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.config.DynamicConfigService; - import org.onosproject.net.ConnectPoint; import org.onosproject.net.Device; import org.onosproject.net.DeviceId; import org.onosproject.net.Link; import org.onosproject.net.Port; - import org.onosproject.odtn.TapiResolver; import org.onosproject.odtn.TapiTopologyManager; -import org.onosproject.odtn.utils.tapi.TapiLinkHandler; import org.onosproject.odtn.utils.tapi.TapiCepHandler; -import org.onosproject.odtn.utils.tapi.TapiNepRef; -import org.onosproject.odtn.utils.tapi.TapiNodeRef; import org.onosproject.odtn.utils.tapi.TapiContextHandler; +import org.onosproject.odtn.utils.tapi.TapiLinkHandler; import org.onosproject.odtn.utils.tapi.TapiNepHandler; +import org.onosproject.odtn.utils.tapi.TapiNepRef; import org.onosproject.odtn.utils.tapi.TapiNodeHandler; +import org.onosproject.odtn.utils.tapi.TapiNodeRef; import org.onosproject.odtn.utils.tapi.TapiSipHandler; import org.onosproject.odtn.utils.tapi.TapiTopologyHandler; import org.onosproject.yang.gen.v1.tapicommon.rev20180307.tapicommon.DefaultContext; import org.onosproject.yang.gen.v1.tapicommon.rev20180307.tapicommon.Uuid; import org.onosproject.yang.gen.v1.tapitopology.rev20180307.tapitopology.topologycontext.DefaultTopology; import org.onosproject.yang.model.ModelConverter; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import static org.slf4j.LoggerFactory.getLogger; @@ -52,19 +49,18 @@ import static org.slf4j.LoggerFactory.getLogger; /** * OSGi Component for ODTN TAPI topology manager application. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = TapiTopologyManager.class) public class DcsBasedTapiTopologyManager implements TapiTopologyManager { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DynamicConfigService dcs; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ModelConverter modelConverter; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TapiResolver tapiResolver; private DefaultContext context; diff --git a/apps/odtn/service/src/main/java/org/onosproject/odtn/internal/DefaultTapiResolver.java b/apps/odtn/service/src/main/java/org/onosproject/odtn/internal/DefaultTapiResolver.java index f309d6d36c..81098b4de0 100644 --- a/apps/odtn/service/src/main/java/org/onosproject/odtn/internal/DefaultTapiResolver.java +++ b/apps/odtn/service/src/main/java/org/onosproject/odtn/internal/DefaultTapiResolver.java @@ -16,6 +16,16 @@ package org.onosproject.odtn.internal; +import org.onosproject.net.ConnectPoint; +import org.onosproject.net.ElementId; +import org.onosproject.odtn.TapiResolver; +import org.onosproject.odtn.utils.tapi.TapiNepRef; +import org.onosproject.odtn.utils.tapi.TapiNodeRef; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.slf4j.Logger; + import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -23,24 +33,13 @@ import java.util.NoSuchElementException; import java.util.concurrent.CopyOnWriteArrayList; import java.util.stream.Collectors; import java.util.stream.Stream; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; -import org.onosproject.net.ConnectPoint; -import org.onosproject.net.ElementId; -import org.onosproject.odtn.TapiResolver; -import org.onosproject.odtn.utils.tapi.TapiNepRef; -import org.onosproject.odtn.utils.tapi.TapiNodeRef; -import org.slf4j.Logger; import static org.slf4j.LoggerFactory.getLogger; /** * OSGi Component for ODTN TAPI resolver application. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = TapiResolver.class) public class DefaultTapiResolver implements TapiResolver { private final Logger log = getLogger(getClass()); diff --git a/apps/ofagent/src/main/java/org/onosproject/ofagent/impl/DistributedOFAgentStore.java b/apps/ofagent/src/main/java/org/onosproject/ofagent/impl/DistributedOFAgentStore.java index 7e412439a5..4dd6a2a43e 100644 --- a/apps/ofagent/src/main/java/org/onosproject/ofagent/impl/DistributedOFAgentStore.java +++ b/apps/ofagent/src/main/java/org/onosproject/ofagent/impl/DistributedOFAgentStore.java @@ -16,12 +16,6 @@ package org.onosproject.ofagent.impl; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -41,6 +35,11 @@ import org.onosproject.store.service.MapEventListener; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.Versioned; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Set; @@ -51,15 +50,17 @@ import static com.google.common.base.Preconditions.checkArgument; import static java.util.concurrent.Executors.newSingleThreadExecutor; import static org.onlab.util.Tools.groupedThreads; import static org.onosproject.ofagent.api.OFAgent.State.STARTED; -import static org.onosproject.ofagent.api.OFAgentEvent.Type.*; +import static org.onosproject.ofagent.api.OFAgentEvent.Type.OFAGENT_CONTROLLER_ADDED; +import static org.onosproject.ofagent.api.OFAgentEvent.Type.OFAGENT_CONTROLLER_REMOVED; +import static org.onosproject.ofagent.api.OFAgentEvent.Type.OFAGENT_STARTED; +import static org.onosproject.ofagent.api.OFAgentEvent.Type.OFAGENT_STOPPED; import static org.onosproject.ofagent.api.OFAgentService.APPLICATION_NAME; import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of the {@link OFAgentStore} with consistent map. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = OFAgentStore.class) public class DistributedOFAgentStore extends AbstractStore implements OFAgentStore { @@ -79,10 +80,10 @@ public class DistributedOFAgentStore extends AbstractStore implements OFAgentService, OFAgentAdminService { @@ -77,19 +75,19 @@ public class OFAgentManager extends ListenerRegistry ofSwitchMap = new ConcurrentHashMap<>(); diff --git a/apps/openroadm/network/src/main/java/org/onosproject/openroadm/network/OpenRoadmNetworkModelRegistrator.java b/apps/openroadm/network/src/main/java/org/onosproject/openroadm/network/OpenRoadmNetworkModelRegistrator.java index 3854cef4bb..0ff0d3d1aa 100644 --- a/apps/openroadm/network/src/main/java/org/onosproject/openroadm/network/OpenRoadmNetworkModelRegistrator.java +++ b/apps/openroadm/network/src/main/java/org/onosproject/openroadm/network/OpenRoadmNetworkModelRegistrator.java @@ -16,7 +16,7 @@ package org.onosproject.openroadm.network; import com.google.common.collect.ImmutableMap; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.yang.AbstractYangModelRegistrator; import org.onosproject.yang.gen.v1.ietfinettypes.rev20130715.IetfInetTypes; import org.onosproject.yang.gen.v1.orgopenroadmcommontypes.rev20161014.OrgOpenroadmCommonTypes; diff --git a/apps/openroadm/service/src/main/java/org/onosproject/openroadm/service/OpenRoadmServiceModelRegistrator.java b/apps/openroadm/service/src/main/java/org/onosproject/openroadm/service/OpenRoadmServiceModelRegistrator.java index daf4de626e..1908a419c3 100644 --- a/apps/openroadm/service/src/main/java/org/onosproject/openroadm/service/OpenRoadmServiceModelRegistrator.java +++ b/apps/openroadm/service/src/main/java/org/onosproject/openroadm/service/OpenRoadmServiceModelRegistrator.java @@ -16,7 +16,7 @@ package org.onosproject.openroadm.service; import com.google.common.collect.ImmutableMap; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.yang.AbstractYangModelRegistrator; import org.onosproject.yang.gen.v1.ietfinettypes.rev20130715.IetfInetTypes; import org.onosproject.yang.gen.v1.ietfyangtypes.rev20130715.IetfYangTypes; diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/DistributedInstancePortStore.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/DistributedInstancePortStore.java index f48bdc357d..3ad00b560b 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/DistributedInstancePortStore.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/DistributedInstancePortStore.java @@ -16,12 +16,6 @@ package org.onosproject.openstacknetworking.impl; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -37,6 +31,11 @@ import org.onosproject.store.service.MapEventListener; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.Versioned; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Set; @@ -63,8 +62,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Manages the inventory of openstack instance port using a {@code ConsistentMap}. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = InstancePortStore.class) public class DistributedInstancePortStore extends AbstractStore implements InstancePortStore { @@ -81,10 +79,10 @@ public class DistributedInstancePortStore .register(InstancePort.State.class) .build(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private final ExecutorService eventExecutor = newSingleThreadExecutor( diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/DistributedOpenstackNetworkStore.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/DistributedOpenstackNetworkStore.java index b447b65da8..fba15997d9 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/DistributedOpenstackNetworkStore.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/DistributedOpenstackNetworkStore.java @@ -17,12 +17,6 @@ package org.onosproject.openstacknetworking.impl; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -53,6 +47,11 @@ import org.openstack4j.openstack.networking.domain.NeutronNetwork; import org.openstack4j.openstack.networking.domain.NeutronPool; import org.openstack4j.openstack.networking.domain.NeutronPort; import org.openstack4j.openstack.networking.domain.NeutronSubnet; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.LinkedHashMap; @@ -82,8 +81,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Manages the inventory of OpenStack network, subnet, and port using a {@code ConsistentMap}. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = OpenstackNetworkStore.class) public class DistributedOpenstackNetworkStore extends AbstractStore implements OpenstackNetworkStore { @@ -114,10 +112,10 @@ public class DistributedOpenstackNetworkStore .register(LinkedHashMap.class) .build(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private final ExecutorService eventExecutor = newSingleThreadExecutor( diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/DistributedOpenstackRouterStore.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/DistributedOpenstackRouterStore.java index d16647c8f3..c8bd925707 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/DistributedOpenstackRouterStore.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/DistributedOpenstackRouterStore.java @@ -17,11 +17,6 @@ package org.onosproject.openstacknetworking.impl; import com.google.common.base.Strings; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -48,6 +43,10 @@ import org.openstack4j.openstack.networking.domain.NeutronHostRoute; import org.openstack4j.openstack.networking.domain.NeutronRouter; import org.openstack4j.openstack.networking.domain.NeutronRouterInterface; import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Set; @@ -75,8 +74,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Manages the inventory of OpenStack router and floating IP using a {@code ConsistentMap}. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = OpenstackRouterStore.class) public class DistributedOpenstackRouterStore extends AbstractStore implements OpenstackRouterStore { @@ -100,13 +98,13 @@ public class DistributedOpenstackRouterStore .register(NeutronFloatingIP.class) .build(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNetworkService osNetworkService; private final ExecutorService eventExecutor = newSingleThreadExecutor( diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/DistributedSecurityGroupStore.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/DistributedSecurityGroupStore.java index 0e1a880135..ec129673f1 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/DistributedSecurityGroupStore.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/DistributedSecurityGroupStore.java @@ -16,12 +16,6 @@ package org.onosproject.openstacknetworking.impl; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -40,6 +34,11 @@ import org.openstack4j.model.network.SecurityGroup; import org.openstack4j.model.network.SecurityGroupRule; import org.openstack4j.openstack.networking.domain.NeutronSecurityGroup; import org.openstack4j.openstack.networking.domain.NeutronSecurityGroupRule; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Set; @@ -60,8 +59,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Manages the inventory of OpenStack security group using a {@code ConsistentMap}. * */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = OpenstackSecurityGroupStore.class) public class DistributedSecurityGroupStore extends AbstractStore implements OpenstackSecurityGroupStore { @@ -79,10 +77,10 @@ public class DistributedSecurityGroupStore .register(NeutronSecurityGroup.class) .build(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private final ExecutorService eventExecutor = newSingleThreadExecutor( diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/InstancePortManager.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/InstancePortManager.java index 8d346a9998..2d5c67543a 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/InstancePortManager.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/InstancePortManager.java @@ -18,12 +18,6 @@ package org.onosproject.openstacknetworking.impl; import com.google.common.base.Strings; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onlab.packet.MacAddress; import org.onosproject.cluster.ClusterService; @@ -48,6 +42,11 @@ import org.onosproject.openstacknetworking.api.InstancePortService; import org.onosproject.openstacknetworking.api.InstancePortStore; import org.onosproject.openstacknetworking.api.InstancePortStoreDelegate; import org.onosproject.openstacknetworking.api.OpenstackRouterService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Objects; @@ -68,8 +67,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Provides implementation of administering and interfacing instance ports. * It also provides instance port events for the hosts mapped to OpenStack VM interface. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = { InstancePortService.class, InstancePortAdminService.class }) public class InstancePortManager extends ListenerRegistry implements InstancePortService, InstancePortAdminService { @@ -91,22 +89,22 @@ public class InstancePortManager private static final String ERR_IN_USE = " still in use"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InstancePortStore instancePortStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackRouterService routerService; private final InstancePortStoreDelegate diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenStackSwitchingDirectPortProvider.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenStackSwitchingDirectPortProvider.java index 75e664753a..7a6253b9fe 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenStackSwitchingDirectPortProvider.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenStackSwitchingDirectPortProvider.java @@ -15,11 +15,11 @@ */ package org.onosproject.openstacknetworking.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.LeadershipService; import org.onosproject.cluster.NodeId; @@ -66,28 +66,28 @@ public final class OpenStackSwitchingDirectPortProvider { private static final String PORT_NAME = "portName"; private static final long SLEEP_MS = 3000; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNetworkService osNetworkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNodeService osNodeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InstancePortService instancePortService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; private final OpenstackNetworkListener openstackNetworkListener = new InternalOpenstackNetworkListener(); diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackFlowRuleManager.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackFlowRuleManager.java index a1289c4625..2ea740075b 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackFlowRuleManager.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackFlowRuleManager.java @@ -16,12 +16,6 @@ package org.onosproject.openstacknetworking.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.LeadershipService; import org.onosproject.cluster.NodeId; @@ -43,6 +37,11 @@ import org.onosproject.openstacknode.api.OpenstackNode; import org.onosproject.openstacknode.api.OpenstackNodeEvent; import org.onosproject.openstacknode.api.OpenstackNodeListener; import org.onosproject.openstacknode.api.OpenstackNodeService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Objects; @@ -57,8 +56,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Sets flow rules directly using FlowRuleService. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = OpenstackFlowRuleService.class) public class OpenstackFlowRuleManager implements OpenstackFlowRuleService { private final Logger log = getLogger(getClass()); @@ -67,19 +65,19 @@ public class OpenstackFlowRuleManager implements OpenstackFlowRuleService { private static final int HIGH_PRIORITY = 30000; private static final int TIMEOUT_SNAT_RULE = 60; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNodeService osNodeService; private final ExecutorService deviceEventExecutor = diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackMetadataProxyHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackMetadataProxyHandler.java index 9f928cd010..995bb21229 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackMetadataProxyHandler.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackMetadataProxyHandler.java @@ -18,11 +18,11 @@ package org.onosproject.openstacknetworking.impl; import com.google.common.collect.ImmutableSet; import org.apache.commons.lang.StringUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.apache.http.Header; import org.apache.http.HttpEntityEnclosingRequest; import org.apache.http.HttpMessage; @@ -121,28 +121,28 @@ public class OpenstackMetadataProxyHandler { private static final String HTTP_PUT_METHOD = "PUT"; private static final String HTTP_DELETE_METHOD = "DELETE"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNetworkService osNetworkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNodeService osNodeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InstancePortService instancePortService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackFlowRuleService osFlowRuleService; private final PacketProcessor packetProcessor = new InternalPacketProcessor(); diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackNetworkManager.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackNetworkManager.java index 1db1da1645..3491450176 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackNetworkManager.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackNetworkManager.java @@ -18,12 +18,6 @@ package org.onosproject.openstacknetworking.impl; import com.google.common.base.Strings; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.ARP; import org.onlab.packet.Ethernet; import org.onlab.packet.IpAddress; @@ -61,6 +55,11 @@ import org.openstack4j.model.network.NetworkType; import org.openstack4j.model.network.Port; import org.openstack4j.model.network.Router; import org.openstack4j.model.network.Subnet; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.nio.ByteBuffer; @@ -84,8 +83,7 @@ import static org.slf4j.LoggerFactory.getLogger; * subnet, and port. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = { OpenstackNetworkAdminService.class, OpenstackNetworkService.class }) public class OpenstackNetworkManager extends ListenerRegistry implements OpenstackNetworkAdminService, OpenstackNetworkService { @@ -117,22 +115,22 @@ public class OpenstackNetworkManager private static final int PREFIX_LENGTH = 32; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNetworkStore osNetworkStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNodeService osNodeService; private final OpenstackNetworkStoreDelegate delegate = new InternalNetworkStoreDelegate(); diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRouterManager.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRouterManager.java index 658dc4f75c..242bdc8e97 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRouterManager.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRouterManager.java @@ -17,12 +17,6 @@ package org.onosproject.openstacknetworking.impl; import com.google.common.base.Strings; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.core.CoreService; import org.onosproject.event.ListenerRegistry; import org.onosproject.openstacknetworking.api.Constants; @@ -35,6 +29,11 @@ import org.onosproject.openstacknetworking.api.OpenstackRouterStoreDelegate; import org.openstack4j.model.network.NetFloatingIP; import org.openstack4j.model.network.Router; import org.openstack4j.model.network.RouterInterface; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Objects; @@ -49,8 +48,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Provides implementation of administering and interfacing OpenStack router and * floating IP address. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = { OpenstackRouterAdminService.class, OpenstackRouterService.class }) public class OpenstackRouterManager extends ListenerRegistry implements OpenstackRouterAdminService, OpenstackRouterService { @@ -75,10 +73,10 @@ public class OpenstackRouterManager private static final String ERR_IN_USE = " still in use"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackRouterStore osRouterStore; private final OpenstackRouterStoreDelegate delegate = new InternalRouterStoreDelegate(); diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingArpHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingArpHandler.java index 7708d062cb..a6f54bd557 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingArpHandler.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingArpHandler.java @@ -18,13 +18,6 @@ package org.onosproject.openstacknetworking.impl; import com.google.common.base.Strings; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onlab.packet.ARP; import org.onlab.packet.EthType; import org.onlab.packet.Ethernet; @@ -70,6 +63,12 @@ import org.openstack4j.model.network.IP; import org.openstack4j.model.network.NetFloatingIP; import org.openstack4j.model.network.Router; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.nio.ByteBuffer; @@ -109,41 +108,41 @@ public class OpenstackRoutingArpHandler { private static final String DEVICE_OWNER_FLOATING_IP = "network:floatingip"; private static final String ARP_MODE = "arpMode"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNetworkAdminService osNetworkAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackRouterService osRouterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNodeService osNodeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InstancePortService instancePortService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackFlowRuleService osFlowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNetworkService osNetworkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService configService; - @Property(name = ARP_MODE, value = DEFAULT_ARP_MODE_STR, - label = "ARP processing mode, broadcast | proxy (default)") + //@Property(name = ARP_MODE, value = DEFAULT_ARP_MODE_STR, + // label = "ARP processing mode, broadcast | proxy (default)") protected String arpMode = DEFAULT_ARP_MODE_STR; protected String gatewayMac = DEFAULT_GATEWAY_MAC_STR; diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingFloatingIpHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingFloatingIpHandler.java index 8a59d36c8c..173b6bf7d5 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingFloatingIpHandler.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingFloatingIpHandler.java @@ -18,11 +18,11 @@ package org.onosproject.openstacknetworking.impl; import com.google.common.base.Strings; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.Ethernet; import org.onlab.packet.IpAddress; import org.onlab.packet.MacAddress; @@ -101,34 +101,34 @@ public class OpenstackRoutingFloatingIpHandler { private static final String ERR_FLOW = "Failed set flows for floating IP %s: "; private static final String ERR_UNSUPPORTED_NET_TYPE = "Unsupported network type %s"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNodeService osNodeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InstancePortAdminService instancePortService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackRouterAdminService osRouterAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNetworkService osNetworkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackFlowRuleService osFlowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PreCommitPortService preCommitPortService; private final ExecutorService eventExecutor = newSingleThreadExecutor( diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingHandler.java index 16a3e28c8b..c7b0ac1b17 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingHandler.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingHandler.java @@ -18,13 +18,6 @@ package org.onosproject.openstacknetworking.impl; import com.google.common.base.Strings; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onlab.packet.Ethernet; import org.onlab.packet.ICMP; import org.onlab.packet.IPv4; @@ -73,6 +66,12 @@ import org.openstack4j.model.network.Router; import org.openstack4j.model.network.RouterInterface; import org.openstack4j.model.network.Subnet; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -115,44 +114,44 @@ public class OpenstackRoutingHandler { private static final String ERR_UNSUPPORTED_NET_TYPE = "Unsupported network type"; private static final boolean USE_STATEFUL_SNAT = false; - @Property(name = "useStatefulSnat", boolValue = USE_STATEFUL_SNAT, - label = "Use Stateful SNAT for source NATing") + //@Property(name = "useStatefulSnat", boolValue = USE_STATEFUL_SNAT, + // label = "Use Stateful SNAT for source NATing") private boolean useStatefulSnat = USE_STATEFUL_SNAT; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNodeService osNodeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNetworkAdminService osNetworkAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackRouterService osRouterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InstancePortService instancePortService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackFlowRuleService osFlowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService configService; private final ExecutorService eventExecutor = newSingleThreadScheduledExecutor( diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingIcmpHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingIcmpHandler.java index d1ab9d70a1..0fab57f571 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingIcmpHandler.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingIcmpHandler.java @@ -16,11 +16,11 @@ package org.onosproject.openstacknetworking.impl; import com.google.common.base.Strings; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.Ethernet; import org.onlab.packet.ICMP; import org.onlab.packet.ICMPEcho; @@ -93,25 +93,25 @@ public class OpenstackRoutingIcmpHandler { private static final String ERR_REQ = "Failed to handle ICMP request: "; private static final String ERR_DUPLICATE = " already exists"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNodeService osNodeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InstancePortService instancePortService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNetworkService osNetworkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackRouterService osRouterService; private final ExecutorService eventExecutor = newSingleThreadExecutor( diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingSnatHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingSnatHandler.java index 17f4c55542..4695338406 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingSnatHandler.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingSnatHandler.java @@ -15,11 +15,11 @@ */ package org.onosproject.openstacknetworking.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.Ethernet; import org.onlab.packet.IPv4; import org.onlab.packet.IpAddress; @@ -98,31 +98,31 @@ public class OpenstackRoutingSnatHandler { private static final KryoNamespace.Builder NUMBER_SERIALIZER = KryoNamespace.newBuilder() .register(KryoNamespaces.API); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InstancePortService instancePortService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNodeService osNodeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNetworkService osNetworkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackRouterService osRouterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackFlowRuleService osFlowRuleService; private final ExecutorService eventExecutor = newSingleThreadExecutor( diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSecurityGroupHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSecurityGroupHandler.java index 55f9c459ff..114cc44933 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSecurityGroupHandler.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSecurityGroupHandler.java @@ -19,13 +19,6 @@ package org.onosproject.openstacknetworking.impl; import com.google.common.base.Strings; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onlab.packet.Ethernet; import org.onlab.packet.IPv4; import org.onlab.packet.Ip4Address; @@ -68,6 +61,12 @@ import org.openstack4j.model.network.SecurityGroup; import org.openstack4j.model.network.SecurityGroupRule; import org.openstack4j.openstack.networking.domain.NeutronSecurityGroupRule; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collections; @@ -81,9 +80,9 @@ import java.util.stream.Collectors; import static java.util.concurrent.Executors.newSingleThreadExecutor; import static org.onlab.util.Tools.groupedThreads; import static org.onosproject.openstacknetworking.api.Constants.ACL_TABLE; -import static org.onosproject.openstacknetworking.api.Constants.JUMP_TABLE; import static org.onosproject.openstacknetworking.api.Constants.CT_TABLE; import static org.onosproject.openstacknetworking.api.Constants.ERROR_TABLE; +import static org.onosproject.openstacknetworking.api.Constants.JUMP_TABLE; import static org.onosproject.openstacknetworking.api.Constants.OPENSTACK_NETWORKING_APP_ID; import static org.onosproject.openstacknetworking.api.Constants.PRIORITY_ACL_RULE; import static org.onosproject.openstacknetworking.api.Constants.PRIORITY_CT_DROP_RULE; @@ -105,41 +104,41 @@ public class OpenstackSecurityGroupHandler { private static final boolean USE_SECURITY_GROUP = false; - @Property(name = "useSecurityGroup", boolValue = USE_SECURITY_GROUP, - label = "Apply OpenStack security group rule for VM traffic") + //@Property(name = "useSecurityGroup", boolValue = USE_SECURITY_GROUP, + // label = "Apply OpenStack security group rule for VM traffic") private boolean useSecurityGroup = USE_SECURITY_GROUP; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InstancePortService instancePortService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNetworkService osNetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackSecurityGroupService securityGroupService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackFlowRuleService osFlowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService configService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNodeService osNodeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; private final InstancePortListener instancePortListener = diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSecurityGroupManager.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSecurityGroupManager.java index 03e1e98549..a6e6e2ae60 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSecurityGroupManager.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSecurityGroupManager.java @@ -16,12 +16,6 @@ package org.onosproject.openstacknetworking.impl; import com.google.common.base.Strings; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.core.CoreService; import org.onosproject.event.ListenerRegistry; import org.onosproject.openstacknetworking.api.Constants; @@ -34,6 +28,11 @@ import org.onosproject.openstacknetworking.api.OpenstackSecurityGroupStoreDelega import org.openstack4j.model.network.SecurityGroup; import org.openstack4j.model.network.SecurityGroupRule; import org.openstack4j.openstack.networking.domain.NeutronSecurityGroup; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.List; @@ -48,8 +47,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Provides implementation of administering and interfacing OpenStack security * groups. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = { OpenstackSecurityGroupAdminService.class, OpenstackSecurityGroupService.class }) public class OpenstackSecurityGroupManager extends ListenerRegistry implements OpenstackSecurityGroupAdminService, OpenstackSecurityGroupService { @@ -71,10 +69,10 @@ public class OpenstackSecurityGroupManager private boolean useSecurityGroup = false; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackSecurityGroupStore osSecurityGroupStore; private final OpenstackSecurityGroupStoreDelegate delegate = new InternalSecurityGroupStoreDelegate(); diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingArpHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingArpHandler.java index f64adc0482..4fcd6bd5a9 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingArpHandler.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingArpHandler.java @@ -16,13 +16,7 @@ package org.onosproject.openstacknetworking.impl; import com.google.common.base.Strings; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import com.google.common.collect.Sets; import org.onlab.packet.ARP; import org.onlab.packet.EthType; import org.onlab.packet.Ethernet; @@ -64,6 +58,12 @@ import org.openstack4j.model.network.Network; import org.openstack4j.model.network.NetworkType; import org.openstack4j.model.network.Subnet; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -101,45 +101,45 @@ public final class OpenstackSwitchingArpHandler { private static final String GATEWAY_MAC = "gatewayMac"; private static final String ARP_MODE = "arpMode"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) OpenstackFlowRuleService osFlowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) ComponentConfigService configService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) InstancePortService instancePortService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) OpenstackNetworkService osNetworkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNodeService osNodeService; - @Property(name = GATEWAY_MAC, value = DEFAULT_GATEWAY_MAC_STR, - label = "Fake MAC address for virtual network subnet gateway") + //@Property(name = GATEWAY_MAC, value = DEFAULT_GATEWAY_MAC_STR, + // label = "Fake MAC address for virtual network subnet gateway") private String gatewayMac = DEFAULT_GATEWAY_MAC_STR; - @Property(name = ARP_MODE, value = DEFAULT_ARP_MODE_STR, - label = "ARP processing mode, broadcast | proxy (default)") + //@Property(name = ARP_MODE, value = DEFAULT_ARP_MODE_STR, + // label = "ARP processing mode, broadcast | proxy (default)") protected String arpMode = DEFAULT_ARP_MODE_STR; private final InternalPacketProcessor packetProcessor = new InternalPacketProcessor(); diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingDhcpHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingDhcpHandler.java index 32c1ad914e..efd10d9ae8 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingDhcpHandler.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingDhcpHandler.java @@ -18,13 +18,6 @@ package org.onosproject.openstacknetworking.impl; import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onlab.packet.DHCP; import org.onlab.packet.Ethernet; import org.onlab.packet.IPv4; @@ -66,6 +59,12 @@ import org.openstack4j.model.network.Network; import org.openstack4j.model.network.Port; import org.openstack4j.model.network.Subnet; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.nio.ByteBuffer; @@ -114,35 +113,35 @@ public class OpenstackSwitchingDhcpHandler { private static final int V4_CIDR_UPPER_BOUND = 33; private static final int PADDING_SIZE = 4; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService configService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InstancePortService instancePortService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNetworkService osNetworkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNodeService osNodeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackFlowRuleService osFlowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; - @Property(name = DHCP_SERVER_MAC, value = DEFAULT_GATEWAY_MAC_STR, - label = "Fake MAC address for virtual network subnet gateway") + //@Property(name = DHCP_SERVER_MAC, value = DEFAULT_GATEWAY_MAC_STR, + // label = "Fake MAC address for virtual network subnet gateway") private String dhcpServerMac = DEFAULT_GATEWAY_MAC_STR; private int dhcpDataMtu = DHCP_DATA_MTU_DEFAULT; diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHandler.java index 332ed7fe13..3ac981a627 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHandler.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHandler.java @@ -17,11 +17,11 @@ package org.onosproject.openstacknetworking.impl; import com.google.common.base.Strings; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.Ethernet; import org.onlab.packet.VlanId; import org.onosproject.cluster.ClusterService; @@ -91,37 +91,37 @@ public final class OpenstackSwitchingHandler { private static final String ERR_SET_FLOWS_VNI = "Failed to set flows for %s: Failed to get VNI for %s"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackFlowRuleService osFlowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InstancePortService instancePortService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNetworkService osNetworkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNodeService osNodeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackSecurityGroupService securityGroupService; private final ExecutorService eventExecutor = newSingleThreadExecutor( diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHostProvider.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHostProvider.java index 40413d7d53..92005cf5a6 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHostProvider.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHostProvider.java @@ -16,12 +16,6 @@ package org.onosproject.openstacknetworking.impl; import com.google.common.base.Strings; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onlab.packet.MacAddress; import org.onlab.packet.VlanId; @@ -54,6 +48,11 @@ import org.onosproject.openstacknode.api.OpenstackNodeListener; import org.onosproject.openstacknode.api.OpenstackNodeService; import org.openstack4j.model.network.Network; import org.openstack4j.model.network.NetworkType; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -76,8 +75,7 @@ import static org.onosproject.openstacknetworking.api.Constants.portNamePrefixMa import static org.onosproject.openstacknetworking.util.OpenstackNetworkingUtil.vnicType; import static org.onosproject.openstacknode.api.OpenstackNode.NodeType.CONTROLLER; -@Service -@Component(immediate = true) +@Component(immediate = true, service = HostProvider.class) public final class OpenstackSwitchingHostProvider extends AbstractProvider implements HostProvider { @@ -86,25 +84,25 @@ public final class OpenstackSwitchingHostProvider private static final String ERR_ADD_HOST = "Failed to add host: "; private static final String SONA_HOST_SCHEME = "sona"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostProviderRegistry hostProviderRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNetworkService osNetworkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNodeService osNodeService; private HostProviderService hostProviderService; diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/PreCommitPortManager.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/PreCommitPortManager.java index 29260728bc..2e506f33f6 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/PreCommitPortManager.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/PreCommitPortManager.java @@ -15,12 +15,6 @@ */ package org.onosproject.openstacknetworking.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -33,6 +27,11 @@ import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.ConsistentMap; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.HashMap; @@ -48,8 +47,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of pre-commit service. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = PreCommitPortService.class) public class PreCommitPortManager implements PreCommitPortService { protected final Logger log = getLogger(getClass()); @@ -59,10 +57,10 @@ public class PreCommitPortManager implements PreCommitPortService { .register(OpenstackNetworkEvent.Type.class) .build(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private ConsistentMap>> store; diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/web/OpenstackNetworkingCodecRegister.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/web/OpenstackNetworkingCodecRegister.java index 92167d089c..632381a64e 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/web/OpenstackNetworkingCodecRegister.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/web/OpenstackNetworkingCodecRegister.java @@ -15,11 +15,11 @@ */ package org.onosproject.openstacknetworking.web; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.codec.CodecService; import org.onosproject.openstacknetworking.api.InstancePort; import org.onosproject.openstacknetworking.codec.InstancePortCodec; @@ -35,7 +35,7 @@ public class OpenstackNetworkingCodecRegister { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CodecService codecService; @Activate diff --git a/apps/openstacknetworkingui/src/main/java/org/onosproject/openstacknetworkingui/OpenstackNetworkingUiManager.java b/apps/openstacknetworkingui/src/main/java/org/onosproject/openstacknetworkingui/OpenstackNetworkingUiManager.java index 848cfc73f5..4191503aea 100644 --- a/apps/openstacknetworkingui/src/main/java/org/onosproject/openstacknetworkingui/OpenstackNetworkingUiManager.java +++ b/apps/openstacknetworkingui/src/main/java/org/onosproject/openstacknetworkingui/OpenstackNetworkingUiManager.java @@ -17,12 +17,6 @@ package org.onosproject.openstacknetworkingui; import com.google.common.collect.ImmutableList; import com.google.common.collect.Streams; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.ConnectPoint; import org.onosproject.net.Device; import org.onosproject.net.DeviceId; @@ -39,6 +33,11 @@ import org.onosproject.ui.UiMessageHandlerFactory; import org.onosproject.ui.UiTopoOverlayFactory; import org.onosproject.ui.UiView; import org.onosproject.ui.UiViewHidden; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -53,8 +52,7 @@ import static org.onosproject.net.Device.Type.SWITCH; /** * Implementation of OpenStack Networking UI service. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = OpenstackNetworkingUiService.class) public class OpenstackNetworkingUiManager implements OpenstackNetworkingUiService { private static final ClassLoader CL = OpenstackNetworkingUiManager.class.getClassLoader(); @@ -66,13 +64,13 @@ public class OpenstackNetworkingUiManager implements OpenstackNetworkingUiServic private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UiExtensionService uiExtensionService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkStore linkStore; Set vDevices; diff --git a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandler.java b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandler.java index 924cb7cf5b..8b9adc0ee5 100644 --- a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandler.java +++ b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandler.java @@ -15,14 +15,7 @@ */ package org.onosproject.openstacknode.impl; -import com.google.common.collect.Lists; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import com.google.common.collect.Maps; import org.onlab.packet.IpAddress; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; @@ -65,6 +58,12 @@ import org.onosproject.ovsdb.rfc.notation.OvsdbSet; import org.onosproject.ovsdb.rfc.table.Interface; import org.openstack4j.api.OSClient; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collection; @@ -115,40 +114,40 @@ public class DefaultOpenstackNodeHandler implements OpenstackNodeHandler { private static final boolean DEFAULT_AUTO_RECOVERY = true; private static final int DPID_BEGIN = 3; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceAdminService deviceAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OvsdbController ovsdbController; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNodeService osNodeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNodeAdminService osNodeAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService componentConfigService; - @Property(name = OVSDB_PORT, intValue = DEFAULT_OVSDB_PORT, - label = "OVSDB server listen port") + //@Property(name = OVSDB_PORT, intValue = DEFAULT_OVSDB_PORT, + // label = "OVSDB server listen port") private int ovsdbPort = DEFAULT_OVSDB_PORT; - @Property(name = AUTO_RECOVERY, boolValue = DEFAULT_AUTO_RECOVERY, - label = "A flag which indicates whether auto-recover openstack " + - "node status at the receiving of switch reconnecting event.") + //@Property(name = AUTO_RECOVERY, boolValue = DEFAULT_AUTO_RECOVERY, + // label = "A flag which indicates whether auto-recover openstack " + + // "node status at the receiving of switch reconnecting event.") private boolean autoRecovery = DEFAULT_AUTO_RECOVERY; private final ExecutorService eventExecutor = newSingleThreadExecutor( diff --git a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DistributedOpenstackNodeStore.java b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DistributedOpenstackNodeStore.java index 571890bd59..71f5ba596b 100644 --- a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DistributedOpenstackNodeStore.java +++ b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DistributedOpenstackNodeStore.java @@ -16,12 +16,6 @@ package org.onosproject.openstacknode.impl; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -46,6 +40,11 @@ import org.onosproject.store.service.MapEventListener; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.Versioned; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collection; @@ -70,8 +69,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of openstack node store using consistent map. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = OpenstackNodeStore.class) public class DistributedOpenstackNodeStore extends AbstractStore implements OpenstackNodeStore { @@ -105,10 +103,10 @@ public class DistributedOpenstackNodeStore .register(Collection.class) .build(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private final ExecutorService eventExecutor = newSingleThreadExecutor( diff --git a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/OpenstackNodeManager.java b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/OpenstackNodeManager.java index c2f8bc1e39..846f44e4ee 100644 --- a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/OpenstackNodeManager.java +++ b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/OpenstackNodeManager.java @@ -17,14 +17,6 @@ package org.onosproject.openstacknode.impl; import com.google.common.base.Strings; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.Tools; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.LeadershipService; @@ -44,6 +36,12 @@ import org.onosproject.ovsdb.controller.OvsdbController; import org.onosproject.store.service.AtomicCounter; import org.onosproject.store.service.StorageService; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Dictionary; @@ -71,8 +69,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Service administering the inventory of openstack nodes. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = { OpenstackNodeService.class, OpenstackNodeAdminService.class }) public class OpenstackNodeManager extends ListenerRegistry implements OpenstackNodeService, OpenstackNodeAdminService { @@ -93,29 +90,29 @@ public class OpenstackNodeManager extends ListenerRegistry producer = null; diff --git a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/OpenstackTelemetryManager.java b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/OpenstackTelemetryManager.java index 761e01bc02..891482a525 100644 --- a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/OpenstackTelemetryManager.java +++ b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/OpenstackTelemetryManager.java @@ -17,12 +17,6 @@ package org.onosproject.openstacktelemetry.impl; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.apache.kafka.clients.producer.ProducerRecord; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.openstacktelemetry.api.FlowInfo; @@ -33,6 +27,11 @@ import org.onosproject.openstacktelemetry.api.OpenstackTelemetryService; import org.onosproject.openstacktelemetry.api.RestTelemetryService; import org.onosproject.openstacktelemetry.api.TelemetryService; import org.onosproject.openstacktelemetry.codec.TinaMessageByteBufferCodec; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -48,15 +47,14 @@ import static org.onosproject.openstacktelemetry.util.OpenstackTelemetryUtil.get /** * Openstack telemetry manager. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = OpenstackTelemetryService.class) public class OpenstackTelemetryManager implements OpenstackTelemetryService { private final Logger log = LoggerFactory.getLogger(getClass()); private static final String ENABLE_SERVICE = "enableService"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService componentConfigService; private List telemetryServices = Lists.newArrayList(); diff --git a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/RestTelemetryConfigManager.java b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/RestTelemetryConfigManager.java index 25c7afeb25..e3b76b610f 100644 --- a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/RestTelemetryConfigManager.java +++ b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/RestTelemetryConfigManager.java @@ -15,14 +15,6 @@ */ package org.onosproject.openstacktelemetry.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.openstacktelemetry.api.RestTelemetryAdminService; @@ -30,6 +22,12 @@ import org.onosproject.openstacktelemetry.api.RestTelemetryConfigService; import org.onosproject.openstacktelemetry.api.config.TelemetryConfig; import org.onosproject.openstacktelemetry.config.DefaultRestTelemetryConfig; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -48,8 +46,7 @@ import static org.onosproject.openstacktelemetry.util.OpenstackTelemetryUtil.ini /** * REST server configuration manager for publishing openstack telemetry. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = RestTelemetryConfigService.class) public class RestTelemetryConfigManager implements RestTelemetryConfigService { private final Logger log = LoggerFactory.getLogger(getClass()); @@ -62,38 +59,38 @@ public class RestTelemetryConfigManager implements RestTelemetryConfigService { private static final String REQUEST_MEDIA_TYPE = "requestMediaType"; private static final String RESPONSE_MEDIA_TYPE = "responseMediaType"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService componentConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RestTelemetryAdminService restTelemetryAdminService; - @Property(name = ADDRESS, value = DEFAULT_REST_SERVER_IP, - label = "Default IP address to establish initial connection to REST server") + //@Property(name = ADDRESS, value = DEFAULT_REST_SERVER_IP, + // label = "Default IP address to establish initial connection to REST server") protected String address = DEFAULT_REST_SERVER_IP; - @Property(name = PORT, intValue = DEFAULT_REST_SERVER_PORT, - label = "Default port number to establish initial connection to REST server") + //@Property(name = PORT, intValue = DEFAULT_REST_SERVER_PORT, + // label = "Default port number to establish initial connection to REST server") protected Integer port = DEFAULT_REST_SERVER_PORT; - @Property(name = ENDPOINT, value = DEFAULT_REST_ENDPOINT, - label = "Endpoint of REST server") + //@Property(name = ENDPOINT, value = DEFAULT_REST_ENDPOINT, + // label = "Endpoint of REST server") protected String endpoint = DEFAULT_REST_ENDPOINT; - @Property(name = METHOD, value = DEFAULT_REST_METHOD, - label = "HTTP method of REST server") + //@Property(name = METHOD, value = DEFAULT_REST_METHOD, + // label = "HTTP method of REST server") protected String method = DEFAULT_REST_METHOD; - @Property(name = REQUEST_MEDIA_TYPE, value = DEFAULT_REST_REQUEST_MEDIA_TYPE, - label = "Request media type of REST server") + //@Property(name = REQUEST_MEDIA_TYPE, value = DEFAULT_REST_REQUEST_MEDIA_TYPE, + // label = "Request media type of REST server") protected String requestMediaType = DEFAULT_REST_REQUEST_MEDIA_TYPE; - @Property(name = RESPONSE_MEDIA_TYPE, value = DEFAULT_REST_RESPONSE_MEDIA_TYPE, - label = "Response media type of REST server") + //@Property(name = RESPONSE_MEDIA_TYPE, value = DEFAULT_REST_RESPONSE_MEDIA_TYPE, + // label = "Response media type of REST server") protected String responseMediaType = DEFAULT_REST_RESPONSE_MEDIA_TYPE; - @Property(name = ENABLE_SERVICE, boolValue = DEFAULT_DISABLE, - label = "Specify the default behavior of telemetry service") + //@Property(name = ENABLE_SERVICE, boolValue = DEFAULT_DISABLE, + // label = "Specify the default behavior of telemetry service") protected Boolean enableService = DEFAULT_DISABLE; @Activate diff --git a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/RestTelemetryManager.java b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/RestTelemetryManager.java index f94748ce1a..9b4aaf96ce 100644 --- a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/RestTelemetryManager.java +++ b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/RestTelemetryManager.java @@ -15,16 +15,15 @@ */ package org.onosproject.openstacktelemetry.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.openstacktelemetry.api.OpenstackTelemetryService; import org.onosproject.openstacktelemetry.api.RestTelemetryAdminService; import org.onosproject.openstacktelemetry.api.config.RestTelemetryConfig; import org.onosproject.openstacktelemetry.api.config.TelemetryConfig; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -37,8 +36,7 @@ import javax.ws.rs.core.Response; /** * REST telemetry manager. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = RestTelemetryAdminService.class) public class RestTelemetryManager implements RestTelemetryAdminService { private final Logger log = LoggerFactory.getLogger(getClass()); @@ -47,7 +45,7 @@ public class RestTelemetryManager implements RestTelemetryAdminService { private static final String POST_METHOD = "POST"; private static final String GET_METHOD = "GET"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackTelemetryService openstackTelemetryService; private WebTarget target = null; diff --git a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/StatsFlowRuleManager.java b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/StatsFlowRuleManager.java index f1318de970..5ffd40cffd 100644 --- a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/StatsFlowRuleManager.java +++ b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/StatsFlowRuleManager.java @@ -17,14 +17,6 @@ package org.onosproject.openstacktelemetry.impl; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; import org.onlab.packet.MacAddress; @@ -71,6 +63,12 @@ import org.onosproject.openstacktelemetry.api.StatsFlowRule; import org.onosproject.openstacktelemetry.api.StatsFlowRuleAdminService; import org.onosproject.openstacktelemetry.api.StatsInfo; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -115,8 +113,7 @@ import static org.onosproject.openstacktelemetry.util.OpenstackTelemetryUtil.get /** * Flow rule manager for network statistics of a VM. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = StatsFlowRuleAdminService.class) public class StatsFlowRuleManager implements StatsFlowRuleAdminService { private final Logger log = LoggerFactory.getLogger(getClass()); @@ -155,59 +152,59 @@ public class StatsFlowRuleManager implements StatsFlowRuleAdminService { private static final boolean RECOVER_FROM_FAILURE = true; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService componentConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNetworkService osNetworkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InstancePortService instPortService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNodeService osNodeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackTelemetryService telemetryService; - @Property(name = REVERSE_PATH_STATS, boolValue = DEFAULT_REVERSE_PATH_STATS, - label = "A flag which indicates whether to install the rules for " + - "collecting the flow-based stats for reversed path.") + //@Property(name = REVERSE_PATH_STATS, boolValue = DEFAULT_REVERSE_PATH_STATS, + // label = "A flag which indicates whether to install the rules for " + + // "collecting the flow-based stats for reversed path.") private boolean reversePathStats = DEFAULT_REVERSE_PATH_STATS; - @Property(name = EGRESS_STATS, boolValue = DEFAULT_EGRESS_STATS, - label = "A flag which indicates whether to install the rules for " + - "collecting the flow-based stats for egress port.") + //@Property(name = EGRESS_STATS, boolValue = DEFAULT_EGRESS_STATS, + // label = "A flag which indicates whether to install the rules for " + + // "collecting the flow-based stats for egress port.") private boolean egressStats = DEFAULT_EGRESS_STATS; - @Property(name = PORT_STATS, boolValue = DEFAULT_PORT_STATS, - label = "A flag which indicates whether to collect port TX & RX stats.") + //@Property(name = PORT_STATS, boolValue = DEFAULT_PORT_STATS, + // label = "A flag which indicates whether to collect port TX & RX stats.") private boolean portStats = DEFAULT_PORT_STATS; - @Property(name = MONITOR_OVERLAY, boolValue = DEFAULT_MONITOR_OVERLAY, - label = "A flag which indicates whether to monitor overlay network port stats.") + //@Property(name = MONITOR_OVERLAY, boolValue = DEFAULT_MONITOR_OVERLAY, + // label = "A flag which indicates whether to monitor overlay network port stats.") private boolean monitorOverlay = DEFAULT_MONITOR_OVERLAY; - @Property(name = MONITOR_UNDERLAY, boolValue = DEFAULT_MONITOR_UNDERLAY, - label = "A flag which indicates whether to monitor underlay network port stats.") + //@Property(name = MONITOR_UNDERLAY, boolValue = DEFAULT_MONITOR_UNDERLAY, + // label = "A flag which indicates whether to monitor underlay network port stats.") private boolean monitorUnderlay = DEFAULT_MONITOR_UNDERLAY; private ApplicationId telemetryAppId; diff --git a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/web/OpenstackTelemetryCodecRegister.java b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/web/OpenstackTelemetryCodecRegister.java index 5b3ec7eda9..c8bfeb5d3e 100644 --- a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/web/OpenstackTelemetryCodecRegister.java +++ b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/web/OpenstackTelemetryCodecRegister.java @@ -15,11 +15,11 @@ */ package org.onosproject.openstacktelemetry.web; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.codec.CodecService; import org.onosproject.openstacktelemetry.api.FlowInfo; import org.onosproject.openstacktelemetry.api.StatsFlowRule; @@ -38,7 +38,7 @@ public class OpenstackTelemetryCodecRegister { private final org.slf4j.Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CodecService codecService; @Activate diff --git a/apps/openstacktroubleshoot/app/src/main/java/org/onosproject/openstacktroubleshoot/impl/OpenstackTroubleshootManager.java b/apps/openstacktroubleshoot/app/src/main/java/org/onosproject/openstacktroubleshoot/impl/OpenstackTroubleshootManager.java index 1b1cdf863a..c2f4b22686 100644 --- a/apps/openstacktroubleshoot/app/src/main/java/org/onosproject/openstacktroubleshoot/impl/OpenstackTroubleshootManager.java +++ b/apps/openstacktroubleshoot/app/src/main/java/org/onosproject/openstacktroubleshoot/impl/OpenstackTroubleshootManager.java @@ -16,12 +16,6 @@ package org.onosproject.openstacktroubleshoot.impl; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.DeserializationException; import org.onlab.packet.Ethernet; import org.onlab.packet.ICMP; @@ -65,6 +59,11 @@ import org.onosproject.store.service.AtomicCounter; import org.onosproject.store.service.ConsistentMap; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -100,8 +99,7 @@ import static org.onosproject.openstacktroubleshoot.util.OpenstackTroubleshootUt /** * Implementation of openstack troubleshoot app. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = OpenstackTroubleshootService.class) public class OpenstackTroubleshootManager implements OpenstackTroubleshootService { private final Logger log = LoggerFactory.getLogger(getClass()); @@ -120,37 +118,37 @@ public class OpenstackTroubleshootManager implements OpenstackTroubleshootServic private static final String ICMP_COUNTER_NAME = "icmp-id-counter"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNodeService osNodeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNetworkService osNetworkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackFlowRuleService osFlowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InstancePortService instancePortService; private final ExecutorService eventExecutor = newSingleThreadScheduledExecutor( diff --git a/apps/openstackvtap/app/src/main/java/org/onosproject/openstackvtap/impl/DistributedOpenstackVtapStore.java b/apps/openstackvtap/app/src/main/java/org/onosproject/openstackvtap/impl/DistributedOpenstackVtapStore.java index 141af0bc94..f8897e8386 100644 --- a/apps/openstackvtap/app/src/main/java/org/onosproject/openstackvtap/impl/DistributedOpenstackVtapStore.java +++ b/apps/openstackvtap/app/src/main/java/org/onosproject/openstackvtap/impl/DistributedOpenstackVtapStore.java @@ -18,12 +18,6 @@ package org.onosproject.openstackvtap.impl; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.net.DefaultAnnotations; import org.onosproject.net.DeviceId; @@ -42,6 +36,11 @@ import org.onosproject.store.service.MapEvent; import org.onosproject.store.service.MapEventListener; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Comparator; @@ -63,14 +62,13 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Manages the inventory of users using a {@code ConsistentMap}. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = OpenstackVtapStore.class) public class DistributedOpenstackVtapStore extends AbstractStore implements OpenstackVtapStore { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private ConsistentMap vTapConsistentMap; diff --git a/apps/openstackvtap/app/src/main/java/org/onosproject/openstackvtap/impl/OpenstackVtapManager.java b/apps/openstackvtap/app/src/main/java/org/onosproject/openstackvtap/impl/OpenstackVtapManager.java index 02a6579c3b..426e4cb5f6 100644 --- a/apps/openstackvtap/app/src/main/java/org/onosproject/openstackvtap/impl/OpenstackVtapManager.java +++ b/apps/openstackvtap/app/src/main/java/org/onosproject/openstackvtap/impl/OpenstackVtapManager.java @@ -19,12 +19,6 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; import org.onlab.packet.VlanId; @@ -83,6 +77,11 @@ import org.onosproject.openstackvtap.api.OpenstackVtapService; import org.onosproject.openstackvtap.api.OpenstackVtapStore; import org.onosproject.openstackvtap.api.OpenstackVtapStoreDelegate; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.List; @@ -121,45 +120,44 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Provides basic implementation of the user APIs. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = { OpenstackVtapService.class, OpenstackVtapAdminService.class }) public class OpenstackVtapManager extends AbstractListenerManager implements OpenstackVtapService, OpenstackVtapAdminService { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected GroupService groupService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackVtapStore store; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenstackNodeService osNodeService; public static final String APP_ID = "org.onosproject.openstackvtap"; diff --git a/apps/optical-model/src/main/java/org/onosproject/net/optical/cli/AddOpticalIntentCommand.java b/apps/optical-model/src/main/java/org/onosproject/net/optical/cli/AddOpticalIntentCommand.java index 07f9cc1f90..79433c3825 100644 --- a/apps/optical-model/src/main/java/org/onosproject/net/optical/cli/AddOpticalIntentCommand.java +++ b/apps/optical-model/src/main/java/org/onosproject/net/optical/cli/AddOpticalIntentCommand.java @@ -16,9 +16,10 @@ package org.onosproject.net.optical.cli; import com.google.common.collect.ImmutableMap; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Option; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.app.AllApplicationNamesCompleter; import org.onosproject.cli.net.ConnectPointCompleter; import org.onosproject.cli.net.ConnectivityIntentCommand; @@ -42,6 +43,7 @@ import static org.onosproject.net.optical.util.OpticalIntentUtility.createOptica /** * Installs optical connectivity or circuit intents, depending on given port types. */ +@Service @Command(scope = "onos", name = "add-optical-intent", description = "Installs optical connectivity intent") public class AddOpticalIntentCommand extends ConnectivityIntentCommand { @@ -142,7 +144,7 @@ public class AddOpticalIntentCommand extends ConnectivityIntentCommand { @Override - protected void execute() { + protected void doExecute() { IntentService service = get(IntentService.class); DeviceService deviceService = get(DeviceService.class); ConnectPoint ingress = createConnectPoint(ingressString); diff --git a/apps/optical-model/src/main/java/org/onosproject/net/optical/cli/OpticalPortsListCommand.java b/apps/optical-model/src/main/java/org/onosproject/net/optical/cli/OpticalPortsListCommand.java index 448217c48c..302e05fbb2 100644 --- a/apps/optical-model/src/main/java/org/onosproject/net/optical/cli/OpticalPortsListCommand.java +++ b/apps/optical-model/src/main/java/org/onosproject/net/optical/cli/OpticalPortsListCommand.java @@ -16,7 +16,7 @@ package org.onosproject.net.optical.cli; import com.fasterxml.jackson.databind.ObjectMapper; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; import org.onlab.util.Frequency; import org.onosproject.cli.net.DevicePortsListCommand; import org.onosproject.net.Device; @@ -50,7 +50,7 @@ public class OpticalPortsListCommand extends DevicePortsListCommand { private static final EnumSet OPTICAL = EnumSet.of(Type.OCH, Type.ODUCLT, Type.OMS, Type.OTU); @Override - protected void execute() { + protected void doExecute() { DeviceService service = opticalView(get(DeviceService.class)); if (uri == null) { if (outputJson()) { diff --git a/apps/optical-model/src/main/java/org/onosproject/net/optical/intent/impl/compiler/OpticalCircuitIntentCompiler.java b/apps/optical-model/src/main/java/org/onosproject/net/optical/intent/impl/compiler/OpticalCircuitIntentCompiler.java index 40d88f46bd..bb74d770d6 100644 --- a/apps/optical-model/src/main/java/org/onosproject/net/optical/intent/impl/compiler/OpticalCircuitIntentCompiler.java +++ b/apps/optical-model/src/main/java/org/onosproject/net/optical/intent/impl/compiler/OpticalCircuitIntentCompiler.java @@ -16,15 +16,9 @@ package org.onosproject.net.optical.intent.impl.compiler; import com.google.common.base.Strings; - +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Sets; import org.apache.commons.lang3.tuple.Pair; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.core.ApplicationId; @@ -55,23 +49,26 @@ import org.onosproject.net.intent.IntentCompiler; import org.onosproject.net.intent.IntentExtensionService; import org.onosproject.net.intent.IntentId; import org.onosproject.net.intent.IntentService; +import org.onosproject.net.intent.IntentSetMultimap; import org.onosproject.net.intent.OpticalCircuitIntent; import org.onosproject.net.intent.OpticalConnectivityIntent; import org.onosproject.net.intent.PathIntent; import org.onosproject.net.optical.OchPort; import org.onosproject.net.optical.OduCltPort; -import org.onosproject.net.intent.IntentSetMultimap; -import org.onosproject.net.resource.ResourceAllocation; import org.onosproject.net.resource.Resource; +import org.onosproject.net.resource.ResourceAllocation; import org.onosproject.net.resource.ResourceService; import org.onosproject.net.resource.Resources; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Sets; - import java.util.Arrays; import java.util.Collections; import java.util.Comparator; @@ -96,33 +93,33 @@ public class OpticalCircuitIntentCompiler implements IntentCompiler localLspIdFreeList; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PathService pathService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PceStore pceStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TunnelService tunnelService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService netCfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TopologyService topologyService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected BandwidthMgmtService bandwidthMgmtService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry netConfigRegistry; private TunnelListener listener = new InnerTunnelListener(); diff --git a/apps/pce/app/src/main/java/org/onosproject/pce/pcestore/DistributedPceStore.java b/apps/pce/app/src/main/java/org/onosproject/pce/pcestore/DistributedPceStore.java index 91923ab53b..998f87e91d 100644 --- a/apps/pce/app/src/main/java/org/onosproject/pce/pcestore/DistributedPceStore.java +++ b/apps/pce/app/src/main/java/org/onosproject/pce/pcestore/DistributedPceStore.java @@ -16,13 +16,6 @@ package org.onosproject.pce.pcestore; import com.google.common.collect.ImmutableSet; -import java.util.Arrays; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.incubator.net.tunnel.TunnelId; import org.onosproject.pce.pceservice.ExplicitPathInfo; @@ -37,9 +30,15 @@ import org.onosproject.store.service.ConsistentMap; import org.onosproject.store.service.DistributedSet; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Arrays; import java.util.List; import static com.google.common.base.Preconditions.checkNotNull; @@ -47,8 +46,7 @@ import static com.google.common.base.Preconditions.checkNotNull; /** * Manages the pool of available labels to devices, links and tunnels. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = PceStore.class) public class DistributedPceStore implements PceStore { private static final String PATH_INFO_NULL = "Path Info cannot be null"; private static final String PCECC_TUNNEL_INFO_NULL = "PCECC Tunnel Info cannot be null"; @@ -56,7 +54,7 @@ public class DistributedPceStore implements PceStore { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; //Mapping tunnel name with Disjoint paths diff --git a/apps/pce/bandwidthmgmt/src/main/java/org/onosproject/bandwidthmgr/BandwidthManager.java b/apps/pce/bandwidthmgmt/src/main/java/org/onosproject/bandwidthmgr/BandwidthManager.java index 4316626d8e..a23c16e929 100644 --- a/apps/pce/bandwidthmgmt/src/main/java/org/onosproject/bandwidthmgr/BandwidthManager.java +++ b/apps/pce/bandwidthmgmt/src/main/java/org/onosproject/bandwidthmgr/BandwidthManager.java @@ -15,16 +15,15 @@ */ package org.onosproject.bandwidthmgr; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onosproject.net.Link; -import org.onosproject.net.LinkKey; import org.onosproject.bandwidthmgr.api.BandwidthMgmtService; import org.onosproject.bandwidthmgr.api.BandwidthMgmtStore; +import org.onosproject.net.Link; +import org.onosproject.net.LinkKey; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -35,12 +34,11 @@ import static com.google.common.base.Preconditions.checkNotNull; /** * Implementation of PCE service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = BandwidthMgmtService.class) public class BandwidthManager implements BandwidthMgmtService { private static final Logger log = LoggerFactory.getLogger(BandwidthManager.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected BandwidthMgmtStore store; @Activate diff --git a/apps/pce/bandwidthmgmt/src/main/java/org/onosproject/bandwidthmgr/DistributedBandwidthMgmtStore.java b/apps/pce/bandwidthmgmt/src/main/java/org/onosproject/bandwidthmgr/DistributedBandwidthMgmtStore.java index 54c0191526..50bad95976 100644 --- a/apps/pce/bandwidthmgmt/src/main/java/org/onosproject/bandwidthmgr/DistributedBandwidthMgmtStore.java +++ b/apps/pce/bandwidthmgmt/src/main/java/org/onosproject/bandwidthmgr/DistributedBandwidthMgmtStore.java @@ -15,49 +15,45 @@ */ package org.onosproject.bandwidthmgr; -import static com.google.common.base.Preconditions.checkNotNull; -import static org.onosproject.net.config.NetworkConfigEvent.Type.CONFIG_ADDED; -import static org.onosproject.net.config.NetworkConfigEvent.Type.CONFIG_REMOVED; -import static org.onosproject.net.config.NetworkConfigEvent.Type.CONFIG_UPDATED; - -import java.util.LinkedHashSet; -import java.util.Set; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; - import org.onlab.util.KryoNamespace; +import org.onosproject.bandwidthmgr.api.BandwidthMgmtStore; import org.onosproject.net.ConnectPoint; import org.onosproject.net.LinkKey; import org.onosproject.net.config.NetworkConfigEvent; import org.onosproject.net.config.NetworkConfigListener; import org.onosproject.net.config.NetworkConfigService; -import org.onosproject.bandwidthmgr.api.BandwidthMgmtStore; import org.onosproject.pcep.api.TeLinkConfig; import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.ConsistentMap; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; - +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.LinkedHashSet; +import java.util.Set; + +import static com.google.common.base.Preconditions.checkNotNull; +import static org.onosproject.net.config.NetworkConfigEvent.Type.CONFIG_ADDED; +import static org.onosproject.net.config.NetworkConfigEvent.Type.CONFIG_REMOVED; +import static org.onosproject.net.config.NetworkConfigEvent.Type.CONFIG_UPDATED; + /** * Manages the pool of available labels to devices, links and tunnels. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = BandwidthMgmtStore.class) public class DistributedBandwidthMgmtStore implements BandwidthMgmtStore { private static final Logger log = LoggerFactory.getLogger(BandwidthManager.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService netCfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private InternalConfigListener cfgListener = new InternalConfigListener(); diff --git a/apps/pce/pcerest/src/main/java/org/onosproject/pcerest/PceCodecRegistrator.java b/apps/pce/pcerest/src/main/java/org/onosproject/pcerest/PceCodecRegistrator.java index acfe5b46e7..be8686aa2f 100644 --- a/apps/pce/pcerest/src/main/java/org/onosproject/pcerest/PceCodecRegistrator.java +++ b/apps/pce/pcerest/src/main/java/org/onosproject/pcerest/PceCodecRegistrator.java @@ -15,11 +15,11 @@ */ package org.onosproject.pcerest; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.codec.CodecService; import org.onosproject.pce.pceservice.PcePath; import org.slf4j.Logger; @@ -33,7 +33,7 @@ public class PceCodecRegistrator { private static Logger log = LoggerFactory.getLogger(PceCodecRegistrator.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CodecService codecService; @Activate diff --git a/apps/pce/pceweb/src/main/java/org/onosproject/pceweb/PceWebTopovComponent.java b/apps/pce/pceweb/src/main/java/org/onosproject/pceweb/PceWebTopovComponent.java index d9bc2523cd..a98e8b0868 100644 --- a/apps/pce/pceweb/src/main/java/org/onosproject/pceweb/PceWebTopovComponent.java +++ b/apps/pce/pceweb/src/main/java/org/onosproject/pceweb/PceWebTopovComponent.java @@ -17,11 +17,11 @@ package org.onosproject.pceweb; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.ui.UiExtension; import org.onosproject.ui.UiExtensionService; import org.onosproject.ui.UiMessageHandlerFactory; @@ -44,7 +44,7 @@ public class PceWebTopovComponent { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UiExtensionService uiExtensionService; // List of application views diff --git a/apps/pi-demo/common/src/main/java/org/onosproject/pi/demo/app/common/AbstractUpgradableFabricApp.java b/apps/pi-demo/common/src/main/java/org/onosproject/pi/demo/app/common/AbstractUpgradableFabricApp.java index bd12b135e8..ac9202820d 100644 --- a/apps/pi-demo/common/src/main/java/org/onosproject/pi/demo/app/common/AbstractUpgradableFabricApp.java +++ b/apps/pi-demo/common/src/main/java/org/onosproject/pi/demo/app/common/AbstractUpgradableFabricApp.java @@ -22,11 +22,11 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.app.ApplicationAdminService; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -112,28 +112,28 @@ public abstract class AbstractUpgradableFabricApp { private final String appName; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TopologyService topologyService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected GroupService groupService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private ApplicationAdminService appService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private PiPipeconfService piPipeconfService; private boolean appActive = false; diff --git a/apps/pi-demo/ecmp/src/main/java/org/onosproject/pi/demo/app/ecmp/EcmpFabricApp.java b/apps/pi-demo/ecmp/src/main/java/org/onosproject/pi/demo/app/ecmp/EcmpFabricApp.java index bb15afc846..d8d7a1d8a7 100644 --- a/apps/pi-demo/ecmp/src/main/java/org/onosproject/pi/demo/app/ecmp/EcmpFabricApp.java +++ b/apps/pi-demo/ecmp/src/main/java/org/onosproject/pi/demo/app/ecmp/EcmpFabricApp.java @@ -21,8 +21,8 @@ import com.google.common.collect.Maps; import com.google.common.collect.Sets; import org.apache.commons.lang3.tuple.ImmutablePair; import org.apache.commons.lang3.tuple.Pair; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.onlab.packet.IpAddress; import org.onosproject.net.DeviceId; import org.onosproject.net.Host; diff --git a/apps/pim/src/main/java/org/onosproject/pim/impl/PimApplication.java b/apps/pim/src/main/java/org/onosproject/pim/impl/PimApplication.java index b8bb17b577..8d76e313f9 100644 --- a/apps/pim/src/main/java/org/onosproject/pim/impl/PimApplication.java +++ b/apps/pim/src/main/java/org/onosproject/pim/impl/PimApplication.java @@ -15,11 +15,11 @@ */ package org.onosproject.pim.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.Ethernet; import org.onlab.packet.IPv4; import org.onosproject.core.ApplicationId; @@ -46,25 +46,25 @@ public class PimApplication { private final Logger log = getLogger(getClass()); // Used to get the appId - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; // Our application ID private static ApplicationId appId; // Register to receive PIM packets, used to send packets as well - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; // Use the MulticastRouteService to manage incoming PIM Join/Prune state as well as - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MulticastRouteService ms; // Create an instance of the PIM packet handler protected PimPacketHandler pimPacketHandler; // Provide interfaces to the pimInterface manager as a result of Netconfig updates. - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PimInterfaceService pimInterfaceManager; private final PimPacketProcessor processor = new PimPacketProcessor(); diff --git a/apps/pim/src/main/java/org/onosproject/pim/impl/PimInterfaceManager.java b/apps/pim/src/main/java/org/onosproject/pim/impl/PimInterfaceManager.java index 3c75c93e13..31dd0a94e1 100644 --- a/apps/pim/src/main/java/org/onosproject/pim/impl/PimInterfaceManager.java +++ b/apps/pim/src/main/java/org/onosproject/pim/impl/PimInterfaceManager.java @@ -17,19 +17,7 @@ package org.onosproject.pim.impl; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.SafeRecurringTask; -import org.onosproject.net.intf.Interface; -import org.onosproject.net.intf.InterfaceEvent; -import org.onosproject.net.intf.InterfaceListener; -import org.onosproject.net.intf.InterfaceService; -import org.onosproject.routeservice.Route; -import org.onosproject.routeservice.RouteService; import org.onosproject.net.ConnectPoint; import org.onosproject.net.Host; import org.onosproject.net.config.ConfigFactory; @@ -38,11 +26,22 @@ import org.onosproject.net.config.NetworkConfigListener; import org.onosproject.net.config.NetworkConfigRegistry; import org.onosproject.net.config.basics.SubjectFactories; import org.onosproject.net.host.HostService; +import org.onosproject.net.intf.Interface; +import org.onosproject.net.intf.InterfaceEvent; +import org.onosproject.net.intf.InterfaceListener; +import org.onosproject.net.intf.InterfaceService; import org.onosproject.net.mcast.McastEvent; import org.onosproject.net.mcast.McastListener; import org.onosproject.net.mcast.McastRoute; import org.onosproject.net.mcast.MulticastRouteService; import org.onosproject.net.packet.PacketService; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Map; @@ -58,8 +57,7 @@ import static org.slf4j.LoggerFactory.getLogger; * * TODO: Do we need to add a ServiceListener? */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = PimInterfaceService.class) public class PimInterfaceManager implements PimInterfaceService { private final Logger log = getLogger(getClass()); @@ -83,22 +81,22 @@ public class PimInterfaceManager implements PimInterfaceService { private final int joinTaskPeriod = 10000; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry networkConfig; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InterfaceService interfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MulticastRouteService multicastRouteService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RouteService unicastRouteService; // Store PIM Interfaces in a map key'd by ConnectPoint diff --git a/apps/proxyarp/src/main/java/org/onosproject/proxyarp/DefaultProxyArp.java b/apps/proxyarp/src/main/java/org/onosproject/proxyarp/DefaultProxyArp.java index d8095bb98f..d07c00847b 100644 --- a/apps/proxyarp/src/main/java/org/onosproject/proxyarp/DefaultProxyArp.java +++ b/apps/proxyarp/src/main/java/org/onosproject/proxyarp/DefaultProxyArp.java @@ -16,11 +16,11 @@ package org.onosproject.proxyarp; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; import org.onosproject.net.neighbour.DefaultNeighbourMessageHandler; @@ -43,13 +43,13 @@ public class DefaultProxyArp { private static final String APP_NAME = "org.onosproject.proxyarp"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected EdgePortService edgeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NeighbourResolutionService neighbourResolutionService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; private ApplicationId appId; diff --git a/apps/rabbitmq/src/main/java/org/onosproject/rabbitmq/listener/MQEventHandler.java b/apps/rabbitmq/src/main/java/org/onosproject/rabbitmq/listener/MQEventHandler.java index 38c5f94068..a6d54a53f2 100644 --- a/apps/rabbitmq/src/main/java/org/onosproject/rabbitmq/listener/MQEventHandler.java +++ b/apps/rabbitmq/src/main/java/org/onosproject/rabbitmq/listener/MQEventHandler.java @@ -21,11 +21,11 @@ import static org.onlab.util.Tools.groupedThreads; import java.util.concurrent.ExecutorService; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.net.device.DeviceEvent; import org.onosproject.net.device.DeviceListener; import org.onosproject.net.device.DeviceService; @@ -62,13 +62,13 @@ public class MQEventHandler extends AbstractProvider private static final String PROVIDER_NAME = MQConstants.ONOS_APP_NAME; private static final int PKT_PROC_PRIO = 1; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TopologyService topologyService; private MQService mqService; diff --git a/apps/reactive-routing/src/main/java/org/onosproject/reactive/routing/ReactiveRoutingConfiguration.java b/apps/reactive-routing/src/main/java/org/onosproject/reactive/routing/ReactiveRoutingConfiguration.java index 8d010369ad..3288d7d466 100644 --- a/apps/reactive-routing/src/main/java/org/onosproject/reactive/routing/ReactiveRoutingConfiguration.java +++ b/apps/reactive-routing/src/main/java/org/onosproject/reactive/routing/ReactiveRoutingConfiguration.java @@ -20,12 +20,6 @@ import com.google.common.collect.ImmutableSet; import com.googlecode.concurrenttrees.radix.node.concrete.DefaultByteArrayNodeFactory; import com.googlecode.concurrenttrees.radixinverted.ConcurrentInvertedRadixTree; import com.googlecode.concurrenttrees.radixinverted.InvertedRadixTree; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.Ip4Address; import org.onlab.packet.Ip6Address; import org.onlab.packet.IpAddress; @@ -33,8 +27,6 @@ import org.onlab.packet.IpPrefix; import org.onlab.packet.MacAddress; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; -import org.onosproject.net.intf.Interface; -import org.onosproject.net.intf.InterfaceService; import org.onosproject.net.ConnectPoint; import org.onosproject.net.config.ConfigFactory; import org.onosproject.net.config.NetworkConfigEvent; @@ -42,8 +34,15 @@ import org.onosproject.net.config.NetworkConfigListener; import org.onosproject.net.config.NetworkConfigRegistry; import org.onosproject.net.config.NetworkConfigService; import org.onosproject.net.config.basics.SubjectFactories; +import org.onosproject.net.intf.Interface; +import org.onosproject.net.intf.InterfaceService; import org.onosproject.routing.RoutingService; import org.onosproject.routing.config.BgpConfig; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -57,23 +56,22 @@ import static org.onosproject.routeservice.RouteTools.createBinaryString; /** * Reactive routing configuration manager. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = ReactiveRoutingConfigurationService.class) public class ReactiveRoutingConfiguration implements ReactiveRoutingConfigurationService { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry registry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService configService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InterfaceService interfaceService; private Set gatewayIpAddresses = new HashSet<>(); diff --git a/apps/reactive-routing/src/main/java/org/onosproject/reactive/routing/SdnIpReactiveRouting.java b/apps/reactive-routing/src/main/java/org/onosproject/reactive/routing/SdnIpReactiveRouting.java index 906e34d947..f05d63b54a 100644 --- a/apps/reactive-routing/src/main/java/org/onosproject/reactive/routing/SdnIpReactiveRouting.java +++ b/apps/reactive-routing/src/main/java/org/onosproject/reactive/routing/SdnIpReactiveRouting.java @@ -15,11 +15,11 @@ */ package org.onosproject.reactive.routing; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.ARP; import org.onlab.packet.EthType; import org.onlab.packet.Ethernet; @@ -74,25 +74,25 @@ public class SdnIpReactiveRouting { private static final String APP_NAME = "org.onosproject.reactive.routing"; private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RouteService routeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentSynchronizationService intentSynchronizer; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ReactiveRoutingConfigurationService config; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InterfaceService interfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; private ApplicationId appId; diff --git a/apps/restconf/restconfmgr/src/main/java/org/onosproject/restconf/restconfmanager/RestconfManager.java b/apps/restconf/restconfmgr/src/main/java/org/onosproject/restconf/restconfmanager/RestconfManager.java index 8c8d58f89d..d37b466858 100644 --- a/apps/restconf/restconfmgr/src/main/java/org/onosproject/restconf/restconfmanager/RestconfManager.java +++ b/apps/restconf/restconfmgr/src/main/java/org/onosproject/restconf/restconfmanager/RestconfManager.java @@ -18,12 +18,6 @@ package org.onosproject.restconf.restconfmanager; import com.fasterxml.jackson.databind.node.ObjectNode; import com.google.common.util.concurrent.ThreadFactoryBuilder; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.glassfish.jersey.server.ChunkedOutput; import org.onosproject.config.DynamicConfigService; import org.onosproject.config.FailedException; @@ -45,6 +39,11 @@ import org.onosproject.yang.model.ResourceId; import org.onosproject.yang.model.RpcInput; import org.onosproject.yang.model.RpcOutput; import org.onosproject.yang.model.SchemaId; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -79,8 +78,7 @@ import static org.onosproject.yang.model.DataNode.Type.SINGLE_INSTANCE_NODE; * on the YANG data objects (i.e., resource id, yang data node). */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = RestconfService.class) public class RestconfManager implements RestconfService { private static final String RESTCONF_ROOT = "/onos/restconf"; @@ -89,7 +87,7 @@ public class RestconfManager implements RestconfService { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DynamicConfigService dynamicConfigService; private ExecutorService workerThreadPool; diff --git a/apps/roadm/src/main/java/org/onosproject/roadm/DistributedRoadmStore.java b/apps/roadm/src/main/java/org/onosproject/roadm/DistributedRoadmStore.java index 7cd2ea4236..c137c13973 100644 --- a/apps/roadm/src/main/java/org/onosproject/roadm/DistributedRoadmStore.java +++ b/apps/roadm/src/main/java/org/onosproject/roadm/DistributedRoadmStore.java @@ -15,37 +15,34 @@ */ package org.onosproject.roadm; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.DeviceId; import org.onosproject.net.PortNumber; import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.ConsistentMap; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import java.util.HashMap; import java.util.Map; /** * Manages the port target powers for ROADM devices. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = RoadmStore.class) public class DistributedRoadmStore implements RoadmStore { private static Logger log = LoggerFactory.getLogger(DistributedRoadmStore.class); private ConsistentMap> distPowerMap; private Map> powerMap; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; @Activate diff --git a/apps/roadm/src/main/java/org/onosproject/roadm/RoadmComponent.java b/apps/roadm/src/main/java/org/onosproject/roadm/RoadmComponent.java index 5056b716ca..0526c786fd 100644 --- a/apps/roadm/src/main/java/org/onosproject/roadm/RoadmComponent.java +++ b/apps/roadm/src/main/java/org/onosproject/roadm/RoadmComponent.java @@ -16,11 +16,11 @@ package org.onosproject.roadm; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.ui.UiExtension; import org.onosproject.ui.UiExtensionService; import org.onosproject.ui.UiMessageHandlerFactory; @@ -44,7 +44,7 @@ public class RoadmComponent { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UiExtensionService uiExtensionService; // List of application views diff --git a/apps/roadm/src/main/java/org/onosproject/roadm/RoadmManager.java b/apps/roadm/src/main/java/org/onosproject/roadm/RoadmManager.java index d5bd501a79..2abe2a6ebe 100644 --- a/apps/roadm/src/main/java/org/onosproject/roadm/RoadmManager.java +++ b/apps/roadm/src/main/java/org/onosproject/roadm/RoadmManager.java @@ -17,12 +17,6 @@ package org.onosproject.roadm; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Range; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; import org.onosproject.net.ChannelSpacing; @@ -36,8 +30,8 @@ import org.onosproject.net.Port; import org.onosproject.net.PortNumber; import org.onosproject.net.behaviour.LambdaQuery; import org.onosproject.net.behaviour.PowerConfig; -import org.onosproject.net.behaviour.protection.ProtectionConfigBehaviour; import org.onosproject.net.behaviour.protection.ProtectedTransportEndpointState; +import org.onosproject.net.behaviour.protection.ProtectionConfigBehaviour; import org.onosproject.net.behaviour.protection.TransportEndpointState; import org.onosproject.net.device.DeviceEvent; import org.onosproject.net.device.DeviceListener; @@ -53,7 +47,11 @@ import org.onosproject.net.flow.TrafficSelector; import org.onosproject.net.flow.TrafficTreatment; import org.onosproject.net.flow.criteria.Criteria; import org.onosproject.net.flow.instructions.Instructions; - +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -74,8 +72,7 @@ import static org.onosproject.roadm.RoadmUtil.OPS_OPT_MANUAL; /** * Application for monitoring and configuring ROADM devices. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = RoadmService.class) public class RoadmManager implements RoadmService { private static final String APP_NAME = "org.onosproject.roadm"; @@ -85,16 +82,16 @@ public class RoadmManager implements RoadmService { private DeviceListener deviceListener = new InternalDeviceListener(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RoadmStore roadmStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService flowRuleService; @Activate diff --git a/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/ConfigurationRouteSource.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/ConfigurationRouteSource.java index eb6733f283..bad5b92809 100644 --- a/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/ConfigurationRouteSource.java +++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/ConfigurationRouteSource.java @@ -16,11 +16,11 @@ package org.onosproject.routeservice.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.core.ApplicationId; import org.onosproject.routeservice.Route; import org.onosproject.routeservice.RouteAdminService; @@ -40,10 +40,10 @@ import java.util.stream.Collectors; @Component(immediate = true) public class ConfigurationRouteSource { - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry netcfgRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RouteAdminService routeService; private final ConfigFactory routeConfigFactory = diff --git a/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/RouteManager.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/RouteManager.java index d45415b4b6..afa9cd6eb9 100644 --- a/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/RouteManager.java +++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/RouteManager.java @@ -17,15 +17,13 @@ package org.onosproject.routeservice.impl; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; import org.onosproject.cluster.ClusterService; +import org.onosproject.net.Host; +import org.onosproject.net.host.HostEvent; +import org.onosproject.net.host.HostListener; +import org.onosproject.net.host.HostService; import org.onosproject.routeservice.InternalRouteEvent; import org.onosproject.routeservice.ResolvedRoute; import org.onosproject.routeservice.Route; @@ -38,11 +36,12 @@ import org.onosproject.routeservice.RouteSet; import org.onosproject.routeservice.RouteStore; import org.onosproject.routeservice.RouteStoreDelegate; import org.onosproject.routeservice.RouteTableId; -import org.onosproject.net.Host; -import org.onosproject.net.host.HostEvent; -import org.onosproject.net.host.HostListener; -import org.onosproject.net.host.HostService; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -67,8 +66,7 @@ import static org.onlab.util.Tools.groupedThreads; /** * Implementation of the unicast route service. */ -@Service -@Component +@Component(service = { RouteService.class, RouteAdminService.class }) public class RouteManager implements RouteService, RouteAdminService { private final Logger log = LoggerFactory.getLogger(getClass()); @@ -76,16 +74,16 @@ public class RouteManager implements RouteService, RouteAdminService { private RouteStoreDelegate delegate = new InternalRouteStoreDelegate(); private InternalHostListener hostListener = new InternalHostListener(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RouteStore routeStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private ResolvedRouteStore resolvedRouteStore; diff --git a/apps/route-service/app/src/main/java/org/onosproject/routeservice/rest/RouteServiceCodecRegistrator.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/rest/RouteServiceCodecRegistrator.java index 2868e5f512..736fbeae2c 100644 --- a/apps/route-service/app/src/main/java/org/onosproject/routeservice/rest/RouteServiceCodecRegistrator.java +++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/rest/RouteServiceCodecRegistrator.java @@ -15,11 +15,11 @@ */ package org.onosproject.routeservice.rest; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.codec.CodecService; import org.onosproject.routeservice.Route; import org.slf4j.Logger; @@ -34,7 +34,7 @@ public class RouteServiceCodecRegistrator { private static Logger log = LoggerFactory.getLogger(RouteServiceCodecRegistrator.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CodecService codecService; @Activate diff --git a/apps/route-service/app/src/main/java/org/onosproject/routeservice/store/RouteStoreImpl.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/store/RouteStoreImpl.java index 7e3ea9ff76..f174801938 100644 --- a/apps/route-service/app/src/main/java/org/onosproject/routeservice/store/RouteStoreImpl.java +++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/store/RouteStoreImpl.java @@ -16,13 +16,6 @@ package org.onosproject.routeservice.store; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; import org.onlab.util.Tools; @@ -37,6 +30,11 @@ import org.onosproject.store.AbstractStore; import org.onosproject.store.service.StorageService; import org.osgi.service.component.ComponentContext; import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -48,19 +46,18 @@ import java.util.Set; * An implementation of RouteStore that is backed by either LocalRouteStore or * DistributedRouteStore according to configuration. */ -@Service -@Component +@Component(service = RouteStore.class) public class RouteStoreImpl extends AbstractStore implements RouteStore { - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService componentConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public StorageService storageService; - @Property(name = "distributed", boolValue = false, - label = "Enable distributed route store") + //@Property(name = "distributed", boolValue = false, + // label = "Enable distributed route store") private boolean distributed; private final Logger log = LoggerFactory.getLogger(getClass()); diff --git a/apps/routeradvertisement/src/main/java/org/onosproject/ra/RouterAdvertisementManager.java b/apps/routeradvertisement/src/main/java/org/onosproject/ra/RouterAdvertisementManager.java index f568e90922..8da5065dfc 100644 --- a/apps/routeradvertisement/src/main/java/org/onosproject/ra/RouterAdvertisementManager.java +++ b/apps/routeradvertisement/src/main/java/org/onosproject/ra/RouterAdvertisementManager.java @@ -16,14 +16,7 @@ package org.onosproject.ra; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import com.google.common.collect.ImmutableMap; import org.onlab.packet.EthType; import org.onlab.packet.Ethernet; import org.onlab.packet.ICMP6; @@ -66,6 +59,12 @@ import org.onosproject.net.packet.PacketProcessor; import org.onosproject.net.packet.PacketService; import org.onosproject.ra.config.RouterAdvertisementDeviceConfig; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -90,13 +89,11 @@ import java.util.stream.IntStream; import static com.google.common.base.Strings.isNullOrEmpty; import static org.onlab.util.Tools.get; import static org.onlab.util.Tools.groupedThreads; -import com.google.common.collect.ImmutableMap; /** * Manages IPv6 Router Advertisements. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = RoutingAdvertisementService.class) public class RouterAdvertisementManager implements RoutingAdvertisementService { private final Logger log = LoggerFactory.getLogger(getClass()); @@ -113,49 +110,49 @@ public class RouterAdvertisementManager implements RoutingAdvertisementService { private static final String PROP_RA_GLOBAL_PREFIX_CONF_STATUS = "raGlobalPrefixConfStatus"; private static final boolean DEFAULT_RA_GLOBAL_PREFIX_CONF_STATUS = true; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService componentConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public InterfaceService interfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry networkConfigRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Property(name = PROP_RA_THREADS_POOL, intValue = DEFAULT_RA_THREADS_POOL_SIZE, - label = "Thread pool capacity") + //@Property(name = PROP_RA_THREADS_POOL, intValue = DEFAULT_RA_THREADS_POOL_SIZE, + // label = "Thread pool capacity") protected int raPoolSize = DEFAULT_RA_THREADS_POOL_SIZE; - @Property(name = PROP_RA_THREADS_DELAY, intValue = DEFAULT_RA_THREADS_DELAY, - label = "Thread delay in seconds") + //@Property(name = PROP_RA_THREADS_DELAY, intValue = DEFAULT_RA_THREADS_DELAY, + // label = "Thread delay in seconds") protected int raThreadDelay = DEFAULT_RA_THREADS_DELAY; - @Property(name = PROP_RA_FLAG_MBIT_STATUS, boolValue = DEFAULT_RA_FLAG_MBIT_STATUS, - label = "Turn M-bit flag on/off") + //@Property(name = PROP_RA_FLAG_MBIT_STATUS, boolValue = DEFAULT_RA_FLAG_MBIT_STATUS, + // label = "Turn M-bit flag on/off") protected boolean raFlagMbitStatus = DEFAULT_RA_FLAG_MBIT_STATUS; - @Property(name = PROP_RA_FLAG_OBIT_STATUS, boolValue = DEFAULT_RA_FLAG_OBIT_STATUS, - label = "Turn O-bit flag on/off") + //@Property(name = PROP_RA_FLAG_OBIT_STATUS, boolValue = DEFAULT_RA_FLAG_OBIT_STATUS, + // label = "Turn O-bit flag on/off") protected boolean raFlagObitStatus = DEFAULT_RA_FLAG_OBIT_STATUS; - @Property(name = PROP_RA_OPTION_PREFIX_STATUS, boolValue = DEFAULT_RA_OPTION_PREFIX_STATUS, - label = "Prefix option support needed or not") + //@Property(name = PROP_RA_OPTION_PREFIX_STATUS, boolValue = DEFAULT_RA_OPTION_PREFIX_STATUS, + // label = "Prefix option support needed or not") protected boolean raOptionPrefixStatus = DEFAULT_RA_OPTION_PREFIX_STATUS; - @Property(name = PROP_RA_GLOBAL_PREFIX_CONF_STATUS, boolValue = DEFAULT_RA_GLOBAL_PREFIX_CONF_STATUS, - label = "Global prefix configuration support on/off") + //@Property(name = PROP_RA_GLOBAL_PREFIX_CONF_STATUS, boolValue = DEFAULT_RA_GLOBAL_PREFIX_CONF_STATUS, + // label = "Global prefix configuration support on/off") protected boolean raGlobalConfigStatus = DEFAULT_RA_GLOBAL_PREFIX_CONF_STATUS; @GuardedBy(value = "this") diff --git a/apps/routing/common/src/main/java/org/onosproject/routing/bgp/BgpSessionManager.java b/apps/routing/common/src/main/java/org/onosproject/routing/bgp/BgpSessionManager.java index a2521ba1ca..0259a2ffbf 100644 --- a/apps/routing/common/src/main/java/org/onosproject/routing/bgp/BgpSessionManager.java +++ b/apps/routing/common/src/main/java/org/onosproject/routing/bgp/BgpSessionManager.java @@ -16,13 +16,6 @@ package org.onosproject.routing.bgp; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.jboss.netty.bootstrap.ServerBootstrap; import org.jboss.netty.channel.Channel; import org.jboss.netty.channel.ChannelException; @@ -41,6 +34,12 @@ import org.onosproject.cluster.ClusterService; import org.onosproject.routeservice.Route; import org.onosproject.routeservice.RouteAdminService; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -58,16 +57,15 @@ import static org.onlab.util.Tools.groupedThreads; /** * BGP Session Manager class. */ -@Component(immediate = true, enabled = false) -@Service +@Component(immediate = true, service = BgpInfoService.class) public class BgpSessionManager implements BgpInfoService { private static final Logger log = LoggerFactory.getLogger(BgpSessionManager.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RouteAdminService routeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; boolean isShutdown = true; diff --git a/apps/routing/common/src/main/java/org/onosproject/routing/impl/BgpSpeakerNeighbourHandler.java b/apps/routing/common/src/main/java/org/onosproject/routing/impl/BgpSpeakerNeighbourHandler.java index ab1e595a83..1ae02c2176 100644 --- a/apps/routing/common/src/main/java/org/onosproject/routing/impl/BgpSpeakerNeighbourHandler.java +++ b/apps/routing/common/src/main/java/org/onosproject/routing/impl/BgpSpeakerNeighbourHandler.java @@ -16,11 +16,11 @@ package org.onosproject.routing.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.Ethernet; import org.onlab.packet.VlanId; import org.onosproject.core.ApplicationId; @@ -59,16 +59,16 @@ import java.util.Set; @Component(immediate = true, enabled = false) public class BgpSpeakerNeighbourHandler { - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService configService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InterfaceService interfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NeighbourResolutionService neighbourService; private ApplicationId appId; diff --git a/apps/routing/common/src/main/java/org/onosproject/routing/impl/DirectHostManager.java b/apps/routing/common/src/main/java/org/onosproject/routing/impl/DirectHostManager.java index 0cac220a71..da62a5beec 100644 --- a/apps/routing/common/src/main/java/org/onosproject/routing/impl/DirectHostManager.java +++ b/apps/routing/common/src/main/java/org/onosproject/routing/impl/DirectHostManager.java @@ -18,18 +18,11 @@ package org.onosproject.routing.impl; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onlab.packet.EthType; import org.onlab.packet.Ethernet; +import org.onlab.packet.IP; import org.onlab.packet.IPv4; import org.onlab.packet.IPv6; -import org.onlab.packet.IP; import org.onlab.packet.IpAddress; import org.onlab.packet.MacAddress; import org.onlab.packet.VlanId; @@ -37,8 +30,6 @@ import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; -import org.onosproject.net.intf.Interface; -import org.onosproject.net.intf.InterfaceService; import org.onosproject.net.ConnectPoint; import org.onosproject.net.Host; import org.onosproject.net.flow.DefaultTrafficSelector; @@ -47,6 +38,8 @@ import org.onosproject.net.flow.TrafficSelector; import org.onosproject.net.host.HostEvent; import org.onosproject.net.host.HostListener; import org.onosproject.net.host.HostService; +import org.onosproject.net.intf.Interface; +import org.onosproject.net.intf.InterfaceService; import org.onosproject.net.packet.DefaultOutboundPacket; import org.onosproject.net.packet.OutboundPacket; import org.onosproject.net.packet.PacketContext; @@ -54,6 +47,12 @@ import org.onosproject.net.packet.PacketPriority; import org.onosproject.net.packet.PacketProcessor; import org.onosproject.net.packet.PacketService; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -75,25 +74,25 @@ public class DirectHostManager { private Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InterfaceService interfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService componentConfigService; private static final boolean DEFAULT_ENABLED = false; - @Property(name = "enabled", boolValue = DEFAULT_ENABLED, - label = "Enable reactive directly-connected host processing") + //@Property(name = "enabled", boolValue = DEFAULT_ENABLED, + // label = "Enable reactive directly-connected host processing") private volatile boolean enabled = DEFAULT_ENABLED; private static final String APP_NAME = "org.onosproject.directhost"; diff --git a/apps/routing/cpr/src/main/java/org/onosproject/routing/cpr/ControlPlaneRedirectManager.java b/apps/routing/cpr/src/main/java/org/onosproject/routing/cpr/ControlPlaneRedirectManager.java index c834c2c537..679d33ef20 100644 --- a/apps/routing/cpr/src/main/java/org/onosproject/routing/cpr/ControlPlaneRedirectManager.java +++ b/apps/routing/cpr/src/main/java/org/onosproject/routing/cpr/ControlPlaneRedirectManager.java @@ -18,13 +18,6 @@ package org.onosproject.routing.cpr; import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onlab.packet.EthType; import org.onlab.packet.Ip4Address; import org.onlab.packet.Ip6Address; @@ -36,8 +29,6 @@ import org.onosproject.app.ApplicationService; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; -import org.onosproject.net.intf.Interface; -import org.onosproject.net.intf.InterfaceService; import org.onosproject.mastership.MastershipService; import org.onosproject.net.DeviceId; import org.onosproject.net.Host; @@ -57,13 +48,21 @@ import org.onosproject.net.flowobjective.ForwardingObjective; import org.onosproject.net.flowobjective.NextObjective; import org.onosproject.net.host.HostService; import org.onosproject.net.host.InterfaceIpAddress; +import org.onosproject.net.intf.Interface; +import org.onosproject.net.intf.InterfaceService; import org.onosproject.routing.InterfaceProvisionRequest; import org.onosproject.routing.Router; import org.onosproject.routing.RouterInfo; import org.onosproject.routing.RoutingService; -import org.onosproject.routing.config.RoutingConfiguration; import org.onosproject.routing.config.RoutersConfig; +import org.onosproject.routing.config.RoutingConfiguration; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Dictionary; @@ -99,35 +98,35 @@ public class ControlPlaneRedirectManager { static final int ACL_PRIORITY = 40001; private static final int OSPF_IP_PROTO = 0x59; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InterfaceService interfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowObjectiveService flowObjectiveService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry networkConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ApplicationService applicationService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; - @Property(name = "forceUnprovision", boolValue = false, - label = "Force unprovision when the device goes offline") + //@Property(name = "forceUnprovision", boolValue = false, + // label = "Force unprovision when the device goes offline") private boolean forceUnprovision = false; private static final String APP_NAME = "org.onosproject.cpr"; diff --git a/apps/routing/fibinstaller/src/main/java/org/onosproject/routing/fibinstaller/FibInstaller.java b/apps/routing/fibinstaller/src/main/java/org/onosproject/routing/fibinstaller/FibInstaller.java index 73841bdaa6..6eb23d492e 100644 --- a/apps/routing/fibinstaller/src/main/java/org/onosproject/routing/fibinstaller/FibInstaller.java +++ b/apps/routing/fibinstaller/src/main/java/org/onosproject/routing/fibinstaller/FibInstaller.java @@ -19,13 +19,6 @@ package org.onosproject.routing.fibinstaller; import com.google.common.collect.ConcurrentHashMultiset; import com.google.common.collect.Maps; import com.google.common.collect.Multiset; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onlab.packet.Ethernet; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; @@ -36,20 +29,13 @@ import org.onosproject.app.ApplicationService; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; -import org.onosproject.net.config.basics.McastConfig; -import org.onosproject.net.intf.Interface; -import org.onosproject.net.intf.InterfaceService; -import org.onosproject.routeservice.ResolvedRoute; -import org.onosproject.routeservice.Route; -import org.onosproject.routeservice.RouteEvent; -import org.onosproject.routeservice.RouteListener; -import org.onosproject.routeservice.RouteService; import org.onosproject.net.DeviceId; import org.onosproject.net.config.ConfigFactory; import org.onosproject.net.config.NetworkConfigEvent; import org.onosproject.net.config.NetworkConfigListener; import org.onosproject.net.config.NetworkConfigRegistry; import org.onosproject.net.config.NetworkConfigService; +import org.onosproject.net.config.basics.McastConfig; import org.onosproject.net.config.basics.SubjectFactories; import org.onosproject.net.device.DeviceService; import org.onosproject.net.flow.DefaultTrafficSelector; @@ -66,15 +52,28 @@ import org.onosproject.net.flowobjective.FlowObjectiveService; import org.onosproject.net.flowobjective.ForwardingObjective; import org.onosproject.net.flowobjective.NextObjective; import org.onosproject.net.flowobjective.ObjectiveContext; +import org.onosproject.net.intf.Interface; +import org.onosproject.net.intf.InterfaceService; +import org.onosproject.routeservice.ResolvedRoute; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteEvent; +import org.onosproject.routeservice.RouteListener; +import org.onosproject.routeservice.RouteService; import org.onosproject.routing.InterfaceProvisionRequest; import org.onosproject.routing.NextHop; import org.onosproject.routing.NextHopGroupKey; import org.onosproject.routing.Router; import org.onosproject.routing.RouterInfo; import org.onosproject.routing.RoutingService; -import org.onosproject.routing.config.RoutingConfiguration; import org.onosproject.routing.config.RoutersConfig; +import org.onosproject.routing.config.RoutingConfiguration; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -98,35 +97,35 @@ public class FibInstaller { // programs the fabric switches for VR public static final short ASSIGNED_VLAN = 4094; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RouteService routeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InterfaceService interfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService networkConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry networkConfigRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService componentConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowObjectiveService flowObjectiveService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ApplicationService applicationService; - @Property(name = "routeToNextHop", boolValue = false, - label = "Install a /32 or /128 route to each next hop") + //@Property(name = "routeToNextHop", boolValue = false, + // label = "Install a /32 or /128 route to each next hop") private boolean routeToNextHop = false; // Device id of data-plane switch - should be learned from config diff --git a/apps/routing/fpm/app/src/main/java/org/onosproject/routing/fpm/FpmManager.java b/apps/routing/fpm/app/src/main/java/org/onosproject/routing/fpm/FpmManager.java index 4deaebb3b4..39735203c2 100644 --- a/apps/routing/fpm/app/src/main/java/org/onosproject/routing/fpm/FpmManager.java +++ b/apps/routing/fpm/app/src/main/java/org/onosproject/routing/fpm/FpmManager.java @@ -18,15 +18,6 @@ package org.onosproject.routing.fpm; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Lists; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.ReferencePolicy; -import org.apache.felix.scr.annotations.Service; import org.jboss.netty.bootstrap.ServerBootstrap; import org.jboss.netty.channel.Channel; import org.jboss.netty.channel.ChannelException; @@ -75,19 +66,26 @@ import org.onosproject.store.service.ConsistentMap; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.ReferencePolicy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.net.InetSocketAddress; import java.time.Duration; +import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Dictionary; import java.util.HashSet; import java.util.LinkedList; import java.util.List; -import java.util.ArrayList; -import java.util.Arrays; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; @@ -101,8 +99,7 @@ import static org.onlab.util.Tools.groupedThreads; /** * Forwarding Plane Manager (FPM) route source. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = FpmInfoService.class) public class FpmManager implements FpmInfoService { private final Logger log = LoggerFactory.getLogger(getClass()); @@ -111,32 +108,32 @@ public class FpmManager implements FpmInfoService { private static final int IDLE_TIMEOUT_SECS = 5; private static final String LOCK_NAME = "fpm-manager-lock"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService componentConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RouteAdminService routeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InterfaceService interfaceService; - @Reference(cardinality = ReferenceCardinality.OPTIONAL_UNARY, + @Reference(cardinality = ReferenceCardinality.OPTIONAL, bind = "bindRipStore", unbind = "unbindRipStore", policy = ReferencePolicy.DYNAMIC, target = "(fpm_type=RIP)") protected volatile FpmPrefixStore ripStore; - @Reference(cardinality = ReferenceCardinality.OPTIONAL_UNARY, + @Reference(cardinality = ReferenceCardinality.OPTIONAL, bind = "bindDhcpStore", unbind = "unbindDhcpStore", policy = ReferencePolicy.DYNAMIC, @@ -162,20 +159,20 @@ public class FpmManager implements FpmInfoService { //Local cache for peers to be used in case of cluster partition. private Map> localPeers = new ConcurrentHashMap<>(); - @Property(name = "clearRoutes", boolValue = true, - label = "Whether to clear routes when the FPM connection goes down") + //@Property(name = "clearRoutes", boolValue = true, + // label = "Whether to clear routes when the FPM connection goes down") private boolean clearRoutes = true; - @Property(name = "pdPushEnabled", boolValue = false, - label = "Whether to push prefixes to Quagga over fpm connection") + //@Property(name = "pdPushEnabled", boolValue = false, + // label = "Whether to push prefixes to Quagga over fpm connection") private boolean pdPushEnabled = false; - @Property(name = "pdPushNextHopIPv4", value = "", - label = "IPv4 next-hop address for PD Pushing.") + //@Property(name = "pdPushNextHopIPv4", value = "", + // label = "IPv4 next-hop address for PD Pushing.") private List pdPushNextHopIPv4 = null; - @Property(name = "pdPushNextHopIPv6", value = "", - label = "IPv6 next-hop address for PD Pushing.") + //@Property(name = "pdPushNextHopIPv6", value = "", + // label = "IPv6 next-hop address for PD Pushing.") private List pdPushNextHopIPv6 = null; protected void bindRipStore(FpmPrefixStore store) { diff --git a/apps/scalablegateway/src/main/java/org/onosproject/scalablegateway/impl/ScalableGatewayManager.java b/apps/scalablegateway/src/main/java/org/onosproject/scalablegateway/impl/ScalableGatewayManager.java index d5c478b859..11cc0aded8 100644 --- a/apps/scalablegateway/src/main/java/org/onosproject/scalablegateway/impl/ScalableGatewayManager.java +++ b/apps/scalablegateway/src/main/java/org/onosproject/scalablegateway/impl/ScalableGatewayManager.java @@ -18,12 +18,6 @@ package org.onosproject.scalablegateway.impl; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onlab.util.Tools; import org.onosproject.core.ApplicationId; @@ -53,6 +47,11 @@ import org.onosproject.store.service.ConsistentMap; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.Versioned; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -66,8 +65,7 @@ import static org.onosproject.net.AnnotationKeys.PORT_NAME; * Manages gateway node for gateway scalability. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = ScalableGatewayService.class) public class ScalableGatewayManager implements ScalableGatewayService { private final Logger log = LoggerFactory.getLogger(getClass()); @@ -76,25 +74,25 @@ public class ScalableGatewayManager implements ScalableGatewayService { private static final String APP_NAME = "scalablegateway"; private static final String GATEWAYNODE_MAP_NAME = "gatewaynode-map"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService configService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry configRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected GroupService groupService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private GatewayNodeConfig config; diff --git a/apps/sdnip/src/main/java/org/onosproject/sdnip/SdnIp.java b/apps/sdnip/src/main/java/org/onosproject/sdnip/SdnIp.java index 1103736a3b..8df4949222 100644 --- a/apps/sdnip/src/main/java/org/onosproject/sdnip/SdnIp.java +++ b/apps/sdnip/src/main/java/org/onosproject/sdnip/SdnIp.java @@ -16,11 +16,11 @@ package org.onosproject.sdnip; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.app.ApplicationService; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -49,25 +49,25 @@ public class SdnIp { public static final String SDN_IP_APP = "org.onosproject.sdnip"; private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ApplicationService applicationService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService networkConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InterfaceService interfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentSynchronizationService intentSynchronizer; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry cfgRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentService componentService; private PeerConnectivityManager peerConnectivity; diff --git a/apps/sdnip/src/main/java/org/onosproject/sdnip/SdnIpFib.java b/apps/sdnip/src/main/java/org/onosproject/sdnip/SdnIpFib.java index 9a4369e817..3f484eb36a 100644 --- a/apps/sdnip/src/main/java/org/onosproject/sdnip/SdnIpFib.java +++ b/apps/sdnip/src/main/java/org/onosproject/sdnip/SdnIpFib.java @@ -18,11 +18,11 @@ package org.onosproject.sdnip; import com.google.common.collect.ImmutableList; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.Ethernet; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; @@ -74,19 +74,19 @@ import static org.onosproject.net.EncapsulationType.NONE; public class SdnIpFib { private Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InterfaceService interfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentSynchronizationService intentSynchronizer; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService networkConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RouteService routeService; private final InternalRouteListener routeListener = new InternalRouteListener(); diff --git a/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/SegmentRoutingManager.java b/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/SegmentRoutingManager.java index f083d74984..ced12d0d9f 100644 --- a/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/SegmentRoutingManager.java +++ b/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/SegmentRoutingManager.java @@ -20,14 +20,6 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.Maps; import com.google.common.collect.Multimap; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.Ethernet; import org.onlab.packet.ICMP6; import org.onlab.packet.IPv4; @@ -110,19 +102,17 @@ import org.onosproject.segmentrouting.grouphandler.NextNeighbors; import org.onosproject.segmentrouting.mcast.McastHandler; import org.onosproject.segmentrouting.mcast.McastRole; import org.onosproject.segmentrouting.mcast.McastRoleStoreKey; +import org.onosproject.segmentrouting.mcast.McastStoreKey; import org.onosproject.segmentrouting.pwaas.DefaultL2Tunnel; import org.onosproject.segmentrouting.pwaas.DefaultL2TunnelDescription; import org.onosproject.segmentrouting.pwaas.DefaultL2TunnelHandler; import org.onosproject.segmentrouting.pwaas.DefaultL2TunnelPolicy; - import org.onosproject.segmentrouting.pwaas.L2Tunnel; +import org.onosproject.segmentrouting.pwaas.L2TunnelDescription; import org.onosproject.segmentrouting.pwaas.L2TunnelHandler; import org.onosproject.segmentrouting.pwaas.L2TunnelPolicy; -import org.onosproject.segmentrouting.pwaas.L2TunnelDescription; - import org.onosproject.segmentrouting.storekey.DestinationSetNextObjectiveStoreKey; import org.onosproject.segmentrouting.storekey.DummyVlanIdStoreKey; -import org.onosproject.segmentrouting.mcast.McastStoreKey; import org.onosproject.segmentrouting.storekey.PortNextObjectiveStoreKey; import org.onosproject.segmentrouting.storekey.VlanNextObjectiveStoreKey; import org.onosproject.segmentrouting.storekey.XConnectStoreKey; @@ -133,6 +123,12 @@ import org.onosproject.store.service.EventuallyConsistentMapBuilder; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.WallClockTimestamp; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -165,101 +161,100 @@ import static org.onosproject.net.config.NetworkConfigEvent.Type.CONFIG_UNREGIST /** * Segment routing manager. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = SegmentRoutingService.class) public class SegmentRoutingManager implements SegmentRoutingService { private static Logger log = LoggerFactory.getLogger(SegmentRoutingManager.class); private static final String NOT_MASTER = "Current instance is not the master of {}. Ignore."; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private ComponentConfigService compCfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private NeighbourResolutionService neighbourResolutionService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) HostProbingService probingService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) DeviceAdminService deviceAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public FlowObjectiveService flowObjectiveService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public LinkService linkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public MulticastRouteService multicastRouteService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public TopologyService topologyService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) RouteService routeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public NetworkConfigRegistry cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public InterfaceService interfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public WorkPartitionService workPartitionService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.OPTIONAL_UNARY) + @Reference(cardinality = ReferenceCardinality.OPTIONAL) public XconnectService xconnectService; - @Property(name = "activeProbing", boolValue = true, - label = "Enable active probing to discover dual-homed hosts.") + //@Property(name = "activeProbing", boolValue = true, + // label = "Enable active probing to discover dual-homed hosts.") boolean activeProbing = true; - @Property(name = "singleHomedDown", boolValue = false, - label = "Enable administratively taking down single-homed hosts " - + "when all uplinks are gone") + //@Property(name = "singleHomedDown", boolValue = false, + // label = "Enable administratively taking down single-homed hosts " + // + "when all uplinks are gone") boolean singleHomedDown = false; - @Property(name = "respondToUnknownHosts", boolValue = true, - label = "Enable this to respond to ARP/NDP requests from unknown hosts.") + //@Property(name = "respondToUnknownHosts", boolValue = true, + // label = "Enable this to respond to ARP/NDP requests from unknown hosts.") boolean respondToUnknownHosts = true; - @Property(name = "routeDoubleTaggedHosts", boolValue = false, - label = "Program flows and groups to pop and route double tagged hosts") + //@Property(name = "routeDoubleTaggedHosts", boolValue = false, + // label = "Program flows and groups to pop and route double tagged hosts") boolean routeDoubleTaggedHosts = false; private static final int DEFAULT_INTERNAL_VLAN = 4094; - @Property(name = "defaultInternalVlan", intValue = DEFAULT_INTERNAL_VLAN, - label = "internal vlan assigned by default to unconfigured ports") + //@Property(name = "defaultInternalVlan", intValue = DEFAULT_INTERNAL_VLAN, + // label = "internal vlan assigned by default to unconfigured ports") private int defaultInternalVlan = DEFAULT_INTERNAL_VLAN; private static final int PW_TRANSPORT_VLAN = 4090; - @Property(name = "pwTransportVlan", intValue = PW_TRANSPORT_VLAN, - label = "vlan used for transport of pseudowires between switches") + //@Property(name = "pwTransportVlan", intValue = PW_TRANSPORT_VLAN, + // label = "vlan used for transport of pseudowires between switches") private int pwTransportVlan = PW_TRANSPORT_VLAN; ArpHandler arpHandler = null; diff --git a/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/xconnect/api/XconnectService.java b/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/xconnect/api/XconnectService.java index 25f1b0185e..70ea3ae1f1 100644 --- a/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/xconnect/api/XconnectService.java +++ b/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/xconnect/api/XconnectService.java @@ -16,7 +16,6 @@ package org.onosproject.segmentrouting.xconnect.api; import com.google.common.collect.ImmutableMap; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.VlanId; import org.onosproject.net.ConnectPoint; import org.onosproject.net.DeviceId; @@ -27,7 +26,6 @@ import java.util.Set; /** * VLAN cross connect between exactly two ports. */ -@Service public interface XconnectService { /** diff --git a/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/xconnect/impl/XconnectManager.java b/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/xconnect/impl/XconnectManager.java index a7eb6649c9..5e42e570d2 100644 --- a/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/xconnect/impl/XconnectManager.java +++ b/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/xconnect/impl/XconnectManager.java @@ -18,12 +18,6 @@ package org.onosproject.segmentrouting.xconnect.impl; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.MacAddress; import org.onlab.packet.VlanId; import org.onlab.util.KryoNamespace; @@ -66,6 +60,11 @@ import org.onosproject.store.service.MapEventListener; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.Versioned; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -80,31 +79,30 @@ import java.util.stream.Collectors; import static org.onlab.util.Tools.groupedThreads; -@Service -@Component(immediate = true) +@Component(immediate = true, service = XconnectService.class) public class XconnectManager implements XconnectService { - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private CodecService codecService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public NetworkConfigService netCfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public FlowObjectiveService flowObjectiveService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.OPTIONAL_UNARY) + @Reference(cardinality = ReferenceCardinality.OPTIONAL) public SegmentRoutingService srService; private static final String APP_NAME = "org.onosproject.xconnect"; diff --git a/apps/simplefabric/src/main/java/org/onosproject/simplefabric/SimpleFabricL2Forward.java b/apps/simplefabric/src/main/java/org/onosproject/simplefabric/SimpleFabricL2Forward.java index a67ed1a8b0..c8ecdd7b19 100644 --- a/apps/simplefabric/src/main/java/org/onosproject/simplefabric/SimpleFabricL2Forward.java +++ b/apps/simplefabric/src/main/java/org/onosproject/simplefabric/SimpleFabricL2Forward.java @@ -20,11 +20,11 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.MacAddress; import org.onlab.packet.VlanId; import org.onosproject.core.ApplicationId; @@ -74,16 +74,16 @@ public class SimpleFabricL2Forward { private final Logger log = LoggerFactory.getLogger(getClass()); protected ApplicationId l2ForwardAppId; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentService intentService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected SimpleFabricService simpleFabric; public static final ImmutableList L2NETWORK_CONSTRAINTS = diff --git a/apps/simplefabric/src/main/java/org/onosproject/simplefabric/SimpleFabricManager.java b/apps/simplefabric/src/main/java/org/onosproject/simplefabric/SimpleFabricManager.java index 43686ab1ff..d42f8e16c7 100644 --- a/apps/simplefabric/src/main/java/org/onosproject/simplefabric/SimpleFabricManager.java +++ b/apps/simplefabric/src/main/java/org/onosproject/simplefabric/SimpleFabricManager.java @@ -21,60 +21,59 @@ import com.google.common.collect.Maps; import com.googlecode.concurrenttrees.radix.node.concrete.DefaultByteArrayNodeFactory; import com.googlecode.concurrenttrees.radixinverted.ConcurrentInvertedRadixTree; import com.googlecode.concurrenttrees.radixinverted.InvertedRadixTree; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.ARP; import org.onlab.packet.Ethernet; +import org.onlab.packet.IPv6; import org.onlab.packet.Ip4Address; import org.onlab.packet.Ip6Address; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; -import org.onlab.packet.IPv6; import org.onlab.packet.MacAddress; import org.onlab.packet.VlanId; import org.onlab.packet.ndp.NeighborSolicitation; import org.onosproject.app.ApplicationService; +import org.onosproject.component.ComponentService; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; -import org.onosproject.component.ComponentService; import org.onosproject.event.ListenerRegistry; -import org.onosproject.net.intf.Interface; -import org.onosproject.net.intf.InterfaceService; -import org.onosproject.net.intf.InterfaceListener; -import org.onosproject.net.intf.InterfaceEvent; +import org.onosproject.net.ConnectPoint; +import org.onosproject.net.Host; import org.onosproject.net.config.ConfigFactory; import org.onosproject.net.config.NetworkConfigEvent; import org.onosproject.net.config.NetworkConfigListener; import org.onosproject.net.config.NetworkConfigRegistry; import org.onosproject.net.config.NetworkConfigService; import org.onosproject.net.config.basics.SubjectFactories; -import org.onosproject.net.ConnectPoint; import org.onosproject.net.device.DeviceEvent; import org.onosproject.net.device.DeviceListener; import org.onosproject.net.device.DeviceService; import org.onosproject.net.flow.DefaultTrafficTreatment; import org.onosproject.net.flow.TrafficTreatment; -import org.onosproject.net.Host; -import org.onosproject.net.host.HostService; -import org.onosproject.net.host.HostListener; import org.onosproject.net.host.HostEvent; -import org.onosproject.net.packet.PacketService; +import org.onosproject.net.host.HostListener; +import org.onosproject.net.host.HostService; +import org.onosproject.net.intf.Interface; +import org.onosproject.net.intf.InterfaceEvent; +import org.onosproject.net.intf.InterfaceListener; +import org.onosproject.net.intf.InterfaceService; import org.onosproject.net.packet.DefaultOutboundPacket; import org.onosproject.net.packet.OutboundPacket; +import org.onosproject.net.packet.PacketService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.OutputStream; import java.io.PrintStream; import java.nio.ByteBuffer; -import java.util.HashSet; import java.util.Collection; -import java.util.Set; +import java.util.HashSet; import java.util.Map; +import java.util.Set; import static org.onosproject.simplefabric.RouteTools.createBinaryString; @@ -82,39 +81,38 @@ import static org.onosproject.simplefabric.RouteTools.createBinaryString; /** * Reactive routing configuration manager. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = SimpleFabricService.class) public class SimpleFabricManager extends ListenerRegistry implements SimpleFabricService { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ApplicationService applicationService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService configService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry registry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InterfaceService interfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; // compoents to be activated within SimpleFabric - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentService componentService; // SimpleFabric variables diff --git a/apps/simplefabric/src/main/java/org/onosproject/simplefabric/SimpleFabricNeighbour.java b/apps/simplefabric/src/main/java/org/onosproject/simplefabric/SimpleFabricNeighbour.java index d7963461da..d506a7e496 100644 --- a/apps/simplefabric/src/main/java/org/onosproject/simplefabric/SimpleFabricNeighbour.java +++ b/apps/simplefabric/src/main/java/org/onosproject/simplefabric/SimpleFabricNeighbour.java @@ -15,11 +15,11 @@ */ package org.onosproject.simplefabric; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.MacAddress; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -48,19 +48,19 @@ public class SimpleFabricNeighbour { private final Logger log = LoggerFactory.getLogger(getClass()); protected ApplicationId appId; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InterfaceService interfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NeighbourResolutionService neighbourService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected SimpleFabricService simpleFabric; private final InternalSimpleFabricListener simpleFabricListener = diff --git a/apps/simplefabric/src/main/java/org/onosproject/simplefabric/SimpleFabricReactiveRouting.java b/apps/simplefabric/src/main/java/org/onosproject/simplefabric/SimpleFabricReactiveRouting.java index e66d700fc8..ee37a95e47 100644 --- a/apps/simplefabric/src/main/java/org/onosproject/simplefabric/SimpleFabricReactiveRouting.java +++ b/apps/simplefabric/src/main/java/org/onosproject/simplefabric/SimpleFabricReactiveRouting.java @@ -16,11 +16,11 @@ package org.onosproject.simplefabric; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.EthType; import org.onlab.packet.Ethernet; import org.onlab.packet.ICMP; @@ -92,31 +92,31 @@ public class SimpleFabricReactiveRouting { private final Logger log = LoggerFactory.getLogger(getClass()); private ApplicationId reactiveAppId; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InterfaceService interfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentService intentService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected SimpleFabricService simpleFabric; private ImmutableList reactiveConstraints diff --git a/apps/t3/app/src/main/java/org/onosproject/t3/impl/TroubleshootManager.java b/apps/t3/app/src/main/java/org/onosproject/t3/impl/TroubleshootManager.java index 018f6ac69f..df73a616c1 100644 --- a/apps/t3/app/src/main/java/org/onosproject/t3/impl/TroubleshootManager.java +++ b/apps/t3/app/src/main/java/org/onosproject/t3/impl/TroubleshootManager.java @@ -22,10 +22,6 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import com.google.common.collect.Sets; import org.apache.commons.lang3.tuple.Pair; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onlab.packet.VlanId; import org.onosproject.cluster.NodeId; @@ -74,6 +70,9 @@ import org.onosproject.segmentrouting.config.SegmentRoutingDeviceConfig; import org.onosproject.t3.api.GroupsInDevice; import org.onosproject.t3.api.StaticPacketTrace; import org.onosproject.t3.api.TroubleshootService; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.net.UnknownHostException; @@ -103,45 +102,44 @@ import static org.slf4j.LoggerFactory.getLogger; * Given a representation of a packet follows it's path in the network according to the existing flows and groups in * the devices. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = TroubleshootService.class) public class TroubleshootManager implements TroubleshootService { private static final Logger log = getLogger(TroubleshootManager.class); static final String PACKET_TO_CONTROLLER = "Packet goes to the controller"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected GroupService groupService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService networkConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected EdgePortService edgePortService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RouteService routeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MulticastRouteService mcastService; @Override diff --git a/apps/tenbi/topology/src/main/java/org/onosproject/tenbi/topology/impl/TeTopologyNbiManager.java b/apps/tenbi/topology/src/main/java/org/onosproject/tenbi/topology/impl/TeTopologyNbiManager.java index 1f6dfd2a7a..4c4d532f27 100644 --- a/apps/tenbi/topology/src/main/java/org/onosproject/tenbi/topology/impl/TeTopologyNbiManager.java +++ b/apps/tenbi/topology/src/main/java/org/onosproject/tenbi/topology/impl/TeTopologyNbiManager.java @@ -17,12 +17,11 @@ package org.onosproject.tenbi.topology.impl; import static com.google.common.base.Preconditions.checkNotNull; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.event.AbstractListenerManager; import org.onosproject.tetopology.management.api.TeTopologyEvent; import org.onosproject.tetopology.management.api.TeTopologyListener; @@ -54,18 +53,17 @@ import org.slf4j.LoggerFactory; /** * The IETF TE Topology NBI Manager implementation. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = { IetfNetworkService.class, IetfNetworkTopologyService.class, IetfTeTopologyService.class }) public class TeTopologyNbiManager extends AbstractListenerManager implements IetfNetworkService, IetfNetworkTopologyService, IetfTeTopologyService { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TeTopologyService teTopologyService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected YmsService ymsService; diff --git a/apps/tenbi/tunnel/src/main/java/org/onosproject/tenbi/tunnel/TeTunnelNbiManager.java b/apps/tenbi/tunnel/src/main/java/org/onosproject/tenbi/tunnel/TeTunnelNbiManager.java index 34a303318c..4783d4a4ae 100644 --- a/apps/tenbi/tunnel/src/main/java/org/onosproject/tenbi/tunnel/TeTunnelNbiManager.java +++ b/apps/tenbi/tunnel/src/main/java/org/onosproject/tenbi/tunnel/TeTunnelNbiManager.java @@ -16,12 +16,11 @@ package org.onosproject.tenbi.tunnel; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.event.AbstractListenerManager; import org.onosproject.tetopology.management.api.TeTopology; import org.onosproject.tetopology.management.api.TeTopologyKey; @@ -55,23 +54,22 @@ import static org.slf4j.LoggerFactory.getLogger; /** * The IETF TE Tunnel NBI Manager implementation. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = IetfTeService.class) public class TeTunnelNbiManager extends AbstractListenerManager implements IetfTeService { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected YmsService ymsService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TeTunnelService tunnelService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TeTopologyService toplogyService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TeTunnelAdminService tunnelAdminService; @Activate diff --git a/apps/test/cluster-ha/src/main/java/org/onosproject/clusterha/ClusterHATest.java b/apps/test/cluster-ha/src/main/java/org/onosproject/clusterha/ClusterHATest.java index 0ccca0a983..1de17ecfaf 100644 --- a/apps/test/cluster-ha/src/main/java/org/onosproject/clusterha/ClusterHATest.java +++ b/apps/test/cluster-ha/src/main/java/org/onosproject/clusterha/ClusterHATest.java @@ -18,20 +18,19 @@ package org.onosproject.clusterha; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; -import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; -import org.onosproject.store.service.Serializer; +import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.ConsistentMap; +import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageException; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -42,16 +41,15 @@ import java.util.List; /** * Cluster HA Test. */ -@Component(immediate = true) -@Service(value = ClusterHATest.class) +@Component(immediate = true, service = ClusterHATest.class) public class ClusterHATest { protected final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private ApplicationId appId; diff --git a/apps/test/demo/src/main/java/org/onosproject/demo/DemoInstaller.java b/apps/test/demo/src/main/java/org/onosproject/demo/DemoInstaller.java index 3772bdbad4..8283a22fba 100644 --- a/apps/test/demo/src/main/java/org/onosproject/demo/DemoInstaller.java +++ b/apps/test/demo/src/main/java/org/onosproject/demo/DemoInstaller.java @@ -15,36 +15,16 @@ */ package org.onosproject.demo; -import java.security.SecureRandom; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.atomic.AtomicLong; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.Random; -import java.util.Set; -import java.util.concurrent.Callable; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; - +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.ObjectNode; +import com.google.common.base.Predicate; +import com.google.common.base.Stopwatch; +import com.google.common.collect.FluentIterable; +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; +import com.google.common.util.concurrent.ThreadFactoryBuilder; import org.apache.commons.lang.math.RandomUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.MacAddress; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.ControllerNode; @@ -53,6 +33,7 @@ import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; import org.onosproject.mastership.MastershipService; import org.onosproject.net.Device; +import org.onosproject.net.DeviceId; import org.onosproject.net.Host; import org.onosproject.net.HostId; import org.onosproject.net.MastershipRole; @@ -69,64 +50,80 @@ import org.onosproject.net.flow.TrafficSelector; import org.onosproject.net.flow.TrafficTreatment; import org.onosproject.net.flow.criteria.Criterion; import org.onosproject.net.flow.instructions.Instructions; -import org.onosproject.net.flowobjective.FlowObjectiveService; import org.onosproject.net.flowobjective.DefaultFilteringObjective; import org.onosproject.net.flowobjective.DefaultForwardingObjective; -import org.onosproject.net.flowobjective.ForwardingObjective; -import org.onosproject.net.flowobjective.FilteringObjective; import org.onosproject.net.flowobjective.DefaultObjectiveContext; +import org.onosproject.net.flowobjective.FilteringObjective; +import org.onosproject.net.flowobjective.FlowObjectiveService; +import org.onosproject.net.flowobjective.ForwardingObjective; import org.onosproject.net.flowobjective.ObjectiveContext; -import org.onosproject.net.DeviceId; import org.onosproject.net.host.HostService; import org.onosproject.net.intent.Constraint; import org.onosproject.net.intent.HostToHostIntent; import org.onosproject.net.intent.Intent; import org.onosproject.net.intent.IntentService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.ObjectNode; -import com.google.common.base.Predicate; -import com.google.common.base.Stopwatch; -import com.google.common.collect.FluentIterable; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; -import com.google.common.util.concurrent.ThreadFactoryBuilder; +import java.security.SecureRandom; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Random; +import java.util.Set; +import java.util.concurrent.Callable; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; +import java.util.concurrent.atomic.AtomicLong; import static org.slf4j.LoggerFactory.getLogger; /** * Application to set up demos. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = DemoApi.class) public class DemoInstaller implements DemoApi { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentService intentService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService flowService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowObjectiveService objectiveService; private ExecutorService worker; diff --git a/apps/test/distributed-primitives/src/main/java/org/onosproject/distributedprimitives/DistributedPrimitivesTest.java b/apps/test/distributed-primitives/src/main/java/org/onosproject/distributedprimitives/DistributedPrimitivesTest.java index 3296046ac1..0e8c5a075b 100644 --- a/apps/test/distributed-primitives/src/main/java/org/onosproject/distributedprimitives/DistributedPrimitivesTest.java +++ b/apps/test/distributed-primitives/src/main/java/org/onosproject/distributedprimitives/DistributedPrimitivesTest.java @@ -15,15 +15,7 @@ */ package org.onosproject.distributedprimitives; -import java.util.Map; - import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; import org.onosproject.store.serializers.KryoNamespaces; @@ -32,15 +24,21 @@ import org.onosproject.store.service.EventuallyConsistentMap; import org.onosproject.store.service.LeaderElector; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.WallClockTimestamp; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; +import java.util.Map; + import static org.slf4j.LoggerFactory.getLogger; /** * Simple application to test distributed primitives. */ -@Component(immediate = true) -@Service(value = DistributedPrimitivesTest.class) +@Component(immediate = true, service = DistributedPrimitivesTest.class) public class DistributedPrimitivesTest { private final Logger log = getLogger(getClass()); @@ -48,10 +46,10 @@ public class DistributedPrimitivesTest { private static final String APP_NAME = "org.onosproject.distributedprimitives"; private ApplicationId appId; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private final Map> maps = Maps.newConcurrentMap(); diff --git a/apps/test/election/src/main/java/org/onosproject/election/ElectionTest.java b/apps/test/election/src/main/java/org/onosproject/election/ElectionTest.java index 8497b814b9..17a620c5cd 100644 --- a/apps/test/election/src/main/java/org/onosproject/election/ElectionTest.java +++ b/apps/test/election/src/main/java/org/onosproject/election/ElectionTest.java @@ -17,11 +17,11 @@ package org.onosproject.election; import static org.slf4j.LoggerFactory.getLogger; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.cluster.ClusterService; import org.onosproject.core.CoreService; import org.onosproject.cluster.LeadershipEvent; @@ -43,13 +43,13 @@ public class ElectionTest { private static final String ELECTION_APP = "org.onosproject.election"; private ApplicationId appId; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; private LeadershipEventListener leadershipEventListener = diff --git a/apps/test/flow-perf/src/main/java/org/onosproject/flowperf/FlowPerfApp.java b/apps/test/flow-perf/src/main/java/org/onosproject/flowperf/FlowPerfApp.java index 9748907697..9ee3559427 100644 --- a/apps/test/flow-perf/src/main/java/org/onosproject/flowperf/FlowPerfApp.java +++ b/apps/test/flow-perf/src/main/java/org/onosproject/flowperf/FlowPerfApp.java @@ -15,28 +15,8 @@ */ package org.onosproject.flowperf; -import static com.google.common.base.Strings.isNullOrEmpty; -import static org.apache.felix.scr.annotations.ReferenceCardinality.MANDATORY_UNARY; -import static org.onlab.util.Tools.get; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.Dictionary; -import java.util.Iterator; -import java.util.List; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.concurrent.atomic.AtomicLong; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; import org.onlab.packet.MacAddress; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; @@ -56,10 +36,26 @@ import org.onosproject.net.flow.TrafficSelector; import org.onosproject.net.flow.TrafficTreatment; import org.onosproject.net.flow.instructions.Instructions; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; +import java.util.Dictionary; +import java.util.Iterator; +import java.util.List; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLong; + +import static com.google.common.base.Strings.isNullOrEmpty; +import static org.onlab.util.Tools.get; +import static org.osgi.service.component.annotations.ReferenceCardinality.MANDATORY; +import static org.slf4j.LoggerFactory.getLogger; /** * Application for measuring flow installation performance. @@ -67,21 +63,20 @@ import com.google.common.collect.Lists; * This application installs a bunch of flows, validates that all those flows have * been successfully added and immediately proceeds to remove all the added flows. */ -@Component(immediate = true, enabled = true) -@Service(value = FlowPerfApp.class) +@Component(immediate = true, service = FlowPerfApp.class) public class FlowPerfApp { private final Logger log = getLogger(getClass()); - @Reference(cardinality = MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected ComponentConfigService configService; protected ApplicationId appId; @@ -97,16 +92,16 @@ public class FlowPerfApp { List addedRules = Lists.newArrayList(); - @Property(name = "totalFlows", intValue = DEFAULT_TOTAL_FLOWS, - label = "Total number of flows") + //@Property(name = "totalFlows", intValue = DEFAULT_TOTAL_FLOWS, + // label = "Total number of flows") protected int totalFlows = DEFAULT_TOTAL_FLOWS; - @Property(name = "batchSize", intValue = DEFAULT_BATCH_SIZE, - label = "Number of flows per batch") + //@Property(name = "batchSize", intValue = DEFAULT_BATCH_SIZE, + // label = "Number of flows per batch") protected int batchSize = DEFAULT_BATCH_SIZE; - @Property(name = "totalThreads", intValue = DEFAULT_TOTAL_THREADS, - label = "Number of installer threads") + //@Property(name = "totalThreads", intValue = DEFAULT_TOTAL_THREADS, + // label = "Number of installer threads") protected int totalThreads = DEFAULT_TOTAL_THREADS; private ExecutorService installer; diff --git a/apps/test/intent-perf/src/main/java/org/onosproject/intentperf/IntentPerfCollector.java b/apps/test/intent-perf/src/main/java/org/onosproject/intentperf/IntentPerfCollector.java index 5efb0b6d7c..763f5deda8 100644 --- a/apps/test/intent-perf/src/main/java/org/onosproject/intentperf/IntentPerfCollector.java +++ b/apps/test/intent-perf/src/main/java/org/onosproject/intentperf/IntentPerfCollector.java @@ -16,12 +16,6 @@ package org.onosproject.intentperf; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.ControllerNode; import org.onosproject.cluster.NodeId; @@ -29,6 +23,11 @@ import org.onosproject.store.cluster.messaging.ClusterCommunicationService; import org.onosproject.store.cluster.messaging.ClusterMessage; import org.onosproject.store.cluster.messaging.ClusterMessageHandler; import org.onosproject.store.cluster.messaging.MessageSubject; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.ArrayList; @@ -44,8 +43,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Collects and distributes performance samples. */ -@Component(immediate = true) -@Service(value = IntentPerfCollector.class) +@Component(immediate = true, service = IntentPerfCollector.class) public class IntentPerfCollector { private static final long SAMPLE_TIME_WINDOW_MS = 5_000; @@ -57,13 +55,13 @@ public class IntentPerfCollector { private static final MessageSubject SAMPLE = new MessageSubject("intent-perf-sample"); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterCommunicationService communicationService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentPerfUi ui; // Auxiliary structures used to accrue data for normalized time interval diff --git a/apps/test/intent-perf/src/main/java/org/onosproject/intentperf/IntentPerfInstaller.java b/apps/test/intent-perf/src/main/java/org/onosproject/intentperf/IntentPerfInstaller.java index 47844753b5..b95653952d 100644 --- a/apps/test/intent-perf/src/main/java/org/onosproject/intentperf/IntentPerfInstaller.java +++ b/apps/test/intent-perf/src/main/java/org/onosproject/intentperf/IntentPerfInstaller.java @@ -21,14 +21,6 @@ import com.google.common.collect.Maps; import com.google.common.collect.Multimap; import com.google.common.collect.Sets; import org.apache.commons.lang.math.RandomUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.MacAddress; import org.onlab.util.Counter; import org.onosproject.cfg.ComponentConfigService; @@ -52,11 +44,16 @@ import org.onosproject.net.intent.IntentEvent; import org.onosproject.net.intent.IntentListener; import org.onosproject.net.intent.IntentService; import org.onosproject.net.intent.Key; -import org.onosproject.net.intent.WorkPartitionService; import org.onosproject.net.intent.PointToPointIntent; +import org.onosproject.net.intent.WorkPartitionService; import org.onosproject.store.cluster.messaging.ClusterCommunicationService; import org.onosproject.store.cluster.messaging.MessageSubject; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; import java.util.ArrayList; @@ -77,16 +74,20 @@ import static com.google.common.base.Preconditions.checkState; import static com.google.common.base.Strings.isNullOrEmpty; import static java.lang.String.format; import static java.lang.System.currentTimeMillis; -import static org.apache.felix.scr.annotations.ReferenceCardinality.MANDATORY_UNARY; -import static org.onlab.util.Tools.*; -import static org.onosproject.net.intent.IntentEvent.Type.*; +import static org.onlab.util.Tools.delay; +import static org.onlab.util.Tools.get; +import static org.onlab.util.Tools.groupedThreads; +import static org.onosproject.net.intent.IntentEvent.Type.INSTALLED; +import static org.onosproject.net.intent.IntentEvent.Type.INSTALL_REQ; +import static org.onosproject.net.intent.IntentEvent.Type.WITHDRAWN; +import static org.onosproject.net.intent.IntentEvent.Type.WITHDRAW_REQ; +import static org.osgi.service.component.annotations.ReferenceCardinality.MANDATORY; import static org.slf4j.LoggerFactory.getLogger; /** * Application to test sustained intent throughput. */ -@Component(immediate = true) -@Service(value = IntentPerfInstaller.class) +@Component(immediate = true, service = IntentPerfInstaller.class) public class IntentPerfInstaller { private final Logger log = getLogger(getClass()); @@ -107,8 +108,8 @@ public class IntentPerfInstaller { //FIXME add path length - @Property(name = "numKeys", intValue = DEFAULT_NUM_KEYS, - label = "Number of keys (i.e. unique intents) to generate per instance") + //@Property(name = "numKeys", intValue = DEFAULT_NUM_KEYS, + // label = "Number of keys (i.e. unique intents) to generate per instance") private int numKeys = DEFAULT_NUM_KEYS; //TODO implement numWorkers property @@ -116,39 +117,39 @@ public class IntentPerfInstaller { // label = "Number of installer threads per instance") // private int numWokers = DEFAULT_NUM_WORKERS; - @Property(name = "cyclePeriod", intValue = DEFAULT_GOAL_CYCLE_PERIOD, - label = "Goal for cycle period (in ms)") + //@Property(name = "cyclePeriod", intValue = DEFAULT_GOAL_CYCLE_PERIOD, + // label = "Goal for cycle period (in ms)") private int cyclePeriod = DEFAULT_GOAL_CYCLE_PERIOD; - @Property(name = "numNeighbors", intValue = DEFAULT_NUM_NEIGHBORS, - label = "Number of neighbors to generate intents for") + //@Property(name = "numNeighbors", intValue = DEFAULT_NUM_NEIGHBORS, + // label = "Number of neighbors to generate intents for") private int numNeighbors = DEFAULT_NUM_NEIGHBORS; - @Reference(cardinality = MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected CoreService coreService; - @Reference(cardinality = MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected IntentService intentService; - @Reference(cardinality = MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected WorkPartitionService partitionService; - @Reference(cardinality = MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected ComponentConfigService configService; - @Reference(cardinality = MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected IntentPerfCollector sampleCollector; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected ClusterCommunicationService communicationService; private ExecutorService messageHandlingExecutor; diff --git a/apps/test/intent-perf/src/main/java/org/onosproject/intentperf/IntentPerfUi.java b/apps/test/intent-perf/src/main/java/org/onosproject/intentperf/IntentPerfUi.java index a62d9ec2f1..afb55a80be 100644 --- a/apps/test/intent-perf/src/main/java/org/onosproject/intentperf/IntentPerfUi.java +++ b/apps/test/intent-perf/src/main/java/org/onosproject/intentperf/IntentPerfUi.java @@ -19,12 +19,6 @@ import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ObjectNode; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.osgi.ServiceDirectory; import org.onosproject.intentperf.IntentPerfCollector.Sample; import org.onosproject.ui.RequestHandler; @@ -33,6 +27,11 @@ import org.onosproject.ui.UiExtension; import org.onosproject.ui.UiExtensionService; import org.onosproject.ui.UiMessageHandler; import org.onosproject.ui.UiView; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import java.util.Collection; import java.util.HashSet; @@ -45,14 +44,13 @@ import static org.onosproject.ui.UiView.Category.OTHER; /** * Mechanism to stream data to the GUI. */ -@Component(immediate = true, enabled = true) -@Service(value = IntentPerfUi.class) +@Component(immediate = true, service = IntentPerfUi.class) public class IntentPerfUi { private static final String INTENT_PERF_START = "intentPerfStart"; private static final String INTENT_PERF_STOP = "intentPerfStop"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UiExtensionService uiExtensionService; private final Set handlers = synchronizedSet(new HashSet<>()); diff --git a/apps/test/loadtest/src/main/java/org/onosproject/loadtest/DistributedConsensusLoadTest.java b/apps/test/loadtest/src/main/java/org/onosproject/loadtest/DistributedConsensusLoadTest.java index 37a36c3d88..7b7cf1b9e4 100644 --- a/apps/test/loadtest/src/main/java/org/onosproject/loadtest/DistributedConsensusLoadTest.java +++ b/apps/test/loadtest/src/main/java/org/onosproject/loadtest/DistributedConsensusLoadTest.java @@ -15,9 +15,23 @@ */ package org.onosproject.loadtest; -import static com.google.common.base.Strings.isNullOrEmpty; -import static org.onlab.util.Tools.get; -import static org.slf4j.LoggerFactory.getLogger; +import com.google.common.collect.Lists; +import com.google.common.util.concurrent.RateLimiter; +import org.apache.commons.lang.math.RandomUtils; +import org.onlab.util.Tools; +import org.onosproject.cfg.ComponentConfigService; +import org.onosproject.core.ApplicationId; +import org.onosproject.core.CoreService; +import org.onosproject.store.service.AsyncAtomicCounter; +import org.onosproject.store.service.StorageService; +import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; +import org.slf4j.Logger; import java.util.Dictionary; import java.util.List; @@ -30,56 +44,38 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; import java.util.stream.Collectors; -import org.apache.commons.lang.math.RandomUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onlab.util.Tools; -import org.onosproject.cfg.ComponentConfigService; -import org.onosproject.core.ApplicationId; -import org.onosproject.core.CoreService; -import org.onosproject.store.service.AsyncAtomicCounter; -import org.onosproject.store.service.StorageService; -import org.osgi.service.component.ComponentContext; -import org.slf4j.Logger; - -import com.google.common.collect.Lists; -import com.google.common.util.concurrent.RateLimiter; +import static com.google.common.base.Strings.isNullOrEmpty; +import static org.onlab.util.Tools.get; +import static org.slf4j.LoggerFactory.getLogger; /** * Simple application for load testing distributed consensus. *

* This application simply increments as {@link AsyncAtomicCounter} at a configurable rate. */ -@Component(immediate = true) -@Service(value = DistributedConsensusLoadTest.class) +@Component(immediate = true, service = DistributedConsensusLoadTest.class) public class DistributedConsensusLoadTest { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService configService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private ApplicationId appId; private AtomicBoolean stopped = new AtomicBoolean(false); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; private static final int DEFAULT_RATE = 100; private static final int TOTAL_COUNTERS = 50; - @Property(name = "rate", intValue = DEFAULT_RATE, - label = "Total number of increments per second to the atomic counter") + //@Property(name = "rate", intValue = DEFAULT_RATE, + // label = "Total number of increments per second to the atomic counter") protected int rate = 0; private final AtomicLong previousReportTime = new AtomicLong(0); diff --git a/apps/test/messaging-perf/src/main/java/org/onosproject/messagingperf/MessagingPerfApp.java b/apps/test/messaging-perf/src/main/java/org/onosproject/messagingperf/MessagingPerfApp.java index de739ccd70..c1b251314b 100644 --- a/apps/test/messaging-perf/src/main/java/org/onosproject/messagingperf/MessagingPerfApp.java +++ b/apps/test/messaging-perf/src/main/java/org/onosproject/messagingperf/MessagingPerfApp.java @@ -15,6 +15,29 @@ */ package org.onosproject.messagingperf; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; +import com.google.common.util.concurrent.MoreExecutors; +import org.onlab.util.BoundedThreadPool; +import org.onlab.util.KryoNamespace; +import org.onosproject.cfg.ComponentConfigService; +import org.onosproject.cluster.ClusterService; +import org.onosproject.cluster.NodeId; +import org.onosproject.core.CoreService; +import org.onosproject.store.cluster.messaging.ClusterCommunicationService; +import org.onosproject.store.cluster.messaging.MessageSubject; +import org.onosproject.store.serializers.KryoNamespaces; +import org.onosproject.store.service.Serializer; +import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.slf4j.Logger; + import java.util.Dictionary; import java.util.List; import java.util.Objects; @@ -29,57 +52,29 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Function; import java.util.stream.IntStream; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onlab.util.BoundedThreadPool; -import org.onlab.util.KryoNamespace; -import org.onosproject.cfg.ComponentConfigService; -import org.onosproject.cluster.ClusterService; -import org.onosproject.cluster.NodeId; -import org.onosproject.core.CoreService; -import org.onosproject.store.cluster.messaging.ClusterCommunicationService; -import org.onosproject.store.cluster.messaging.MessageSubject; -import org.onosproject.store.serializers.KryoNamespaces; -import org.onosproject.store.service.Serializer; -import org.osgi.service.component.ComponentContext; -import org.slf4j.Logger; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; -import com.google.common.util.concurrent.MoreExecutors; - import static com.google.common.base.Strings.isNullOrEmpty; -import static org.apache.felix.scr.annotations.ReferenceCardinality.MANDATORY_UNARY; import static org.onlab.util.Tools.get; import static org.onlab.util.Tools.groupedThreads; +import static org.osgi.service.component.annotations.ReferenceCardinality.MANDATORY; import static org.slf4j.LoggerFactory.getLogger; /** * Application for measuring cluster messaging performance. */ -@Component(immediate = true, enabled = true) -@Service(value = MessagingPerfApp.class) +@Component(immediate = true, service = MessagingPerfApp.class) public class MessagingPerfApp { private final Logger log = getLogger(getClass()); - @Reference(cardinality = MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected ClusterCommunicationService communicationService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected ComponentConfigService configService; private static final MessageSubject TEST_UNICAST_MESSAGE_TOPIC = @@ -91,20 +86,20 @@ public class MessagingPerfApp { private static final int DEFAULT_SENDER_THREAD_POOL_SIZE = 2; private static final int DEFAULT_RECEIVER_THREAD_POOL_SIZE = 2; - @Property(name = "totalSenderThreads", intValue = DEFAULT_SENDER_THREAD_POOL_SIZE, - label = "Number of sender threads") + //@Property(name = "totalSenderThreads", intValue = DEFAULT_SENDER_THREAD_POOL_SIZE, + // label = "Number of sender threads") protected int totalSenderThreads = DEFAULT_SENDER_THREAD_POOL_SIZE; - @Property(name = "totalReceiverThreads", intValue = DEFAULT_RECEIVER_THREAD_POOL_SIZE, - label = "Number of receiver threads") + //@Property(name = "totalReceiverThreads", intValue = DEFAULT_RECEIVER_THREAD_POOL_SIZE, + // label = "Number of receiver threads") protected int totalReceiverThreads = DEFAULT_RECEIVER_THREAD_POOL_SIZE; - @Property(name = "serializationOn", boolValue = true, - label = "Turn serialization on/off") + //@Property(name = "serializationOn", boolValue = true, + // label = "Turn serialization on/off") private boolean serializationOn = true; - @Property(name = "receiveOnIOLoopThread", boolValue = false, - label = "Set this to true to handle message on IO thread") + //@Property(name = "receiveOnIOLoopThread", boolValue = false, + // label = "Set this to true to handle message on IO thread") private boolean receiveOnIOLoopThread = false; protected int reportIntervalSeconds = 1; diff --git a/apps/test/netcfg-monitor/src/main/java/org/onosproject/netcfgmonitor/NetCfgEventMonitor.java b/apps/test/netcfg-monitor/src/main/java/org/onosproject/netcfgmonitor/NetCfgEventMonitor.java index eb4c299fab..03ee8bad2d 100644 --- a/apps/test/netcfg-monitor/src/main/java/org/onosproject/netcfgmonitor/NetCfgEventMonitor.java +++ b/apps/test/netcfg-monitor/src/main/java/org/onosproject/netcfgmonitor/NetCfgEventMonitor.java @@ -16,10 +16,10 @@ package org.onosproject.netcfgmonitor; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; import org.onosproject.net.config.NetworkConfigEvent; import org.onosproject.net.config.NetworkConfigListener; import org.onosproject.net.config.NetworkConfigService; diff --git a/apps/test/primitive-perf/src/main/java/org/onosproject/primitiveperf/PrimitivePerfApp.java b/apps/test/primitive-perf/src/main/java/org/onosproject/primitiveperf/PrimitivePerfApp.java index 4a36ebea06..9c6271044b 100644 --- a/apps/test/primitive-perf/src/main/java/org/onosproject/primitiveperf/PrimitivePerfApp.java +++ b/apps/test/primitive-perf/src/main/java/org/onosproject/primitiveperf/PrimitivePerfApp.java @@ -15,6 +15,25 @@ */ package org.onosproject.primitiveperf; +import com.google.common.collect.Lists; +import org.onosproject.cfg.ComponentConfigService; +import org.onosproject.cluster.ClusterService; +import org.onosproject.cluster.ControllerNode; +import org.onosproject.cluster.NodeId; +import org.onosproject.store.serializers.KryoNamespaces; +import org.onosproject.store.service.AtomicValue; +import org.onosproject.store.service.AtomicValueEventListener; +import org.onosproject.store.service.ConsistentMap; +import org.onosproject.store.service.Serializer; +import org.onosproject.store.service.StorageService; +import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.slf4j.Logger; + import java.util.ArrayList; import java.util.Dictionary; import java.util.List; @@ -28,39 +47,17 @@ import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; -import com.google.common.collect.Lists; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.Service; -import org.onosproject.cfg.ComponentConfigService; -import org.onosproject.cluster.ClusterService; -import org.onosproject.cluster.ControllerNode; -import org.onosproject.cluster.NodeId; -import org.onosproject.store.serializers.KryoNamespaces; -import org.onosproject.store.service.AtomicValue; -import org.onosproject.store.service.AtomicValueEventListener; -import org.onosproject.store.service.ConsistentMap; -import org.onosproject.store.service.Serializer; -import org.onosproject.store.service.StorageService; -import org.osgi.service.component.ComponentContext; -import org.slf4j.Logger; - import static com.google.common.base.Strings.isNullOrEmpty; import static java.lang.System.currentTimeMillis; -import static org.apache.felix.scr.annotations.ReferenceCardinality.MANDATORY_UNARY; import static org.onlab.util.Tools.get; import static org.onlab.util.Tools.groupedThreads; +import static org.osgi.service.component.annotations.ReferenceCardinality.MANDATORY; import static org.slf4j.LoggerFactory.getLogger; /** * Application to test sustained primitive throughput. */ -@Component(immediate = true) -@Service(value = PrimitivePerfApp.class) +@Component(immediate = true, service = PrimitivePerfApp.class) public class PrimitivePerfApp { private final Logger log = getLogger(getClass()); @@ -79,64 +76,64 @@ public class PrimitivePerfApp { private static final char[] CHARS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".toCharArray(); - @Property( - name = "numClients", - intValue = DEFAULT_NUM_CLIENTS, - label = "Number of clients to use to submit writes") + //@Property( + // name = "numClients", + // intValue = DEFAULT_NUM_CLIENTS, + // label = "Number of clients to use to submit writes") private int numClients = DEFAULT_NUM_CLIENTS; - @Property( - name = "writePercentage", - intValue = DEFAULT_WRITE_PERCENTAGE, - label = "Percentage of operations to perform as writes") + //@Property( + // name = "writePercentage", + // intValue = DEFAULT_WRITE_PERCENTAGE, + // label = "Percentage of operations to perform as writes") private int writePercentage = DEFAULT_WRITE_PERCENTAGE; - @Property( - name = "numKeys", - intValue = DEFAULT_NUM_KEYS, - label = "Number of unique keys to write") + //@Property( + // name = "numKeys", + // intValue = DEFAULT_NUM_KEYS, + // label = "Number of unique keys to write") private int numKeys = DEFAULT_NUM_KEYS; - @Property( - name = "keyLength", - intValue = DEFAULT_KEY_LENGTH, - label = "Key length") + //@Property( + // name = "keyLength", + // intValue = DEFAULT_KEY_LENGTH, + // label = "Key length") private int keyLength = DEFAULT_KEY_LENGTH; - @Property( - name = "numValues", - intValue = DEFAULT_NUM_UNIQUE_VALUES, - label = "Number of unique values to write") + //@Property( + // name = "numValues", + // intValue = DEFAULT_NUM_UNIQUE_VALUES, + // label = "Number of unique values to write") private int numValues = DEFAULT_NUM_UNIQUE_VALUES; - @Property( - name = "valueLength", - intValue = DEFAULT_VALUE_LENGTH, - label = "Value length") + //@Property( + // name = "valueLength", + // intValue = DEFAULT_VALUE_LENGTH, + // label = "Value length") private int valueLength = DEFAULT_VALUE_LENGTH; - @Property( - name = "includeEvents", - boolValue = DEFAULT_INCLUDE_EVENTS, - label = "Whether to include events in test") + //@Property( + // name = "includeEvents", + // boolValue = DEFAULT_INCLUDE_EVENTS, + // label = "Whether to include events in test") private boolean includeEvents = DEFAULT_INCLUDE_EVENTS; - @Property( - name = "deterministic", - boolValue = DEFAULT_DETERMINISTIC, - label = "Whether to deterministically populate entries") + //@Property( + // name = "deterministic", + // boolValue = DEFAULT_DETERMINISTIC, + // label = "Whether to deterministically populate entries") private boolean deterministic = DEFAULT_DETERMINISTIC; - @Reference(cardinality = MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected StorageService storageService; - @Reference(cardinality = MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected ComponentConfigService configService; - @Reference(cardinality = MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected PrimitivePerfCollector sampleCollector; private ExecutorService messageHandlingExecutor; diff --git a/apps/test/primitive-perf/src/main/java/org/onosproject/primitiveperf/PrimitivePerfCollector.java b/apps/test/primitive-perf/src/main/java/org/onosproject/primitiveperf/PrimitivePerfCollector.java index 6ea85d0d81..cbf528e25a 100644 --- a/apps/test/primitive-perf/src/main/java/org/onosproject/primitiveperf/PrimitivePerfCollector.java +++ b/apps/test/primitive-perf/src/main/java/org/onosproject/primitiveperf/PrimitivePerfCollector.java @@ -15,20 +15,7 @@ */ package org.onosproject.primitiveperf; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.ControllerNode; import org.onosproject.cluster.NodeId; @@ -36,16 +23,27 @@ import org.onosproject.store.cluster.messaging.ClusterCommunicationService; import org.onosproject.store.cluster.messaging.ClusterMessage; import org.onosproject.store.cluster.messaging.ClusterMessageHandler; import org.onosproject.store.cluster.messaging.MessageSubject; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + import static org.onlab.util.SharedExecutors.getPoolThreadExecutor; import static org.slf4j.LoggerFactory.getLogger; /** * Collects and distributes performance samples. */ -@Component(immediate = true) -@Service(value = PrimitivePerfCollector.class) +@Component(immediate = true, service = PrimitivePerfCollector.class) public class PrimitivePerfCollector { private static final long SAMPLE_TIME_WINDOW_MS = 5_000; @@ -57,10 +55,10 @@ public class PrimitivePerfCollector { private static final MessageSubject SAMPLE = new MessageSubject("primitive-perf-sample"); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterCommunicationService communicationService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; // Auxiliary structures used to accrue data for normalized time interval diff --git a/apps/test/proxy/src/main/java/org/onosproject/proxytest/ProxyTest.java b/apps/test/proxy/src/main/java/org/onosproject/proxytest/ProxyTest.java index 1edc4a6522..920f53da3a 100644 --- a/apps/test/proxy/src/main/java/org/onosproject/proxytest/ProxyTest.java +++ b/apps/test/proxy/src/main/java/org/onosproject/proxytest/ProxyTest.java @@ -15,12 +15,6 @@ */ package org.onosproject.proxytest; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.cluster.NodeId; import org.onosproject.cluster.ProxyFactory; import org.onosproject.cluster.ProxyService; @@ -30,6 +24,11 @@ import org.onosproject.mastership.MastershipProxyService; import org.onosproject.net.DeviceId; import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.Serializer; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import static org.slf4j.LoggerFactory.getLogger; @@ -37,8 +36,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Proxy test application. */ -@Component(immediate = true) -@Service(value = ProxyTest.class) +@Component(immediate = true, service = ProxyTest.class) public class ProxyTest { private static final Serializer SERIALIZER = Serializer.using(KryoNamespaces.API); @@ -47,13 +45,13 @@ public class ProxyTest { private static final String APP_NAME = "org.onosproject.proxytest"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ProxyService proxyService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipProxyService mastershipProxyService; private ProxyFactory proxyFactory; diff --git a/apps/test/route-scale/src/main/java/org/onosproject/routescale/ScaleTestManager.java b/apps/test/route-scale/src/main/java/org/onosproject/routescale/ScaleTestManager.java index cfc7ad621d..d24a4b6e76 100644 --- a/apps/test/route-scale/src/main/java/org/onosproject/routescale/ScaleTestManager.java +++ b/apps/test/route-scale/src/main/java/org/onosproject/routescale/ScaleTestManager.java @@ -18,14 +18,6 @@ package org.onosproject.routescale; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.Ethernet; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; @@ -53,6 +45,12 @@ import org.onosproject.net.link.LinkService; import org.onosproject.routeservice.Route; import org.onosproject.routeservice.RouteAdminService; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -64,39 +62,38 @@ import java.util.Random; import static com.google.common.base.Strings.isNullOrEmpty; import static org.onlab.util.Tools.get; -@Component(immediate = true) -@Service(value = ScaleTestManager.class) +@Component(immediate = true, service = ScaleTestManager.class) public class ScaleTestManager { private Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ApplicationService applicationService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostAdminService hostAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RouteAdminService routeAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService componentConfigService; - @Property(name = "flowCount", intValue = 0, - label = "Number of flows to be maintained in the system") + //@Property(name = "flowCount", intValue = 0, + // label = "Number of flows to be maintained in the system") private int flowCount = 0; - @Property(name = "routeCount", intValue = 0, - label = "Number of routes to be maintained in the system") + //@Property(name = "routeCount", intValue = 0, + // label = "Number of routes to be maintained in the system") private int routeCount = 0; private final Random random = new Random(System.currentTimeMillis()); diff --git a/apps/test/transaction-perf/src/main/java/org/onosproject/transactionperf/TransactionPerfApp.java b/apps/test/transaction-perf/src/main/java/org/onosproject/transactionperf/TransactionPerfApp.java index c941bf6ab0..45bdfd6a44 100644 --- a/apps/test/transaction-perf/src/main/java/org/onosproject/transactionperf/TransactionPerfApp.java +++ b/apps/test/transaction-perf/src/main/java/org/onosproject/transactionperf/TransactionPerfApp.java @@ -15,22 +15,6 @@ */ package org.onosproject.transactionperf; -import java.util.Comparator; -import java.util.Dictionary; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicInteger; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.cluster.ClusterService; @@ -42,29 +26,41 @@ import org.onosproject.store.service.StorageService; import org.onosproject.store.service.TransactionContext; import org.onosproject.store.service.TransactionalMap; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; +import java.util.Comparator; +import java.util.Dictionary; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; + import static com.google.common.base.Strings.isNullOrEmpty; -import static org.apache.felix.scr.annotations.ReferenceCardinality.MANDATORY_UNARY; import static org.onlab.util.Tools.get; import static org.onlab.util.Tools.groupedThreads; +import static org.osgi.service.component.annotations.ReferenceCardinality.MANDATORY; import static org.slf4j.LoggerFactory.getLogger; /** * Application for measuring transaction performance. */ -@Component(immediate = true, enabled = true) -@Service(value = TransactionPerfApp.class) +@Component(immediate = true, service = TransactionPerfApp.class) public class TransactionPerfApp { private final Logger log = getLogger(getClass()); - @Reference(cardinality = MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected StorageService storageService; - @Reference(cardinality = MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected ComponentConfigService configService; private static final String DEFAULT_MAP_NAME = "transaction-perf"; @@ -75,28 +71,28 @@ public class TransactionPerfApp { private static final int DEFAULT_REPORT_INTERVAL_SECONDS = 1; private static final String KEY_PREFIX = "key"; - @Property(name = "mapName", value = DEFAULT_MAP_NAME, - label = "The name of the map to use for testing") + //@Property(name = "mapName", value = DEFAULT_MAP_NAME, + // label = "The name of the map to use for testing") protected String mapName = DEFAULT_MAP_NAME; - @Property(name = "readPercentage", doubleValue = DEFAULT_READ_PERCENTAGE, - label = "Percentage of reads to perform") + //@Property(name = "readPercentage", doubleValue = DEFAULT_READ_PERCENTAGE, + // label = "Percentage of reads to perform") protected double readPercentage = DEFAULT_READ_PERCENTAGE; - @Property(name = "totalOperationsPerTransaction", intValue = DEFAULT_TOTAL_OPERATIONS, - label = "Number of operations to perform within each transaction") + //@Property(name = "totalOperationsPerTransaction", intValue = DEFAULT_TOTAL_OPERATIONS, + // label = "Number of operations to perform within each transaction") protected int totalOperationsPerTransaction = DEFAULT_TOTAL_OPERATIONS; - @Property(name = "withContention", boolValue = DEFAULT_WITH_CONTENTION, - label = "Whether to test transactions with contention from all nodes") + //@Property(name = "withContention", boolValue = DEFAULT_WITH_CONTENTION, + // label = "Whether to test transactions with contention from all nodes") protected boolean withContention = DEFAULT_WITH_CONTENTION; - @Property(name = "withRetries", boolValue = DEFAULT_WITH_RETRIES, - label = "Whether to retry transactions until success") + //@Property(name = "withRetries", boolValue = DEFAULT_WITH_RETRIES, + // label = "Whether to retry transactions until success") protected boolean withRetries = DEFAULT_WITH_RETRIES; - @Property(name = "reportIntervalSeconds", intValue = DEFAULT_REPORT_INTERVAL_SECONDS, - label = "The frequency with which to report performance in seconds") + //@Property(name = "reportIntervalSeconds", intValue = DEFAULT_REPORT_INTERVAL_SECONDS, + // label = "The frequency with which to report performance in seconds") protected int reportIntervalSeconds = 1; private ExecutorService testRunner = diff --git a/apps/tetopology/app/src/main/java/org/onosproject/tetopology/management/impl/DistributedTeTopologyStore.java b/apps/tetopology/app/src/main/java/org/onosproject/tetopology/management/impl/DistributedTeTopologyStore.java index e3a63b37c6..4b3785758d 100644 --- a/apps/tetopology/app/src/main/java/org/onosproject/tetopology/management/impl/DistributedTeTopologyStore.java +++ b/apps/tetopology/app/src/main/java/org/onosproject/tetopology/management/impl/DistributedTeTopologyStore.java @@ -15,41 +15,10 @@ */ package org.onosproject.tetopology.management.impl; -import static org.onosproject.tetopology.management.api.OptimizationType.NOT_OPTIMIZED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.LINK_ADDED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.LINK_REMOVED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.LINK_UPDATED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NETWORK_ADDED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NETWORK_REMOVED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NETWORK_UPDATED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NODE_ADDED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NODE_REMOVED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NODE_UPDATED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_LINK_ADDED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_LINK_REMOVED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_LINK_UPDATED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_NODE_ADDED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_NODE_REMOVED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_NODE_UPDATED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_TOPOLOGY_ADDED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_TOPOLOGY_REMOVED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_TOPOLOGY_UPDATED; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.BitSet; -import java.util.List; -import java.util.Map; -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.LinkedBlockingQueue; - +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.net.DeviceId; import org.onosproject.store.AbstractStore; @@ -123,16 +92,44 @@ import org.onosproject.tetopology.management.api.node.TerminationPoint; import org.onosproject.tetopology.management.api.node.TerminationPointKey; import org.onosproject.tetopology.management.api.node.TtpKey; import org.onosproject.tetopology.management.api.node.TunnelTerminationPoint; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; +import java.util.BitSet; +import java.util.List; +import java.util.Map; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.LinkedBlockingQueue; + +import static org.onosproject.tetopology.management.api.OptimizationType.NOT_OPTIMIZED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.LINK_ADDED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.LINK_REMOVED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.LINK_UPDATED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NETWORK_ADDED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NETWORK_REMOVED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NETWORK_UPDATED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NODE_ADDED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NODE_REMOVED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NODE_UPDATED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_LINK_ADDED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_LINK_REMOVED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_LINK_UPDATED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_NODE_ADDED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_NODE_REMOVED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_NODE_UPDATED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_TOPOLOGY_ADDED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_TOPOLOGY_REMOVED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_TOPOLOGY_UPDATED; +import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of the TE network store. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = TeTopologyStore.class) public class DistributedTeTopologyStore extends AbstractStore implements TeTopologyStore { @@ -150,7 +147,7 @@ public class DistributedTeTopologyStore private static final String TTPKEY_TUNNELTERMINATIONPOINT = "TtpKey-TunnelTerminationPoint"; private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; // Track TE topologies by TE Topology key private ConsistentMap teTopologyConsistentMap; diff --git a/apps/tetopology/app/src/main/java/org/onosproject/tetopology/management/impl/TeTopologyManager.java b/apps/tetopology/app/src/main/java/org/onosproject/tetopology/management/impl/TeTopologyManager.java index 5775a570dc..a3c0aed632 100644 --- a/apps/tetopology/app/src/main/java/org/onosproject/tetopology/management/impl/TeTopologyManager.java +++ b/apps/tetopology/app/src/main/java/org/onosproject/tetopology/management/impl/TeTopologyManager.java @@ -15,59 +15,17 @@ */ package org.onosproject.tetopology.management.impl; -import static java.util.concurrent.Executors.newFixedThreadPool; -import static org.onlab.util.Tools.groupedThreads; -import static org.onosproject.net.config.NetworkConfigEvent.Type.CONFIG_ADDED; -import static org.onosproject.net.config.NetworkConfigEvent.Type.CONFIG_UPDATED; -import static org.onosproject.net.config.basics.SubjectFactories.APP_SUBJECT_FACTORY; -import static org.onosproject.tetopology.management.api.OptimizationType.NOT_OPTIMIZED; -import static org.onosproject.tetopology.management.api.TeTopology.BIT_CUSTOMIZED; -import static org.onosproject.tetopology.management.api.TeTopology.BIT_LEARNT; -import static org.onosproject.tetopology.management.api.TeTopology.BIT_MERGED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.LINK_ADDED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.LINK_REMOVED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.LINK_UPDATED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NETWORK_ADDED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NETWORK_REMOVED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NODE_ADDED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NODE_REMOVED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NODE_UPDATED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_LINK_ADDED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_LINK_REMOVED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_LINK_UPDATED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_NODE_ADDED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_NODE_REMOVED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_NODE_UPDATED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_TOPOLOGY_ADDED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_TOPOLOGY_REMOVED; -import static org.onosproject.tetopology.management.api.link.TeLink.BIT_ACCESS_INTERDOMAIN; -import static org.onosproject.tetopology.management.impl.TeMgrUtil.linkBuilder; -import static org.onosproject.tetopology.management.impl.TeMgrUtil.networkBuilder; -import static org.onosproject.tetopology.management.impl.TeMgrUtil.networkLinkKey; -import static org.onosproject.tetopology.management.impl.TeMgrUtil.networkNodeKey; -import static org.onosproject.tetopology.management.impl.TeMgrUtil.nodeBuilder; -import static org.onosproject.tetopology.management.impl.TeMgrUtil.toNetworkId; -import static org.onosproject.tetopology.management.impl.TeMgrUtil.toNetworkLinkId; - -import java.util.BitSet; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ExecutorService; - +import com.google.common.base.MoreObjects; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.Ip4Address; import org.onosproject.app.ApplicationException; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; -import org.onosproject.net.config.ConfigException; import org.onosproject.net.DeviceId; +import org.onosproject.net.config.ConfigException; import org.onosproject.net.config.ConfigFactory; import org.onosproject.net.config.NetworkConfigEvent; import org.onosproject.net.config.NetworkConfigListener; @@ -123,18 +81,57 @@ import org.onosproject.tetopology.management.api.node.TerminationPoint; import org.onosproject.tetopology.management.api.node.TerminationPointKey; import org.onosproject.tetopology.management.api.node.TtpKey; import org.onosproject.tetopology.management.api.node.TunnelTerminationPoint; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.base.MoreObjects; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; +import java.util.BitSet; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ExecutorService; + +import static java.util.concurrent.Executors.newFixedThreadPool; +import static org.onlab.util.Tools.groupedThreads; +import static org.onosproject.net.config.NetworkConfigEvent.Type.CONFIG_ADDED; +import static org.onosproject.net.config.NetworkConfigEvent.Type.CONFIG_UPDATED; +import static org.onosproject.net.config.basics.SubjectFactories.APP_SUBJECT_FACTORY; +import static org.onosproject.tetopology.management.api.OptimizationType.NOT_OPTIMIZED; +import static org.onosproject.tetopology.management.api.TeTopology.BIT_CUSTOMIZED; +import static org.onosproject.tetopology.management.api.TeTopology.BIT_LEARNT; +import static org.onosproject.tetopology.management.api.TeTopology.BIT_MERGED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.LINK_ADDED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.LINK_REMOVED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.LINK_UPDATED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NETWORK_ADDED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NETWORK_REMOVED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NODE_ADDED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NODE_REMOVED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NODE_UPDATED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_LINK_ADDED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_LINK_REMOVED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_LINK_UPDATED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_NODE_ADDED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_NODE_REMOVED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_NODE_UPDATED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_TOPOLOGY_ADDED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_TOPOLOGY_REMOVED; +import static org.onosproject.tetopology.management.api.link.TeLink.BIT_ACCESS_INTERDOMAIN; +import static org.onosproject.tetopology.management.impl.TeMgrUtil.linkBuilder; +import static org.onosproject.tetopology.management.impl.TeMgrUtil.networkBuilder; +import static org.onosproject.tetopology.management.impl.TeMgrUtil.networkLinkKey; +import static org.onosproject.tetopology.management.impl.TeMgrUtil.networkNodeKey; +import static org.onosproject.tetopology.management.impl.TeMgrUtil.nodeBuilder; +import static org.onosproject.tetopology.management.impl.TeMgrUtil.toNetworkId; +import static org.onosproject.tetopology.management.impl.TeMgrUtil.toNetworkLinkId; /** * Implementation of the topology management service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = { TeTopologyService.class, TeTopologyProviderRegistry.class }) public class TeTopologyManager extends AbstractListenerProviderRegistry @@ -154,25 +151,25 @@ public class TeTopologyManager private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceProviderRegistry deviceProviderRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkProviderRegistry linkProviderRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public TeTopologyStore store; private TeTopologyStoreDelegate delegate = this::post; diff --git a/apps/tetopology/app/src/test/java/org/onosproject/tetopology/management/SimpleTeTopologyStore.java b/apps/tetopology/app/src/test/java/org/onosproject/tetopology/management/SimpleTeTopologyStore.java index 7f010fa561..24dcad5259 100644 --- a/apps/tetopology/app/src/test/java/org/onosproject/tetopology/management/SimpleTeTopologyStore.java +++ b/apps/tetopology/app/src/test/java/org/onosproject/tetopology/management/SimpleTeTopologyStore.java @@ -15,24 +15,10 @@ */ package org.onosproject.tetopology.management; -import static org.onosproject.tetopology.management.api.OptimizationType.NOT_OPTIMIZED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NETWORK_ADDED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NETWORK_REMOVED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_TOPOLOGY_ADDED; -import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_TOPOLOGY_REMOVED; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.BitSet; -import java.util.List; -import java.util.Map; -import java.util.concurrent.BlockingQueue; - +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.DeviceId; import org.onosproject.store.AbstractStore; import org.onosproject.tetopology.management.api.CommonTopologyData; @@ -81,16 +67,27 @@ import org.onosproject.tetopology.management.impl.TeMgrUtil; import org.onosproject.tetopology.management.impl.TeTopologyMapEvent; import org.onosproject.tetopology.management.impl.TeTopologyStore; import org.onosproject.tetopology.management.impl.TeTopologyStoreDelegate; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; +import java.util.BitSet; +import java.util.List; +import java.util.Map; +import java.util.concurrent.BlockingQueue; + +import static org.onosproject.tetopology.management.api.OptimizationType.NOT_OPTIMIZED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NETWORK_ADDED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.NETWORK_REMOVED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_TOPOLOGY_ADDED; +import static org.onosproject.tetopology.management.api.TeTopologyEvent.Type.TE_TOPOLOGY_REMOVED; +import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of the TE network store. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = TeTopologyStore.class) public class SimpleTeTopologyStore extends AbstractStore implements TeTopologyStore { diff --git a/apps/tetunnel/app/src/main/java/org/onosproject/tetunnel/impl/DistributedTeTunnelStore.java b/apps/tetunnel/app/src/main/java/org/onosproject/tetunnel/impl/DistributedTeTunnelStore.java index 8589b8d974..e9da5e44bd 100644 --- a/apps/tetunnel/app/src/main/java/org/onosproject/tetunnel/impl/DistributedTeTunnelStore.java +++ b/apps/tetunnel/app/src/main/java/org/onosproject/tetunnel/impl/DistributedTeTunnelStore.java @@ -17,12 +17,6 @@ package org.onosproject.tetunnel.impl; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.incubator.net.tunnel.TunnelId; import org.onosproject.store.serializers.KryoNamespaces; @@ -30,11 +24,16 @@ import org.onosproject.store.service.EventuallyConsistentMap; import org.onosproject.store.service.LogicalClockService; import org.onosproject.store.service.StorageService; import org.onosproject.tetopology.management.api.TeTopologyKey; +import org.onosproject.tetunnel.api.TeTunnelStore; import org.onosproject.tetunnel.api.lsp.TeLsp; import org.onosproject.tetunnel.api.lsp.TeLspKey; import org.onosproject.tetunnel.api.tunnel.TeTunnel; -import org.onosproject.tetunnel.api.TeTunnelStore; import org.onosproject.tetunnel.api.tunnel.TeTunnelKey; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collection; @@ -45,16 +44,15 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Manages the TE tunnel attributes using an eventually consistent map. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = TeTunnelStore.class) public class DistributedTeTunnelStore implements TeTunnelStore { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LogicalClockService clockService; private EventuallyConsistentMap teTunnels; diff --git a/apps/tetunnel/app/src/main/java/org/onosproject/tetunnel/impl/TeTunnelManager.java b/apps/tetunnel/app/src/main/java/org/onosproject/tetunnel/impl/TeTunnelManager.java index b071ce848a..cd99d0ce3e 100644 --- a/apps/tetunnel/app/src/main/java/org/onosproject/tetunnel/impl/TeTunnelManager.java +++ b/apps/tetunnel/app/src/main/java/org/onosproject/tetunnel/impl/TeTunnelManager.java @@ -16,12 +16,6 @@ package org.onosproject.tetunnel.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; import org.onosproject.core.GroupId; @@ -37,15 +31,20 @@ import org.onosproject.net.provider.ProviderId; import org.onosproject.tetopology.management.api.TeTopology; import org.onosproject.tetopology.management.api.TeTopologyKey; import org.onosproject.tetopology.management.api.TeTopologyService; -import org.onosproject.tetunnel.api.lsp.TeLsp; -import org.onosproject.tetunnel.api.lsp.TeLspKey; -import org.onosproject.tetunnel.api.tunnel.TeTunnel; import org.onosproject.tetunnel.api.TeTunnelAdminService; import org.onosproject.tetunnel.api.TeTunnelProviderService; import org.onosproject.tetunnel.api.TeTunnelService; import org.onosproject.tetunnel.api.TeTunnelStore; +import org.onosproject.tetunnel.api.lsp.TeLsp; +import org.onosproject.tetunnel.api.lsp.TeLspKey; +import org.onosproject.tetunnel.api.tunnel.TeTunnel; import org.onosproject.tetunnel.api.tunnel.TeTunnelEndpoint; import org.onosproject.tetunnel.api.tunnel.TeTunnelKey; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collection; @@ -56,8 +55,8 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of TE tunnel attributes management service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = { TeTunnelService.class, TeTunnelAdminService.class, + TeTunnelProviderService.class }) public class TeTunnelManager implements TeTunnelService, TeTunnelAdminService, TeTunnelProviderService { @@ -65,19 +64,19 @@ public class TeTunnelManager implements TeTunnelService, TeTunnelAdminService, private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TeTunnelStore store; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TunnelService tunnelService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TunnelAdminService tunnelAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TeTopologyService teTopologyService; private ApplicationId appId; diff --git a/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngConfigurationManager.java b/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngConfigurationManager.java index adc696652f..20ad02c2ef 100644 --- a/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngConfigurationManager.java +++ b/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngConfigurationManager.java @@ -16,14 +16,13 @@ package org.onosproject.virtualbng; import com.fasterxml.jackson.databind.ObjectMapper; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; import org.onlab.packet.MacAddress; import org.onosproject.net.ConnectPoint; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,8 +39,7 @@ import java.util.concurrent.ConcurrentHashMap; * Implementation of ConfigurationService which reads virtual BNG * configuration from a file. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = VbngConfigurationService.class) public class VbngConfigurationManager implements VbngConfigurationService { private final Logger log = LoggerFactory.getLogger(getClass()); diff --git a/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngManager.java b/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngManager.java index 35ca7f959f..209d11dc5b 100644 --- a/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngManager.java +++ b/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngManager.java @@ -18,12 +18,6 @@ package org.onosproject.virtualbng; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ObjectNode; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.Ethernet; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; @@ -44,6 +38,11 @@ import org.onosproject.net.host.HostService; import org.onosproject.net.intent.IntentService; import org.onosproject.net.intent.Key; import org.onosproject.net.intent.PointToPointIntent; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -63,8 +62,7 @@ import static com.google.common.base.Preconditions.checkNotNull; * (3) installs point to point intents for the host configured with private IP * address to access Internet */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = VbngService.class) public class VbngManager implements VbngService { private static final String APP_NAME = "org.onosproject.virtualbng"; @@ -72,16 +70,16 @@ public class VbngManager implements VbngService { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentService intentService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VbngConfigurationService vbngConfigurationService; private ApplicationId appId; diff --git a/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VirtualPublicHosts.java b/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VirtualPublicHosts.java index 1a45b0aff8..d483bbf1fc 100644 --- a/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VirtualPublicHosts.java +++ b/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VirtualPublicHosts.java @@ -19,11 +19,11 @@ import static org.slf4j.LoggerFactory.getLogger; import java.nio.ByteBuffer; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.ARP; import org.onlab.packet.Ethernet; import org.onlab.packet.Ip4Address; @@ -63,13 +63,13 @@ public class VirtualPublicHosts { private static final String APP_NAME = "org.onosproject.virtualbng.VirtualPublicHosts"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VbngConfigurationService vbngConfigService; private ApplicationId appId; diff --git a/apps/vpls/src/main/java/org/onosproject/vpls/VplsManager.java b/apps/vpls/src/main/java/org/onosproject/vpls/VplsManager.java index eab3395da5..425f77d6c4 100644 --- a/apps/vpls/src/main/java/org/onosproject/vpls/VplsManager.java +++ b/apps/vpls/src/main/java/org/onosproject/vpls/VplsManager.java @@ -16,55 +16,53 @@ package org.onosproject.vpls; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onosproject.net.intf.Interface; -import org.onosproject.net.intf.InterfaceService; import org.onosproject.net.EncapsulationType; import org.onosproject.net.Host; import org.onosproject.net.host.HostEvent; import org.onosproject.net.host.HostListener; import org.onosproject.net.host.HostService; +import org.onosproject.net.intf.Interface; +import org.onosproject.net.intf.InterfaceService; import org.onosproject.store.StoreDelegate; -import org.onosproject.vpls.api.VplsData; -import org.onosproject.vpls.api.VplsOperationService; -import org.onosproject.vpls.api.VplsOperation; import org.onosproject.vpls.api.Vpls; +import org.onosproject.vpls.api.VplsData; +import org.onosproject.vpls.api.VplsOperation; +import org.onosproject.vpls.api.VplsOperationService; import org.onosproject.vpls.api.VplsStore; import org.onosproject.vpls.store.VplsStoreEvent; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collection; import java.util.Set; -import static java.util.Objects.*; +import static java.util.Objects.requireNonNull; import static org.slf4j.LoggerFactory.getLogger; /** * Application to create L2 broadcast overlay networks using VLANs. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = Vpls.class) public class VplsManager implements Vpls { public static final String VPLS_APP = "org.onosproject.vpls"; private static final String UNSUPPORTED_STORE_EVENT_TYPE = "Unsupported store event type {}."; private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InterfaceService interfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VplsStore vplsStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VplsOperationService operationService; private StoreDelegate vplsStoreDelegate; diff --git a/apps/vpls/src/main/java/org/onosproject/vpls/VplsNeighbourHandler.java b/apps/vpls/src/main/java/org/onosproject/vpls/VplsNeighbourHandler.java index 2cbd412109..fa360bb4c4 100644 --- a/apps/vpls/src/main/java/org/onosproject/vpls/VplsNeighbourHandler.java +++ b/apps/vpls/src/main/java/org/onosproject/vpls/VplsNeighbourHandler.java @@ -15,11 +15,11 @@ */ package org.onosproject.vpls; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.MacAddress; import org.onlab.packet.VlanId; import org.onosproject.core.ApplicationId; @@ -59,19 +59,19 @@ public class VplsNeighbourHandler { private static final String CAN_NOT_FIND_VPLS = "Cannot find VPLS for port {} with VLAN Id {}."; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InterfaceService interfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NeighbourResolutionService neighbourService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VplsStore vplsStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService configService; private VplsInterfaceListener interfaceListener = diff --git a/apps/vpls/src/main/java/org/onosproject/vpls/VplsOperationManager.java b/apps/vpls/src/main/java/org/onosproject/vpls/VplsOperationManager.java index 08d117f41e..d05670cbf7 100644 --- a/apps/vpls/src/main/java/org/onosproject/vpls/VplsOperationManager.java +++ b/apps/vpls/src/main/java/org/onosproject/vpls/VplsOperationManager.java @@ -19,12 +19,6 @@ package org.onosproject.vpls; import com.google.common.collect.Maps; import com.google.common.collect.Queues; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.Tools; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.LeadershipEvent; @@ -33,7 +27,6 @@ import org.onosproject.cluster.LeadershipService; import org.onosproject.cluster.NodeId; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; -import org.onosproject.net.intf.Interface; import org.onosproject.net.Host; import org.onosproject.net.host.HostService; import org.onosproject.net.intent.Intent; @@ -45,12 +38,18 @@ import org.onosproject.net.intent.IntentUtils; import org.onosproject.net.intent.Key; import org.onosproject.net.intent.MultiPointToSinglePointIntent; import org.onosproject.net.intent.SinglePointToMultiPointIntent; +import org.onosproject.net.intf.Interface; import org.onosproject.vpls.api.VplsData; +import org.onosproject.vpls.api.VplsOperation; import org.onosproject.vpls.api.VplsOperationException; import org.onosproject.vpls.api.VplsOperationService; -import org.onosproject.vpls.api.VplsOperation; import org.onosproject.vpls.api.VplsStore; import org.onosproject.vpls.intent.VplsIntentUtility; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collection; @@ -77,27 +76,26 @@ import static org.slf4j.LoggerFactory.getLogger; * Handles the execution order of the VPLS operations generated by the * application. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = VplsOperationService.class) public class VplsOperationManager implements VplsOperationService { private static final int NUM_THREADS = 4; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentService intentService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VplsStore vplsStore; private final Logger log = getLogger(getClass()); diff --git a/apps/vpls/src/main/java/org/onosproject/vpls/config/VplsConfigManager.java b/apps/vpls/src/main/java/org/onosproject/vpls/config/VplsConfigManager.java index 541953e55b..14a755e391 100644 --- a/apps/vpls/src/main/java/org/onosproject/vpls/config/VplsConfigManager.java +++ b/apps/vpls/src/main/java/org/onosproject/vpls/config/VplsConfigManager.java @@ -17,11 +17,11 @@ package org.onosproject.vpls.config; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.cluster.LeadershipService; import org.onosproject.cluster.NodeId; import org.onosproject.core.ApplicationId; @@ -67,22 +67,22 @@ public class VplsConfigManager { private final NetworkConfigListener configListener = new InternalNetworkConfigListener(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService configService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InterfaceService interfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry registry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected Vpls vpls; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; private ScheduledExecutorService reloadExecutor = diff --git a/apps/vpls/src/main/java/org/onosproject/vpls/store/DistributedVplsStore.java b/apps/vpls/src/main/java/org/onosproject/vpls/store/DistributedVplsStore.java index 4125399cb0..17300022e1 100644 --- a/apps/vpls/src/main/java/org/onosproject/vpls/store/DistributedVplsStore.java +++ b/apps/vpls/src/main/java/org/onosproject/vpls/store/DistributedVplsStore.java @@ -15,17 +15,11 @@ */ package org.onosproject.vpls.store; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; -import org.onosproject.net.intf.Interface; import org.onosproject.net.config.NetworkConfigService; +import org.onosproject.net.intf.Interface; import org.onosproject.store.AbstractStore; import org.onosproject.store.StoreDelegate; import org.onosproject.store.serializers.KryoNamespaces; @@ -37,9 +31,14 @@ import org.onosproject.store.service.WallClockTimestamp; import org.onosproject.vpls.VplsManager; import org.onosproject.vpls.api.VplsData; import org.onosproject.vpls.api.VplsOperation; -import org.onosproject.vpls.config.VplsAppConfig; import org.onosproject.vpls.api.VplsStore; +import org.onosproject.vpls.config.VplsAppConfig; import org.onosproject.vpls.config.VplsConfig; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -48,14 +47,13 @@ import java.util.Set; import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; -import static java.util.Objects.*; +import static java.util.Objects.requireNonNull; /** * Implementation of VPLSConfigurationService which reads VPLS configuration * from the network configuration service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = VplsStore.class) public class DistributedVplsStore extends AbstractStore> implements VplsStore { @@ -70,13 +68,13 @@ public class DistributedVplsStore private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService networkConfigService; private EventuallyConsistentMap vplsDataStore; diff --git a/apps/vrouter/src/main/java/org/onosproject/vrouter/Vrouter.java b/apps/vrouter/src/main/java/org/onosproject/vrouter/Vrouter.java index 972ff24a3d..5410339a0a 100644 --- a/apps/vrouter/src/main/java/org/onosproject/vrouter/Vrouter.java +++ b/apps/vrouter/src/main/java/org/onosproject/vrouter/Vrouter.java @@ -16,11 +16,11 @@ package org.onosproject.vrouter; import com.google.common.collect.Lists; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; import org.onosproject.component.ComponentService; @@ -40,10 +40,10 @@ public class Vrouter { private static final String APP_NAME = "org.onosproject.vrouter"; private static final String DIRECT_HOST_MGR = "org.onosproject.routing.impl.DirectHostManager"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private ComponentService componentService; private ApplicationId appId; diff --git a/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/impl/SfcManager.java b/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/impl/SfcManager.java index 2bc8e39f0e..d4035024a2 100644 --- a/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/impl/SfcManager.java +++ b/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/impl/SfcManager.java @@ -15,21 +15,7 @@ */ package org.onosproject.sfc.manager.impl; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.Collection; -import java.util.Iterator; -import java.util.List; -import java.util.ListIterator; -import java.util.Set; -import java.util.UUID; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import com.google.common.collect.Lists; import org.onlab.packet.Ethernet; import org.onlab.packet.IPv4; import org.onlab.packet.IpAddress; @@ -81,15 +67,26 @@ import org.onosproject.vtnrsc.portchain.PortChainService; import org.onosproject.vtnrsc.portpairgroup.PortPairGroupService; import org.onosproject.vtnrsc.service.VtnRscService; import org.onosproject.vtnrsc.virtualport.VirtualPortService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.collect.Lists; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.util.ListIterator; +import java.util.Set; +import java.util.UUID; + +import static org.slf4j.LoggerFactory.getLogger; /** * Provides implementation of SFC Service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = SfcService.class) public class SfcManager implements SfcService { private final Logger log = getLogger(getClass()); @@ -100,28 +97,28 @@ public class SfcManager implements SfcService { private static final int MAX_NSH_SPI_ID = 0x7FFFF; private static final int MAX_LOAD_BALANCE_ID = 0x20; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VtnRscService vtnRscService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PortChainService portChainService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PortPairGroupService portPairGroupService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowClassifierService flowClassifierService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VirtualPortService virtualPortService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; protected SfcPacketProcessor processor = new SfcPacketProcessor(); diff --git a/apps/vtn/sfcweb/src/main/java/org/onosproject/sfcweb/SfcwebUiTopovComponent.java b/apps/vtn/sfcweb/src/main/java/org/onosproject/sfcweb/SfcwebUiTopovComponent.java index 049efbb05e..ddd6fa26b5 100644 --- a/apps/vtn/sfcweb/src/main/java/org/onosproject/sfcweb/SfcwebUiTopovComponent.java +++ b/apps/vtn/sfcweb/src/main/java/org/onosproject/sfcweb/SfcwebUiTopovComponent.java @@ -16,11 +16,11 @@ package org.onosproject.sfcweb; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.ui.UiExtension; import org.onosproject.ui.UiExtensionService; import org.onosproject.ui.UiMessageHandlerFactory; @@ -43,7 +43,7 @@ public class SfcwebUiTopovComponent { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UiExtensionService uiExtensionService; // List of application views diff --git a/apps/vtn/vtnmgr/src/main/java/org/onosproject/vtn/manager/impl/VtnManager.java b/apps/vtn/vtnmgr/src/main/java/org/onosproject/vtn/manager/impl/VtnManager.java index c3c5af9c10..427aba8a9e 100644 --- a/apps/vtn/vtnmgr/src/main/java/org/onosproject/vtn/manager/impl/VtnManager.java +++ b/apps/vtn/vtnmgr/src/main/java/org/onosproject/vtn/manager/impl/VtnManager.java @@ -15,29 +15,8 @@ */ package org.onosproject.vtn.manager.impl; -import static org.onosproject.net.flow.instructions.ExtensionTreatmentType.ExtensionTreatmentTypes.NICIRA_SET_TUNNEL_DST; -import static org.slf4j.LoggerFactory.getLogger; - -import java.nio.ByteBuffer; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.UUID; -import java.util.concurrent.ConcurrentHashMap; -import java.util.stream.Collectors; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; import org.onlab.packet.ARP; import org.onlab.packet.Ethernet; import org.onlab.packet.IPv4; @@ -146,69 +125,87 @@ import org.onosproject.vtnrsc.service.VtnRscService; import org.onosproject.vtnrsc.subnet.SubnetService; import org.onosproject.vtnrsc.tenantnetwork.TenantNetworkService; import org.onosproject.vtnrsc.virtualport.VirtualPortService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; +import java.nio.ByteBuffer; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; +import java.util.stream.Collectors; + +import static org.onosproject.net.flow.instructions.ExtensionTreatmentType.ExtensionTreatmentTypes.NICIRA_SET_TUNNEL_DST; +import static org.slf4j.LoggerFactory.getLogger; /** * Provides implementation of VTNService. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = VtnService.class) public class VtnManager implements VtnService { private final Logger log = getLogger(getClass()); private static final String APP_ID = "org.onosproject.app.vtn"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService configService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TenantNetworkService tenantNetworkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VirtualPortService virtualPortService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LogicalClockService clockService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected GroupService groupService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected SubnetService subnetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VtnRscService vtnRscService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FloatingIpService floatingIpService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RouterInterfaceService routerInterfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService networkConfigService; private ApplicationId appId; @@ -252,7 +249,7 @@ public class VtnManager implements VtnService { private static ConsistentMap exPortMap; private VtnL3PacketProcessor l3PacketProcessor = new VtnL3PacketProcessor(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; @Activate diff --git a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/classifier/impl/ClassifierManager.java b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/classifier/impl/ClassifierManager.java index 378f4781c5..74bf8b6958 100644 --- a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/classifier/impl/ClassifierManager.java +++ b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/classifier/impl/ClassifierManager.java @@ -15,34 +15,31 @@ */ package org.onosproject.vtnrsc.classifier.impl; -import static org.slf4j.LoggerFactory.getLogger; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import com.google.common.collect.ImmutableList; import org.onosproject.net.DeviceId; import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.DistributedSet; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.vtnrsc.classifier.ClassifierService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.collect.ImmutableList; +import static org.slf4j.LoggerFactory.getLogger; /** * Provides implementation of the Classifier Service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = ClassifierService.class) public class ClassifierManager implements ClassifierService { private final Logger log = getLogger(ClassifierManager.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private DistributedSet classifierList; diff --git a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/impl/FloatingIpManager.java b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/impl/FloatingIpManager.java index 6b665064dd..196d889e48 100644 --- a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/impl/FloatingIpManager.java +++ b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/impl/FloatingIpManager.java @@ -15,20 +15,7 @@ */ package org.onosproject.vtnrsc.floatingip.impl; -import static com.google.common.base.Preconditions.checkNotNull; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.Collection; -import java.util.Collections; -import java.util.Set; -import java.util.UUID; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import com.google.common.collect.Sets; import org.onlab.packet.IpAddress; import org.onlab.util.KryoNamespace; import org.onosproject.core.ApplicationId; @@ -42,25 +29,35 @@ import org.onosproject.store.service.WallClockTimestamp; import org.onosproject.vtnrsc.DefaultFloatingIp; import org.onosproject.vtnrsc.FloatingIp; import org.onosproject.vtnrsc.FloatingIpId; +import org.onosproject.vtnrsc.RouterId; import org.onosproject.vtnrsc.TenantId; import org.onosproject.vtnrsc.TenantNetworkId; import org.onosproject.vtnrsc.VirtualPortId; -import org.onosproject.vtnrsc.RouterId; import org.onosproject.vtnrsc.floatingip.FloatingIpEvent; import org.onosproject.vtnrsc.floatingip.FloatingIpListener; import org.onosproject.vtnrsc.floatingip.FloatingIpService; import org.onosproject.vtnrsc.router.RouterService; import org.onosproject.vtnrsc.tenantnetwork.TenantNetworkService; import org.onosproject.vtnrsc.virtualport.VirtualPortService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.collect.Sets; +import java.util.Collection; +import java.util.Collections; +import java.util.Set; +import java.util.UUID; + +import static com.google.common.base.Preconditions.checkNotNull; +import static org.slf4j.LoggerFactory.getLogger; /** * Provides implementation of the FloatingIp service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = FloatingIpService.class) public class FloatingIpManager implements FloatingIpService { private static final String FLOATINGIP_ID_NOT_NULL = "Floatingip ID cannot be null"; private static final String FLOATINGIP_NOT_NULL = "Floatingip cannot be null"; @@ -79,19 +76,19 @@ public class FloatingIpManager implements FloatingIpService { protected EventuallyConsistentMap floatingIpBindStore; protected ApplicationId appId; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TenantNetworkService tenantNetworkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VirtualPortService virtualPortService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RouterService routerService; @Activate diff --git a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/impl/FlowClassifierManager.java b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/impl/FlowClassifierManager.java index f2396da557..216a2c54cf 100644 --- a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/impl/FlowClassifierManager.java +++ b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/impl/FlowClassifierManager.java @@ -15,17 +15,7 @@ */ package org.onosproject.vtnrsc.flowclassifier.impl; -import static com.google.common.base.Preconditions.checkNotNull; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.UUID; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import com.google.common.collect.ImmutableList; import org.onlab.packet.IpPrefix; import org.onlab.util.KryoNamespace; import org.onosproject.event.AbstractListenerManager; @@ -44,15 +34,22 @@ import org.onosproject.vtnrsc.VirtualPortId; import org.onosproject.vtnrsc.flowclassifier.FlowClassifierEvent; import org.onosproject.vtnrsc.flowclassifier.FlowClassifierListener; import org.onosproject.vtnrsc.flowclassifier.FlowClassifierService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.collect.ImmutableList; +import java.util.UUID; + +import static com.google.common.base.Preconditions.checkNotNull; +import static org.slf4j.LoggerFactory.getLogger; /** * Provides implementation of the Flow Classifier Service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = FlowClassifierService.class) public class FlowClassifierManager extends AbstractListenerManager implements FlowClassifierService { @@ -68,7 +65,7 @@ public class FlowClassifierManager extends AbstractListenerManager flowClassifierListener = new InnerFlowClassifierStoreListener(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; @Activate diff --git a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/impl/PortChainManager.java b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/impl/PortChainManager.java index f3739f6c1c..6aa6bf3e35 100644 --- a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/impl/PortChainManager.java +++ b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/impl/PortChainManager.java @@ -15,18 +15,6 @@ */ package org.onosproject.vtnrsc.portchain.impl; -import static com.google.common.base.Preconditions.checkNotNull; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.Collections; -import java.util.UUID; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.event.AbstractListenerManager; import org.onosproject.net.DeviceId; @@ -49,13 +37,23 @@ import org.onosproject.vtnrsc.TenantId; import org.onosproject.vtnrsc.portchain.PortChainEvent; import org.onosproject.vtnrsc.portchain.PortChainListener; import org.onosproject.vtnrsc.portchain.PortChainService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; +import java.util.Collections; +import java.util.UUID; + +import static com.google.common.base.Preconditions.checkNotNull; +import static org.slf4j.LoggerFactory.getLogger; + /** * Provides implementation of the portChainService. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = PortChainService.class) public class PortChainManager extends AbstractListenerManager implements PortChainService { @@ -69,7 +67,7 @@ public class PortChainManager extends AbstractListenerManager portChainListener = new InnerPortChainStoreListener(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; @Activate diff --git a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchainsfmap/impl/PortChainSfMapManager.java b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchainsfmap/impl/PortChainSfMapManager.java index 0481d7d6ce..78737b3e81 100644 --- a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchainsfmap/impl/PortChainSfMapManager.java +++ b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchainsfmap/impl/PortChainSfMapManager.java @@ -15,18 +15,8 @@ */ package org.onosproject.vtnrsc.portchainsfmap.impl; -import static com.google.common.base.Preconditions.checkNotNull; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.List; -import java.util.ListIterator; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Lists; import org.onosproject.vtnrsc.PortChain; import org.onosproject.vtnrsc.PortChainId; import org.onosproject.vtnrsc.PortPairGroup; @@ -36,31 +26,38 @@ import org.onosproject.vtnrsc.portchain.PortChainService; import org.onosproject.vtnrsc.portchainsfmap.PortChainSfMapService; import org.onosproject.vtnrsc.portpair.PortPairService; import org.onosproject.vtnrsc.portpairgroup.PortPairGroupService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; +import java.util.List; +import java.util.ListIterator; + +import static com.google.common.base.Preconditions.checkNotNull; +import static org.slf4j.LoggerFactory.getLogger; /** * Provides implementation of the PortChainSfMapService. * A port pair group is nothing but group of similar service functions. * A port pair is nothing but a service function. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = PortChainSfMapService.class) public class PortChainSfMapManager implements PortChainSfMapService { private static final String PORT_CHAIN_ID_NULL = "PortChain ID cannot be null"; private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PortChainService portChainService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PortPairGroupService portPairGroupService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PortPairService portPairService; @Activate diff --git a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpair/impl/PortPairManager.java b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpair/impl/PortPairManager.java index fb978590a8..47dbe1cf7d 100644 --- a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpair/impl/PortPairManager.java +++ b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpair/impl/PortPairManager.java @@ -15,18 +15,6 @@ */ package org.onosproject.vtnrsc.portpair.impl; -import static com.google.common.base.Preconditions.checkNotNull; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.Collections; -import java.util.UUID; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.event.AbstractListenerManager; import org.onosproject.store.serializers.KryoNamespaces; @@ -43,13 +31,23 @@ import org.onosproject.vtnrsc.TenantId; import org.onosproject.vtnrsc.portpair.PortPairEvent; import org.onosproject.vtnrsc.portpair.PortPairListener; import org.onosproject.vtnrsc.portpair.PortPairService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; +import java.util.Collections; +import java.util.UUID; + +import static com.google.common.base.Preconditions.checkNotNull; +import static org.slf4j.LoggerFactory.getLogger; + /** * Provides implementation of the portPairService. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = PortPairService.class) public class PortPairManager extends AbstractListenerManager implements PortPairService { @@ -65,7 +63,7 @@ public class PortPairManager extends AbstractListenerManager portPairListener = new InnerPortPairStoreListener(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; @Activate diff --git a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpairgroup/impl/PortPairGroupManager.java b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpairgroup/impl/PortPairGroupManager.java index 4c76c1edcd..f5ff8e895d 100644 --- a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpairgroup/impl/PortPairGroupManager.java +++ b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpairgroup/impl/PortPairGroupManager.java @@ -15,18 +15,6 @@ */ package org.onosproject.vtnrsc.portpairgroup.impl; -import static com.google.common.base.Preconditions.checkNotNull; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.Collections; -import java.util.UUID; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.event.AbstractListenerManager; import org.onosproject.store.serializers.KryoNamespaces; @@ -44,13 +32,23 @@ import org.onosproject.vtnrsc.TenantId; import org.onosproject.vtnrsc.portpairgroup.PortPairGroupEvent; import org.onosproject.vtnrsc.portpairgroup.PortPairGroupListener; import org.onosproject.vtnrsc.portpairgroup.PortPairGroupService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; +import java.util.Collections; +import java.util.UUID; + +import static com.google.common.base.Preconditions.checkNotNull; +import static org.slf4j.LoggerFactory.getLogger; + /** * Provides implementation of the portPairGroupService. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = PortPairGroupService.class) public class PortPairGroupManager extends AbstractListenerManager implements PortPairGroupService { @@ -66,7 +64,7 @@ public class PortPairGroupManager extends AbstractListenerManager portPairGroupListener = new InnerPortPairGroupStoreListener(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; @Activate diff --git a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/router/impl/RouterManager.java b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/router/impl/RouterManager.java index 04600f3fdb..8954a384d9 100644 --- a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/router/impl/RouterManager.java +++ b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/router/impl/RouterManager.java @@ -15,19 +15,7 @@ */ package org.onosproject.vtnrsc.router.impl; -import static com.google.common.base.Preconditions.checkNotNull; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.Collection; -import java.util.Collections; -import java.util.Set; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import com.google.common.collect.Sets; import org.onlab.util.KryoNamespace; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -52,15 +40,24 @@ import org.onosproject.vtnrsc.router.RouterService; import org.onosproject.vtnrsc.subnet.SubnetService; import org.onosproject.vtnrsc.tenantnetwork.TenantNetworkService; import org.onosproject.vtnrsc.virtualport.VirtualPortService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.collect.Sets; +import java.util.Collection; +import java.util.Collections; +import java.util.Set; + +import static com.google.common.base.Preconditions.checkNotNull; +import static org.slf4j.LoggerFactory.getLogger; /** * Provides implementation of the Router service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = RouterService.class) public class RouterManager implements RouterService { private static final String ROUTER_ID_NULL = "Router ID cannot be null"; @@ -76,19 +73,19 @@ public class RouterManager implements RouterService { protected EventuallyConsistentMap routerStore; protected ApplicationId appId; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TenantNetworkService tenantNetworkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VirtualPortService virtualPortService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected SubnetService subnetService; @Activate diff --git a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/routerinterface/impl/RouterInterfaceManager.java b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/routerinterface/impl/RouterInterfaceManager.java index dd8d06d0e7..854efd9e09 100644 --- a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/routerinterface/impl/RouterInterfaceManager.java +++ b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/routerinterface/impl/RouterInterfaceManager.java @@ -15,19 +15,7 @@ */ package org.onosproject.vtnrsc.routerinterface.impl; -import static com.google.common.base.Preconditions.checkNotNull; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.Collection; -import java.util.Collections; -import java.util.Set; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import com.google.common.collect.Sets; import org.onlab.util.KryoNamespace; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -48,15 +36,24 @@ import org.onosproject.vtnrsc.routerinterface.RouterInterfaceListener; import org.onosproject.vtnrsc.routerinterface.RouterInterfaceService; import org.onosproject.vtnrsc.subnet.SubnetService; import org.onosproject.vtnrsc.virtualport.VirtualPortService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.collect.Sets; +import java.util.Collection; +import java.util.Collections; +import java.util.Set; + +import static com.google.common.base.Preconditions.checkNotNull; +import static org.slf4j.LoggerFactory.getLogger; /** * Provides implementation of the Router interface service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = RouterInterfaceService.class) public class RouterInterfaceManager implements RouterInterfaceService { private static final String SUBNET_ID_NULL = "Subnet ID cannot be null"; private static final String ROUTER_INTERFACE_NULL = "Router Interface cannot be null"; @@ -73,19 +70,19 @@ public class RouterInterfaceManager implements RouterInterfaceService { protected EventuallyConsistentMap routerInterfaceStore; protected ApplicationId appId; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VirtualPortService virtualPortService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected SubnetService subnetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RouterService routerService; @Activate diff --git a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/impl/VtnRscManager.java b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/impl/VtnRscManager.java index d17255f7a3..37f2de4169 100644 --- a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/impl/VtnRscManager.java +++ b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/impl/VtnRscManager.java @@ -15,19 +15,6 @@ */ package org.onosproject.vtnrsc.service.impl; -import static com.google.common.base.Preconditions.checkNotNull; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.HashSet; -import java.util.Iterator; -import java.util.Set; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onlab.packet.MacAddress; import org.onlab.util.KryoNamespace; @@ -90,20 +77,31 @@ import org.onosproject.vtnrsc.tenantnetwork.TenantNetworkService; import org.onosproject.vtnrsc.virtualport.VirtualPortEvent; import org.onosproject.vtnrsc.virtualport.VirtualPortListener; import org.onosproject.vtnrsc.virtualport.VirtualPortService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; + +import static com.google.common.base.Preconditions.checkNotNull; +import static org.slf4j.LoggerFactory.getLogger; + /** * Provides implementation of the VtnRsc service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = VtnRscService.class) public class VtnRscManager extends AbstractListenerManager implements VtnRscService { - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LogicalClockService clockService; private final Logger log = getLogger(getClass()); @@ -133,29 +131,29 @@ public class VtnRscManager extends AbstractListenerManager subnetStore; protected ApplicationId appId; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TenantNetworkService tenantNetworkService; @Activate diff --git a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/tenantnetwork/impl/TenantNetworkManager.java b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/tenantnetwork/impl/TenantNetworkManager.java index d845b72a21..753e38af70 100644 --- a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/tenantnetwork/impl/TenantNetworkManager.java +++ b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/tenantnetwork/impl/TenantNetworkManager.java @@ -15,12 +15,6 @@ */ package org.onosproject.vtnrsc.tenantnetwork.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; import org.onosproject.store.serializers.KryoNamespaces; @@ -33,6 +27,11 @@ import org.onosproject.vtnrsc.TenantId; import org.onosproject.vtnrsc.TenantNetwork; import org.onosproject.vtnrsc.TenantNetworkId; import org.onosproject.vtnrsc.tenantnetwork.TenantNetworkService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Arrays; @@ -45,8 +44,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Provides implementation of the tenantNetworkService. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = TenantNetworkService.class) public class TenantNetworkManager implements TenantNetworkService { private static final String NETWORK_ID_NULL = "Network ID cannot be null"; @@ -59,10 +57,10 @@ public class TenantNetworkManager implements TenantNetworkService { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; diff --git a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/virtualport/impl/VirtualPortManager.java b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/virtualport/impl/VirtualPortManager.java index 76a42047a2..5206e3f569 100644 --- a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/virtualport/impl/VirtualPortManager.java +++ b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/virtualport/impl/VirtualPortManager.java @@ -15,22 +15,6 @@ */ package org.onosproject.vtnrsc.virtualport.impl; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; -import java.util.UUID; -import java.util.stream.Collectors; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onlab.packet.MacAddress; import org.onlab.util.KryoNamespace; @@ -66,14 +50,28 @@ import org.onosproject.vtnrsc.tenantnetwork.TenantNetworkService; import org.onosproject.vtnrsc.virtualport.VirtualPortEvent; import org.onosproject.vtnrsc.virtualport.VirtualPortListener; import org.onosproject.vtnrsc.virtualport.VirtualPortService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.UUID; +import java.util.stream.Collectors; + +import static com.google.common.base.Preconditions.checkNotNull; + /** * Provides implementation of the VirtualPort APIs. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = VirtualPortService.class) public class VirtualPortManager extends AbstractListenerManager implements VirtualPortService { @@ -95,13 +93,13 @@ implements VirtualPortService { protected EventuallyConsistentMap vPortStore; protected ApplicationId appId; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TenantNetworkService networkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; private EventuallyConsistentMapListener virtualPortListener = diff --git a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/gui/SfcUiExtensionManager.java b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/gui/SfcUiExtensionManager.java index b28b557f01..7997d4ad42 100644 --- a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/gui/SfcUiExtensionManager.java +++ b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/gui/SfcUiExtensionManager.java @@ -15,31 +15,28 @@ */ package org.onosproject.vtnweb.gui; -import static com.google.common.collect.ImmutableList.of; -import static org.onosproject.ui.UiView.Category.NETWORK; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.List; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import com.google.common.collect.ImmutableList; import org.onosproject.ui.UiExtension; import org.onosproject.ui.UiExtensionService; import org.onosproject.ui.UiMessageHandlerFactory; import org.onosproject.ui.UiView; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.collect.ImmutableList; +import java.util.List; + +import static com.google.common.collect.ImmutableList.of; +import static org.onosproject.ui.UiView.Category.NETWORK; +import static org.slf4j.LoggerFactory.getLogger; /** * service function chain gui. */ -@Component(immediate = true, enabled = true) -@Service(value = SfcUiExtensionManager.class) +@Component(immediate = true, service = SfcUiExtensionManager.class) public class SfcUiExtensionManager { private final Logger log = getLogger(getClass()); @@ -47,7 +44,7 @@ public class SfcUiExtensionManager { SfcUiExtensionManager.class.getClassLoader(); private static final String GUI = "gui"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UiExtensionService uiExtensionService; // service function chain extension diff --git a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/web/VtnCodecRegistrator.java b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/web/VtnCodecRegistrator.java index 3add533379..33581eb3e9 100644 --- a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/web/VtnCodecRegistrator.java +++ b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/web/VtnCodecRegistrator.java @@ -15,11 +15,11 @@ */ package org.onosproject.vtnweb.web; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.codec.CodecService; import org.onosproject.vtnrsc.FlowClassifier; import org.onosproject.vtnrsc.PortChain; @@ -37,7 +37,7 @@ public class VtnCodecRegistrator { private static Logger log = LoggerFactory.getLogger(VtnCodecRegistrator.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CodecService codecService; @Activate diff --git a/apps/yang-gui/src/main/java/org/onosproject/yang/gui/YangModelUiComponent.java b/apps/yang-gui/src/main/java/org/onosproject/yang/gui/YangModelUiComponent.java index 4337b0f79b..0456e5e351 100644 --- a/apps/yang-gui/src/main/java/org/onosproject/yang/gui/YangModelUiComponent.java +++ b/apps/yang-gui/src/main/java/org/onosproject/yang/gui/YangModelUiComponent.java @@ -17,11 +17,11 @@ package org.onosproject.yang.gui; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.ui.UiExtension; import org.onosproject.ui.UiExtensionService; import org.onosproject.ui.UiMessageHandlerFactory; @@ -49,7 +49,7 @@ public class YangModelUiComponent { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UiExtensionService uiExtensionService; // List of application views diff --git a/apps/yang/src/main/java/org/onosproject/yang/AbstractYangModelRegistrator.java b/apps/yang/src/main/java/org/onosproject/yang/AbstractYangModelRegistrator.java index a06852651b..512d6d7a42 100644 --- a/apps/yang/src/main/java/org/onosproject/yang/AbstractYangModelRegistrator.java +++ b/apps/yang/src/main/java/org/onosproject/yang/AbstractYangModelRegistrator.java @@ -16,11 +16,11 @@ package org.onosproject.yang; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.yang.model.YangModel; import org.onosproject.yang.model.YangModuleId; import org.onosproject.yang.runtime.AppModuleInfo; @@ -48,10 +48,10 @@ public abstract class AbstractYangModelRegistrator { protected YangModel model; private ModelRegistrationParam registrationParam; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected YangModelRegistry modelRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected YangClassLoaderRegistry sourceResolver; /** diff --git a/apps/yang/src/main/java/org/onosproject/yang/impl/YangLiveCompilerManager.java b/apps/yang/src/main/java/org/onosproject/yang/impl/YangLiveCompilerManager.java index 10f821e897..7e94639e42 100644 --- a/apps/yang/src/main/java/org/onosproject/yang/impl/YangLiveCompilerManager.java +++ b/apps/yang/src/main/java/org/onosproject/yang/impl/YangLiveCompilerManager.java @@ -18,14 +18,13 @@ package org.onosproject.yang.impl; import com.google.common.io.ByteStreams; import com.google.common.io.Files; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.FilePathValidator; import org.onosproject.yang.YangLiveCompilerService; import org.onosproject.yang.compiler.tool.DefaultYangCompilationParam; import org.onosproject.yang.compiler.tool.YangCompilerManager; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -52,8 +51,7 @@ import static java.nio.file.Files.walkFileTree; /** * Represents implementation of YANG live compiler manager. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = YangLiveCompilerService.class) public class YangLiveCompilerManager implements YangLiveCompilerService { private final Logger log = LoggerFactory.getLogger(getClass()); diff --git a/apps/yang/src/main/java/org/onosproject/yang/impl/YangRuntimeManager.java b/apps/yang/src/main/java/org/onosproject/yang/impl/YangRuntimeManager.java index c338c333fa..fe74bd343a 100644 --- a/apps/yang/src/main/java/org/onosproject/yang/impl/YangRuntimeManager.java +++ b/apps/yang/src/main/java/org/onosproject/yang/impl/YangRuntimeManager.java @@ -16,12 +16,6 @@ package org.onosproject.yang.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.core.CoreService; import org.onosproject.yang.YangClassLoaderRegistry; import org.onosproject.yang.model.ModelConverter; @@ -51,6 +45,11 @@ import org.onosproject.yang.runtime.impl.DefaultYangRuntimeHandler; import org.onosproject.yang.runtime.impl.DefaultYangSerializerRegistry; import org.onosproject.yang.serializers.json.JsonSerializer; import org.onosproject.yang.serializers.xml.XmlSerializer; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -63,8 +62,9 @@ import static com.google.common.base.Preconditions.checkNotNull; /** * Represents implementation of YANG runtime manager. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = { YangModelRegistry.class, + YangSerializerRegistry.class, YangRuntimeService.class, ModelConverter.class, + SchemaContextProvider.class, YangClassLoaderRegistry.class }) public class YangRuntimeManager implements YangModelRegistry, YangSerializerRegistry, YangRuntimeService, ModelConverter, SchemaContextProvider, YangClassLoaderRegistry { @@ -72,7 +72,7 @@ public class YangRuntimeManager implements YangModelRegistry, private static final String APP_ID = "org.onosproject.yang"; private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; private DefaultYangModelRegistry modelRegistry; diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ymsm/YmsManager.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ymsm/YmsManager.java index 1af2302150..b3e37c1023 100644 --- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ymsm/YmsManager.java +++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ymsm/YmsManager.java @@ -16,12 +16,6 @@ package org.onosproject.yms.app.ymsm; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; import org.onosproject.core.IdGenerator; @@ -47,6 +41,11 @@ import org.onosproject.yms.ymsm.YmsService; import org.onosproject.yms.ynh.YangNotificationService; import org.onosproject.yms.ysr.YangModuleIdentifier; import org.onosproject.yms.ysr.YangModuleLibrary; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -61,8 +60,7 @@ import static org.onosproject.yms.app.ych.defaultcodecs.YangCodecRegistry.initia /** * Represents implementation of YANG management system manager. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = YmsService.class) public class YmsManager implements YmsService { @@ -79,7 +77,7 @@ public class YmsManager private YangNotificationExtendedService ynhExtendedService; private YangModuleLibrary library; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; @Activate diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ypm/YpmManager.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ypm/YpmManager.java index 954511a4d3..8e6238f528 100644 --- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ypm/YpmManager.java +++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ypm/YpmManager.java @@ -16,22 +16,20 @@ package org.onosproject.yms.app.ypm; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.onosproject.yms.ydt.YdtContext; +import org.onosproject.yms.ypm.DefaultYpmNode; import org.onosproject.yms.ypm.YpmContext; import org.onosproject.yms.ypm.YpmService; -import org.onosproject.yms.ypm.DefaultYpmNode; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Represents implementation of YANG protocol metadata manager. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = YpmService.class) public class YpmManager implements YpmService { private final Logger log = LoggerFactory.getLogger(getClass()); diff --git a/cli/BUILD b/cli/BUILD index b8a3f5b6bc..9924aac843 100644 --- a/cli/BUILD +++ b/cli/BUILD @@ -1,5 +1,5 @@ COMPILE_DEPS = CORE_DEPS + JACKSON + METRICS + [ - "@org_apache_karaf_shell_console//jar", + "@org_apache_karaf_shell_core//jar", "//incubator/api:onos-incubator-api", "//incubator/net:onos-incubator-net", "//utils/rest:onlab-rest", @@ -7,6 +7,13 @@ COMPILE_DEPS = CORE_DEPS + JACKSON + METRICS + [ ] osgi_jar( + karaf_command_packages = [ + "org.onosproject.cli", + "org.onosproject.cli.app", + "org.onosproject.cli.cfg", + "org.onosproject.cli.net", + "org.onosproject.cli.security", + ], visibility = ["//visibility:public"], deps = COMPILE_DEPS, ) diff --git a/cli/src/main/java/org/onosproject/cli/AbstractChoicesCompleter.java b/cli/src/main/java/org/onosproject/cli/AbstractChoicesCompleter.java index 5b5e808900..4f1962c140 100644 --- a/cli/src/main/java/org/onosproject/cli/AbstractChoicesCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/AbstractChoicesCompleter.java @@ -15,7 +15,9 @@ */ package org.onosproject.cli; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import java.util.List; import java.util.SortedSet; @@ -26,13 +28,17 @@ import java.util.SortedSet; public abstract class AbstractChoicesCompleter extends AbstractCompleter { protected abstract List choices(); + protected CommandLine commandLine; + protected Session session; @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { + this.session = session; + this.commandLine = commandLine; StringsCompleter delegate = new StringsCompleter(); SortedSet strings = delegate.getStrings(); choices().forEach(strings::add); - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/AbstractCompleter.java b/cli/src/main/java/org/onosproject/cli/AbstractCompleter.java index 19f51f10eb..44cbea7920 100644 --- a/cli/src/main/java/org/onosproject/cli/AbstractCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/AbstractCompleter.java @@ -15,25 +15,23 @@ */ package org.onosproject.cli; -import org.apache.felix.service.command.CommandSession; -import org.apache.karaf.shell.console.CommandSessionHolder; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.ArgumentCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; + +import java.util.List; /** * Abstract argument completer. */ public abstract class AbstractCompleter implements Completer { - /** - * Returns the argument list. - * - * @return argument list - */ - protected ArgumentCompleter.ArgumentList getArgumentList() { - CommandSession session = CommandSessionHolder.getSession(); - return (ArgumentCompleter.ArgumentList) - session.get(ArgumentCompleter.ARGUMENTS_LIST); + @Override + public int complete(Session session, CommandLine commandLine, List candidates) { + StringsCompleter delegate = new StringsCompleter(); + + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/AbstractShellCommand.java b/cli/src/main/java/org/onosproject/cli/AbstractShellCommand.java index 09e08fa942..d6d044efe7 100644 --- a/cli/src/main/java/org/onosproject/cli/AbstractShellCommand.java +++ b/cli/src/main/java/org/onosproject/cli/AbstractShellCommand.java @@ -15,8 +15,8 @@ */ package org.onosproject.cli; -import org.apache.karaf.shell.commands.Option; -import org.apache.karaf.shell.console.AbstractAction; +import org.apache.karaf.shell.api.action.Option; +import org.apache.karaf.shell.api.action.Action; import org.onlab.osgi.DefaultServiceDirectory; import org.onlab.osgi.ServiceNotFoundException; import org.onosproject.codec.CodecContext; @@ -29,6 +29,8 @@ import org.onosproject.net.Annotations; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; import org.onosproject.net.DefaultAnnotations; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.util.Set; import java.util.TreeSet; @@ -36,7 +38,8 @@ import java.util.TreeSet; /** * Base abstraction of Karaf shell commands. */ -public abstract class AbstractShellCommand extends AbstractAction implements CodecContext { +public abstract class AbstractShellCommand implements Action, CodecContext { + protected final Logger log = LoggerFactory.getLogger(this.getClass()); @Option(name = "-j", aliases = "--json", description = "Output JSON", required = false, multiValued = false) @@ -135,11 +138,6 @@ public abstract class AbstractShellCommand extends AbstractAction implements Cod return result; } - /** - * Executes this command. - */ - protected abstract void execute(); - /** * Indicates whether JSON format should be output. * @@ -150,16 +148,22 @@ public abstract class AbstractShellCommand extends AbstractAction implements Cod } @Override - protected Object doExecute() throws Exception { + public Object execute() throws Exception { try { - execute(); + doExecute(); } catch (ServiceNotFoundException e) { error(e.getMessage()); } return null; } - + protected void doExecute() throws Exception { + try { + execute(); + } catch (ServiceNotFoundException e) { + error(e.getMessage()); + } + } private final ObjectMapper mapper = new ObjectMapper(); diff --git a/cli/src/main/java/org/onosproject/cli/BalanceMastersCommand.java b/cli/src/main/java/org/onosproject/cli/BalanceMastersCommand.java index 8c86c71190..7ef8f4e38b 100644 --- a/cli/src/main/java/org/onosproject/cli/BalanceMastersCommand.java +++ b/cli/src/main/java/org/onosproject/cli/BalanceMastersCommand.java @@ -15,18 +15,20 @@ */ package org.onosproject.cli; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.mastership.MastershipAdminService; /** * Forces device mastership rebalancing. */ +@Service @Command(scope = "onos", name = "balance-masters", description = "Forces device mastership rebalancing") public class BalanceMastersCommand extends AbstractShellCommand { @Override - protected void execute() { + protected void doExecute() { get(MastershipAdminService.class).balanceRoles(); } diff --git a/cli/src/main/java/org/onosproject/cli/CliComponent.java b/cli/src/main/java/org/onosproject/cli/CliComponent.java index 2c44578b7f..558abdae16 100644 --- a/cli/src/main/java/org/onosproject/cli/CliComponent.java +++ b/cli/src/main/java/org/onosproject/cli/CliComponent.java @@ -15,10 +15,10 @@ */ package org.onosproject.cli; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.core.CoreService; /** @@ -28,7 +28,7 @@ import org.onosproject.core.CoreService; @Component(immediate = true) public class CliComponent { - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; @Activate diff --git a/cli/src/main/java/org/onosproject/cli/IssuCommand.java b/cli/src/main/java/org/onosproject/cli/IssuCommand.java index e2ff991d08..04e3ad924e 100644 --- a/cli/src/main/java/org/onosproject/cli/IssuCommand.java +++ b/cli/src/main/java/org/onosproject/cli/IssuCommand.java @@ -15,14 +15,16 @@ */ package org.onosproject.cli; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.upgrade.UpgradeAdminService; import org.onosproject.upgrade.UpgradeService; /** * Commands for managing upgrades. */ +@Service @Command(scope = "onos", name = "issu", description = "Manages upgrades") public class IssuCommand extends AbstractShellCommand { @@ -41,7 +43,7 @@ public class IssuCommand extends AbstractShellCommand { String command = null; @Override - protected void execute() { + protected void doExecute() { UpgradeService upgradeService = get(UpgradeService.class); UpgradeAdminService upgradeAdminService = get(UpgradeAdminService.class); if (command == null) { diff --git a/cli/src/main/java/org/onosproject/cli/MarkCommand.java b/cli/src/main/java/org/onosproject/cli/MarkCommand.java index dc119edfd1..f7881f3f50 100644 --- a/cli/src/main/java/org/onosproject/cli/MarkCommand.java +++ b/cli/src/main/java/org/onosproject/cli/MarkCommand.java @@ -20,9 +20,10 @@ import static org.slf4j.LoggerFactory.getLogger; import java.util.List; import java.util.stream.Collectors; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.slf4j.Logger; import com.google.common.collect.ImmutableList; @@ -30,6 +31,7 @@ import com.google.common.collect.ImmutableList; /** * CLI command which just log message to ONOS log for ease of debugging, etc. */ +@Service @Command(scope = "onos", name = "mark", description = "Mark message in the log") public class MarkCommand extends AbstractShellCommand { @@ -49,7 +51,7 @@ public class MarkCommand extends AbstractShellCommand { List message = ImmutableList.of(MARK); @Override - protected void execute() { + protected void doExecute() { Logger log = getLogger(loggerName); diff --git a/cli/src/main/java/org/onosproject/cli/MastersListCommand.java b/cli/src/main/java/org/onosproject/cli/MastersListCommand.java index 7ffc3b22f9..6debc1b70c 100644 --- a/cli/src/main/java/org/onosproject/cli/MastersListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/MastersListCommand.java @@ -19,7 +19,8 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; import com.google.common.collect.Lists; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.ControllerNode; import org.onosproject.mastership.MastershipService; @@ -34,12 +35,13 @@ import static com.google.common.collect.Lists.newArrayList; /** * Lists device mastership information. */ +@Service @Command(scope = "onos", name = "masters", description = "Lists device mastership information") public class MastersListCommand extends AbstractShellCommand { @Override - protected void execute() { + protected void doExecute() { ClusterService service = get(ClusterService.class); MastershipService mastershipService = get(MastershipService.class); DeviceService deviceService = get(DeviceService.class); diff --git a/cli/src/main/java/org/onosproject/cli/MembershipsListCommand.java b/cli/src/main/java/org/onosproject/cli/MembershipsListCommand.java index f1a5c427fc..ffb9aca22d 100644 --- a/cli/src/main/java/org/onosproject/cli/MembershipsListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/MembershipsListCommand.java @@ -20,7 +20,8 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ObjectNode; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cluster.ClusterAdminService; import org.onosproject.cluster.ControllerNode; import org.onosproject.cluster.Member; @@ -35,12 +36,13 @@ import static org.onosproject.utils.Comparators.MEMBERSHIP_COMPARATOR; /** * Command to list the memberships in the system. */ +@Service @Command(scope = "onos", name = "memberships", description = "Lists information about memberships in the system") public class MembershipsListCommand extends AbstractShellCommand { @Override - protected void execute() { + protected void doExecute() { MembershipService service = get(MembershipService.class); ClusterAdminService clusterService = get(ClusterAdminService.class); diff --git a/cli/src/main/java/org/onosproject/cli/MetricsListCommand.java b/cli/src/main/java/org/onosproject/cli/MetricsListCommand.java index d1ecafa3f0..3cd951551e 100644 --- a/cli/src/main/java/org/onosproject/cli/MetricsListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/MetricsListCommand.java @@ -29,8 +29,9 @@ import com.fasterxml.jackson.databind.node.ObjectNode; import com.google.common.base.Strings; import com.google.common.collect.Ordering; import com.google.common.collect.TreeMultimap; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onlab.metrics.MetricsService; import org.onlab.util.Tools; @@ -43,6 +44,7 @@ import static java.lang.String.format; /** * Prints metrics in the system. */ +@Service @Command(scope = "onos", name = "metrics", description = "Prints metrics in the system") public class MetricsListCommand extends AbstractShellCommand { @@ -71,7 +73,7 @@ public class MetricsListCommand extends AbstractShellCommand { String metricName = null; @Override - protected void execute() { + protected void doExecute() { MetricsService metricsService = get(MetricsService.class); MetricFilter filter = metricName != null ? (name, metric) -> name.equals(metricName) : MetricFilter.ALL; diff --git a/cli/src/main/java/org/onosproject/cli/NodeAddCommand.java b/cli/src/main/java/org/onosproject/cli/NodeAddCommand.java index 2b2b659f73..e01fd67b7b 100644 --- a/cli/src/main/java/org/onosproject/cli/NodeAddCommand.java +++ b/cli/src/main/java/org/onosproject/cli/NodeAddCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cluster.ClusterAdminService; import org.onosproject.cluster.DefaultControllerNode; import org.onosproject.cluster.NodeId; @@ -25,6 +26,7 @@ import org.onlab.packet.IpAddress; /** * Adds a new controller cluster node. */ +@Service @Command(scope = "onos", name = "add-node", description = "Adds a new controller cluster node") public class NodeAddCommand extends AbstractShellCommand { @@ -42,7 +44,7 @@ public class NodeAddCommand extends AbstractShellCommand { int tcpPort = DefaultControllerNode.DEFAULT_PORT; @Override - protected void execute() { + protected void doExecute() { ClusterAdminService service = get(ClusterAdminService.class); service.addNode(new NodeId(nodeId), IpAddress.valueOf(ip), tcpPort); } diff --git a/cli/src/main/java/org/onosproject/cli/NodeIdCompleter.java b/cli/src/main/java/org/onosproject/cli/NodeIdCompleter.java index c770f4fce9..5d55de3fc9 100644 --- a/cli/src/main/java/org/onosproject/cli/NodeIdCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/NodeIdCompleter.java @@ -15,8 +15,11 @@ */ package org.onosproject.cli; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.ControllerNode; @@ -27,9 +30,10 @@ import java.util.SortedSet; /** * Node ID completer. */ +@Service public class NodeIdCompleter implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); @@ -42,7 +46,7 @@ public class NodeIdCompleter implements Completer { } // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/NodeRemoveCommand.java b/cli/src/main/java/org/onosproject/cli/NodeRemoveCommand.java index 215156f6b6..5470c38df9 100644 --- a/cli/src/main/java/org/onosproject/cli/NodeRemoveCommand.java +++ b/cli/src/main/java/org/onosproject/cli/NodeRemoveCommand.java @@ -15,14 +15,16 @@ */ package org.onosproject.cli; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cluster.ClusterAdminService; import org.onosproject.cluster.NodeId; /** * Removes a controller cluster node. */ +@Service @Command(scope = "onos", name = "remove-node", description = "Removes a new controller cluster node") public class NodeRemoveCommand extends AbstractShellCommand { @@ -32,7 +34,7 @@ public class NodeRemoveCommand extends AbstractShellCommand { String nodeId = null; @Override - protected void execute() { + protected void doExecute() { ClusterAdminService service = get(ClusterAdminService.class); service.removeNode(new NodeId(nodeId)); } diff --git a/cli/src/main/java/org/onosproject/cli/NodesListCommand.java b/cli/src/main/java/org/onosproject/cli/NodesListCommand.java index ab1216eb7a..ac6a5ec19d 100644 --- a/cli/src/main/java/org/onosproject/cli/NodesListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/NodesListCommand.java @@ -19,7 +19,8 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ObjectNode; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cluster.ClusterAdminService; import org.onosproject.cluster.ControllerNode; import org.onosproject.core.Version; @@ -33,6 +34,7 @@ import static com.google.common.collect.Lists.newArrayList; /** * Lists all controller cluster nodes. */ +@Service @Command(scope = "onos", name = "nodes", description = "Lists all controller cluster nodes") public class NodesListCommand extends AbstractShellCommand { @@ -40,7 +42,7 @@ public class NodesListCommand extends AbstractShellCommand { private static final String FMT = "id=%s, address=%s:%s, state=%s, version=%s, updated=%s %s"; @Override - protected void execute() { + protected void doExecute() { ClusterAdminService service = get(ClusterAdminService.class); List nodes = newArrayList(service.getNodes()); Collections.sort(nodes, Comparators.NODE_COMPARATOR); diff --git a/cli/src/main/java/org/onosproject/cli/PlaceholderCompleter.java b/cli/src/main/java/org/onosproject/cli/PlaceholderCompleter.java index bba871e3eb..537aa286f1 100644 --- a/cli/src/main/java/org/onosproject/cli/PlaceholderCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/PlaceholderCompleter.java @@ -16,7 +16,9 @@ package org.onosproject.cli; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import java.util.List; import java.util.SortedSet; @@ -28,13 +30,13 @@ import java.util.SortedSet; public class PlaceholderCompleter extends AbstractCompleter { @Override - public int complete(String s, int i, List list) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Populate a string completer with what the user has typed so far StringsCompleter delegate = new StringsCompleter(); SortedSet strings = delegate.getStrings(); - if (s != null) { - strings.add(s); + if (commandLine.getCursorArgument() != null) { + strings.add(commandLine.getCursorArgument()); } - return delegate.complete(s, i, list); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/PrettyJson.java b/cli/src/main/java/org/onosproject/cli/PrettyJson.java index 22b08a02f1..39d7da648c 100644 --- a/cli/src/main/java/org/onosproject/cli/PrettyJson.java +++ b/cli/src/main/java/org/onosproject/cli/PrettyJson.java @@ -16,7 +16,8 @@ package org.onosproject.cli; import java.io.IOException; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; @@ -24,12 +25,13 @@ import com.fasterxml.jackson.databind.SerializationFeature; /** * Pretty print previous command output JSON. */ +@Service @Command(scope = "onos", name = "pp", description = "Pretty print JSON output from previous command") public class PrettyJson extends AbstractShellCommand { @Override - protected void execute() { + protected void doExecute() { try { ObjectMapper mapper = new ObjectMapper(); mapper.enable(SerializationFeature.INDENT_OUTPUT); diff --git a/cli/src/main/java/org/onosproject/cli/PrettyXml.java b/cli/src/main/java/org/onosproject/cli/PrettyXml.java index 9b3635fc8b..20c8180b4b 100644 --- a/cli/src/main/java/org/onosproject/cli/PrettyXml.java +++ b/cli/src/main/java/org/onosproject/cli/PrettyXml.java @@ -18,7 +18,8 @@ package org.onosproject.cli; import java.io.IOException; import java.io.InputStreamReader; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onlab.util.XmlString; import com.google.common.io.CharStreams; @@ -26,12 +27,13 @@ import com.google.common.io.CharStreams; /** * Pretty print previous command output XML. */ +@Service @Command(scope = "onos", name = "ppxml", description = "Pretty print XML output from previous command") public class PrettyXml extends AbstractShellCommand { @Override - protected void execute() { + protected void doExecute() { try { String xmlS = CharStreams.toString(new InputStreamReader(System.in)); diff --git a/cli/src/main/java/org/onosproject/cli/RolesCommand.java b/cli/src/main/java/org/onosproject/cli/RolesCommand.java index 17f46aaa12..88fa8fe734 100644 --- a/cli/src/main/java/org/onosproject/cli/RolesCommand.java +++ b/cli/src/main/java/org/onosproject/cli/RolesCommand.java @@ -19,7 +19,8 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ObjectNode; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cluster.NodeId; import org.onosproject.cluster.RoleInfo; import org.onosproject.mastership.MastershipService; @@ -34,6 +35,7 @@ import static org.onosproject.cli.net.DevicesListCommand.getSortedDevices; /** * Lists mastership roles of nodes for each device. */ +@Service @Command(scope = "onos", name = "roles", description = "Lists mastership roles of nodes for each device.") public class RolesCommand extends AbstractShellCommand { @@ -41,7 +43,7 @@ public class RolesCommand extends AbstractShellCommand { private static final String FMT_HDR = "%s: master=%s, standbys=[ %s]"; @Override - protected void execute() { + protected void doExecute() { DeviceService deviceService = get(DeviceService.class); MastershipService roleService = get(MastershipService.class); diff --git a/cli/src/main/java/org/onosproject/cli/SummaryCommand.java b/cli/src/main/java/org/onosproject/cli/SummaryCommand.java index 51a2fc360a..02ff37df72 100644 --- a/cli/src/main/java/org/onosproject/cli/SummaryCommand.java +++ b/cli/src/main/java/org/onosproject/cli/SummaryCommand.java @@ -16,7 +16,8 @@ package org.onosproject.cli; import com.fasterxml.jackson.databind.ObjectMapper; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onlab.packet.IpAddress; import org.onosproject.cluster.ClusterMetadataService; import org.onosproject.cluster.ClusterService; @@ -35,6 +36,7 @@ import java.util.Set; /** * Provides summary of ONOS model. */ +@Service @Command(scope = "onos", name = "summary", description = "Provides summary of ONOS model") public class SummaryCommand extends AbstractShellCommand { @@ -55,7 +57,7 @@ public class SummaryCommand extends AbstractShellCommand { } @Override - protected void execute() { + protected void doExecute() { IpAddress nodeIp = get(ClusterService.class).getLocalNode().ip(); Version version = get(CoreService.class).version(); long numNodes = activeNodes(get(ClusterService.class).getNodes()); diff --git a/cli/src/main/java/org/onosproject/cli/app/ApplicationCommand.java b/cli/src/main/java/org/onosproject/cli/app/ApplicationCommand.java index 4db129da3e..55e7a93207 100644 --- a/cli/src/main/java/org/onosproject/cli/app/ApplicationCommand.java +++ b/cli/src/main/java/org/onosproject/cli/app/ApplicationCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.app; import com.google.common.io.ByteStreams; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.app.ApplicationAdminService; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.core.Application; @@ -31,6 +32,7 @@ import java.util.stream.Collectors; /** * Manages application inventory. */ +@Service @Command(scope = "onos", name = "app", description = "Manages application inventory") public class ApplicationCommand extends AbstractShellCommand { @@ -51,7 +53,7 @@ public class ApplicationCommand extends AbstractShellCommand { String[] names = null; @Override - protected void execute() { + protected void doExecute() { ApplicationAdminService service = get(ApplicationAdminService.class); if (command.equals(INSTALL)) { for (String name : names) { diff --git a/cli/src/main/java/org/onosproject/cli/app/ApplicationIdListCommand.java b/cli/src/main/java/org/onosproject/cli/app/ApplicationIdListCommand.java index 15e722769c..8e8a4824fa 100644 --- a/cli/src/main/java/org/onosproject/cli/app/ApplicationIdListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/app/ApplicationIdListCommand.java @@ -18,7 +18,8 @@ package org.onosproject.cli.app; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.utils.Comparators; import org.onosproject.core.ApplicationId; @@ -32,12 +33,13 @@ import static com.google.common.collect.Lists.newArrayList; /** * Lists application ID information. */ +@Service @Command(scope = "onos", name = "app-ids", description = "Lists application ID information") public class ApplicationIdListCommand extends AbstractShellCommand { @Override - protected void execute() { + protected void doExecute() { CoreService service = get(CoreService.class); List ids = newArrayList(service.getAppIds()); Collections.sort(ids, Comparators.APP_ID_COMPARATOR); diff --git a/cli/src/main/java/org/onosproject/cli/app/ApplicationIdWithIntentNameCompleter.java b/cli/src/main/java/org/onosproject/cli/app/ApplicationIdWithIntentNameCompleter.java index 275d6b97c7..d9e1a15047 100644 --- a/cli/src/main/java/org/onosproject/cli/app/ApplicationIdWithIntentNameCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/app/ApplicationIdWithIntentNameCompleter.java @@ -18,17 +18,21 @@ package org.onosproject.cli.app; import java.util.List; import java.util.SortedSet; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.intent.IntentService; /** * Application name completer. */ +@Service public class ApplicationIdWithIntentNameCompleter implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); @@ -41,7 +45,7 @@ public class ApplicationIdWithIntentNameCompleter implements Completer { strings.add(intent.appId().name())); // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/app/ApplicationNameCompleter.java b/cli/src/main/java/org/onosproject/cli/app/ApplicationNameCompleter.java index 3f93cedc24..badbcd8390 100644 --- a/cli/src/main/java/org/onosproject/cli/app/ApplicationNameCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/app/ApplicationNameCompleter.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.app; -import org.apache.karaf.shell.console.completer.ArgumentCompleter; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import org.onosproject.app.ApplicationService; import org.onosproject.app.ApplicationState; import org.onosproject.cli.AbstractCompleter; @@ -44,13 +45,12 @@ import static org.onosproject.cli.AbstractShellCommand.get; */ public class ApplicationNameCompleter extends AbstractCompleter { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); // Command name is the second argument. - ArgumentCompleter.ArgumentList list = getArgumentList(); - String cmd = list.getArguments()[1]; + String cmd = commandLine.getArguments()[1]; // Grab apps already on the command (to prevent tab-completed duplicates) // FIXME: This does not work. @@ -80,7 +80,7 @@ public class ApplicationNameCompleter extends AbstractCompleter { } // add unique suffix to candidates, if user has something in buffer - if (!Strings.isNullOrEmpty(buffer)) { + if (!Strings.isNullOrEmpty(commandLine.getCursorArgument())) { List suffixCandidates = strings.stream() // remove onos common prefix .map(full -> full.replaceFirst("org\\.onosproject\\.", "")) @@ -107,7 +107,7 @@ public class ApplicationNameCompleter extends AbstractCompleter { } // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/app/ApplicationsListCommand.java b/cli/src/main/java/org/onosproject/cli/app/ApplicationsListCommand.java index 5b0c1ef9ce..24b2da17b1 100644 --- a/cli/src/main/java/org/onosproject/cli/app/ApplicationsListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/app/ApplicationsListCommand.java @@ -20,8 +20,9 @@ import java.util.Collections; import java.util.Comparator; import java.util.List; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.app.ApplicationService; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.utils.Comparators; @@ -37,6 +38,7 @@ import static org.onosproject.app.ApplicationState.ACTIVE; /** * Lists application information. */ +@Service @Command(scope = "onos", name = "apps", description = "Lists application information") public class ApplicationsListCommand extends AbstractShellCommand { @@ -61,7 +63,7 @@ public class ApplicationsListCommand extends AbstractShellCommand { @Override - protected void execute() { + protected void doExecute() { ApplicationService service = get(ApplicationService.class); List apps = newArrayList(service.getApplications()); if (sortByName) { diff --git a/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommand.java b/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommand.java index ef20d0723f..546a63707c 100644 --- a/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommand.java +++ b/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommand.java @@ -18,9 +18,10 @@ package org.onosproject.cli.cfg; import java.util.Optional; import java.util.Set; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.cfg.ConfigProperty; import org.onosproject.cli.AbstractShellCommand; @@ -35,6 +36,7 @@ import static com.google.common.base.Strings.isNullOrEmpty; /** * Manages component configuration. */ +@Service @Command(scope = "onos", name = "cfg", description = "Manages component configuration") public class ComponentConfigCommand extends AbstractShellCommand { @@ -71,7 +73,7 @@ public class ComponentConfigCommand extends AbstractShellCommand { ComponentConfigService service; @Override - protected void execute() { + protected void doExecute() { service = get(ComponentConfigService.class); try { if (isNullOrEmpty(command)) { diff --git a/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommandCompleter.java b/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommandCompleter.java index 46830cff1b..8c1819fa76 100644 --- a/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommandCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommandCompleter.java @@ -15,8 +15,11 @@ */ package org.onosproject.cli.cfg; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import java.util.List; import java.util.SortedSet; @@ -28,9 +31,10 @@ import static org.onosproject.cli.cfg.ComponentConfigCommand.SET; /** * Component configuration command completer. */ +@Service public class ComponentConfigCommandCompleter implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); SortedSet strings = delegate.getStrings(); @@ -39,7 +43,7 @@ public class ComponentConfigCommandCompleter implements Completer { strings.add(PRESET); // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/cfg/ComponentNameCompleter.java b/cli/src/main/java/org/onosproject/cli/cfg/ComponentNameCompleter.java index 1e4853b0e3..fedeb01eea 100644 --- a/cli/src/main/java/org/onosproject/cli/cfg/ComponentNameCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/cfg/ComponentNameCompleter.java @@ -15,8 +15,11 @@ */ package org.onosproject.cli.cfg; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.cli.AbstractShellCommand; @@ -26,9 +29,10 @@ import java.util.SortedSet; /** * Component name completer. */ +@Service public class ComponentNameCompleter implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); @@ -38,7 +42,7 @@ public class ComponentNameCompleter implements Completer { service.getComponentNames().forEach(strings::add); // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/cfg/ComponentPropertyNameCompleter.java b/cli/src/main/java/org/onosproject/cli/cfg/ComponentPropertyNameCompleter.java index 0c842fa06b..4d6161a771 100644 --- a/cli/src/main/java/org/onosproject/cli/cfg/ComponentPropertyNameCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/cfg/ComponentPropertyNameCompleter.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.cfg; -import org.apache.karaf.shell.console.completer.ArgumentCompleter; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.cfg.ConfigProperty; import org.onosproject.cli.AbstractCompleter; @@ -32,13 +33,12 @@ import static org.onosproject.cli.AbstractShellCommand.get; */ public class ComponentPropertyNameCompleter extends AbstractCompleter { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); // Component name is the previous argument. - ArgumentCompleter.ArgumentList list = getArgumentList(); - String componentName = list.getArguments()[list.getCursorArgumentIndex() - 1]; + String componentName = commandLine.getArguments()[commandLine.getCursorArgumentIndex() - 1]; ComponentConfigService service = get(ComponentConfigService.class); SortedSet strings = delegate.getStrings(); @@ -49,7 +49,7 @@ public class ComponentPropertyNameCompleter extends AbstractCompleter { } // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/cfg/ConfigKeyCompleter.java b/cli/src/main/java/org/onosproject/cli/cfg/ConfigKeyCompleter.java index 35dd2a0ea4..55baaf6903 100644 --- a/cli/src/main/java/org/onosproject/cli/cfg/ConfigKeyCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/cfg/ConfigKeyCompleter.java @@ -21,7 +21,6 @@ import java.util.List; import java.util.Set; import java.util.stream.Collectors; -import org.apache.karaf.shell.console.completer.ArgumentCompleter.ArgumentList; import org.onosproject.cli.AbstractChoicesCompleter; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.config.Config; @@ -42,17 +41,16 @@ public class ConfigKeyCompleter extends AbstractChoicesCompleter { @Override protected List choices() { NetworkConfigRegistry service = AbstractShellCommand.get(NetworkConfigRegistry.class); - ArgumentList args = getArgumentList(); - checkArgument(args.getCursorArgumentIndex() >= 2); - String subjectClassKey = args.getArguments()[args.getCursorArgumentIndex() - 2]; + checkArgument(commandLine.getCursorArgumentIndex() >= 2); + String subjectClassKey = commandLine.getArguments()[commandLine.getCursorArgumentIndex() - 2]; SubjectFactory subjectFactory = service.getSubjectFactory(subjectClassKey); if (subjectFactory == null) { return ImmutableList.of(); } - String subjectKey = args.getArguments()[args.getCursorArgumentIndex() - 1]; + String subjectKey = commandLine.getArguments()[commandLine.getCursorArgumentIndex() - 1]; Object subject = subjectFactory.createSubject(subjectKey); Set> configs = service.getConfigs(subject); diff --git a/cli/src/main/java/org/onosproject/cli/cfg/NetworkConfigCommand.java b/cli/src/main/java/org/onosproject/cli/cfg/NetworkConfigCommand.java index a45efcb089..b155090593 100644 --- a/cli/src/main/java/org/onosproject/cli/cfg/NetworkConfigCommand.java +++ b/cli/src/main/java/org/onosproject/cli/cfg/NetworkConfigCommand.java @@ -19,9 +19,10 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.config.Config; import org.onosproject.net.config.NetworkConfigService; @@ -33,6 +34,7 @@ import static org.onlab.util.Tools.nullIsIllegal; /** * Manages network configuration. */ +@Service @Command(scope = "onos", name = "netcfg", description = "Manages network configuration") public class NetworkConfigCommand extends AbstractShellCommand { @@ -60,7 +62,7 @@ public class NetworkConfigCommand extends AbstractShellCommand { private NetworkConfigService service; @Override - protected void execute() { + protected void doExecute() { service = get(NetworkConfigService.class); JsonNode root = mapper.createObjectNode(); if (isNullOrEmpty(subjectClassKey)) { diff --git a/cli/src/main/java/org/onosproject/cli/cfg/NetworkConfigRegistryCommand.java b/cli/src/main/java/org/onosproject/cli/cfg/NetworkConfigRegistryCommand.java index 5026fece95..d477279d73 100644 --- a/cli/src/main/java/org/onosproject/cli/cfg/NetworkConfigRegistryCommand.java +++ b/cli/src/main/java/org/onosproject/cli/cfg/NetworkConfigRegistryCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.cfg; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.config.ConfigFactory; import org.onosproject.net.config.NetworkConfigRegistry; @@ -24,6 +25,7 @@ import org.onosproject.net.config.NetworkConfigRegistry; /** * Displays network configuration registry contents. */ +@Service @Command(scope = "onos", name = "netcfg-registry", description = "Displays network configuration registry contents") public class NetworkConfigRegistryCommand extends AbstractShellCommand { @@ -36,7 +38,7 @@ public class NetworkConfigRegistryCommand extends AbstractShellCommand { private boolean shortOnly = false; @Override - protected void execute() { + protected void doExecute() { get(NetworkConfigRegistry.class).getConfigFactories().forEach(this::print); } diff --git a/cli/src/main/java/org/onosproject/cli/cfg/SubjectKeyCompleter.java b/cli/src/main/java/org/onosproject/cli/cfg/SubjectKeyCompleter.java index 026702369e..e0d183de49 100644 --- a/cli/src/main/java/org/onosproject/cli/cfg/SubjectKeyCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/cfg/SubjectKeyCompleter.java @@ -20,7 +20,6 @@ import java.util.List; import java.util.Set; import java.util.stream.Collectors; -import org.apache.karaf.shell.console.completer.ArgumentCompleter.ArgumentList; import org.onosproject.cli.AbstractChoicesCompleter; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.config.NetworkConfigRegistry; @@ -36,8 +35,7 @@ public class SubjectKeyCompleter extends AbstractChoicesCompleter { @Override protected List choices() { NetworkConfigRegistry service = AbstractShellCommand.get(NetworkConfigRegistry.class); - ArgumentList args = getArgumentList(); - String subjectClassKey = args.getArguments()[args.getCursorArgumentIndex() - 1]; + String subjectClassKey = commandLine.getArguments()[commandLine.getCursorArgumentIndex() - 1]; SubjectFactory subjectFactory = service.getSubjectFactory(subjectClassKey); if (subjectFactory == null) { diff --git a/cli/src/main/java/org/onosproject/cli/net/AddHostToHostIntentCommand.java b/cli/src/main/java/org/onosproject/cli/net/AddHostToHostIntentCommand.java index 8f2fa87844..fb95646eef 100644 --- a/cli/src/main/java/org/onosproject/cli/net/AddHostToHostIntentCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/AddHostToHostIntentCommand.java @@ -17,8 +17,9 @@ package org.onosproject.cli.net; import java.util.List; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.net.HostId; import org.onosproject.net.flow.TrafficSelector; import org.onosproject.net.flow.TrafficTreatment; @@ -29,6 +30,7 @@ import org.onosproject.net.intent.IntentService; /** * Installs host-to-host connectivity intent. */ +@Service @Command(scope = "onos", name = "add-host-intent", description = "Installs host-to-host connectivity intent") public class AddHostToHostIntentCommand extends ConnectivityIntentCommand { @@ -42,7 +44,7 @@ public class AddHostToHostIntentCommand extends ConnectivityIntentCommand { String two = null; @Override - protected void execute() { + protected void doExecute() { IntentService service = get(IntentService.class); HostId oneId = HostId.hostId(one); diff --git a/cli/src/main/java/org/onosproject/cli/net/AddMultiPointToSinglePointIntentCommand.java b/cli/src/main/java/org/onosproject/cli/net/AddMultiPointToSinglePointIntentCommand.java index 16250a38f1..7c8c6bbddf 100644 --- a/cli/src/main/java/org/onosproject/cli/net/AddMultiPointToSinglePointIntentCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/AddMultiPointToSinglePointIntentCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.net.ConnectPoint; import org.onosproject.net.FilteredConnectPoint; import org.onosproject.net.flow.TrafficSelector; @@ -33,6 +34,7 @@ import java.util.Set; /** * Installs connectivity intent between multiple ingress devices and a single egress device. */ +@Service @Command(scope = "onos", name = "add-multi-to-single-intent", description = "Installs connectivity intent between multiple ingress devices and a single egress device") public class AddMultiPointToSinglePointIntentCommand extends ConnectivityIntentCommand { @@ -43,7 +45,7 @@ public class AddMultiPointToSinglePointIntentCommand extends ConnectivityIntentC String[] deviceStrings = null; @Override - protected void execute() { + protected void doExecute() { IntentService service = get(IntentService.class); if (deviceStrings.length < 2) { diff --git a/cli/src/main/java/org/onosproject/cli/net/AddPointToPointIntentCommand.java b/cli/src/main/java/org/onosproject/cli/net/AddPointToPointIntentCommand.java index 264eb39c4b..6b48914840 100644 --- a/cli/src/main/java/org/onosproject/cli/net/AddPointToPointIntentCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/AddPointToPointIntentCommand.java @@ -15,9 +15,10 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.net.ConnectPoint; import org.onosproject.net.FilteredConnectPoint; import org.onosproject.net.flow.TrafficSelector; @@ -35,6 +36,7 @@ import java.util.List; /** * Installs point-to-point connectivity intents. */ +@Service @Command(scope = "onos", name = "add-point-intent", description = "Installs point-to-point connectivity intent") public class AddPointToPointIntentCommand extends ConnectivityIntentCommand { @@ -59,7 +61,7 @@ public class AddPointToPointIntentCommand extends ConnectivityIntentCommand { private boolean useProtected = false; @Override - protected void execute() { + protected void doExecute() { IntentService service = get(IntentService.class); ConnectPoint ingress = ConnectPoint.deviceConnectPoint(ingressDeviceString); diff --git a/cli/src/main/java/org/onosproject/cli/net/AddProtectedTransportIntentCommand.java b/cli/src/main/java/org/onosproject/cli/net/AddProtectedTransportIntentCommand.java index 1254f419a0..7360cecabc 100644 --- a/cli/src/main/java/org/onosproject/cli/net/AddProtectedTransportIntentCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/AddProtectedTransportIntentCommand.java @@ -17,9 +17,10 @@ package org.onosproject.cli.net; import java.util.Optional; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.DeviceId; import org.onosproject.net.intent.Intent; @@ -30,6 +31,7 @@ import org.onosproject.net.intent.ProtectedTransportIntent; /** * Installs ProtectedTransportIntent. */ +@Service @Command(scope = "onos", name = "add-protected-transport", description = "Adds ProtectedTransportIntent") public class AddProtectedTransportIntentCommand @@ -53,7 +55,7 @@ public class AddProtectedTransportIntentCommand private IntentService intentService; @Override - protected void execute() { + protected void doExecute() { intentService = get(IntentService.class); DeviceId did1 = DeviceId.deviceId(deviceId1Str); diff --git a/cli/src/main/java/org/onosproject/cli/net/AddSinglePointToMultiPointIntentCommand.java b/cli/src/main/java/org/onosproject/cli/net/AddSinglePointToMultiPointIntentCommand.java index 9cb8feae3b..c868f1976a 100644 --- a/cli/src/main/java/org/onosproject/cli/net/AddSinglePointToMultiPointIntentCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/AddSinglePointToMultiPointIntentCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.net.ConnectPoint; import org.onosproject.net.flow.TrafficSelector; import org.onosproject.net.flow.TrafficTreatment; @@ -31,6 +32,7 @@ import java.util.Set; /** * Installs connectivity intent between a single ingress device and multiple egress devices. */ +@Service @Command(scope = "onos", name = "add-single-to-multi-intent", description = "Installs connectivity intent between a single ingress device and multiple egress devices") public class AddSinglePointToMultiPointIntentCommand extends ConnectivityIntentCommand { @@ -40,7 +42,7 @@ public class AddSinglePointToMultiPointIntentCommand extends ConnectivityIntentC String[] deviceStrings = null; @Override - protected void execute() { + protected void doExecute() { IntentService service = get(IntentService.class); if (deviceStrings.length < 2) { diff --git a/cli/src/main/java/org/onosproject/cli/net/AddTestFlowsCommand.java b/cli/src/main/java/org/onosproject/cli/net/AddTestFlowsCommand.java index 004ebfaa37..05c44512d3 100644 --- a/cli/src/main/java/org/onosproject/cli/net/AddTestFlowsCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/AddTestFlowsCommand.java @@ -20,8 +20,9 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import org.apache.commons.lang.math.RandomUtils; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onlab.packet.MacAddress; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.core.ApplicationId; @@ -51,6 +52,7 @@ import com.google.common.collect.Streams; /** * Installs bulk flows. */ +@Service @Command(scope = "onos", name = "add-test-flows", description = "Installs a number of test flow rules - for testing only") public class AddTestFlowsCommand extends AbstractShellCommand { @@ -68,7 +70,7 @@ public class AddTestFlowsCommand extends AbstractShellCommand { String numOfRuns = null; @Override - protected void execute() { + protected void doExecute() { FlowRuleService flowService = get(FlowRuleService.class); DeviceService deviceService = get(DeviceService.class); CoreService coreService = get(CoreService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/AddTunnelCommand.java b/cli/src/main/java/org/onosproject/cli/net/AddTunnelCommand.java index 35b5744251..18c677fd91 100644 --- a/cli/src/main/java/org/onosproject/cli/net/AddTunnelCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/AddTunnelCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.domain.IntentDomainId; import org.onosproject.incubator.net.domain.IntentDomainService; @@ -28,6 +29,7 @@ import java.util.NoSuchElementException; /** * Installs intent domain tunnel primitive. */ +@Service @Command(scope = "onos", name = "add-domain-tunnel", description = "Installs intent domain tunnel primitive") public class AddTunnelCommand extends AbstractShellCommand { @@ -43,7 +45,7 @@ public class AddTunnelCommand extends AbstractShellCommand { String twoString = null; @Override - protected void execute() { + protected void doExecute() { IntentDomainService service = get(IntentDomainService.class); ConnectPoint one = ConnectPoint.deviceConnectPoint(oneString); diff --git a/cli/src/main/java/org/onosproject/cli/net/AllocationsCommand.java b/cli/src/main/java/org/onosproject/cli/net/AllocationsCommand.java index c228645ea2..de4a4dda6c 100644 --- a/cli/src/main/java/org/onosproject/cli/net/AllocationsCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/AllocationsCommand.java @@ -27,9 +27,10 @@ import java.util.stream.StreamSupport; import com.google.common.base.Strings; import com.google.common.collect.ImmutableSet; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onlab.packet.MplsLabel; import org.onlab.packet.VlanId; import org.onlab.util.Bandwidth; @@ -51,6 +52,7 @@ import org.onosproject.net.resource.ResourceService; /** * Lists allocated resources. */ +@Service @Command(scope = "onos", name = "allocations", description = "Lists allocated resources") public class AllocationsCommand extends AbstractShellCommand { @@ -83,7 +85,7 @@ public class AllocationsCommand extends AbstractShellCommand { private ResourceService resourceService; @Override - protected void execute() { + protected void doExecute() { deviceService = get(DeviceService.class); resourceService = get(ResourceService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/AnnotateDeviceCommand.java b/cli/src/main/java/org/onosproject/cli/net/AnnotateDeviceCommand.java index 0680d59fb9..4a4cb066c2 100644 --- a/cli/src/main/java/org/onosproject/cli/net/AnnotateDeviceCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/AnnotateDeviceCommand.java @@ -15,9 +15,10 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.DeviceId; import org.onosproject.net.config.NetworkConfigService; @@ -27,6 +28,7 @@ import org.onosproject.net.provider.ProviderId; /** * Annotates network device model. */ +@Service @Command(scope = "onos", name = "annotate-device", description = "Annotates network model entities") public class AnnotateDeviceCommand extends AbstractShellCommand { @@ -51,7 +53,7 @@ public class AnnotateDeviceCommand extends AbstractShellCommand { private boolean removeCfg = false; @Override - protected void execute() { + protected void doExecute() { NetworkConfigService netcfgService = get(NetworkConfigService.class); DeviceId deviceId = DeviceId.deviceId(uri); diff --git a/cli/src/main/java/org/onosproject/cli/net/AnnotateLinkCommand.java b/cli/src/main/java/org/onosproject/cli/net/AnnotateLinkCommand.java index 382f354eaf..b20546f5de 100644 --- a/cli/src/main/java/org/onosproject/cli/net/AnnotateLinkCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/AnnotateLinkCommand.java @@ -18,9 +18,10 @@ package org.onosproject.cli.net; import static com.google.common.base.Preconditions.checkNotNull; import static org.onosproject.net.ConnectPoint.deviceConnectPoint; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.ConnectPoint; import org.onosproject.net.DefaultAnnotations; @@ -36,6 +37,7 @@ import org.onosproject.net.provider.ProviderId; /** * Annotates network link model. */ +@Service @Command(scope = "onos", name = "annotate-link", description = "Annotates network model entities") public class AnnotateLinkCommand extends AbstractShellCommand { @@ -67,7 +69,7 @@ public class AnnotateLinkCommand extends AbstractShellCommand { @Override - protected void execute() { + protected void doExecute() { LinkService service = get(LinkService.class); ConnectPoint src = deviceConnectPoint(srcCp); ConnectPoint dst = deviceConnectPoint(dstCp); diff --git a/cli/src/main/java/org/onosproject/cli/net/AnnotatePortCommand.java b/cli/src/main/java/org/onosproject/cli/net/AnnotatePortCommand.java index 6550bdcd7e..931ea67552 100644 --- a/cli/src/main/java/org/onosproject/cli/net/AnnotatePortCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/AnnotatePortCommand.java @@ -15,9 +15,10 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.ConnectPoint; import org.onosproject.net.config.NetworkConfigService; @@ -27,6 +28,7 @@ import org.onosproject.net.device.DeviceService; /** * Annotates network device port model. */ +@Service @Command(scope = "onos", name = "annotate-port", description = "Annotates port entities") public class AnnotatePortCommand extends AbstractShellCommand { @@ -49,7 +51,7 @@ public class AnnotatePortCommand extends AbstractShellCommand { private boolean removeCfg = false; @Override - protected void execute() { + protected void doExecute() { DeviceService deviceService = get(DeviceService.class); NetworkConfigService netcfgService = get(NetworkConfigService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/ClusterDevicesCommand.java b/cli/src/main/java/org/onosproject/cli/net/ClusterDevicesCommand.java index b81e9c3c60..49a2571ce0 100644 --- a/cli/src/main/java/org/onosproject/cli/net/ClusterDevicesCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/ClusterDevicesCommand.java @@ -17,8 +17,9 @@ package org.onosproject.cli.net; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.Lists; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.utils.Comparators; import org.onosproject.net.DeviceId; import org.onosproject.net.topology.TopologyCluster; @@ -32,6 +33,7 @@ import static org.onosproject.net.topology.ClusterId.clusterId; /** * Lists devices of the specified topology cluster in the current topology. */ +@Service @Command(scope = "onos", name = "topo-cluster-devices", description = "Lists devices of the specified topology cluster in the current topology") public class ClusterDevicesCommand extends ClustersListCommand { @@ -41,7 +43,7 @@ public class ClusterDevicesCommand extends ClustersListCommand { String id = null; @Override - protected void execute() { + protected void doExecute() { int cid = Integer.parseInt(id); init(); TopologyCluster cluster = service.getCluster(topology, clusterId(cid)); diff --git a/cli/src/main/java/org/onosproject/cli/net/ClusterIdCompleter.java b/cli/src/main/java/org/onosproject/cli/net/ClusterIdCompleter.java index ed0c259046..3ae21c381c 100644 --- a/cli/src/main/java/org/onosproject/cli/net/ClusterIdCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/ClusterIdCompleter.java @@ -15,8 +15,11 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.topology.Topology; import org.onosproject.net.topology.TopologyCluster; @@ -28,9 +31,10 @@ import java.util.SortedSet; /** * Cluster ID completer. */ +@Service public class ClusterIdCompleter implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); @@ -44,7 +48,7 @@ public class ClusterIdCompleter implements Completer { } // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/net/ClusterLinksCommand.java b/cli/src/main/java/org/onosproject/cli/net/ClusterLinksCommand.java index df6ab96880..9bc690b702 100644 --- a/cli/src/main/java/org/onosproject/cli/net/ClusterLinksCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/ClusterLinksCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.net.Link; import org.onosproject.net.topology.TopologyCluster; @@ -27,6 +28,7 @@ import static org.onosproject.net.topology.ClusterId.clusterId; /** * Lists links of the specified topology cluster in the current topology. */ +@Service @Command(scope = "onos", name = "topo-cluster-links", description = "Lists links of the specified topology cluster in the current topology") public class ClusterLinksCommand extends ClustersListCommand { @@ -36,7 +38,7 @@ public class ClusterLinksCommand extends ClustersListCommand { String id = null; @Override - protected void execute() { + protected void doExecute() { int cid = Integer.parseInt(id); init(); TopologyCluster cluster = service.getCluster(topology, clusterId(cid)); diff --git a/cli/src/main/java/org/onosproject/cli/net/ClustersListCommand.java b/cli/src/main/java/org/onosproject/cli/net/ClustersListCommand.java index 7721d104b4..b4b5540cbc 100644 --- a/cli/src/main/java/org/onosproject/cli/net/ClustersListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/ClustersListCommand.java @@ -19,7 +19,8 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; import com.google.common.collect.Lists; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.utils.Comparators; import org.onosproject.net.topology.TopologyCluster; @@ -29,6 +30,7 @@ import java.util.List; /** * Lists all clusters in the current topology. */ +@Service @Command(scope = "onos", name = "topo-clusters", description = "Lists all clusters in the current topology") public class ClustersListCommand extends TopologyCommand { @@ -37,7 +39,7 @@ public class ClustersListCommand extends TopologyCommand { "id=%d, devices=%d, links=%d"; @Override - protected void execute() { + protected void doExecute() { init(); List clusters = Lists.newArrayList(service.getClusters(topology)); Collections.sort(clusters, Comparators.CLUSTER_COMPARATOR); diff --git a/cli/src/main/java/org/onosproject/cli/net/ConfigureLinkCommand.java b/cli/src/main/java/org/onosproject/cli/net/ConfigureLinkCommand.java index 1607ab396c..6af7a26f4f 100644 --- a/cli/src/main/java/org/onosproject/cli/net/ConfigureLinkCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/ConfigureLinkCommand.java @@ -19,9 +19,10 @@ import static org.onosproject.net.LinkKey.linkKey; import java.util.Optional; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.ConnectPoint; import org.onosproject.net.Link; @@ -33,6 +34,7 @@ import org.onosproject.net.device.DeviceService; /** * Add Link configuration. */ +@Service @Command(scope = "onos", name = "config-link", description = "Configure link.") public class ConfigureLinkCommand extends AbstractShellCommand { @@ -71,7 +73,7 @@ public class ConfigureLinkCommand extends AbstractShellCommand { @Override - protected void execute() { + protected void doExecute() { DeviceService deviceService = get(DeviceService.class); NetworkConfigService netCfgService = get(NetworkConfigService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/ConnectPointCompleter.java b/cli/src/main/java/org/onosproject/cli/net/ConnectPointCompleter.java index ab230c1a29..dfc76a7ee7 100644 --- a/cli/src/main/java/org/onosproject/cli/net/ConnectPointCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/ConnectPointCompleter.java @@ -15,8 +15,11 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.Device; import org.onosproject.net.Port; @@ -28,9 +31,10 @@ import java.util.SortedSet; /** * ConnectPoint completer. */ +@Service public class ConnectPointCompleter implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); @@ -48,7 +52,7 @@ public class ConnectPointCompleter implements Completer { } // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/net/ConnectivityIntentCommand.java b/cli/src/main/java/org/onosproject/cli/net/ConnectivityIntentCommand.java index 679a0af5ad..9cfa346ca8 100644 --- a/cli/src/main/java/org/onosproject/cli/net/ConnectivityIntentCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/ConnectivityIntentCommand.java @@ -15,7 +15,7 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Option; import org.onlab.packet.Ip6Address; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; diff --git a/cli/src/main/java/org/onosproject/cli/net/CounterCommand.java b/cli/src/main/java/org/onosproject/cli/net/CounterCommand.java index ca71ca7452..a3d0f35de2 100644 --- a/cli/src/main/java/org/onosproject/cli/net/CounterCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/CounterCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.store.service.AtomicCounter; import org.onosproject.store.service.StorageService; @@ -27,6 +28,7 @@ import com.fasterxml.jackson.databind.node.ObjectNode; /** * Command to display the current value of a atomic counter. */ +@Service @Command(scope = "onos", name = "counter", description = "Displays the current value of a atomic counter") public class CounterCommand extends AbstractShellCommand { @@ -36,7 +38,7 @@ public class CounterCommand extends AbstractShellCommand { String name = null; @Override - protected void execute() { + protected void doExecute() { StorageService storageService = get(StorageService.class); AtomicCounter counter = storageService.getAtomicCounter(name); diff --git a/cli/src/main/java/org/onosproject/cli/net/CountersListCommand.java b/cli/src/main/java/org/onosproject/cli/net/CountersListCommand.java index 51a13a7adc..02b1a7697a 100644 --- a/cli/src/main/java/org/onosproject/cli/net/CountersListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/CountersListCommand.java @@ -17,7 +17,8 @@ package org.onosproject.cli.net; import java.util.Map; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.store.service.StorageAdminService; @@ -27,6 +28,7 @@ import com.fasterxml.jackson.databind.node.ObjectNode; /** * Command to list the various counters in the system. */ +@Service @Command(scope = "onos", name = "counters", description = "Lists information about atomic counters in the system") public class CountersListCommand extends AbstractShellCommand { @@ -34,7 +36,7 @@ public class CountersListCommand extends AbstractShellCommand { private static final String FMT = "name=%s value=%d"; @Override - protected void execute() { + protected void doExecute() { StorageAdminService storageAdminService = get(StorageAdminService.class); Map counters = storageAdminService.getCounters(); if (outputJson()) { diff --git a/cli/src/main/java/org/onosproject/cli/net/DeviceControllersCommand.java b/cli/src/main/java/org/onosproject/cli/net/DeviceControllersCommand.java index 1231da5532..ea39249d8f 100644 --- a/cli/src/main/java/org/onosproject/cli/net/DeviceControllersCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/DeviceControllersCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.DeviceId; import org.onosproject.net.behaviour.ControllerConfig; @@ -26,6 +27,7 @@ import org.onosproject.net.driver.DriverService; /** * Sets role of the controller node for the given infrastructure device. */ +@Service @Command(scope = "onos", name = "device-controllers", description = "gets the list of controllers for the given infrastructure device") public class DeviceControllersCommand extends AbstractShellCommand { @@ -36,7 +38,7 @@ public class DeviceControllersCommand extends AbstractShellCommand { private DeviceId deviceId; @Override - protected void execute() { + protected void doExecute() { DriverService service = get(DriverService.class); deviceId = DeviceId.deviceId(uri); DriverHandler h = service.createHandler(deviceId); diff --git a/cli/src/main/java/org/onosproject/cli/net/DeviceIdCompleter.java b/cli/src/main/java/org/onosproject/cli/net/DeviceIdCompleter.java index 4ecf2640a9..a0080cd15c 100644 --- a/cli/src/main/java/org/onosproject/cli/net/DeviceIdCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/DeviceIdCompleter.java @@ -15,8 +15,11 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.Device; import org.onosproject.net.device.DeviceService; @@ -28,9 +31,10 @@ import java.util.SortedSet; /** * Device ID completer. */ +@Service public class DeviceIdCompleter implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); @@ -43,7 +47,7 @@ public class DeviceIdCompleter implements Completer { } // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/net/DeviceInterfaceAddCommand.java b/cli/src/main/java/org/onosproject/cli/net/DeviceInterfaceAddCommand.java index c28e190108..f4680088bf 100644 --- a/cli/src/main/java/org/onosproject/cli/net/DeviceInterfaceAddCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/DeviceInterfaceAddCommand.java @@ -15,9 +15,10 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onlab.packet.VlanId; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.DeviceId; @@ -31,6 +32,7 @@ import java.util.List; /** * Configures a device interface. */ +@Service @Command(scope = "onos", name = "device-add-interface", description = "Configures a device interface") public class DeviceInterfaceAddCommand extends AbstractShellCommand { @@ -75,7 +77,7 @@ public class DeviceInterfaceAddCommand extends AbstractShellCommand { private String accessVlanString = null; @Override - protected void execute() { + protected void doExecute() { DriverService service = get(DriverService.class); DeviceId deviceId = DeviceId.deviceId(uri); DriverHandler h = service.createHandler(deviceId); diff --git a/cli/src/main/java/org/onosproject/cli/net/DeviceInterfaceRemoveCommand.java b/cli/src/main/java/org/onosproject/cli/net/DeviceInterfaceRemoveCommand.java index 76262afea0..8cdd7b445f 100644 --- a/cli/src/main/java/org/onosproject/cli/net/DeviceInterfaceRemoveCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/DeviceInterfaceRemoveCommand.java @@ -15,9 +15,10 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.DeviceId; import org.onosproject.net.behaviour.InterfaceConfig; @@ -27,6 +28,7 @@ import org.onosproject.net.driver.DriverService; /** * Removes an interface configurion from a device. */ +@Service @Command(scope = "onos", name = "device-remove-interface", description = "Removes an interface configuration from a device") public class DeviceInterfaceRemoveCommand extends AbstractShellCommand { @@ -71,7 +73,7 @@ public class DeviceInterfaceRemoveCommand extends AbstractShellCommand { private boolean accessMode = false; @Override - protected void execute() { + protected void doExecute() { DriverService service = get(DriverService.class); DeviceId deviceId = DeviceId.deviceId(uri); DriverHandler h = service.createHandler(deviceId); diff --git a/cli/src/main/java/org/onosproject/cli/net/DeviceInterfacesListCommand.java b/cli/src/main/java/org/onosproject/cli/net/DeviceInterfacesListCommand.java index 0e9de93f10..801b7d60c9 100644 --- a/cli/src/main/java/org/onosproject/cli/net/DeviceInterfacesListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/DeviceInterfacesListCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.net.Device; import org.onosproject.net.behaviour.InterfaceConfig; import org.onosproject.net.device.DeviceInterfaceDescription; @@ -32,6 +33,7 @@ import static org.onosproject.net.DeviceId.deviceId; /** * Lists all interfaces or interfaces of a device. */ +@Service @Command(scope = "onos", name = "device-interfaces", description = "Lists all interfaces or interfaces of a device.") public class DeviceInterfacesListCommand extends DevicesListCommand { @@ -50,7 +52,7 @@ public class DeviceInterfacesListCommand extends DevicesListCommand { private String uri = null; @Override - protected void execute() { + protected void doExecute() { DeviceService deviceService = get(DeviceService.class); DriverService driverService = get(DriverService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/DeviceKeyAddCommand.java b/cli/src/main/java/org/onosproject/cli/net/DeviceKeyAddCommand.java index 44bc4834ff..fc15cfb6e7 100644 --- a/cli/src/main/java/org/onosproject/cli/net/DeviceKeyAddCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/DeviceKeyAddCommand.java @@ -16,9 +16,10 @@ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.key.DeviceKey; import org.onosproject.net.key.DeviceKeyAdminService; @@ -27,6 +28,7 @@ import org.onosproject.net.key.DeviceKeyId; /** * Adds a device key. */ +@Service @Command(scope = "onos", name = "device-key-add", description = "Adds a device key. Adding a new device key with " + "the same id will replace the existing device key.") @@ -62,7 +64,7 @@ public class DeviceKeyAddCommand extends AbstractShellCommand { String password = null; @Override - protected void execute() { + protected void doExecute() { DeviceKeyAdminService service = get(DeviceKeyAdminService.class); DeviceKey deviceKey = null; if (type.equalsIgnoreCase(COMMUNITY_NAME)) { diff --git a/cli/src/main/java/org/onosproject/cli/net/DeviceKeyListCommand.java b/cli/src/main/java/org/onosproject/cli/net/DeviceKeyListCommand.java index 98ac00eba9..dc1007e3fa 100644 --- a/cli/src/main/java/org/onosproject/cli/net/DeviceKeyListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/DeviceKeyListCommand.java @@ -16,7 +16,8 @@ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.utils.Comparators; import org.onosproject.net.key.DeviceKey; @@ -30,6 +31,7 @@ import static com.google.common.collect.Lists.newArrayList; /** * Lists all device keys. */ +@Service @Command(scope = "onos", name = "device-keys", description = "Lists all device keys") @@ -40,7 +42,7 @@ public class DeviceKeyListCommand extends AbstractShellCommand { "identifier=%s, type=%s, username=%s, password=%s"; @Override - protected void execute() { + protected void doExecute() { DeviceKeyService service = get(DeviceKeyService.class); for (DeviceKey deviceKey : getSortedDeviceKeys(service)) { printDeviceKey(deviceKey); diff --git a/cli/src/main/java/org/onosproject/cli/net/DeviceKeyRemoveCommand.java b/cli/src/main/java/org/onosproject/cli/net/DeviceKeyRemoveCommand.java index 31d91313b5..650f1e6e41 100644 --- a/cli/src/main/java/org/onosproject/cli/net/DeviceKeyRemoveCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/DeviceKeyRemoveCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.key.DeviceKeyAdminService; import org.onosproject.net.key.DeviceKeyId; @@ -25,6 +26,7 @@ import org.onosproject.net.key.DeviceKeyId; /** * Removes a device key. */ +@Service @Command(scope = "onos", name = "device-key-remove", description = "Removes a device key") @@ -35,7 +37,7 @@ public class DeviceKeyRemoveCommand extends AbstractShellCommand { String id = null; @Override - protected void execute() { + protected void doExecute() { DeviceKeyAdminService service = get(DeviceKeyAdminService.class); service.removeKey(DeviceKeyId.deviceKeyId(id)); } diff --git a/cli/src/main/java/org/onosproject/cli/net/DevicePortStateCommand.java b/cli/src/main/java/org/onosproject/cli/net/DevicePortStateCommand.java index 7cd177fcc2..dca8a90b1b 100644 --- a/cli/src/main/java/org/onosproject/cli/net/DevicePortStateCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/DevicePortStateCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.Device; import org.onosproject.net.DeviceId; @@ -28,6 +29,7 @@ import org.onosproject.net.device.DeviceService; /** * Administratively enables or disabled a port on a device. */ +@Service @Command(scope = "onos", name = "portstate", description = "Administratively enables or disabled a port on a device") public class DevicePortStateCommand extends AbstractShellCommand { @@ -45,7 +47,7 @@ public class DevicePortStateCommand extends AbstractShellCommand { String portState = null; @Override - protected void execute() { + protected void doExecute() { DeviceService deviceService = get(DeviceService.class); DeviceAdminService deviceAdminService = get(DeviceAdminService.class); Device dev = deviceService.getDevice(DeviceId.deviceId(uri)); diff --git a/cli/src/main/java/org/onosproject/cli/net/DevicePortStatsCommand.java b/cli/src/main/java/org/onosproject/cli/net/DevicePortStatsCommand.java index 18413a73f9..e3f707d96c 100644 --- a/cli/src/main/java/org/onosproject/cli/net/DevicePortStatsCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/DevicePortStatsCommand.java @@ -23,9 +23,10 @@ import java.util.List; import java.util.concurrent.TimeUnit; import com.google.common.collect.Lists; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.Device; import org.onosproject.net.DeviceId; @@ -36,6 +37,7 @@ import org.onosproject.net.device.PortStatistics; /** * Lists port statistic of all ports in the system. */ +@Service @Command(scope = "onos", name = "portstats", description = "Lists statistics of all ports in the system") public class DevicePortStatsCommand extends AbstractShellCommand { @@ -70,7 +72,7 @@ public class DevicePortStatsCommand extends AbstractShellCommand { " port=%s, pktRx=%s, pktTx=%s, bytesRx=%s, bytesTx=%s, pktRxDrp=%s, pktTxDrp=%s, Dur=%s%s"; @Override - protected void execute() { + protected void doExecute() { DeviceService deviceService = get(DeviceService.class); if (portNumberStr != null) { diff --git a/cli/src/main/java/org/onosproject/cli/net/DevicePortsListCommand.java b/cli/src/main/java/org/onosproject/cli/net/DevicePortsListCommand.java index c96bab215d..b32146cfbc 100644 --- a/cli/src/main/java/org/onosproject/cli/net/DevicePortsListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/DevicePortsListCommand.java @@ -19,9 +19,10 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ObjectNode; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.utils.Comparators; import org.onosproject.net.Device; import org.onosproject.net.Port; @@ -35,6 +36,7 @@ import static org.onosproject.net.DeviceId.deviceId; /** * Lists all ports or all ports of a device. */ +@Service @Command(scope = "onos", name = "ports", description = "Lists all ports or all ports of a device") public class DevicePortsListCommand extends DevicesListCommand { @@ -54,7 +56,7 @@ public class DevicePortsListCommand extends DevicesListCommand { protected String uri = null; @Override - protected void execute() { + protected void doExecute() { DeviceService service = get(DeviceService.class); if (uri == null) { if (outputJson()) { diff --git a/cli/src/main/java/org/onosproject/cli/net/DeviceRemoveCommand.java b/cli/src/main/java/org/onosproject/cli/net/DeviceRemoveCommand.java index 83cd43fb80..8c68259a50 100644 --- a/cli/src/main/java/org/onosproject/cli/net/DeviceRemoveCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/DeviceRemoveCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.DeviceId; import org.onosproject.net.device.DeviceAdminService; @@ -24,6 +25,7 @@ import org.onosproject.net.device.DeviceAdminService; /** * Removes an infrastructure device. */ +@Service @Command(scope = "onos", name = "device-remove", description = "Removes an infrastructure device") public class DeviceRemoveCommand extends AbstractShellCommand { @@ -33,7 +35,7 @@ public class DeviceRemoveCommand extends AbstractShellCommand { String uri = null; @Override - protected void execute() { + protected void doExecute() { try { get(DeviceAdminService.class).removeDevice(DeviceId.deviceId(uri)); } catch (IllegalStateException e) { diff --git a/cli/src/main/java/org/onosproject/cli/net/DeviceRoleCommand.java b/cli/src/main/java/org/onosproject/cli/net/DeviceRoleCommand.java index 7a2a430142..bb68be8ec3 100644 --- a/cli/src/main/java/org/onosproject/cli/net/DeviceRoleCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/DeviceRoleCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.cluster.NodeId; import org.onosproject.mastership.MastershipAdminService; @@ -29,6 +30,7 @@ import static org.onosproject.net.DeviceId.deviceId; /** * Sets role of the controller node for the given infrastructure device. */ +@Service @Command(scope = "onos", name = "device-role", description = "Sets role of the controller node for the given infrastructure device") public class DeviceRoleCommand extends AbstractShellCommand { @@ -46,7 +48,7 @@ public class DeviceRoleCommand extends AbstractShellCommand { String role = null; @Override - protected void execute() { + protected void doExecute() { MastershipAdminService service = get(MastershipAdminService.class); MastershipRole mastershipRole = MastershipRole.valueOf(role.toUpperCase()); Futures.getUnchecked(service.setRole(new NodeId(node), deviceId(uri), mastershipRole)); diff --git a/cli/src/main/java/org/onosproject/cli/net/DeviceSetControllersCommand.java b/cli/src/main/java/org/onosproject/cli/net/DeviceSetControllersCommand.java index e8d3201450..fd8fc0962a 100644 --- a/cli/src/main/java/org/onosproject/cli/net/DeviceSetControllersCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/DeviceSetControllersCommand.java @@ -16,9 +16,10 @@ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onlab.packet.IpAddress; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.Annotations; @@ -36,6 +37,7 @@ import java.util.List; /** * Sets role of the controller node for the given infrastructure device. */ +@Service @Command(scope = "onos", name = "device-setcontrollers", description = "sets the list of controllers for the given infrastructure device") public class DeviceSetControllersCommand extends AbstractShellCommand { @@ -62,7 +64,7 @@ public class DeviceSetControllersCommand extends AbstractShellCommand { private List controllers = new ArrayList<>(); @Override - protected void execute() { + protected void doExecute() { if (controllersListStrings == null && !removeCont && !removeAll) { print("No controller are given, skipping."); diff --git a/cli/src/main/java/org/onosproject/cli/net/DevicesListCommand.java b/cli/src/main/java/org/onosproject/cli/net/DevicesListCommand.java index 4b95f0fe27..cf90604446 100644 --- a/cli/src/main/java/org/onosproject/cli/net/DevicesListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/DevicesListCommand.java @@ -19,8 +19,9 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; import com.google.common.collect.ImmutableSet; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.AnnotationKeys; import org.onosproject.net.Device; @@ -36,6 +37,7 @@ import static com.google.common.collect.Lists.newArrayList; /** * Lists all infrastructure devices. */ +@Service @Command(scope = "onos", name = "devices", description = "Lists all infrastructure devices") public class DevicesListCommand extends AbstractShellCommand { @@ -52,7 +54,7 @@ public class DevicesListCommand extends AbstractShellCommand { private boolean shortOnly = false; @Override - protected void execute() { + protected void doExecute() { DeviceService deviceService = get(DeviceService.class); if (outputJson()) { print("%s", json(getSortedDevices(deviceService))); diff --git a/cli/src/main/java/org/onosproject/cli/net/DomainIdCompleter.java b/cli/src/main/java/org/onosproject/cli/net/DomainIdCompleter.java index 7f0dc8f8b6..324fbb02ca 100644 --- a/cli/src/main/java/org/onosproject/cli/net/DomainIdCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/DomainIdCompleter.java @@ -15,8 +15,11 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.domain.DomainId; import org.onosproject.net.domain.DomainService; @@ -28,10 +31,11 @@ import java.util.SortedSet; /** * Domain ID completer. */ +@Service public class DomainIdCompleter implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); @@ -44,6 +48,6 @@ public class DomainIdCompleter implements Completer { } // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/net/DpisListCommand.java b/cli/src/main/java/org/onosproject/cli/net/DpisListCommand.java index d34c9edb3e..88e51c41fa 100644 --- a/cli/src/main/java/org/onosproject/cli/net/DpisListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/DpisListCommand.java @@ -16,9 +16,10 @@ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.dpi.DpiStatInfo; import org.onosproject.incubator.net.dpi.DpiStatistics; @@ -34,6 +35,7 @@ import static java.lang.Thread.sleep; /** * Fetches DPI statistics list. */ +@Service @Command(scope = "onos", name = "dpis", description = "Fetches the DPI result entries that is received from DPI engine server") public class DpisListCommand extends AbstractShellCommand { @@ -96,7 +98,7 @@ public class DpisListCommand extends AbstractShellCommand { + " or correct receivedTime format: 'yyyy-MM-dd HH:mm:ss', ex:'2016-08-30 10:31:20'"; @Override - protected void execute() { + protected void doExecute() { DpiStatisticsManagerService dsms = get(DpiStatisticsManagerService.class); DpiStatistics ds; diff --git a/cli/src/main/java/org/onosproject/cli/net/DriverNameCompleter.java b/cli/src/main/java/org/onosproject/cli/net/DriverNameCompleter.java index d8f6930dd5..f0cc6a78e1 100644 --- a/cli/src/main/java/org/onosproject/cli/net/DriverNameCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/DriverNameCompleter.java @@ -15,8 +15,11 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.driver.DriverService; @@ -26,9 +29,10 @@ import java.util.SortedSet; /** * Device driver name completer. */ +@Service public class DriverNameCompleter implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); SortedSet strings = delegate.getStrings(); @@ -38,7 +42,7 @@ public class DriverNameCompleter implements Completer { service.getDrivers().forEach(d -> strings.add(d.name())); // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/net/DriverProvidersListCommand.java b/cli/src/main/java/org/onosproject/cli/net/DriverProvidersListCommand.java index 3692c572b6..0667f2867c 100644 --- a/cli/src/main/java/org/onosproject/cli/net/DriverProvidersListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/DriverProvidersListCommand.java @@ -15,7 +15,8 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.driver.Driver; import org.onosproject.net.driver.DriverAdminService; @@ -26,6 +27,7 @@ import java.util.stream.Collectors; /** * Lists device drivers. */ +@Service @Command(scope = "onos", name = "driver-providers", description = "Lists device driver providers") public class DriverProvidersListCommand extends AbstractShellCommand { @@ -33,7 +35,7 @@ public class DriverProvidersListCommand extends AbstractShellCommand { private static final String FMT = "provider=%s, drivers=%s"; @Override - protected void execute() { + protected void doExecute() { DriverAdminService service = get(DriverAdminService.class); service.getProviders().forEach(this::printDriverProvider); } diff --git a/cli/src/main/java/org/onosproject/cli/net/DriversListCommand.java b/cli/src/main/java/org/onosproject/cli/net/DriversListCommand.java index 79fb65aae4..6a973ea072 100644 --- a/cli/src/main/java/org/onosproject/cli/net/DriversListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/DriversListCommand.java @@ -17,9 +17,10 @@ package org.onosproject.cli.net; import com.fasterxml.jackson.databind.node.ArrayNode; import com.google.common.collect.ImmutableList; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.driver.Behaviour; import org.onosproject.net.driver.Driver; @@ -34,6 +35,7 @@ import java.util.stream.Collectors; /** * Lists device drivers. */ +@Service @Command(scope = "onos", name = "drivers", description = "Lists device drivers") public class DriversListCommand extends AbstractShellCommand { @@ -55,7 +57,7 @@ public class DriversListCommand extends AbstractShellCommand { private boolean nameOnly = false; @Override - protected void execute() { + protected void doExecute() { DriverService service = get(DriverService.class); if (driverName != null) { diff --git a/cli/src/main/java/org/onosproject/cli/net/EdgePortsListCommand.java b/cli/src/main/java/org/onosproject/cli/net/EdgePortsListCommand.java index 529d778751..7592cdfdaf 100644 --- a/cli/src/main/java/org/onosproject/cli/net/EdgePortsListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/EdgePortsListCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.ConnectPoint; import org.onosproject.net.edge.EdgePortService; @@ -31,6 +32,7 @@ import static org.onosproject.net.DeviceId.deviceId; /** * Lists all edge ports. */ +@Service @Command(scope = "onos", name = "edge-ports", description = "Lists all edge ports.") public class EdgePortsListCommand extends AbstractShellCommand { @@ -42,7 +44,7 @@ public class EdgePortsListCommand extends AbstractShellCommand { String uri = null; @Override - protected void execute() { + protected void doExecute() { EdgePortService service = get(EdgePortService.class); if (uri == null) { printEdgePoints(service.getEdgePoints()); diff --git a/cli/src/main/java/org/onosproject/cli/net/EncapTypeCompleter.java b/cli/src/main/java/org/onosproject/cli/net/EncapTypeCompleter.java index 1510e31d23..d6e756653c 100644 --- a/cli/src/main/java/org/onosproject/cli/net/EncapTypeCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/EncapTypeCompleter.java @@ -15,8 +15,11 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import org.onosproject.net.EncapsulationType; import java.util.List; @@ -25,10 +28,11 @@ import java.util.SortedSet; /** * Encapsulation type completer. */ +@Service public class EncapTypeCompleter implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); SortedSet strings = delegate.getStrings(); @@ -38,6 +42,6 @@ public class EncapTypeCompleter implements Completer { } // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/net/EthTypeCompleter.java b/cli/src/main/java/org/onosproject/cli/net/EthTypeCompleter.java index 370e0c9cce..db4744b1a3 100644 --- a/cli/src/main/java/org/onosproject/cli/net/EthTypeCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/EthTypeCompleter.java @@ -18,15 +18,19 @@ package org.onosproject.cli.net; import java.util.List; import java.util.SortedSet; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; /** * Ethernet type completer. */ +@Service public class EthTypeCompleter implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); SortedSet strings = delegate.getStrings(); @@ -36,7 +40,7 @@ public class EthTypeCompleter implements Completer { } // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/net/ExtHeaderCompleter.java b/cli/src/main/java/org/onosproject/cli/net/ExtHeaderCompleter.java index e6018e22ae..3c85b71c70 100644 --- a/cli/src/main/java/org/onosproject/cli/net/ExtHeaderCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/ExtHeaderCompleter.java @@ -15,8 +15,11 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import java.util.List; import java.util.SortedSet; @@ -24,9 +27,10 @@ import java.util.SortedSet; /** * IPv6 extension header completer. */ +@Service public class ExtHeaderCompleter implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); SortedSet strings = delegate.getStrings(); @@ -36,7 +40,7 @@ public class ExtHeaderCompleter implements Completer { } // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/net/FlowObjectiveCompositionCommand.java b/cli/src/main/java/org/onosproject/cli/net/FlowObjectiveCompositionCommand.java index 7e0c358ca5..d87f72326d 100644 --- a/cli/src/main/java/org/onosproject/cli/net/FlowObjectiveCompositionCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/FlowObjectiveCompositionCommand.java @@ -15,14 +15,16 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.flowobjective.FlowObjectiveService; /** * Manages FlowObjectiveComposition policy. */ +@Service @Command(scope = "onos", name = "policy", description = "Manages FlowObjectiveComposition policy") public class FlowObjectiveCompositionCommand extends AbstractShellCommand { @@ -37,7 +39,7 @@ public class FlowObjectiveCompositionCommand extends AbstractShellCommand { String[] policies = null; @Override - protected void execute() { + protected void doExecute() { FlowObjectiveService service = get(FlowObjectiveService.class); service.initPolicy(policies[0]); print("Policy %s installed", policies[0]); diff --git a/cli/src/main/java/org/onosproject/cli/net/FlowObjectiveNextListCommand.java b/cli/src/main/java/org/onosproject/cli/net/FlowObjectiveNextListCommand.java index bbf90e3fed..dd85b5bc1c 100644 --- a/cli/src/main/java/org/onosproject/cli/net/FlowObjectiveNextListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/FlowObjectiveNextListCommand.java @@ -18,7 +18,8 @@ package org.onosproject.cli.net; import java.util.List; import org.onlab.osgi.ServiceNotFoundException; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.flowobjective.FlowObjectiveService; @@ -26,6 +27,7 @@ import org.onosproject.net.flowobjective.FlowObjectiveService; * Returns a mapping of FlowObjective next-ids to the groups that get created * by a device driver. These mappings are controller instance specific. */ +@Service @Command(scope = "onos", name = "obj-next-ids", description = "flow-objectives next-ids to group-ids mapping") public class FlowObjectiveNextListCommand extends AbstractShellCommand { @@ -33,7 +35,7 @@ public class FlowObjectiveNextListCommand extends AbstractShellCommand { private static final String FORMAT_MAPPING = " %s"; @Override - protected void execute() { + protected void doExecute() { try { FlowObjectiveService service = get(FlowObjectiveService.class); printNexts(service.getNextMappings()); diff --git a/cli/src/main/java/org/onosproject/cli/net/FlowObjectivePendingNextCommand.java b/cli/src/main/java/org/onosproject/cli/net/FlowObjectivePendingNextCommand.java index e3f372bc4d..f0fbca8662 100644 --- a/cli/src/main/java/org/onosproject/cli/net/FlowObjectivePendingNextCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/FlowObjectivePendingNextCommand.java @@ -17,7 +17,8 @@ package org.onosproject.cli.net; import java.util.List; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onlab.osgi.ServiceNotFoundException; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.flowobjective.FlowObjectiveService; @@ -27,6 +28,7 @@ import org.onosproject.net.flowobjective.FlowObjectiveService; * Also returns the forwarding objectives and next objectives waiting on the pending * next-objectives. These lists are controller instance specific. */ +@Service @Command(scope = "onos", name = "obj-pending-nexts", description = "flow-objectives pending next-objectives") public class FlowObjectivePendingNextCommand extends AbstractShellCommand { @@ -34,7 +36,7 @@ public class FlowObjectivePendingNextCommand extends AbstractShellCommand { private static final String FORMAT_MAPPING = " %s"; @Override - protected void execute() { + protected void doExecute() { try { FlowObjectiveService service = get(FlowObjectiveService.class); printNexts(service.getPendingFlowObjectives()); diff --git a/cli/src/main/java/org/onosproject/cli/net/FlowObjectiveQueueClearCommand.java b/cli/src/main/java/org/onosproject/cli/net/FlowObjectiveQueueClearCommand.java index d15ac87b7c..ff0895eee1 100644 --- a/cli/src/main/java/org/onosproject/cli/net/FlowObjectiveQueueClearCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/FlowObjectiveQueueClearCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onlab.osgi.ServiceNotFoundException; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.flowobjective.FlowObjectiveService; @@ -24,6 +25,7 @@ import org.onosproject.net.flowobjective.FlowObjectiveService; /** * Clear flow objective that are waiting for the completion of previous objective with the same key. */ +@Service @Command(scope = "onos", name = "obj-clear-queues", description = "Force empty flow objective queues and invalidate flow objective caches") public class FlowObjectiveQueueClearCommand extends AbstractShellCommand { @@ -33,7 +35,7 @@ public class FlowObjectiveQueueClearCommand extends AbstractShellCommand { private String please = null; @Override - protected void execute() { + protected void doExecute() { if (please == null || !please.equals(CONFIRM_PHRASE)) { print("WARNING: System may enter an unpredictable state if the flow obj queues are force emptied." + "Enter confirmation phrase to continue."); diff --git a/cli/src/main/java/org/onosproject/cli/net/FlowObjectiveQueueListCommand.java b/cli/src/main/java/org/onosproject/cli/net/FlowObjectiveQueueListCommand.java index 46f6122c19..9aded1eadf 100644 --- a/cli/src/main/java/org/onosproject/cli/net/FlowObjectiveQueueListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/FlowObjectiveQueueListCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.net; import com.google.common.collect.ListMultimap; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onlab.osgi.ServiceNotFoundException; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.flowobjective.FilteringObjQueueKey; @@ -31,6 +32,7 @@ import java.util.Map; /** * Displays flow objective that are waiting for the completion of previous objective with the same key. */ +@Service @Command(scope = "onos", name = "obj-queues", description = "Display flow objective queues") public class FlowObjectiveQueueListCommand extends AbstractShellCommand { @@ -46,7 +48,7 @@ public class FlowObjectiveQueueListCommand extends AbstractShellCommand { private boolean cache = false; @Override - protected void execute() { + protected void doExecute() { try { FlowObjectiveService service = get(FlowObjectiveService.class); ListMultimap filtObjQueue = service.getFilteringObjQueue(); diff --git a/cli/src/main/java/org/onosproject/cli/net/FlowRuleStatusCompleter.java b/cli/src/main/java/org/onosproject/cli/net/FlowRuleStatusCompleter.java index 8fe5664a9b..1666332693 100644 --- a/cli/src/main/java/org/onosproject/cli/net/FlowRuleStatusCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/FlowRuleStatusCompleter.java @@ -18,16 +18,20 @@ package org.onosproject.cli.net; import java.util.List; import java.util.SortedSet; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import org.onosproject.net.flow.FlowEntry.FlowEntryState; /** * Flow rule status completer. */ +@Service public class FlowRuleStatusCompleter implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); @@ -39,7 +43,7 @@ public class FlowRuleStatusCompleter implements Completer { strings.add(FlowsListCommand.ANY); // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/net/FlowsListCommand.java b/cli/src/main/java/org/onosproject/cli/net/FlowsListCommand.java index 5c26b06304..ddac49ee45 100644 --- a/cli/src/main/java/org/onosproject/cli/net/FlowsListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/FlowsListCommand.java @@ -19,9 +19,10 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ObjectNode; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onlab.util.StringFilter; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.core.ApplicationId; @@ -54,6 +55,7 @@ import static com.google.common.collect.Lists.newArrayList; /** * Lists all currently-known flows. */ +@Service @Command(scope = "onos", name = "flows", description = "Lists all currently-known flows.") public class FlowsListCommand extends AbstractShellCommand { @@ -111,7 +113,7 @@ public class FlowsListCommand extends AbstractShellCommand { private StringFilter contentFilter; @Override - protected void execute() { + protected void doExecute() { CoreService coreService = get(CoreService.class); DeviceService deviceService = get(DeviceService.class); FlowRuleService service = get(FlowRuleService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/GetDomainsCommand.java b/cli/src/main/java/org/onosproject/cli/net/GetDomainsCommand.java index 9854d54f8b..6186d2a9c5 100644 --- a/cli/src/main/java/org/onosproject/cli/net/GetDomainsCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/GetDomainsCommand.java @@ -15,7 +15,8 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.domain.DomainId; import org.onosproject.net.domain.DomainService; @@ -25,11 +26,12 @@ import java.util.Set; /** * Gets the complete list of domain IDs. */ +@Service @Command(scope = "onos", name = "domains", description = "Gets the list of domain IDs") public class GetDomainsCommand extends AbstractShellCommand { @Override - public void execute() { + public void doExecute() { DomainService domainService = AbstractShellCommand.get(DomainService.class); Set domainIds = domainService.getDomainIds(); diff --git a/cli/src/main/java/org/onosproject/cli/net/GetFlowStatisticsCommand.java b/cli/src/main/java/org/onosproject/cli/net/GetFlowStatisticsCommand.java index 78b1a37849..aa86d6e6a7 100644 --- a/cli/src/main/java/org/onosproject/cli/net/GetFlowStatisticsCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/GetFlowStatisticsCommand.java @@ -16,9 +16,10 @@ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.ConnectPoint; import org.onosproject.net.Device; @@ -42,6 +43,7 @@ import static org.onosproject.net.PortNumber.portNumber; /** * Fetches flow statistics with a flow type and instruction type. */ +@Service @Command(scope = "onos", name = "get-flow-stats", description = "Fetches flow stats for a connection point with given flow type and instruction type") public class GetFlowStatisticsCommand extends AbstractShellCommand { @@ -79,7 +81,7 @@ public class GetFlowStatisticsCommand extends AbstractShellCommand { String instructionType = null; @Override - protected void execute() { + protected void doExecute() { DeviceService deviceService = get(DeviceService.class); FlowStatisticService flowStatsService = get(FlowStatisticService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/GetStatisticsCommand.java b/cli/src/main/java/org/onosproject/cli/net/GetStatisticsCommand.java index 12e92c61b7..54ddfb2a1b 100644 --- a/cli/src/main/java/org/onosproject/cli/net/GetStatisticsCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/GetStatisticsCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.ConnectPoint; import org.onosproject.net.DeviceId; @@ -32,6 +33,7 @@ import static org.onosproject.net.PortNumber.portNumber; /** * Fetches statistics. */ +@Service @Command(scope = "onos", name = "get-stats", description = "Fetches stats for a connection point") public class GetStatisticsCommand extends AbstractShellCommand { @@ -43,7 +45,7 @@ public class GetStatisticsCommand extends AbstractShellCommand { @Override - protected void execute() { + protected void doExecute() { StatisticService service = get(StatisticService.class); DeviceId ingressDeviceId = deviceId(getDeviceId(connectPoint)); diff --git a/cli/src/main/java/org/onosproject/cli/net/GlobalLabelApplyCommand.java b/cli/src/main/java/org/onosproject/cli/net/GlobalLabelApplyCommand.java index 44d0a935fa..29814081b1 100644 --- a/cli/src/main/java/org/onosproject/cli/net/GlobalLabelApplyCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/GlobalLabelApplyCommand.java @@ -18,13 +18,15 @@ package org.onosproject.cli.net; import java.util.Collection; import java.util.Iterator; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.resource.label.DefaultLabelResource; import org.onosproject.incubator.net.resource.label.LabelResource; import org.onosproject.incubator.net.resource.label.LabelResourceService; +@Service @Command(scope = "onos", name = "global-label-apply", description = "Apply global labels from global resource pool") public class GlobalLabelApplyCommand extends AbstractShellCommand { @@ -36,7 +38,7 @@ public class GlobalLabelApplyCommand extends AbstractShellCommand { private static final String FMT = "deviceid=%s, labelresourceid=%s"; @Override - protected void execute() { + protected void doExecute() { LabelResourceService lrs = get(LabelResourceService.class); Collection result = lrs.applyFromGlobalPool(Long.parseLong(applyNum)); diff --git a/cli/src/main/java/org/onosproject/cli/net/GlobalLabelCommand.java b/cli/src/main/java/org/onosproject/cli/net/GlobalLabelCommand.java index bda887636c..2dd55af9df 100644 --- a/cli/src/main/java/org/onosproject/cli/net/GlobalLabelCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/GlobalLabelCommand.java @@ -15,11 +15,13 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.resource.label.LabelResourcePool; import org.onosproject.incubator.net.resource.label.LabelResourceService; +@Service @Command(scope = "onos", name = "global-label-pool", description = "Gets global label resource pool information.") public class GlobalLabelCommand extends AbstractShellCommand { @@ -28,7 +30,7 @@ public class GlobalLabelCommand extends AbstractShellCommand { + "releaseLabelIds=%s"; @Override - protected void execute() { + protected void doExecute() { LabelResourceService lrs = get(LabelResourceService.class); LabelResourcePool pool = lrs.getGlobalLabelResourcePool(); if (pool != null) { diff --git a/cli/src/main/java/org/onosproject/cli/net/GlobalLabelPoolCreateCommand.java b/cli/src/main/java/org/onosproject/cli/net/GlobalLabelPoolCreateCommand.java index 993dd49ca9..6ef72bcb5b 100644 --- a/cli/src/main/java/org/onosproject/cli/net/GlobalLabelPoolCreateCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/GlobalLabelPoolCreateCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.resource.label.LabelResourceAdminService; import org.onosproject.incubator.net.resource.label.LabelResourceId; @@ -24,6 +25,7 @@ import org.onosproject.incubator.net.resource.label.LabelResourceId; /** * create label resource pool by specific device id. */ +@Service @Command(scope = "onos", name = "global-label-pool-create", description = "Creates global label resource pool.") public class GlobalLabelPoolCreateCommand extends AbstractShellCommand { @@ -37,7 +39,7 @@ public class GlobalLabelPoolCreateCommand extends AbstractShellCommand { String endLabel = null; @Override - protected void execute() { + protected void doExecute() { LabelResourceAdminService lrs = get(LabelResourceAdminService.class); lrs.createGlobalPool(LabelResourceId.labelResourceId(Long .parseLong(beginLabel)), LabelResourceId.labelResourceId(Long diff --git a/cli/src/main/java/org/onosproject/cli/net/GlobalLabelPoolDestroyCommand.java b/cli/src/main/java/org/onosproject/cli/net/GlobalLabelPoolDestroyCommand.java index 981210e992..387a80a0ea 100644 --- a/cli/src/main/java/org/onosproject/cli/net/GlobalLabelPoolDestroyCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/GlobalLabelPoolDestroyCommand.java @@ -15,15 +15,17 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.resource.label.LabelResourceAdminService; +@Service @Command(scope = "onos", name = "global-label-pool-destroy", description = "Destroys global label resource pool") public class GlobalLabelPoolDestroyCommand extends AbstractShellCommand { @Override - protected void execute() { + protected void doExecute() { LabelResourceAdminService lrs = get(LabelResourceAdminService.class); lrs.destroyGlobalPool(); } diff --git a/cli/src/main/java/org/onosproject/cli/net/GlobalLabelReleaseCommand.java b/cli/src/main/java/org/onosproject/cli/net/GlobalLabelReleaseCommand.java index 169833bd64..edd4dfb566 100644 --- a/cli/src/main/java/org/onosproject/cli/net/GlobalLabelReleaseCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/GlobalLabelReleaseCommand.java @@ -18,12 +18,14 @@ package org.onosproject.cli.net; import java.util.HashSet; import java.util.Set; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.resource.label.LabelResourceId; import org.onosproject.incubator.net.resource.label.LabelResourceService; +@Service @Command(scope = "onos", name = "global-label-release", description = "Releases labels to global label resource pool.") public class GlobalLabelReleaseCommand extends AbstractShellCommand { @@ -33,7 +35,7 @@ public class GlobalLabelReleaseCommand extends AbstractShellCommand { String releaseLabelIds = null; @Override - protected void execute() { + protected void doExecute() { LabelResourceService lrs = get(LabelResourceService.class); Set release = new HashSet(); String[] labelIds = releaseLabelIds.split(","); diff --git a/cli/src/main/java/org/onosproject/cli/net/GroupsListCommand.java b/cli/src/main/java/org/onosproject/cli/net/GroupsListCommand.java index 48c2e1faef..bd61d03f07 100644 --- a/cli/src/main/java/org/onosproject/cli/net/GroupsListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/GroupsListCommand.java @@ -18,9 +18,10 @@ package org.onosproject.cli.net; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ArrayNode; import com.google.common.collect.Lists; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.Device; import org.onosproject.net.DeviceId; @@ -44,6 +45,7 @@ import java.util.stream.Stream; /** * Lists all groups in the system. */ +@Service @Command(scope = "onos", name = "groups", description = "Lists all groups in the system") public class GroupsListCommand extends AbstractShellCommand { @@ -90,7 +92,7 @@ public class GroupsListCommand extends AbstractShellCommand { } @Override - protected void execute() { + protected void doExecute() { DeviceService deviceService = get(DeviceService.class); GroupService groupService = get(GroupService.class); SortedMap> sortedGroups = diff --git a/cli/src/main/java/org/onosproject/cli/net/HostIdCompleter.java b/cli/src/main/java/org/onosproject/cli/net/HostIdCompleter.java index 2ee7dcac48..2efdec300e 100644 --- a/cli/src/main/java/org/onosproject/cli/net/HostIdCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/HostIdCompleter.java @@ -19,8 +19,11 @@ import java.util.Iterator; import java.util.List; import java.util.SortedSet; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.Host; import org.onosproject.net.host.HostService; @@ -28,10 +31,11 @@ import org.onosproject.net.host.HostService; /** * Host ID completer. */ +@Service public class HostIdCompleter implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); @@ -43,7 +47,7 @@ public class HostIdCompleter implements Completer { } // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } diff --git a/cli/src/main/java/org/onosproject/cli/net/HostRemoveCommand.java b/cli/src/main/java/org/onosproject/cli/net/HostRemoveCommand.java index cba5111d29..0c83520451 100644 --- a/cli/src/main/java/org/onosproject/cli/net/HostRemoveCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/HostRemoveCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.HostId; import org.onosproject.net.host.HostAdminService; @@ -24,6 +25,7 @@ import org.onosproject.net.host.HostAdminService; /** * Removes an end-station host. */ +@Service @Command(scope = "onos", name = "host-remove", description = "Removes an end-station host") public class HostRemoveCommand extends AbstractShellCommand { @@ -33,7 +35,7 @@ public class HostRemoveCommand extends AbstractShellCommand { String id = null; @Override - protected void execute() { + protected void doExecute() { get(HostAdminService.class).removeHost(HostId.hostId(id)); } diff --git a/cli/src/main/java/org/onosproject/cli/net/HostsListCommand.java b/cli/src/main/java/org/onosproject/cli/net/HostsListCommand.java index 683ab26160..3a9f86095d 100644 --- a/cli/src/main/java/org/onosproject/cli/net/HostsListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/HostsListCommand.java @@ -18,8 +18,9 @@ package org.onosproject.cli.net; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.Host; import org.onosproject.net.host.HostService; @@ -33,6 +34,7 @@ import static com.google.common.collect.Lists.newArrayList; /** * Lists all currently-known hosts. */ +@Service @Command(scope = "onos", name = "hosts", description = "Lists all currently-known hosts.") public class HostsListCommand extends AbstractShellCommand { @@ -49,7 +51,7 @@ public class HostsListCommand extends AbstractShellCommand { private boolean shortOnly = false; @Override - protected void execute() { + protected void doExecute() { HostService service = get(HostService.class); if (outputJson()) { print("%s", json(getSortedHosts(service))); diff --git a/cli/src/main/java/org/onosproject/cli/net/Icmp6CodeCompleter.java b/cli/src/main/java/org/onosproject/cli/net/Icmp6CodeCompleter.java index eae82a253d..b488d73816 100644 --- a/cli/src/main/java/org/onosproject/cli/net/Icmp6CodeCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/Icmp6CodeCompleter.java @@ -15,8 +15,11 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import java.util.List; import java.util.SortedSet; @@ -24,9 +27,10 @@ import java.util.SortedSet; /** * ICMPv6 type completer. */ +@Service public class Icmp6CodeCompleter implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); SortedSet strings = delegate.getStrings(); @@ -36,7 +40,7 @@ public class Icmp6CodeCompleter implements Completer { } // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/net/Icmp6TypeCompleter.java b/cli/src/main/java/org/onosproject/cli/net/Icmp6TypeCompleter.java index 7f18a4b613..553f5beed6 100644 --- a/cli/src/main/java/org/onosproject/cli/net/Icmp6TypeCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/Icmp6TypeCompleter.java @@ -15,8 +15,11 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import java.util.List; import java.util.SortedSet; @@ -24,9 +27,10 @@ import java.util.SortedSet; /** * ICMPv6 type completer. */ +@Service public class Icmp6TypeCompleter implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); SortedSet strings = delegate.getStrings(); @@ -36,7 +40,7 @@ public class Icmp6TypeCompleter implements Completer { } // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/net/IntentCycleCommand.java b/cli/src/main/java/org/onosproject/cli/net/IntentCycleCommand.java index fa764fbda4..96a12f5dfb 100644 --- a/cli/src/main/java/org/onosproject/cli/net/IntentCycleCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/IntentCycleCommand.java @@ -19,8 +19,9 @@ import java.util.EnumSet; import java.util.List; import java.util.concurrent.atomic.AtomicLong; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onlab.packet.Ethernet; import org.onlab.packet.MacAddress; import org.onosproject.cli.AbstractShellCommand; @@ -49,6 +50,7 @@ import static org.onosproject.net.PortNumber.portNumber; /** * Installs point-to-point connectivity intents. */ +@Service @Command(scope = "onos", name = "cycle-intents", description = "Installs random intents to test throughput") public class IntentCycleCommand extends AbstractShellCommand @@ -83,7 +85,7 @@ public class IntentCycleCommand extends AbstractShellCommand private boolean add; @Override - protected void execute() { + protected void doExecute() { service = get(IntentService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/IntentDetailsCommand.java b/cli/src/main/java/org/onosproject/cli/net/IntentDetailsCommand.java index 04450595fe..e80623b298 100644 --- a/cli/src/main/java/org/onosproject/cli/net/IntentDetailsCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/IntentDetailsCommand.java @@ -18,8 +18,9 @@ package org.onosproject.cli.net; import java.util.List; import java.util.Set; import java.util.stream.Collectors; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onlab.util.Tools; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.Link; @@ -32,6 +33,7 @@ import org.onosproject.net.intent.IntentService; /** * Displays details about an Intent in the system. */ +@Service @Command(scope = "onos", name = "intent-details", description = "Displays intent details") public class IntentDetailsCommand extends AbstractShellCommand { @@ -44,7 +46,7 @@ public class IntentDetailsCommand extends AbstractShellCommand { @Override - protected void execute() { + protected void doExecute() { detailIntents(idsStr); } diff --git a/cli/src/main/java/org/onosproject/cli/net/IntentKeyCompleter.java b/cli/src/main/java/org/onosproject/cli/net/IntentKeyCompleter.java index 39c3e55624..6d26d626a3 100644 --- a/cli/src/main/java/org/onosproject/cli/net/IntentKeyCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/IntentKeyCompleter.java @@ -15,8 +15,11 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.intent.Intent; import org.onosproject.net.intent.IntentService; @@ -28,9 +31,10 @@ import java.util.SortedSet; /** * Intent Key completer. */ +@Service public class IntentKeyCompleter implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); @@ -43,7 +47,7 @@ public class IntentKeyCompleter implements Completer { } // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/net/IntentListCompilers.java b/cli/src/main/java/org/onosproject/cli/net/IntentListCompilers.java index fd1c145b69..d920eec181 100644 --- a/cli/src/main/java/org/onosproject/cli/net/IntentListCompilers.java +++ b/cli/src/main/java/org/onosproject/cli/net/IntentListCompilers.java @@ -15,7 +15,8 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.intent.IntentExtensionService; @@ -24,12 +25,13 @@ import java.util.OptionalInt; /** * Lists the inventory of intents and their states. */ +@Service @Command(scope = "onos", name = "intent-compilers", description = "Lists the mapping from intent type to compiler component") public class IntentListCompilers extends AbstractShellCommand { @Override - protected void execute() { + protected void doExecute() { IntentExtensionService service = get(IntentExtensionService.class); OptionalInt length = service.getCompilers().keySet().stream() .mapToInt(s -> s.getName().length()) diff --git a/cli/src/main/java/org/onosproject/cli/net/IntentListInstallers.java b/cli/src/main/java/org/onosproject/cli/net/IntentListInstallers.java index 44ee963685..10e8270617 100644 --- a/cli/src/main/java/org/onosproject/cli/net/IntentListInstallers.java +++ b/cli/src/main/java/org/onosproject/cli/net/IntentListInstallers.java @@ -15,7 +15,8 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.intent.IntentExtensionService; @@ -24,11 +25,12 @@ import java.util.OptionalInt; /** * Lists the installers of intents. */ +@Service @Command(scope = "onos", name = "intent-installers", description = "Lists the mapping from intent type to installer component") public class IntentListInstallers extends AbstractShellCommand { @Override - protected void execute() { + protected void doExecute() { IntentExtensionService service = get(IntentExtensionService.class); OptionalInt length = service.getInstallers().keySet().stream() .mapToInt(s -> s.getName().length()) diff --git a/cli/src/main/java/org/onosproject/cli/net/IntentPurgeCommand.java b/cli/src/main/java/org/onosproject/cli/net/IntentPurgeCommand.java index ec067b7458..203be80d94 100644 --- a/cli/src/main/java/org/onosproject/cli/net/IntentPurgeCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/IntentPurgeCommand.java @@ -15,7 +15,8 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.intent.Intent; import org.onosproject.net.intent.IntentService; @@ -25,11 +26,12 @@ import static org.onosproject.net.intent.IntentState.WITHDRAWN; /** * Purges all WITHDRAWN intents. */ +@Service @Command(scope = "onos", name = "purge-intents", description = "Purges all WITHDRAWN intents") public class IntentPurgeCommand extends AbstractShellCommand { @Override - protected void execute() { + protected void doExecute() { IntentService intentService = get(IntentService.class); for (Intent intent: intentService.getIntents()) { if (intentService.getIntentState(intent.key()) == WITHDRAWN) { diff --git a/cli/src/main/java/org/onosproject/cli/net/IntentPushTestCommand.java b/cli/src/main/java/org/onosproject/cli/net/IntentPushTestCommand.java index 4fcb0c8398..bca7935377 100644 --- a/cli/src/main/java/org/onosproject/cli/net/IntentPushTestCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/IntentPushTestCommand.java @@ -16,9 +16,10 @@ package org.onosproject.cli.net; import com.google.common.collect.Lists; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onlab.packet.Ethernet; import org.onlab.packet.MacAddress; import org.onosproject.cli.AbstractShellCommand; @@ -50,6 +51,7 @@ import static org.onosproject.net.PortNumber.portNumber; /** * Installs bulk point-to-point connectivity intents between given ingress/egress devices. */ +@Service @Command(scope = "onos", name = "push-test-intents", description = "Installs random intents to test throughput") public class IntentPushTestCommand extends AbstractShellCommand @@ -95,7 +97,7 @@ public class IntentPushTestCommand extends AbstractShellCommand List keysForWithdraw = new ArrayList<>(); @Override - protected void execute() { + protected void doExecute() { service = get(IntentService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/IntentRemoveCommand.java b/cli/src/main/java/org/onosproject/cli/net/IntentRemoveCommand.java index cadae7e903..b602dfe277 100644 --- a/cli/src/main/java/org/onosproject/cli/net/IntentRemoveCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/IntentRemoveCommand.java @@ -16,9 +16,10 @@ package org.onosproject.cli.net; import com.google.common.collect.ImmutableList; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -45,6 +46,7 @@ import static org.onosproject.net.intent.IntentState.WITHDRAWN; /** * Removes an intent. */ +@Service @Command(scope = "onos", name = "remove-intent", description = "Removes the specified intent") public class IntentRemoveCommand extends AbstractShellCommand { @@ -72,7 +74,7 @@ public class IntentRemoveCommand extends AbstractShellCommand { private static final EnumSet CAN_PURGE = EnumSet.of(WITHDRAWN, FAILED); @Override - protected void execute() { + protected void doExecute() { IntentService intentService = get(IntentService.class); removeIntent(intentService.getIntents(), applicationIdString, keyString, diff --git a/cli/src/main/java/org/onosproject/cli/net/IntentsDiagnosisCommand.java b/cli/src/main/java/org/onosproject/cli/net/IntentsDiagnosisCommand.java index 1dc1d8de06..22a20c39a4 100644 --- a/cli/src/main/java/org/onosproject/cli/net/IntentsDiagnosisCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/IntentsDiagnosisCommand.java @@ -19,9 +19,10 @@ import com.google.common.base.MoreObjects; import com.google.common.collect.ImmutableSet; import com.google.common.collect.SetMultimap; import com.google.common.collect.Streams; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.AnnotationKeys; import org.onosproject.net.ConnectPoint; @@ -56,6 +57,7 @@ import java.util.Objects; import java.util.Set; import java.util.stream.Stream; +@Service @Command(scope = "onos", name = "intents-diagnosis", description = "Diagnosis intents") public class IntentsDiagnosisCommand extends AbstractShellCommand { @@ -77,7 +79,7 @@ public class IntentsDiagnosisCommand extends AbstractShellCommand { private static final String FIELD_INTENTS_BY_LINK = "intentsByLink"; @Override - protected void execute() { + protected void doExecute() { print("intents-diagnosis"); ServiceRefs svcRefs = buildServiceRefs(); diff --git a/cli/src/main/java/org/onosproject/cli/net/IntentsListCommand.java b/cli/src/main/java/org/onosproject/cli/net/IntentsListCommand.java index 20c8b34c9c..0f0c448f43 100644 --- a/cli/src/main/java/org/onosproject/cli/net/IntentsListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/IntentsListCommand.java @@ -23,8 +23,9 @@ import com.google.common.base.Strings; import com.google.common.collect.Lists; import com.google.common.collect.Sets; import org.apache.commons.lang.StringUtils; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onlab.util.StringFilter; import org.onlab.util.Tools; import org.onosproject.cli.AbstractShellCommand; @@ -63,6 +64,7 @@ import java.util.stream.Collectors; /** * Lists the inventory of intents and their states. */ +@Service @Command(scope = "onos", name = "intents", description = "Lists the inventory of intents and their states") public class IntentsListCommand extends AbstractShellCommand { @@ -181,7 +183,7 @@ public class IntentsListCommand extends AbstractShellCommand { private WorkPartitionService workPartitionService; @Override - protected void execute() { + protected void doExecute() { service = get(IntentService.class); workPartitionService = get(WorkPartitionService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/InterfaceAddCommand.java b/cli/src/main/java/org/onosproject/cli/net/InterfaceAddCommand.java index 32d8f2ab31..c6210c731d 100644 --- a/cli/src/main/java/org/onosproject/cli/net/InterfaceAddCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/InterfaceAddCommand.java @@ -17,9 +17,10 @@ package org.onosproject.cli.net; import com.google.common.collect.Lists; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onlab.packet.MacAddress; import org.onlab.packet.VlanId; import org.onosproject.cli.AbstractShellCommand; @@ -33,6 +34,7 @@ import java.util.List; /** * Adds a new interface configuration. */ +@Service @Command(scope = "onos", name = "interface-add", description = "Adds a new configured interface") public class InterfaceAddCommand extends AbstractShellCommand { @@ -63,7 +65,7 @@ public class InterfaceAddCommand extends AbstractShellCommand { private String vlan = null; @Override - protected void execute() { + protected void doExecute() { InterfaceAdminService interfaceService = get(InterfaceAdminService.class); List ipAddresses = Lists.newArrayList(); diff --git a/cli/src/main/java/org/onosproject/cli/net/InterfaceRemoveCommand.java b/cli/src/main/java/org/onosproject/cli/net/InterfaceRemoveCommand.java index c98bb2010f..7645f1d7f0 100644 --- a/cli/src/main/java/org/onosproject/cli/net/InterfaceRemoveCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/InterfaceRemoveCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.intf.InterfaceAdminService; import org.onosproject.net.ConnectPoint; @@ -25,6 +26,7 @@ import org.onosproject.net.ConnectPoint; /** * Removes an interface configuration. */ +@Service @Command(scope = "onos", name = "interface-remove", description = "Removes a configured interface") public class InterfaceRemoveCommand extends AbstractShellCommand { @@ -40,7 +42,7 @@ public class InterfaceRemoveCommand extends AbstractShellCommand { private String name = null; @Override - protected void execute() { + protected void doExecute() { InterfaceAdminService interfaceService = get(InterfaceAdminService.class); boolean success = interfaceService.remove( diff --git a/cli/src/main/java/org/onosproject/cli/net/InterfacesListCommand.java b/cli/src/main/java/org/onosproject/cli/net/InterfacesListCommand.java index deda244541..34e7417809 100644 --- a/cli/src/main/java/org/onosproject/cli/net/InterfacesListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/InterfacesListCommand.java @@ -16,7 +16,8 @@ package org.onosproject.cli.net; import com.google.common.collect.Lists; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onlab.packet.MacAddress; import org.onlab.packet.VlanId; import org.onosproject.cli.AbstractShellCommand; @@ -30,6 +31,7 @@ import java.util.List; /** * Lists all configured interfaces. */ +@Service @Command(scope = "onos", name = "interfaces", description = "Lists all configured interfaces.") public class InterfacesListCommand extends AbstractShellCommand { @@ -45,7 +47,7 @@ public class InterfacesListCommand extends AbstractShellCommand { private static final String NO_NAME = "(unamed)"; @Override - protected void execute() { + protected void doExecute() { InterfaceService interfaceService = get(InterfaceService.class); List interfaces = Lists.newArrayList(interfaceService.getInterfaces()); diff --git a/cli/src/main/java/org/onosproject/cli/net/IpProtocolCompleter.java b/cli/src/main/java/org/onosproject/cli/net/IpProtocolCompleter.java index 28e68e9660..b7b471f967 100644 --- a/cli/src/main/java/org/onosproject/cli/net/IpProtocolCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/IpProtocolCompleter.java @@ -18,15 +18,19 @@ package org.onosproject.cli.net; import java.util.List; import java.util.SortedSet; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; /** * IP protocol completer. */ +@Service public class IpProtocolCompleter implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); SortedSet strings = delegate.getStrings(); @@ -36,7 +40,7 @@ public class IpProtocolCompleter implements Completer { } // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/net/LabelApplyCommand.java b/cli/src/main/java/org/onosproject/cli/net/LabelApplyCommand.java index 290f4a8fec..739e129061 100644 --- a/cli/src/main/java/org/onosproject/cli/net/LabelApplyCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/LabelApplyCommand.java @@ -18,14 +18,16 @@ package org.onosproject.cli.net; import java.util.Collection; import java.util.Iterator; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.DeviceId; import org.onosproject.incubator.net.resource.label.DefaultLabelResource; import org.onosproject.incubator.net.resource.label.LabelResource; import org.onosproject.incubator.net.resource.label.LabelResourceService; +@Service @Command(scope = "onos", name = "label-apply", description = "Apply label resource from device pool by specific device id") public class LabelApplyCommand extends AbstractShellCommand { @@ -41,7 +43,7 @@ public class LabelApplyCommand extends AbstractShellCommand { private static final String FMT = "deviceid=%s, labelresourceid=%s"; @Override - protected void execute() { + protected void doExecute() { LabelResourceService lrs = get(LabelResourceService.class); Collection result = lrs.applyFromDevicePool(DeviceId .deviceId(deviceId), Long.parseLong(applyNum)); diff --git a/cli/src/main/java/org/onosproject/cli/net/LabelPoolCreateCommand.java b/cli/src/main/java/org/onosproject/cli/net/LabelPoolCreateCommand.java index 9feee572d7..3b27b95e95 100644 --- a/cli/src/main/java/org/onosproject/cli/net/LabelPoolCreateCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/LabelPoolCreateCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.DeviceId; import org.onosproject.incubator.net.resource.label.LabelResourceAdminService; @@ -25,6 +26,7 @@ import org.onosproject.incubator.net.resource.label.LabelResourceId; /** * create label resource pool by specific device id. */ +@Service @Command(scope = "onos", name = "label-pool-create", description = "Creates label resource pool by a specific device id") public class LabelPoolCreateCommand extends AbstractShellCommand { @@ -38,7 +40,7 @@ public class LabelPoolCreateCommand extends AbstractShellCommand { String endLabel = null; @Override - protected void execute() { + protected void doExecute() { LabelResourceAdminService lrs = get(LabelResourceAdminService.class); lrs.createDevicePool(DeviceId.deviceId(deviceId), LabelResourceId .labelResourceId(Long.parseLong(beginLabel)), LabelResourceId diff --git a/cli/src/main/java/org/onosproject/cli/net/LabelPoolDestroyCommand.java b/cli/src/main/java/org/onosproject/cli/net/LabelPoolDestroyCommand.java index 2bd9418e50..74aa26dc3f 100644 --- a/cli/src/main/java/org/onosproject/cli/net/LabelPoolDestroyCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/LabelPoolDestroyCommand.java @@ -15,12 +15,14 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.DeviceId; import org.onosproject.incubator.net.resource.label.LabelResourceAdminService; +@Service @Command(scope = "onos", name = "label-pool-destroy", description = "Destroys label resource pool by a specific device id") public class LabelPoolDestroyCommand extends AbstractShellCommand { @@ -28,7 +30,7 @@ public class LabelPoolDestroyCommand extends AbstractShellCommand { String deviceId = null; @Override - protected void execute() { + protected void doExecute() { LabelResourceAdminService lrs = get(LabelResourceAdminService.class); lrs.destroyDevicePool(DeviceId.deviceId(deviceId)); } diff --git a/cli/src/main/java/org/onosproject/cli/net/LabelReleaseCommand.java b/cli/src/main/java/org/onosproject/cli/net/LabelReleaseCommand.java index df84f3fa15..a4e89c0c56 100644 --- a/cli/src/main/java/org/onosproject/cli/net/LabelReleaseCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/LabelReleaseCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.DeviceId; import org.onosproject.incubator.net.resource.label.DefaultLabelResource; @@ -27,6 +28,7 @@ import org.onosproject.incubator.net.resource.label.LabelResourceService; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; +@Service @Command(scope = "onos", name = "label-release", description = "Releases label ids to label resource pool by a specific device id") public class LabelReleaseCommand extends AbstractShellCommand { @@ -40,7 +42,7 @@ public class LabelReleaseCommand extends AbstractShellCommand { String releaseLabelIds = null; @Override - protected void execute() { + protected void doExecute() { LabelResourceService lrs = get(LabelResourceService.class); Multimap map = ArrayListMultimap .create(); diff --git a/cli/src/main/java/org/onosproject/cli/net/LabelResourceCommand.java b/cli/src/main/java/org/onosproject/cli/net/LabelResourceCommand.java index f381085915..1221f2393d 100644 --- a/cli/src/main/java/org/onosproject/cli/net/LabelResourceCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/LabelResourceCommand.java @@ -15,13 +15,15 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.DeviceId; import org.onosproject.incubator.net.resource.label.LabelResourcePool; import org.onosproject.incubator.net.resource.label.LabelResourceService; +@Service @Command(scope = "onos", name = "label-pool", description = "Gets label resource pool information by a specific device id") public class LabelResourceCommand extends AbstractShellCommand { @@ -33,7 +35,7 @@ public class LabelResourceCommand extends AbstractShellCommand { + "releaseLabelIds=%s"; @Override - protected void execute() { + protected void doExecute() { LabelResourceService lrs = get(LabelResourceService.class); LabelResourcePool pool = lrs.getDeviceLabelResourcePool(DeviceId .deviceId(deviceId)); diff --git a/cli/src/main/java/org/onosproject/cli/net/LayoutAddCommand.java b/cli/src/main/java/org/onosproject/cli/net/LayoutAddCommand.java index f4d6a94d72..95ddba826e 100644 --- a/cli/src/main/java/org/onosproject/cli/net/LayoutAddCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/LayoutAddCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.region.Region; import org.onosproject.net.region.RegionService; @@ -41,6 +42,7 @@ import static org.onosproject.ui.model.topo.UiTopoLayoutId.layoutId; * layout-add root @bayareaGEO . . 1.2 0.0 -4.0 * */ +@Service @Command(scope = "onos", name = "layout-add", description = "Adds a new UI layout.") public class LayoutAddCommand extends AbstractShellCommand { @@ -86,7 +88,7 @@ public class LayoutAddCommand extends AbstractShellCommand { private RegionService regionService; @Override - protected void execute() { + protected void doExecute() { UiTopoLayoutService service = get(UiTopoLayoutService.class); RegionService regionService = get(RegionService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/LayoutListCommand.java b/cli/src/main/java/org/onosproject/cli/net/LayoutListCommand.java index 358a9ef3a9..cf7300d6a8 100644 --- a/cli/src/main/java/org/onosproject/cli/net/LayoutListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/LayoutListCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.ui.UiTopoLayoutService; import org.onosproject.ui.model.topo.UiTopoLayout; @@ -32,6 +33,7 @@ import static com.google.common.collect.Lists.newArrayList; /** * List layout details. */ +@Service @Command(scope = "onos", name = "layouts", description = "List layout details") public class LayoutListCommand extends AbstractShellCommand { @@ -45,7 +47,7 @@ public class LayoutListCommand extends AbstractShellCommand { private UiTopoLayoutService layoutService; @Override - protected void execute() { + protected void doExecute() { layoutService = get(UiTopoLayoutService.class); if (id == null) { for (UiTopoLayout layout : getSortedLayouts(layoutService)) { diff --git a/cli/src/main/java/org/onosproject/cli/net/LeaderCommand.java b/cli/src/main/java/org/onosproject/cli/net/LeaderCommand.java index 51601d26a5..7139b86db4 100644 --- a/cli/src/main/java/org/onosproject/cli/net/LeaderCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/LeaderCommand.java @@ -18,9 +18,10 @@ package org.onosproject.cli.net; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onlab.util.Tools; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.cluster.Leadership; @@ -35,6 +36,7 @@ import java.util.regex.Pattern; /** * Prints the leader for every topic. */ +@Service @Command(scope = "onos", name = "leaders", description = "Finds the leader for particular topic.") public class LeaderCommand extends AbstractShellCommand { @@ -134,7 +136,7 @@ public class LeaderCommand extends AbstractShellCommand { } @Override - protected void execute() { + protected void doExecute() { LeadershipAdminService leaderService = get(LeadershipAdminService.class); Map leaderBoard = leaderService.getLeaderBoard(); if (topicPattern == null) { diff --git a/cli/src/main/java/org/onosproject/cli/net/LinkDstCompleter.java b/cli/src/main/java/org/onosproject/cli/net/LinkDstCompleter.java index d4234f63d5..df7ca102ed 100644 --- a/cli/src/main/java/org/onosproject/cli/net/LinkDstCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/LinkDstCompleter.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.console.completer.ArgumentCompleter; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import org.onosproject.cli.AbstractCompleter; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.ConnectPoint; @@ -30,7 +31,7 @@ import java.util.SortedSet; */ public class LinkDstCompleter extends AbstractCompleter { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); @@ -38,8 +39,7 @@ public class LinkDstCompleter extends AbstractCompleter { LinkService service = AbstractShellCommand.get(LinkService.class); // Link source the previous argument. - ArgumentCompleter.ArgumentList list = getArgumentList(); - String srcArg = list.getArguments()[list.getCursorArgumentIndex() - 1]; + String srcArg = commandLine.getArguments()[commandLine.getCursorArgumentIndex() - 1]; // Generate the device ID/port number identifiers SortedSet strings = delegate.getStrings(); @@ -53,7 +53,7 @@ public class LinkDstCompleter extends AbstractCompleter { } // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/net/LinkSrcCompleter.java b/cli/src/main/java/org/onosproject/cli/net/LinkSrcCompleter.java index 8a04832445..38842ba895 100644 --- a/cli/src/main/java/org/onosproject/cli/net/LinkSrcCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/LinkSrcCompleter.java @@ -15,7 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import org.onosproject.cli.AbstractCompleter; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.link.LinkService; @@ -28,7 +30,7 @@ import java.util.SortedSet; */ public class LinkSrcCompleter extends AbstractCompleter { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); @@ -42,7 +44,7 @@ public class LinkSrcCompleter extends AbstractCompleter { "/" + link.src().port())); // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/net/LinksListCommand.java b/cli/src/main/java/org/onosproject/cli/net/LinksListCommand.java index 47e72a2810..b7c8ef72b1 100644 --- a/cli/src/main/java/org/onosproject/cli/net/LinksListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/LinksListCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onlab.util.Tools; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.Link; @@ -34,6 +35,7 @@ import java.util.Comparator; /** * Lists all infrastructure links. */ +@Service @Command(scope = "onos", name = "links", description = "Lists all infrastructure links") public class LinksListCommand extends AbstractShellCommand { @@ -46,7 +48,7 @@ public class LinksListCommand extends AbstractShellCommand { String uri = null; @Override - protected void execute() { + protected void doExecute() { LinkService service = get(LinkService.class); Iterable links = uri != null ? service.getDeviceLinks(deviceId(uri)) : service.getLinks(); diff --git a/cli/src/main/java/org/onosproject/cli/net/MapsListCommand.java b/cli/src/main/java/org/onosproject/cli/net/MapsListCommand.java index 4e31fcdea5..1025208a8f 100644 --- a/cli/src/main/java/org/onosproject/cli/net/MapsListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/MapsListCommand.java @@ -17,7 +17,8 @@ package org.onosproject.cli.net; import java.util.List; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.store.service.MapInfo; import org.onosproject.store.service.StorageAdminService; @@ -30,6 +31,7 @@ import com.fasterxml.jackson.databind.node.ObjectNode; /** * Command to list the various maps in the system. */ +@Service @Command(scope = "onos", name = "maps", description = "Lists information about consistent maps in the system") public class MapsListCommand extends AbstractShellCommand { @@ -71,7 +73,7 @@ public class MapsListCommand extends AbstractShellCommand { } @Override - protected void execute() { + protected void doExecute() { StorageAdminService storageAdminService = get(StorageAdminService.class); List mapInfo = storageAdminService.getMapInfo(); if (outputJson()) { diff --git a/cli/src/main/java/org/onosproject/cli/net/McastDeleteCommand.java b/cli/src/main/java/org/onosproject/cli/net/McastDeleteCommand.java index 26dbfdeb4d..270db57eaf 100644 --- a/cli/src/main/java/org/onosproject/cli/net/McastDeleteCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/McastDeleteCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onlab.packet.IpAddress; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.ConnectPoint; @@ -26,6 +27,7 @@ import org.onosproject.net.mcast.MulticastRouteService; /** * Deletes a multicast route. */ +@Service @Command(scope = "onos", name = "mcast-delete", description = "Delete a multicast route flow") public class McastDeleteCommand extends AbstractShellCommand { @@ -55,7 +57,7 @@ public class McastDeleteCommand extends AbstractShellCommand { @Override - protected void execute() { + protected void doExecute() { MulticastRouteService mcastRouteManager = get(MulticastRouteService.class); if ("*".equals(sAddr) && "*".equals(gAddr)) { diff --git a/cli/src/main/java/org/onosproject/cli/net/McastJoinCommand.java b/cli/src/main/java/org/onosproject/cli/net/McastJoinCommand.java index 83969a8174..1c32d426b1 100644 --- a/cli/src/main/java/org/onosproject/cli/net/McastJoinCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/McastJoinCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onlab.packet.IpAddress; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.ConnectPoint; @@ -26,6 +27,7 @@ import org.onosproject.net.mcast.MulticastRouteService; /** * Installs a source, multicast group flow. */ +@Service @Command(scope = "onos", name = "mcast-join", description = "Installs a source, multicast group flow") public class McastJoinCommand extends AbstractShellCommand { @@ -55,7 +57,7 @@ public class McastJoinCommand extends AbstractShellCommand { String[] ports = null; @Override - protected void execute() { + protected void doExecute() { MulticastRouteService mcastRouteManager = get(MulticastRouteService.class); McastRoute mRoute = new McastRoute(IpAddress.valueOf(sAddr), diff --git a/cli/src/main/java/org/onosproject/cli/net/McastRoutesListCommand.java b/cli/src/main/java/org/onosproject/cli/net/McastRoutesListCommand.java index 003e53c3cc..146729a318 100644 --- a/cli/src/main/java/org/onosproject/cli/net/McastRoutesListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/McastRoutesListCommand.java @@ -15,7 +15,8 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.ConnectPoint; import org.onosproject.net.mcast.McastRoute; @@ -28,6 +29,7 @@ import java.util.stream.Collectors; /** * Displays the source, multicast group flows entries. */ +@Service @Command(scope = "onos", name = "mcast-routes", description = "Lists routes in the mcast route store") public class McastRoutesListCommand extends AbstractShellCommand { @@ -48,7 +50,7 @@ public class McastRoutesListCommand extends AbstractShellCommand { private static final String SINKS = "Sinks"; @Override - protected void execute() { + protected void doExecute() { // Get the service MulticastRouteService mcastService = get(MulticastRouteService.class); // Get the routes diff --git a/cli/src/main/java/org/onosproject/cli/net/McastShowCommand.java b/cli/src/main/java/org/onosproject/cli/net/McastShowCommand.java index 91ab0c4bc4..ff9e2e6b9b 100644 --- a/cli/src/main/java/org/onosproject/cli/net/McastShowCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/McastShowCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onlab.packet.IpAddress; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.ConnectPoint; @@ -32,6 +33,7 @@ import static com.google.common.base.Strings.isNullOrEmpty; /** * Displays the source, multicast group flows entries. */ +@Service @Command(scope = "onos", name = "mcast-show", description = "Displays the source, multicast group flows") public class McastShowCommand extends AbstractShellCommand { @@ -43,7 +45,7 @@ public class McastShowCommand extends AbstractShellCommand { String mcastIp; @Override - protected void execute() { + protected void doExecute() { // Get the service MulticastRouteService mcastService = get(MulticastRouteService.class); // Get the routes diff --git a/cli/src/main/java/org/onosproject/cli/net/MeterAddCommand.java b/cli/src/main/java/org/onosproject/cli/net/MeterAddCommand.java index 0b23f882cd..a892b1744d 100644 --- a/cli/src/main/java/org/onosproject/cli/net/MeterAddCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/MeterAddCommand.java @@ -15,9 +15,10 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.core.CoreService; import org.onosproject.net.DeviceId; @@ -36,6 +37,7 @@ import java.util.Set; /** * Add a meter to a device. */ +@Service @Command(scope = "onos", name = "meter-add", description = "Adds a meter to a device (currently for testing)") public class MeterAddCommand extends AbstractShellCommand { @@ -139,7 +141,7 @@ public class MeterAddCommand extends AbstractShellCommand { } @Override - protected void execute() { + protected void doExecute() { MeterService service = get(MeterService.class); CoreService coreService = get(CoreService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/MeterRemoveCommand.java b/cli/src/main/java/org/onosproject/cli/net/MeterRemoveCommand.java index 7814476047..9c08a86973 100644 --- a/cli/src/main/java/org/onosproject/cli/net/MeterRemoveCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/MeterRemoveCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.core.CoreService; import org.onosproject.net.DeviceId; @@ -33,6 +34,7 @@ import java.util.Collections; /** * Remove existing meter from device. */ +@Service @Command(scope = "onos", name = "meter-remove", description = "Removes a meter from a device (currently for testing)") public class MeterRemoveCommand extends AbstractShellCommand { @@ -48,7 +50,7 @@ public class MeterRemoveCommand extends AbstractShellCommand { private final String appId = "org.onosproject.cli.meterCmd"; @Override - protected void execute() { + protected void doExecute() { MeterService service = get(MeterService.class); CoreService coreService = get(CoreService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/MetersListCommand.java b/cli/src/main/java/org/onosproject/cli/net/MetersListCommand.java index 72dca0dfa3..354ccbc399 100644 --- a/cli/src/main/java/org/onosproject/cli/net/MetersListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/MetersListCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.net; import com.google.common.collect.Collections2; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.DeviceId; import org.onosproject.net.meter.Meter; @@ -31,6 +32,7 @@ import static com.google.common.base.Strings.isNullOrEmpty; /** * Lists all meters. */ +@Service @Command(scope = "onos", name = "meters", description = "Shows meters") public class MetersListCommand extends AbstractShellCommand { @@ -46,7 +48,7 @@ public class MetersListCommand extends AbstractShellCommand { MeterId meterId = null; @Override - protected void execute() { + protected void doExecute() { if (!isNullOrEmpty(meterstr)) { meterId = MeterId.meterId(Long.parseLong(meterstr)); diff --git a/cli/src/main/java/org/onosproject/cli/net/NeighbourHandlersListCommand.java b/cli/src/main/java/org/onosproject/cli/net/NeighbourHandlersListCommand.java index 8ba768b27f..924400a535 100644 --- a/cli/src/main/java/org/onosproject/cli/net/NeighbourHandlersListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/NeighbourHandlersListCommand.java @@ -16,7 +16,8 @@ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.intf.Interface; import org.onosproject.net.neighbour.NeighbourResolutionService; @@ -24,6 +25,7 @@ import org.onosproject.net.neighbour.NeighbourResolutionService; /** * Lists neighbour message handlers. */ +@Service @Command(scope = "onos", name = "neighbour-handlers", description = "Lists neighbour message handlers") public class NeighbourHandlersListCommand extends AbstractShellCommand { @@ -31,7 +33,7 @@ public class NeighbourHandlersListCommand extends AbstractShellCommand { private static final String FORMAT = "%20s: interface=%s, class=%s"; @Override - protected void execute() { + protected void doExecute() { NeighbourResolutionService service = get(NeighbourResolutionService.class); service.getHandlerRegistrations().forEach((cp, list) -> { diff --git a/cli/src/main/java/org/onosproject/cli/net/PacketProcessorsListCommand.java b/cli/src/main/java/org/onosproject/cli/net/PacketProcessorsListCommand.java index ffc9be2269..28a01f79c5 100644 --- a/cli/src/main/java/org/onosproject/cli/net/PacketProcessorsListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/PacketProcessorsListCommand.java @@ -18,7 +18,8 @@ package org.onosproject.cli.net; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.packet.PacketProcessorEntry; import org.onosproject.net.packet.PacketService; @@ -31,6 +32,7 @@ import static org.onosproject.net.packet.PacketProcessor.DIRECTOR_MAX; /** * Lists packet processors. */ +@Service @Command(scope = "onos", name = "packet-processors", description = "Lists packet processors") public class PacketProcessorsListCommand extends AbstractShellCommand { @@ -38,7 +40,7 @@ public class PacketProcessorsListCommand extends AbstractShellCommand { private static final String FMT = "priority=%s, class=%s, packets=%d, avgNanos=%d"; @Override - protected void execute() { + protected void doExecute() { PacketService service = get(PacketService.class); if (outputJson()) { print("%s", json(service.getProcessors())); diff --git a/cli/src/main/java/org/onosproject/cli/net/PacketRequestsListCommand.java b/cli/src/main/java/org/onosproject/cli/net/PacketRequestsListCommand.java index f3bfc61bc7..ecc2dc173c 100644 --- a/cli/src/main/java/org/onosproject/cli/net/PacketRequestsListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/PacketRequestsListCommand.java @@ -18,7 +18,8 @@ package org.onosproject.cli.net; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.packet.PacketRequest; import org.onosproject.net.packet.PacketService; @@ -28,6 +29,7 @@ import java.util.List; /** * Lists packet requests. */ +@Service @Command(scope = "onos", name = "packet-requests", description = "Lists packet requests") public class PacketRequestsListCommand extends AbstractShellCommand { @@ -35,7 +37,7 @@ public class PacketRequestsListCommand extends AbstractShellCommand { private static final String FMT = "nodeId=%s appId=%s, priority=%s, criteria=%s, deviceId=%s"; @Override - protected void execute() { + protected void doExecute() { PacketService service = get(PacketService.class); if (outputJson()) { print("%s", json(service.getRequests())); diff --git a/cli/src/main/java/org/onosproject/cli/net/PartitionsListCommand.java b/cli/src/main/java/org/onosproject/cli/net/PartitionsListCommand.java index c9df46ae5e..f38c78ea0f 100644 --- a/cli/src/main/java/org/onosproject/cli/net/PartitionsListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/PartitionsListCommand.java @@ -17,8 +17,9 @@ package org.onosproject.cli.net; import java.util.List; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.ControllerNode; @@ -37,6 +38,7 @@ import com.google.common.collect.Ordering; /** * Command to list the database partitions in the system. */ +@Service @Command(scope = "onos", name = "partitions", description = "Lists information about partitions in the system") public class PartitionsListCommand extends AbstractShellCommand { @@ -172,7 +174,7 @@ public class PartitionsListCommand extends AbstractShellCommand { } @Override - protected void execute() { + protected void doExecute() { StorageAdminService storageAdminService = get(StorageAdminService.class); if (reportClientInfo) { PartitionAdminService partitionAdminService = get(PartitionAdminService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/PathListCommand.java b/cli/src/main/java/org/onosproject/cli/net/PathListCommand.java index 0ee921458e..78d5c46bd1 100644 --- a/cli/src/main/java/org/onosproject/cli/net/PathListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/PathListCommand.java @@ -18,9 +18,10 @@ package org.onosproject.cli.net; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.DeviceId; import org.onosproject.net.DisjointPath; @@ -37,6 +38,7 @@ import static org.onosproject.net.DeviceId.deviceId; * Lists all shortest-paths paths between the specified source and * destination devices. */ +@Service @Command(scope = "onos", name = "paths", description = "Lists all shortest-paths paths between the specified source and destination devices") public class PathListCommand extends TopologyCommand { @@ -55,7 +57,7 @@ public class PathListCommand extends TopologyCommand { boolean disjoint = false; @Override - protected void execute() { + protected void doExecute() { init(); DeviceService deviceService = get(DeviceService.class); DeviceId srcDid = deviceId(src); diff --git a/cli/src/main/java/org/onosproject/cli/net/PortNumberCompleter.java b/cli/src/main/java/org/onosproject/cli/net/PortNumberCompleter.java index f0a5eecf47..ff38857049 100644 --- a/cli/src/main/java/org/onosproject/cli/net/PortNumberCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/PortNumberCompleter.java @@ -22,7 +22,6 @@ import java.util.List; import java.util.stream.Collectors; import java.util.stream.StreamSupport; -import org.apache.karaf.shell.console.completer.ArgumentCompleter.ArgumentList; import org.onosproject.cli.AbstractChoicesCompleter; import org.onosproject.net.Device; import org.onosproject.net.DeviceId; @@ -42,11 +41,10 @@ public class PortNumberCompleter extends AbstractChoicesCompleter { * @return DeviceId found or null if not found */ protected DeviceId lookForDeviceId() { - ArgumentList args = getArgumentList(); //parse argument list for deviceId DeviceService deviceService = getService(DeviceService.class); Device dev = null; - for (String str : args.getArguments()) { + for (String str : commandLine.getArguments()) { if (str.contains(":")) { dev = deviceService.getDevice(DeviceId.deviceId(str)); if (dev != null) { diff --git a/cli/src/main/java/org/onosproject/cli/net/PortQueryVlansCommand.java b/cli/src/main/java/org/onosproject/cli/net/PortQueryVlansCommand.java index 939f14a40d..75878f7cd2 100644 --- a/cli/src/main/java/org/onosproject/cli/net/PortQueryVlansCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/PortQueryVlansCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onlab.packet.VlanId; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.ConnectPoint; @@ -36,6 +37,7 @@ import java.util.Set; /** * Command to show the list of unused vlan-ids. */ +@Service @Command(scope = "onos", name = "port-query-vlans", description = "Lists all unused VLAN-IDs on port") public class PortQueryVlansCommand extends AbstractShellCommand { @@ -53,7 +55,7 @@ public class PortQueryVlansCommand extends AbstractShellCommand { @Override - protected void execute() { + protected void doExecute() { DeviceService service = get(DeviceService.class); for (String portStr : ports) { ConnectPoint connectPoint = ConnectPoint.deviceConnectPoint(portStr); diff --git a/cli/src/main/java/org/onosproject/cli/net/QueuesListCommand.java b/cli/src/main/java/org/onosproject/cli/net/QueuesListCommand.java index aa7d088dbd..612fb9e53d 100644 --- a/cli/src/main/java/org/onosproject/cli/net/QueuesListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/QueuesListCommand.java @@ -17,7 +17,8 @@ package org.onosproject.cli.net; import java.util.Map; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.store.service.StorageAdminService; import org.onosproject.store.service.WorkQueueStats; @@ -28,6 +29,7 @@ import com.fasterxml.jackson.databind.node.ObjectNode; /** * Command to list stats for all work queues in the system. */ +@Service @Command(scope = "onos", name = "queues", description = "Lists information about work queues in the system") public class QueuesListCommand extends AbstractShellCommand { @@ -35,7 +37,7 @@ public class QueuesListCommand extends AbstractShellCommand { private static final String FMT = "name=%s pending=%d inProgress=%d, completed=%d"; @Override - protected void execute() { + protected void doExecute() { StorageAdminService storageAdminService = get(StorageAdminService.class); Map queueStats = storageAdminService.getQueueStats(); if (outputJson()) { diff --git a/cli/src/main/java/org/onosproject/cli/net/RandomIntentCommand.java b/cli/src/main/java/org/onosproject/cli/net/RandomIntentCommand.java index b31f22dff3..5d3a2770e1 100644 --- a/cli/src/main/java/org/onosproject/cli/net/RandomIntentCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/RandomIntentCommand.java @@ -19,8 +19,9 @@ import java.util.Collection; import java.util.Collections; import java.util.List; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -35,6 +36,7 @@ import com.google.common.collect.Lists; /** * Installs bulk host-to-host intents between hosts of the network. */ +@Service @Command(scope = "onos", name = "push-random-intents", description = "It installs random intents to test throughput. The " + "maximum number of intents is determined by the number of " + @@ -57,7 +59,7 @@ public class RandomIntentCommand extends AbstractShellCommand { private int count; @Override - protected void execute() { + protected void doExecute() { service = get(IntentService.class); hostService = get(HostService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/RegionAddCommand.java b/cli/src/main/java/org/onosproject/cli/net/RegionAddCommand.java index 9a1047352e..5901241883 100644 --- a/cli/src/main/java/org/onosproject/cli/net/RegionAddCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/RegionAddCommand.java @@ -19,8 +19,9 @@ import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; import com.google.common.collect.Lists; import com.google.common.collect.Sets; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.cluster.NodeId; import org.onosproject.net.config.NetworkConfigService; @@ -35,6 +36,7 @@ import java.util.Set; /** * Add a new region. */ +@Service @Command(scope = "onos", name = "region-add", description = "Adds a new region.") public class RegionAddCommand extends AbstractShellCommand { @@ -86,7 +88,7 @@ public class RegionAddCommand extends AbstractShellCommand { List masterArgs = null; @Override - protected void execute() { + protected void doExecute() { RegionAdminService service = get(RegionAdminService.class); RegionId regionId = RegionId.regionId(id); diff --git a/cli/src/main/java/org/onosproject/cli/net/RegionAddDevicesCommand.java b/cli/src/main/java/org/onosproject/cli/net/RegionAddDevicesCommand.java index 7abb2e90a5..2ed04f8f78 100644 --- a/cli/src/main/java/org/onosproject/cli/net/RegionAddDevicesCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/RegionAddDevicesCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.DeviceId; import org.onosproject.net.region.RegionAdminService; @@ -28,6 +29,7 @@ import java.util.stream.Collectors; /** * Add a set of devices into existing region. */ +@Service @Command(scope = "onos", name = "region-add-devices", description = "Adds a set of devices into the region.") public class RegionAddDevicesCommand extends AbstractShellCommand { @@ -41,7 +43,7 @@ public class RegionAddDevicesCommand extends AbstractShellCommand { List devIds = null; @Override - protected void execute() { + protected void doExecute() { RegionAdminService service = get(RegionAdminService.class); RegionId regionId = RegionId.regionId(id); diff --git a/cli/src/main/java/org/onosproject/cli/net/RegionAddPeerLocCommand.java b/cli/src/main/java/org/onosproject/cli/net/RegionAddPeerLocCommand.java index 3c503c9b1f..146fdda82f 100644 --- a/cli/src/main/java/org/onosproject/cli/net/RegionAddPeerLocCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/RegionAddPeerLocCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.config.NetworkConfigService; import org.onosproject.net.config.basics.BasicRegionConfig; @@ -38,6 +39,7 @@ import org.onosproject.net.region.RegionId; * at grid-Y 100 and grid-X 200. * */ +@Service @Command(scope = "onos", name = "region-add-peer-loc", description = "Adds a peer location annotation to a region.") public class RegionAddPeerLocCommand extends AbstractShellCommand { @@ -68,7 +70,7 @@ public class RegionAddPeerLocCommand extends AbstractShellCommand { String locType = GEO; @Override - protected void execute() { + protected void doExecute() { RegionId regionId = RegionId.regionId(id); NetworkConfigService cfgService = get(NetworkConfigService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/RegionListCommand.java b/cli/src/main/java/org/onosproject/cli/net/RegionListCommand.java index e033ba9d10..e959d3e18b 100644 --- a/cli/src/main/java/org/onosproject/cli/net/RegionListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/RegionListCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.utils.Comparators; import org.onosproject.net.region.Region; @@ -31,6 +32,7 @@ import static com.google.common.collect.Lists.newArrayList; /** * List Region details including membership. */ +@Service @Command(scope = "onos", name = "regions", description = "List Region details including membership") public class RegionListCommand extends AbstractShellCommand { @@ -45,7 +47,7 @@ public class RegionListCommand extends AbstractShellCommand { private RegionService regionService; @Override - protected void execute() { + protected void doExecute() { regionService = get(RegionService.class); if (id == null) { for (Region region : getSortedRegions(regionService)) { diff --git a/cli/src/main/java/org/onosproject/cli/net/RegionRemoveCommand.java b/cli/src/main/java/org/onosproject/cli/net/RegionRemoveCommand.java index 20c9dec693..83956b550b 100644 --- a/cli/src/main/java/org/onosproject/cli/net/RegionRemoveCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/RegionRemoveCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.region.RegionAdminService; import org.onosproject.net.region.RegionId; @@ -24,6 +25,7 @@ import org.onosproject.net.region.RegionId; /** * Removes a region from the existing region list. */ +@Service @Command(scope = "onos", name = "region-remove", description = "Removes an existing region.") public class RegionRemoveCommand extends AbstractShellCommand { @@ -33,7 +35,7 @@ public class RegionRemoveCommand extends AbstractShellCommand { String id = null; @Override - protected void execute() { + protected void doExecute() { RegionAdminService service = get(RegionAdminService.class); RegionId regionId = RegionId.regionId(id); diff --git a/cli/src/main/java/org/onosproject/cli/net/RegionRemoveDevicesCommand.java b/cli/src/main/java/org/onosproject/cli/net/RegionRemoveDevicesCommand.java index 3d16612b49..aac1023619 100644 --- a/cli/src/main/java/org/onosproject/cli/net/RegionRemoveDevicesCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/RegionRemoveDevicesCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.DeviceId; import org.onosproject.net.region.RegionAdminService; @@ -28,6 +29,7 @@ import java.util.stream.Collectors; /** * Remove a set of devices from existing region. */ +@Service @Command(scope = "onos", name = "region-remove-devices", description = "Removes a set of devices from the region.") public class RegionRemoveDevicesCommand extends AbstractShellCommand { @@ -41,7 +43,7 @@ public class RegionRemoveDevicesCommand extends AbstractShellCommand { List devIds = null; @Override - protected void execute() { + protected void doExecute() { RegionAdminService service = get(RegionAdminService.class); RegionId regionId = RegionId.regionId(id); diff --git a/cli/src/main/java/org/onosproject/cli/net/RegionUpdateCommand.java b/cli/src/main/java/org/onosproject/cli/net/RegionUpdateCommand.java index a31bbbbcd9..3b164d40d0 100644 --- a/cli/src/main/java/org/onosproject/cli/net/RegionUpdateCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/RegionUpdateCommand.java @@ -19,8 +19,9 @@ import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; import com.google.common.collect.Lists; import com.google.common.collect.Sets; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.cluster.NodeId; import org.onosproject.net.region.Region; @@ -34,6 +35,7 @@ import java.util.Set; /** * Update an existing region. */ +@Service @Command(scope = "onos", name = "region-update", description = "Updates an existing region.") public class RegionUpdateCommand extends AbstractShellCommand { @@ -65,7 +67,7 @@ public class RegionUpdateCommand extends AbstractShellCommand { List masterArgs = null; @Override - protected void execute() { + protected void doExecute() { RegionService regionService = get(RegionService.class); RegionAdminService regionAdminService = get(RegionAdminService.class); RegionId regionId = RegionId.regionId(id); diff --git a/cli/src/main/java/org/onosproject/cli/net/ResourcesCommand.java b/cli/src/main/java/org/onosproject/cli/net/ResourcesCommand.java index 1e24cb90bd..9d57f6626f 100644 --- a/cli/src/main/java/org/onosproject/cli/net/ResourcesCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/ResourcesCommand.java @@ -25,9 +25,10 @@ import java.util.Arrays; import java.util.Collections; import com.google.common.collect.Iterables; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onlab.packet.MplsLabel; import org.onlab.packet.VlanId; import org.onosproject.cli.AbstractShellCommand; @@ -52,6 +53,7 @@ import com.google.common.collect.TreeRangeSet; /** * Lists registered resources. */ +@Service @Command(scope = "onos", name = "resources", description = "Lists registered resources") public class ResourcesCommand extends AbstractShellCommand { @@ -83,7 +85,7 @@ public class ResourcesCommand extends AbstractShellCommand { private ResourceQueryService resourceService; @Override - protected void execute() { + protected void doExecute() { resourceService = get(ResourceQueryService.class); if (typeStrings != null) { diff --git a/cli/src/main/java/org/onosproject/cli/net/RoleCompleter.java b/cli/src/main/java/org/onosproject/cli/net/RoleCompleter.java index 6fa13944f7..77fad806c6 100644 --- a/cli/src/main/java/org/onosproject/cli/net/RoleCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/RoleCompleter.java @@ -15,8 +15,11 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import org.onosproject.net.MastershipRole; import java.util.List; @@ -25,9 +28,10 @@ import java.util.SortedSet; /** * Device mastership role completer. */ +@Service public class RoleCompleter implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); SortedSet strings = delegate.getStrings(); @@ -36,7 +40,7 @@ public class RoleCompleter implements Completer { strings.add(MastershipRole.NONE.toString().toLowerCase()); // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/net/TableStatisticsCommand.java b/cli/src/main/java/org/onosproject/cli/net/TableStatisticsCommand.java index aedbaeebb0..9d3ec6933c 100644 --- a/cli/src/main/java/org/onosproject/cli/net/TableStatisticsCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/TableStatisticsCommand.java @@ -23,9 +23,10 @@ import java.util.Map; import java.util.SortedMap; import java.util.TreeMap; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.utils.Comparators; import org.onosproject.net.Device; @@ -42,6 +43,7 @@ import com.fasterxml.jackson.databind.node.ObjectNode; /** * Lists port statistic of all ports in the system. */ +@Service @Command(scope = "onos", name = "tablestats", description = "Lists statistics of all tables in the device") public class TableStatisticsCommand extends AbstractShellCommand { @@ -58,7 +60,7 @@ public class TableStatisticsCommand extends AbstractShellCommand { " table=%s, active=%s, lookedup=%s, matched=%s"; @Override - protected void execute() { + protected void doExecute() { FlowRuleService flowService = get(FlowRuleService.class); DeviceService deviceService = get(DeviceService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/TestAllocateResource.java b/cli/src/main/java/org/onosproject/cli/net/TestAllocateResource.java index 172687a548..4631920067 100644 --- a/cli/src/main/java/org/onosproject/cli/net/TestAllocateResource.java +++ b/cli/src/main/java/org/onosproject/cli/net/TestAllocateResource.java @@ -17,9 +17,10 @@ package org.onosproject.cli.net; import java.util.Optional; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.ChannelSpacing; import org.onosproject.net.DeviceId; @@ -36,6 +37,7 @@ import org.onosproject.net.resource.Resources; /** * Test tool to allocate resources. */ +@Service @Command(scope = "onos", name = "test-allocate-resources", description = "Test tool to allocate resources") public class TestAllocateResource extends AbstractShellCommand { @@ -65,7 +67,7 @@ public class TestAllocateResource extends AbstractShellCommand { private ResourceService resourceService; @Override - protected void execute() { + protected void doExecute() { resourceService = get(ResourceService.class); DeviceId did = DeviceId.deviceId(deviceIdStr); PortNumber portNum = PortNumber.fromString(portNumberStr); diff --git a/cli/src/main/java/org/onosproject/cli/net/TestProtectionEndpointIntentCommand.java b/cli/src/main/java/org/onosproject/cli/net/TestProtectionEndpointIntentCommand.java index 27ae936629..373d5fffa6 100644 --- a/cli/src/main/java/org/onosproject/cli/net/TestProtectionEndpointIntentCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/TestProtectionEndpointIntentCommand.java @@ -19,9 +19,10 @@ import java.util.ArrayList; import java.util.List; import java.util.Optional; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onlab.packet.VlanId; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.ConnectPoint; @@ -40,6 +41,7 @@ import org.onosproject.net.intent.ProtectionEndpointIntent; /** * Test tool to add ProtectionEndpointIntent. */ +@Service @Command(scope = "onos", name = "test-add-protection-endpoint", description = "Test tool to add ProtectionEndpointIntent") public class TestProtectionEndpointIntentCommand extends AbstractShellCommand { @@ -83,7 +85,7 @@ public class TestProtectionEndpointIntentCommand extends AbstractShellCommand { private DeviceService deviceService; @Override - protected void execute() { + protected void doExecute() { fingerprint = Optional.ofNullable(fingerprint) .orElse(DEFAULT_FINGERPRINT); diff --git a/cli/src/main/java/org/onosproject/cli/net/TopologyCommand.java b/cli/src/main/java/org/onosproject/cli/net/TopologyCommand.java index 0b4b4b3fd0..ad1db1123d 100644 --- a/cli/src/main/java/org/onosproject/cli/net/TopologyCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/TopologyCommand.java @@ -20,8 +20,9 @@ import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.concurrent.TimeUnit; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.topology.Topology; import org.onosproject.net.topology.TopologyProvider; @@ -30,6 +31,7 @@ import org.onosproject.net.topology.TopologyService; /** * Lists summary of the current topology. */ +@Service @Command(scope = "onos", name = "topology", description = "Lists summary of the current topology") public class TopologyCommand extends AbstractShellCommand { @@ -53,7 +55,7 @@ public class TopologyCommand extends AbstractShellCommand { } @Override - protected void execute() { + protected void doExecute() { init(); long topologyUptime = Math.max(0, (System.currentTimeMillis() - topology.creationTime())); diff --git a/cli/src/main/java/org/onosproject/cli/net/TransactionsCommand.java b/cli/src/main/java/org/onosproject/cli/net/TransactionsCommand.java index ec6a1a84b9..1eb1643385 100644 --- a/cli/src/main/java/org/onosproject/cli/net/TransactionsCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/TransactionsCommand.java @@ -17,7 +17,8 @@ package org.onosproject.cli.net; import java.util.Collection; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.store.primitives.TransactionId; import org.onosproject.store.service.StorageAdminService; @@ -29,6 +30,7 @@ import com.fasterxml.jackson.databind.node.ArrayNode; /** * CLI to view in-progress database transactions in the system. */ +@Service @Command(scope = "onos", name = "transactions", description = "Utility for listing pending/inprogress transactions") public class TransactionsCommand extends AbstractShellCommand { @@ -46,7 +48,7 @@ public class TransactionsCommand extends AbstractShellCommand { } @Override - protected void execute() { + protected void doExecute() { StorageAdminService storageAdminService = get(StorageAdminService.class); Collection transactionIds = storageAdminService.getPendingTransactions(); if (outputJson()) { diff --git a/cli/src/main/java/org/onosproject/cli/net/TunnelBorrowCommand.java b/cli/src/main/java/org/onosproject/cli/net/TunnelBorrowCommand.java index 1815432404..8d30733d78 100644 --- a/cli/src/main/java/org/onosproject/cli/net/TunnelBorrowCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/TunnelBorrowCommand.java @@ -19,9 +19,10 @@ import java.util.Collection; import java.util.HashSet; import java.util.Optional; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onlab.packet.IpAddress; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.core.ApplicationId; @@ -42,6 +43,7 @@ import org.onosproject.net.provider.ProviderId; /** * Borrows tunnels. It's used by consumers. */ +@Service @Command(scope = "onos", name = "tunnel-borrow", description = "Borrows tunnels. It's used by consumers.") public class TunnelBorrowCommand extends AbstractShellCommand { @@ -77,7 +79,7 @@ public class TunnelBorrowCommand extends AbstractShellCommand { + "groupId=%s"; @Override - protected void execute() { + protected void doExecute() { Collection tunnelSet = null; Tunnel.Type trueType = null; TunnelService service = get(TunnelService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/TunnelCreateCommand.java b/cli/src/main/java/org/onosproject/cli/net/TunnelCreateCommand.java index 262f50ebf3..6b3a77bd11 100644 --- a/cli/src/main/java/org/onosproject/cli/net/TunnelCreateCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/TunnelCreateCommand.java @@ -17,9 +17,10 @@ package org.onosproject.cli.net; import java.util.Optional; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onlab.packet.IpAddress; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.core.GroupId; @@ -44,6 +45,7 @@ import org.onosproject.net.provider.ProviderId; * Supports for creating a tunnel by using IP address and optical as tunnel end * point. */ +@Service @Command(scope = "onos", name = "tunnel-create", description = "Supports for creating a tunnel by using IP address and optical as tunnel end point now.") public class TunnelCreateCommand extends AbstractShellCommand { @@ -77,7 +79,7 @@ public class TunnelCreateCommand extends AbstractShellCommand { private static final String FMT = "The tunnel identity is %s"; @Override - protected void execute() { + protected void doExecute() { TunnelProvider service = get(TunnelProvider.class); ProviderId producerName = new ProviderId("default", "org.onosproject.provider.tunnel.default"); diff --git a/cli/src/main/java/org/onosproject/cli/net/TunnelQueryCommand.java b/cli/src/main/java/org/onosproject/cli/net/TunnelQueryCommand.java index 1aff4561f4..76dd752df0 100644 --- a/cli/src/main/java/org/onosproject/cli/net/TunnelQueryCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/TunnelQueryCommand.java @@ -19,8 +19,9 @@ import java.util.Collection; import java.util.HashSet; import java.util.Optional; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onlab.packet.IpAddress; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.tunnel.DefaultOpticalTunnelEndPoint; @@ -40,6 +41,7 @@ import org.onosproject.net.provider.ProviderId; /** * Supports for querying tunnels. It's used by consumers. */ +@Service @Command(scope = "onos", name = "tunnels", description = "Supports for querying tunnels." + " It's used by consumers.") public class TunnelQueryCommand extends AbstractShellCommand { @@ -67,7 +69,7 @@ public class TunnelQueryCommand extends AbstractShellCommand { + "groupId=%s, path=%s%s"; @Override - protected void execute() { + protected void doExecute() { Tunnel.Type trueType = null; TunnelService service = get(TunnelService.class); ProviderId producerName = new ProviderId("default", diff --git a/cli/src/main/java/org/onosproject/cli/net/TunnelQuerySubscriptionCommand.java b/cli/src/main/java/org/onosproject/cli/net/TunnelQuerySubscriptionCommand.java index 2c8cb20a04..fed8e6442e 100644 --- a/cli/src/main/java/org/onosproject/cli/net/TunnelQuerySubscriptionCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/TunnelQuerySubscriptionCommand.java @@ -17,8 +17,9 @@ package org.onosproject.cli.net; import java.util.Collection; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.core.ApplicationId; import org.onosproject.core.DefaultApplicationId; @@ -29,6 +30,7 @@ import org.onosproject.incubator.net.tunnel.TunnelSubscription; * Query all tunnel subscriptions of consumer by consumer id. * It's used by consumers. */ +@Service @Command(scope = "onos", name = "tunnel-subscriptions", description = "Query all request orders of consumer by consumer id. It's used by consumers.") public class TunnelQuerySubscriptionCommand extends AbstractShellCommand { @@ -40,7 +42,7 @@ public class TunnelQuerySubscriptionCommand extends AbstractShellCommand { + "type=%s, tunnelId=%s"; @Override - protected void execute() { + protected void doExecute() { TunnelService service = get(TunnelService.class); ApplicationId applicationId = new DefaultApplicationId(1, consumerId); Collection tunnelSet = service.queryTunnelSubscription(applicationId); diff --git a/cli/src/main/java/org/onosproject/cli/net/TunnelRemoveCommand.java b/cli/src/main/java/org/onosproject/cli/net/TunnelRemoveCommand.java index 4305d217d8..8d683cbfbe 100644 --- a/cli/src/main/java/org/onosproject/cli/net/TunnelRemoveCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/TunnelRemoveCommand.java @@ -18,8 +18,9 @@ package org.onosproject.cli.net; import java.util.Collection; import java.util.Optional; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onlab.packet.IpAddress; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.tunnel.DefaultOpticalTunnelEndPoint; @@ -40,6 +41,7 @@ import org.onosproject.net.provider.ProviderId; /** * Supports for removing tunnels. It's used by producers. */ +@Service @Command(scope = "onos", name = "tunnel-remove", description = "Supports for removing tunnels. It's used by producers.") public class TunnelRemoveCommand extends AbstractShellCommand { @Option(name = "-s", aliases = "--src", description = "Source tunnel point." @@ -62,7 +64,7 @@ public class TunnelRemoveCommand extends AbstractShellCommand { String tunnelId = null; @Override - protected void execute() { + protected void doExecute() { TunnelDescription tunnel = null; TunnelProvider service = get(TunnelProvider.class); ProviderId producerName = new ProviderId("default", diff --git a/cli/src/main/java/org/onosproject/cli/net/TunnelReturnCommand.java b/cli/src/main/java/org/onosproject/cli/net/TunnelReturnCommand.java index dbc34fb17f..cab46f92d5 100644 --- a/cli/src/main/java/org/onosproject/cli/net/TunnelReturnCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/TunnelReturnCommand.java @@ -17,9 +17,10 @@ package org.onosproject.cli.net; import java.util.Optional; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onlab.packet.IpAddress; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.core.ApplicationId; @@ -40,6 +41,7 @@ import org.onosproject.net.provider.ProviderId; /** * Returns tunnels. It's used by consumers. */ +@Service @Command(scope = "onos", name = "tunnel-return", description = "Returns tunnels. It's used by consumers.") public class TunnelReturnCommand extends AbstractShellCommand { @@ -72,7 +74,7 @@ public class TunnelReturnCommand extends AbstractShellCommand { String tunnelName = null; @Override - protected void execute() { + protected void doExecute() { Tunnel.Type trueType = null; TunnelService service = get(TunnelService.class); ApplicationId appId = new DefaultApplicationId(1, consumerId); diff --git a/cli/src/main/java/org/onosproject/cli/net/TunnelUpdateCommand.java b/cli/src/main/java/org/onosproject/cli/net/TunnelUpdateCommand.java index efa0a9f3b8..9bfdadde64 100644 --- a/cli/src/main/java/org/onosproject/cli/net/TunnelUpdateCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/TunnelUpdateCommand.java @@ -15,9 +15,10 @@ */ package org.onosproject.cli.net; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.tunnel.DefaultTunnelDescription; import org.onosproject.incubator.net.tunnel.TunnelDescription; @@ -30,6 +31,7 @@ import org.onosproject.net.SparseAnnotations; * Supports for updating a tunnel by tunnel identity. * It's used by producers. */ +@Service @Command(scope = "onos", name = "tunnel-update", description = "Supports for updating a tunnel by tunnel identity." + " It's used by producers.") @@ -43,7 +45,7 @@ public class TunnelUpdateCommand extends AbstractShellCommand { String bandwidth = null; @Override - protected void execute() { + protected void doExecute() { TunnelProvider service = get(TunnelProvider.class); TunnelId id = TunnelId.valueOf(tunnelId); SparseAnnotations annotations = DefaultAnnotations diff --git a/cli/src/main/java/org/onosproject/cli/net/WipeOutCommand.java b/cli/src/main/java/org/onosproject/cli/net/WipeOutCommand.java index 880621d31f..7bfd6b981b 100644 --- a/cli/src/main/java/org/onosproject/cli/net/WipeOutCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/WipeOutCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.net; import com.google.common.collect.Sets; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onlab.util.Tools; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.net.Device; @@ -50,6 +51,7 @@ import static org.onosproject.net.intent.IntentState.WITHDRAWN; /** * Wipes-out the entire network information base, i.e. devices, links, hosts, intents. */ +@Service @Command(scope = "onos", name = "wipe-out", description = "Wipes-out the entire network information base, i.e. devices, links, hosts") public class WipeOutCommand extends AbstractShellCommand { @@ -59,7 +61,7 @@ public class WipeOutCommand extends AbstractShellCommand { String please = null; @Override - protected void execute() { + protected void doExecute() { if (please == null || !please.equals(PLEASE)) { print("I'm afraid I can't do that!\nSay: %s", PLEASE); return; diff --git a/cli/src/main/java/org/onosproject/cli/net/completer/PeerConnectPointCompleter.java b/cli/src/main/java/org/onosproject/cli/net/completer/PeerConnectPointCompleter.java index a21eb67025..222f6430a2 100644 --- a/cli/src/main/java/org/onosproject/cli/net/completer/PeerConnectPointCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/completer/PeerConnectPointCompleter.java @@ -15,8 +15,10 @@ */ package org.onosproject.cli.net.completer; -import static org.onlab.osgi.DefaultServiceDirectory.getService; -import static org.onosproject.net.ConnectPoint.deviceConnectPoint; +import org.onosproject.cli.AbstractChoicesCompleter; +import org.onosproject.net.ConnectPoint; +import org.onosproject.net.device.DeviceService; +import org.onosproject.net.link.LinkService; import java.util.Arrays; import java.util.Collections; @@ -26,11 +28,8 @@ import java.util.Optional; import java.util.stream.Collectors; import java.util.stream.Stream; -import org.apache.karaf.shell.console.completer.ArgumentCompleter.ArgumentList; -import org.onosproject.cli.AbstractChoicesCompleter; -import org.onosproject.net.ConnectPoint; -import org.onosproject.net.device.DeviceService; -import org.onosproject.net.link.LinkService; +import static org.onlab.osgi.DefaultServiceDirectory.getService; +import static org.onosproject.net.ConnectPoint.deviceConnectPoint; /** * Completer, which proposes remote end of existing Link in the system. @@ -42,12 +41,11 @@ public class PeerConnectPointCompleter extends AbstractChoicesCompleter { @Override protected List choices() { - ArgumentList args = getArgumentList(); DeviceService deviceService = getService(DeviceService.class); LinkService linkService = getService(LinkService.class); - Optional port = Arrays.asList(args.getArguments()).stream() + Optional port = Arrays.asList(commandLine.getArguments()).stream() .filter(s -> s.contains(":") && s.contains("/")) .map(s -> { try { diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/TenantAddCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/TenantAddCommand.java index e9439c8b1f..ab4fc66da0 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/TenantAddCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/TenantAddCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.virtual.TenantId; import org.onosproject.incubator.net.virtual.VirtualNetworkAdminService; @@ -25,6 +26,7 @@ import org.onosproject.incubator.net.virtual.VirtualNetworkAdminService; /** * Creates a new virtual network tenant. */ +@Service @Command(scope = "onos", name = "vnet-add-tenant", description = "Creates a new virtual network tenant.") @@ -35,7 +37,7 @@ public class TenantAddCommand extends AbstractShellCommand { String id = null; @Override - protected void execute() { + protected void doExecute() { VirtualNetworkAdminService service = get(VirtualNetworkAdminService.class); service.registerTenantId(TenantId.tenantId(id)); print("Tenant successfully added."); diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/TenantCompleter.java b/cli/src/main/java/org/onosproject/cli/net/vnet/TenantCompleter.java index 22d7b6db5a..f8b977f44a 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/TenantCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/TenantCompleter.java @@ -16,8 +16,11 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.virtual.TenantId; import org.onosproject.incubator.net.virtual.VirtualNetworkAdminService; @@ -28,9 +31,10 @@ import java.util.SortedSet; /** * Tenant Id completer. */ +@Service public class TenantCompleter implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); @@ -44,6 +48,6 @@ public class TenantCompleter implements Completer { } // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/TenantListCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/TenantListCommand.java index a401a487f4..e701250643 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/TenantListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/TenantListCommand.java @@ -16,7 +16,8 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.virtual.TenantId; import org.onosproject.incubator.net.virtual.VirtualNetworkAdminService; @@ -29,6 +30,7 @@ import java.util.List; /** * Lists all tenants. */ +@Service @Command(scope = "onos", name = "vnet-tenants", description = "Lists all virtual network tenants.") public class TenantListCommand extends AbstractShellCommand { @@ -36,7 +38,7 @@ public class TenantListCommand extends AbstractShellCommand { private static final String FMT_TENANT = "tenantId=%s"; @Override - protected void execute() { + protected void doExecute() { VirtualNetworkAdminService service = get(VirtualNetworkAdminService.class); List tenants = new ArrayList<>(); tenants.addAll(service.getTenantIds()); diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/TenantRemoveCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/TenantRemoveCommand.java index 36f9d1c0a7..49ed5931d1 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/TenantRemoveCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/TenantRemoveCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.virtual.TenantId; import org.onosproject.incubator.net.virtual.VirtualNetworkAdminService; @@ -25,6 +26,7 @@ import org.onosproject.incubator.net.virtual.VirtualNetworkAdminService; /** * Creates a new virtual network tenant. */ +@Service @Command(scope = "onos", name = "vnet-remove-tenant", description = "Removes a virtual network tenant.") @@ -35,7 +37,7 @@ public class TenantRemoveCommand extends AbstractShellCommand { String id = null; @Override - protected void execute() { + protected void doExecute() { VirtualNetworkAdminService service = get(VirtualNetworkAdminService.class); service.unregisterTenantId(TenantId.tenantId(id)); print("Tenant successfully removed."); diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualDeviceCompleter.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualDeviceCompleter.java index 780c0bbfae..4b554a75d0 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualDeviceCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualDeviceCompleter.java @@ -18,7 +18,6 @@ package org.onosproject.cli.net.vnet; import static org.onlab.osgi.DefaultServiceDirectory.getService; -import org.apache.karaf.shell.console.completer.ArgumentCompleter.ArgumentList; import org.onosproject.cli.AbstractChoicesCompleter; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualDevice; @@ -38,9 +37,8 @@ import java.util.stream.Collectors; public class VirtualDeviceCompleter extends AbstractChoicesCompleter { @Override protected List choices() { - ArgumentList args = getArgumentList(); //parse argument list for network id - String[] argsArray = args.getArguments(); + String[] argsArray = commandLine.getArguments(); for (String str : argsArray) { if (str.matches("[0-9]+")) { long networkId = Long.valueOf(str); diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualDeviceCreateCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualDeviceCreateCommand.java index a9eb8d4a85..16c119358c 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualDeviceCreateCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualDeviceCreateCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualNetworkAdminService; @@ -26,6 +27,7 @@ import org.onosproject.net.DeviceId; /** * Creates a new virtual device. */ +@Service @Command(scope = "onos", name = "vnet-create-device", description = "Creates a new virtual device in a network.") public class VirtualDeviceCreateCommand extends AbstractShellCommand { @@ -39,7 +41,7 @@ public class VirtualDeviceCreateCommand extends AbstractShellCommand { String deviceId = null; @Override - protected void execute() { + protected void doExecute() { VirtualNetworkAdminService service = get(VirtualNetworkAdminService.class); service.createVirtualDevice(NetworkId.networkId(networkId), DeviceId.deviceId(deviceId)); print("Virtual device successfully created."); diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualDeviceListCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualDeviceListCommand.java index 65f4107050..3f5202118f 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualDeviceListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualDeviceListCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualDevice; @@ -31,6 +32,7 @@ import java.util.List; /** * Lists all virtual devices for the network ID. */ +@Service @Command(scope = "onos", name = "vnet-devices", description = "Lists all virtual devices in a virtual network.") public class VirtualDeviceListCommand extends AbstractShellCommand { @@ -43,7 +45,7 @@ public class VirtualDeviceListCommand extends AbstractShellCommand { Long networkId = null; @Override - protected void execute() { + protected void doExecute() { getSortedVirtualDevices().forEach(this::printVirtualDevice); } diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualDeviceRemoveCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualDeviceRemoveCommand.java index f04bcda62c..c04c7107ec 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualDeviceRemoveCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualDeviceRemoveCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualNetworkAdminService; @@ -26,6 +27,7 @@ import org.onosproject.net.DeviceId; /** * Removes a virtual device. */ +@Service @Command(scope = "onos", name = "vnet-remove-device", description = "Removes a virtual device.") public class VirtualDeviceRemoveCommand extends AbstractShellCommand { @@ -39,7 +41,7 @@ public class VirtualDeviceRemoveCommand extends AbstractShellCommand { String deviceId = null; @Override - protected void execute() { + protected void doExecute() { VirtualNetworkAdminService service = get(VirtualNetworkAdminService.class); service.removeVirtualDevice(NetworkId.networkId(networkId), DeviceId.deviceId(deviceId)); print("Virtual device successfully removed."); diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualFlowsListCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualFlowsListCommand.java index ff0cf7d33d..b783ab7d1c 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualFlowsListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualFlowsListCommand.java @@ -19,9 +19,10 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ObjectNode; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onlab.util.StringFilter; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.core.ApplicationId; @@ -53,6 +54,7 @@ import static com.google.common.collect.Lists.newArrayList; /** * Lists all currently-known flows. */ +@Service @Command(scope = "onos", name = "vnet-flows", description = "Lists all currently-known flows for a virtual network.") public class VirtualFlowsListCommand extends AbstractShellCommand { @@ -104,7 +106,7 @@ public class VirtualFlowsListCommand extends AbstractShellCommand { private StringFilter contentFilter; @Override - protected void execute() { + protected void doExecute() { CoreService coreService = get(CoreService.class); VirtualNetworkService vnetservice = get(VirtualNetworkService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualHostCompleter.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualHostCompleter.java index c44ef40e7a..dec2a350bc 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualHostCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualHostCompleter.java @@ -16,7 +16,6 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.console.completer.ArgumentCompleter.ArgumentList; import org.onosproject.cli.AbstractChoicesCompleter; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualHost; @@ -37,9 +36,8 @@ import static org.onlab.osgi.DefaultServiceDirectory.getService; public class VirtualHostCompleter extends AbstractChoicesCompleter { @Override protected List choices() { - ArgumentList args = getArgumentList(); //parse argument list for network id - String[] argsArray = args.getArguments(); + String[] argsArray = commandLine.getArguments(); for (String str : argsArray) { if (str.matches("[0-9]+")) { long networkId = Long.valueOf(str); diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualHostCreateCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualHostCreateCommand.java index b2990e9c5f..505e8c30f7 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualHostCreateCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualHostCreateCommand.java @@ -16,9 +16,10 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onlab.packet.IpAddress; import org.onlab.packet.MacAddress; import org.onlab.packet.VlanId; @@ -37,6 +38,7 @@ import java.util.Set; /** * Creates a new virtual host. */ +@Service @Command(scope = "onos", name = "vnet-create-host", description = "Creates a new virtual host in a network.") public class VirtualHostCreateCommand extends AbstractShellCommand { @@ -67,7 +69,7 @@ public class VirtualHostCreateCommand extends AbstractShellCommand { protected String[] hostIpStrings; @Override - protected void execute() { + protected void doExecute() { VirtualNetworkAdminService service = get(VirtualNetworkAdminService.class); Set hostIps = new HashSet<>(); diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualHostListCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualHostListCommand.java index 12512b7201..7ae3b593ec 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualHostListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualHostListCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualHost; @@ -29,6 +30,7 @@ import java.util.List; /** * Lists all virtual hosts for the network ID. */ +@Service @Command(scope = "onos", name = "vnet-hosts", description = "Lists all virtual hosts in a virtual network.") public class VirtualHostListCommand extends AbstractShellCommand { @@ -41,7 +43,7 @@ public class VirtualHostListCommand extends AbstractShellCommand { Long networkId = null; @Override - protected void execute() { + protected void doExecute() { getSortedVirtualHosts().forEach(this::printVirtualHost); } diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualHostRemoveCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualHostRemoveCommand.java index a496e38b82..4d3370d25e 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualHostRemoveCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualHostRemoveCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualNetworkAdminService; @@ -28,6 +29,7 @@ import org.onosproject.net.HostId; * Removes a virtual host. */ +@Service @Command(scope = "onos", name = "vnet-remove-host", description = "Removes a virtual host.") public class VirtualHostRemoveCommand extends AbstractShellCommand { @@ -41,7 +43,7 @@ public class VirtualHostRemoveCommand extends AbstractShellCommand { String id = null; @Override - protected void execute() { + protected void doExecute() { VirtualNetworkAdminService service = get(VirtualNetworkAdminService.class); service.removeVirtualHost(NetworkId.networkId(networkId), HostId.hostId(id)); print("Virtual host successfully removed."); diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualLinkCreateCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualLinkCreateCommand.java index 604e1960a8..89057ad3b5 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualLinkCreateCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualLinkCreateCommand.java @@ -16,9 +16,10 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualNetworkAdminService; @@ -29,6 +30,7 @@ import org.onosproject.net.PortNumber; /** * Creates a new virtual link. */ +@Service @Command(scope = "onos", name = "vnet-create-link", description = "Creates a new virtual link in a network.") public class VirtualLinkCreateCommand extends AbstractShellCommand { @@ -60,7 +62,7 @@ public class VirtualLinkCreateCommand extends AbstractShellCommand { boolean bidirectional = false; @Override - protected void execute() { + protected void doExecute() { VirtualNetworkAdminService service = get(VirtualNetworkAdminService.class); ConnectPoint src = new ConnectPoint(DeviceId.deviceId(srcDeviceId), PortNumber.portNumber(srcPortNum)); ConnectPoint dst = new ConnectPoint(DeviceId.deviceId(dstDeviceId), PortNumber.portNumber(dstPortNum)); diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualLinkListCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualLinkListCommand.java index c7f3c865e2..c5c64626a4 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualLinkListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualLinkListCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualLink; @@ -29,6 +30,7 @@ import java.util.List; /** * Lists all virtual links for the network ID. */ +@Service @Command(scope = "onos", name = "vnet-links", description = "Lists all virtual links in a virtual network.") public class VirtualLinkListCommand extends AbstractShellCommand { @@ -41,7 +43,7 @@ public class VirtualLinkListCommand extends AbstractShellCommand { Long networkId = null; @Override - protected void execute() { + protected void doExecute() { getSortedVirtualLinks().forEach(this::printVirtualLink); } diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualLinkRemoveCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualLinkRemoveCommand.java index 3e0034ab5b..130c5806d0 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualLinkRemoveCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualLinkRemoveCommand.java @@ -16,9 +16,10 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualNetworkAdminService; @@ -29,6 +30,7 @@ import org.onosproject.net.PortNumber; /** * Removes a virtual link. */ +@Service @Command(scope = "onos", name = "vnet-remove-link", description = "Removes a virtual link.") public class VirtualLinkRemoveCommand extends AbstractShellCommand { @@ -60,7 +62,7 @@ public class VirtualLinkRemoveCommand extends AbstractShellCommand { boolean bidirectional = false; @Override - protected void execute() { + protected void doExecute() { VirtualNetworkAdminService service = get(VirtualNetworkAdminService.class); ConnectPoint src = new ConnectPoint(DeviceId.deviceId(srcDeviceId), PortNumber.portNumber(srcPortNum)); ConnectPoint dst = new ConnectPoint(DeviceId.deviceId(dstDeviceId), PortNumber.portNumber(dstPortNum)); diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkBalanceMastersCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkBalanceMastersCommand.java index 632ff5765f..1481c191f4 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkBalanceMastersCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkBalanceMastersCommand.java @@ -15,8 +15,9 @@ */ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualNetworkService; @@ -25,6 +26,7 @@ import org.onosproject.mastership.MastershipAdminService; /** * Forces virtual network device mastership rebalancing. */ +@Service @Command(scope = "onos", name = "vnet-balance-masters", description = "Forces virtual network device mastership rebalancing") public class VirtualNetworkBalanceMastersCommand extends AbstractShellCommand { @@ -32,7 +34,7 @@ public class VirtualNetworkBalanceMastersCommand extends AbstractShellCommand { required = true, multiValued = false) Long networkId = null; @Override - protected void execute() { + protected void doExecute() { VirtualNetworkService vnetService = get(VirtualNetworkService.class); MastershipAdminService mastershipAdminService = vnetService .get(NetworkId.networkId(networkId), MastershipAdminService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkCompleter.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkCompleter.java index f06177e758..4fc1732159 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkCompleter.java @@ -16,8 +16,11 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.virtual.TenantId; import org.onosproject.incubator.net.virtual.VirtualNetwork; @@ -33,9 +36,10 @@ import java.util.SortedSet; /** * Virtual network completer. */ +@Service public class VirtualNetworkCompleter implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); @@ -53,6 +57,6 @@ public class VirtualNetworkCompleter implements Completer { virtualNetworks.forEach(virtualNetwork -> strings.add(virtualNetwork.id().toString())); // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkCreateCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkCreateCommand.java index b927bf997b..00903fe175 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkCreateCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkCreateCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.virtual.TenantId; import org.onosproject.incubator.net.virtual.VirtualNetworkAdminService; @@ -25,6 +26,7 @@ import org.onosproject.incubator.net.virtual.VirtualNetworkAdminService; /** * Creates a new virtual network. */ +@Service @Command(scope = "onos", name = "vnet-create", description = "Creates a new virtual network.") public class VirtualNetworkCreateCommand extends AbstractShellCommand { @@ -34,7 +36,7 @@ public class VirtualNetworkCreateCommand extends AbstractShellCommand { String id = null; @Override - protected void execute() { + protected void doExecute() { VirtualNetworkAdminService service = get(VirtualNetworkAdminService.class); service.createVirtualNetwork(TenantId.tenantId(id)); print("Virtual network successfully created."); diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkIntentCreateCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkIntentCreateCommand.java index 9e48ed655d..5684ae51fe 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkIntentCreateCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkIntentCreateCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.net.ConnectivityIntentCommand; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualNetworkIntent; @@ -34,6 +35,7 @@ import java.util.List; /** * Installs virtual network intents. */ +@Service @Command(scope = "onos", name = "add-vnet-intent", description = "Installs virtual network connectivity intent") public class VirtualNetworkIntentCreateCommand extends ConnectivityIntentCommand { @@ -53,7 +55,7 @@ public class VirtualNetworkIntentCreateCommand extends ConnectivityIntentCommand String egressDeviceString = null; @Override - protected void execute() { + protected void doExecute() { VirtualNetworkService service = get(VirtualNetworkService.class); IntentService virtualNetworkIntentService = service.get(NetworkId.networkId(networkId), IntentService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkIntentRemoveCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkIntentRemoveCommand.java index 7ba67912fc..0001d418f5 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkIntentRemoveCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkIntentRemoveCommand.java @@ -16,9 +16,10 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -44,6 +45,7 @@ import static org.onosproject.net.intent.IntentState.WITHDRAWN; /** * Removes a virtual network intent. */ +@Service @Command(scope = "onos", name = "remove-vnet-intent", description = "Removes the virtual network intent") public class VirtualNetworkIntentRemoveCommand extends AbstractShellCommand { @@ -75,7 +77,7 @@ public class VirtualNetworkIntentRemoveCommand extends AbstractShellCommand { private static final EnumSet CAN_PURGE = EnumSet.of(WITHDRAWN, FAILED); @Override - protected void execute() { + protected void doExecute() { VirtualNetworkService service = get(VirtualNetworkService.class); IntentService intentService = service.get(NetworkId.networkId(networkId), IntentService.class); CoreService coreService = get(CoreService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkListCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkListCommand.java index 6d5818c7fc..b6e1c1a3d5 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkListCommand.java @@ -16,7 +16,8 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.virtual.TenantId; import org.onosproject.incubator.net.virtual.VirtualNetwork; @@ -32,6 +33,7 @@ import java.util.Set; /** * Lists all virtual networks for the tenant ID. */ +@Service @Command(scope = "onos", name = "vnets", description = "Lists all virtual networks.") public class VirtualNetworkListCommand extends AbstractShellCommand { @@ -40,7 +42,7 @@ public class VirtualNetworkListCommand extends AbstractShellCommand { "tenantId=%s, networkId=%s"; @Override - protected void execute() { + protected void doExecute() { getSortedVirtualNetworks().forEach(this::printVirtualNetwork); } diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkPacketRequestCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkPacketRequestCommand.java index 2a88198f1a..20b33fdffb 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkPacketRequestCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkPacketRequestCommand.java @@ -19,9 +19,10 @@ package org.onosproject.cli.net.vnet; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Option; import org.onlab.packet.Ip6Address; import org.onlab.packet.IpPrefix; import org.onlab.packet.MacAddress; @@ -50,6 +51,7 @@ import static com.google.common.base.Strings.isNullOrEmpty; /** * Tests virtual network packet requests. */ +@Service @Command(scope = "onos", name = "vnet-packet", description = "Tests virtual network packet requests") public class VirtualNetworkPacketRequestCommand extends AbstractShellCommand { @@ -133,7 +135,7 @@ public class VirtualNetworkPacketRequestCommand extends AbstractShellCommand { private List extHdrStringList = null; @Override - protected void execute() { + protected void doExecute() { VirtualNetworkService service = get(VirtualNetworkService.class); PacketService virtualPacketService = service.get(NetworkId.networkId(networkId), PacketService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkRemoveCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkRemoveCommand.java index c608b25ab5..3bf84b676e 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkRemoveCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualNetworkRemoveCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualNetworkAdminService; @@ -25,6 +26,7 @@ import org.onosproject.incubator.net.virtual.VirtualNetworkAdminService; /** * Removes a virtual network. */ +@Service @Command(scope = "onos", name = "vnet-remove", description = "Removes a virtual network.") public class VirtualNetworkRemoveCommand extends AbstractShellCommand { @@ -34,7 +36,7 @@ public class VirtualNetworkRemoveCommand extends AbstractShellCommand { Long id; @Override - protected void execute() { + protected void doExecute() { VirtualNetworkAdminService service = get(VirtualNetworkAdminService.class); service.removeVirtualNetwork(NetworkId.networkId(id)); print("Virtual network successfully removed."); diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortBindCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortBindCommand.java index 2ebdc2c5ae..fb46fb406a 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortBindCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortBindCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualNetworkAdminService; @@ -35,6 +36,7 @@ import static com.google.common.base.Preconditions.checkNotNull; /** * Binds an existing virtual port with a physical port. */ +@Service @Command(scope = "onos", name = "vnet-bind-port", description = "Binds an existing virtual port with a physical port.") public class VirtualPortBindCommand extends AbstractShellCommand { @@ -59,7 +61,7 @@ public class VirtualPortBindCommand extends AbstractShellCommand { Integer physPortNum = null; @Override - protected void execute() { + protected void doExecute() { VirtualNetworkAdminService service = get(VirtualNetworkAdminService.class); DeviceService deviceService = get(DeviceService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortCompleter.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortCompleter.java index 19a31a34cb..266042828d 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortCompleter.java @@ -18,7 +18,6 @@ package org.onosproject.cli.net.vnet; import static org.onlab.osgi.DefaultServiceDirectory.getService; -import org.apache.karaf.shell.console.completer.ArgumentCompleter.ArgumentList; import org.onosproject.cli.AbstractChoicesCompleter; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualNetworkService; @@ -39,9 +38,8 @@ import java.util.stream.Collectors; public class VirtualPortCompleter extends AbstractChoicesCompleter { @Override protected List choices() { - ArgumentList args = getArgumentList(); //parse argument list for network id - String[] argsArray = args.getArguments(); + String[] argsArray = commandLine.getArguments(); for (String str : argsArray) { if (str.matches("[0-9]+")) { long networkId = Long.valueOf(str); diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortCreateCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortCreateCommand.java index 5769a64dda..e9b7763b97 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortCreateCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortCreateCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualDevice; @@ -35,6 +36,7 @@ import static com.google.common.base.Preconditions.checkNotNull; /** * Creates a new virtual port. */ +@Service @Command(scope = "onos", name = "vnet-create-port", description = "Creates a new virtual port in a network.") public class VirtualPortCreateCommand extends AbstractShellCommand { @@ -60,7 +62,7 @@ public class VirtualPortCreateCommand extends AbstractShellCommand { Integer physPortNum = null; @Override - protected void execute() { + protected void doExecute() { VirtualNetworkAdminService service = get(VirtualNetworkAdminService.class); DeviceService deviceService = get(DeviceService.class); diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortListCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortListCommand.java index 7a0f2f0133..4a1ea76b27 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortListCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualNetworkService; @@ -32,6 +33,7 @@ import java.util.List; /** * Lists all virtual ports for the network ID. */ +@Service @Command(scope = "onos", name = "vnet-ports", description = "Lists all virtual ports in a virtual network.") public class VirtualPortListCommand extends AbstractShellCommand { @@ -48,7 +50,7 @@ public class VirtualPortListCommand extends AbstractShellCommand { String deviceId = null; @Override - protected void execute() { + protected void doExecute() { getSortedVirtualPorts().forEach(this::printVirtualPort); } diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortRemoveCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortRemoveCommand.java index 12710ab305..414324e365 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortRemoveCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortRemoveCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualNetworkAdminService; @@ -27,6 +28,7 @@ import org.onosproject.net.PortNumber; /** * Removes a virtual port. */ +@Service @Command(scope = "onos", name = "vnet-remove-port", description = "Removes a virtual port.") public class VirtualPortRemoveCommand extends AbstractShellCommand { @@ -44,7 +46,7 @@ public class VirtualPortRemoveCommand extends AbstractShellCommand { Integer portNum = null; @Override - protected void execute() { + protected void doExecute() { VirtualNetworkAdminService service = get(VirtualNetworkAdminService.class); service.removeVirtualPort(NetworkId.networkId(networkId), DeviceId.deviceId(deviceId), PortNumber.portNumber(portNum)); diff --git a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortStateCommand.java b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortStateCommand.java index d11e249494..25acc93174 100644 --- a/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortStateCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/vnet/VirtualPortStateCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.net.vnet; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualNetworkAdminService; @@ -33,6 +34,7 @@ import static com.google.common.base.Preconditions.checkNotNull; /** * Administratively enables or disables state of an existing virtual port. */ +@Service @Command(scope = "onos", name = "vnet-port-state", description = "Administratively enables or disables state of an existing virtual port.") public class VirtualPortStateCommand extends AbstractShellCommand { @@ -54,7 +56,7 @@ public class VirtualPortStateCommand extends AbstractShellCommand { String portState = null; @Override - protected void execute() { + protected void doExecute() { VirtualNetworkAdminService service = get(VirtualNetworkAdminService.class); VirtualPort vPort = getVirtualPort(PortNumber.portNumber(portNum)); diff --git a/cli/src/main/java/org/onosproject/cli/security/ReviewApplicationNameCompleter.java b/cli/src/main/java/org/onosproject/cli/security/ReviewApplicationNameCompleter.java index f6e306a52d..452664b813 100644 --- a/cli/src/main/java/org/onosproject/cli/security/ReviewApplicationNameCompleter.java +++ b/cli/src/main/java/org/onosproject/cli/security/ReviewApplicationNameCompleter.java @@ -16,7 +16,9 @@ package org.onosproject.cli.security; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; import org.onosproject.app.ApplicationService; import org.onosproject.app.ApplicationState; import org.onosproject.cli.AbstractCompleter; @@ -34,7 +36,7 @@ import static org.onosproject.cli.AbstractShellCommand.get; */ public class ReviewApplicationNameCompleter extends AbstractCompleter { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); @@ -53,6 +55,6 @@ public class ReviewApplicationNameCompleter extends AbstractCompleter { } // Now let the completer do the work for figuring out what to offer. - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } } \ No newline at end of file diff --git a/cli/src/main/java/org/onosproject/cli/security/ReviewCommand.java b/cli/src/main/java/org/onosproject/cli/security/ReviewCommand.java index 3031c3c9b5..1d7e32c700 100644 --- a/cli/src/main/java/org/onosproject/cli/security/ReviewCommand.java +++ b/cli/src/main/java/org/onosproject/cli/security/ReviewCommand.java @@ -16,8 +16,9 @@ package org.onosproject.cli.security; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; import org.onosproject.app.ApplicationAdminService; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.core.Application; @@ -33,6 +34,7 @@ import java.util.Map; /** * Application security policy review commands. */ +@Service @Command(scope = "onos", name = "review", description = "Application security policy review interface") public class ReviewCommand extends AbstractShellCommand { @@ -46,7 +48,7 @@ public class ReviewCommand extends AbstractShellCommand { String accept = null; @Override - protected void execute() { + protected void doExecute() { ApplicationAdminService applicationAdminService = get(ApplicationAdminService.class); ApplicationId appId = applicationAdminService.getId(name); if (appId == null) { diff --git a/cli2/BUCK b/cli2/BUCK new file mode 100644 index 0000000000..3fedcf4770 --- /dev/null +++ b/cli2/BUCK @@ -0,0 +1,16 @@ +COMPILE_DEPS = [ + '//lib:CORE_DEPS', + '//lib:JACKSON', + '//lib:METRICS', + '//lib:org.apache.karaf.shell.console', + '//incubator/api:onos-incubator-api', + '//incubator/net:onos-incubator-net', + '//utils/rest:onlab-rest', + '//core/common:onos-core-common', +] + +osgi_jar ( + deps = COMPILE_DEPS, + visibility = ['PUBLIC'], +) + diff --git a/cli2/BUILD b/cli2/BUILD new file mode 100644 index 0000000000..2a8cd3bc42 --- /dev/null +++ b/cli2/BUILD @@ -0,0 +1,12 @@ +COMPILE_DEPS = CORE_DEPS + JACKSON + METRICS + [ + "@org_apache_karaf_shell_core//jar", + "//incubator/api:onos-incubator-api", + "//incubator/net:onos-incubator-net", + "//utils/rest:onlab-rest", + "//core/common:onos-core-common", +] + +osgi_jar( + visibility = ["//visibility:public"], + deps = COMPILE_DEPS, +) diff --git a/cli2/src/main/java/org/onosproject/cli2/AbstractChoicesCompleter.java b/cli2/src/main/java/org/onosproject/cli2/AbstractChoicesCompleter.java new file mode 100644 index 0000000000..7082ece08c --- /dev/null +++ b/cli2/src/main/java/org/onosproject/cli2/AbstractChoicesCompleter.java @@ -0,0 +1,40 @@ +/* + * Copyright 2015-present Open Networking Foundation + * + * Licensed 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.onosproject.cli2; + +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; + +import java.util.List; +import java.util.SortedSet; + +/** + * Abstraction of a completer with preset choices. + */ +public abstract class AbstractChoicesCompleter extends AbstractCompleter { + + protected abstract List choices(); + + @Override + public int complete(Session session, CommandLine commandLine, List candidates) { + StringsCompleter delegate = new StringsCompleter(); + SortedSet strings = delegate.getStrings(); + choices().forEach(strings::add); + return delegate.complete(session, commandLine, candidates); + } + +} diff --git a/cli2/src/main/java/org/onosproject/cli2/AbstractCompleter.java b/cli2/src/main/java/org/onosproject/cli2/AbstractCompleter.java new file mode 100644 index 0000000000..3f10abc399 --- /dev/null +++ b/cli2/src/main/java/org/onosproject/cli2/AbstractCompleter.java @@ -0,0 +1,39 @@ +/* + * Copyright 2015-present Open Networking Foundation + * + * Licensed 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.onosproject.cli2; + +import org.apache.felix.service.command.CommandSession; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.impl.action.command.ArgumentCompleter; +import org.apache.karaf.shell.support.completers.StringsCompleter; + +import java.util.List; + +/** + * Abstract argument completer. + */ +public abstract class AbstractCompleter implements Completer { + + @Override + public int complete(Session session, CommandLine commandLine, List candidates) { + StringsCompleter delegate = new StringsCompleter(); + + return delegate.complete(session, commandLine, candidates); + } + +} diff --git a/cli2/src/main/java/org/onosproject/cli2/AbstractShellCommand.java b/cli2/src/main/java/org/onosproject/cli2/AbstractShellCommand.java new file mode 100644 index 0000000000..0046e03b6b --- /dev/null +++ b/cli2/src/main/java/org/onosproject/cli2/AbstractShellCommand.java @@ -0,0 +1,194 @@ +/* + * Copyright 2014-present Open Networking Foundation + * + * Licensed 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.onosproject.cli2; + +import org.apache.karaf.shell.api.action.Option; +import org.apache.karaf.shell.api.action.Action; +import org.onlab.osgi.DefaultServiceDirectory; +import org.onlab.osgi.ServiceNotFoundException; +import org.onosproject.codec.CodecContext; +import org.onosproject.codec.CodecService; +import org.onosproject.codec.JsonCodec; +import org.onosproject.core.ApplicationId; +import org.onosproject.core.CoreService; +import org.onosproject.net.Annotations; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.ObjectNode; +import org.onosproject.net.DefaultAnnotations; + +import java.util.Set; +import java.util.TreeSet; + +/** + * Base abstraction of Karaf shell commands. + */ +public abstract class AbstractShellCommand implements Action, CodecContext { + + @Option(name = "-j", aliases = "--json", description = "Output JSON", + required = false, multiValued = false) + private boolean json = false; + + /** + * Returns the reference to the implementation of the specified service. + * + * @param serviceClass service class + * @param type of service + * @return service implementation + * @throws org.onlab.osgi.ServiceNotFoundException if service is unavailable + */ + public static T get(Class serviceClass) { + return DefaultServiceDirectory.getService(serviceClass); + } + + /** + * Returns application ID for the CLI. + * + * @return command-line application identifier + */ + protected ApplicationId appId() { + return get(CoreService.class) + .registerApplication("org.onosproject.cli"); + } + + /** + * Prints the arguments using the specified format. + * + * @param format format string; see {@link String#format} + * @param args arguments + */ + public void print(String format, Object... args) { + System.out.println(String.format(format, args)); + } + + /** + * Prints the arguments using the specified format to error stream. + * + * @param format format string; see {@link String#format} + * @param args arguments + */ + public void error(String format, Object... args) { + System.err.println(String.format(format, args)); + } + + /** + * Produces a string image of the specified key/value annotations. + * + * @param annotations key/value annotations + * @return string image with ", k1=v1, k2=v2, ..." pairs + */ + public static String annotations(Annotations annotations) { + if (annotations == null) { + annotations = DefaultAnnotations.EMPTY; + } + StringBuilder sb = new StringBuilder(); + Set keys = new TreeSet<>(annotations.keys()); + for (String key : keys) { + sb.append(", ").append(key).append('=').append(annotations.value(key)); + } + return sb.toString(); + } + + /** + * Produces a string image of the specified key/value annotations. + * Excludes the keys in the given Set. + * + * @param annotations key/value annotations + * @param excludedKeys keys not to add in the resulting string + * @return string image with ", k1=v1, k2=v2, ..." pairs + */ + public static String annotations(Annotations annotations, Set excludedKeys) { + StringBuilder sb = new StringBuilder(); + Set keys = new TreeSet<>(annotations.keys()); + keys.removeAll(excludedKeys); + for (String key : keys) { + sb.append(", ").append(key).append('=').append(annotations.value(key)); + } + return sb.toString(); + } + + /** + * Produces a JSON object from the specified key/value annotations. + * + * @param mapper ObjectMapper to use while converting to JSON + * @param annotations key/value annotations + * @return JSON object + */ + public static ObjectNode annotations(ObjectMapper mapper, Annotations annotations) { + ObjectNode result = mapper.createObjectNode(); + for (String key : annotations.keys()) { + result.put(key, annotations.value(key)); + } + return result; + } + + /** + * Indicates whether JSON format should be output. + * + * @return true if JSON is requested + */ + protected boolean outputJson() { + return json; + } + + @Override + public Object execute() throws Exception { + try { + doExecute(); + } catch (ServiceNotFoundException e) { + error(e.getMessage()); + } + return null; + } + + protected void doExecute() throws Exception { + try { + execute(); + } catch (ServiceNotFoundException e) { + error(e.getMessage()); + } + } + + private final ObjectMapper mapper = new ObjectMapper(); + + @Override + public ObjectMapper mapper() { + return mapper; + } + + @Override + @SuppressWarnings("unchecked") + public JsonCodec codec(Class entityClass) { + return get(CodecService.class).getCodec(entityClass); + } + + @Override + public T getService(Class serviceClass) { + return get(serviceClass); + } + + /** + * Generates a Json representation of an object. + * + * @param entity object to generate JSON for + * @param entityClass class to format with - this chooses which codec to use + * @param Type of the object being formatted + * @return JSON object representation + */ + public ObjectNode jsonForEntity(T entity, Class entityClass) { + return codec(entityClass).encode(entity, this); + } +} diff --git a/cli2/src/main/java/org/onosproject/cli2/CliComponent.java b/cli2/src/main/java/org/onosproject/cli2/CliComponent.java new file mode 100644 index 0000000000..e5af5200b8 --- /dev/null +++ b/cli2/src/main/java/org/onosproject/cli2/CliComponent.java @@ -0,0 +1,39 @@ +/* + * Copyright 2015-present Open Networking Foundation + * + * Licensed 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.onosproject.cli2; + +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; +import org.onosproject.core.CoreService; + +/** + * OSGI Component for the ONOS CLI. + */ + +@Component(immediate = true) +public class CliComponent { + + @Reference(cardinality = ReferenceCardinality.MANDATORY) + protected CoreService coreService; + + @Activate + public void activate() { + coreService + .registerApplication("org.onosproject.cli"); + } +} diff --git a/cli2/src/main/java/org/onosproject/cli2/MastersListCommand.java b/cli2/src/main/java/org/onosproject/cli2/MastersListCommand.java new file mode 100644 index 0000000000..ae244841d4 --- /dev/null +++ b/cli2/src/main/java/org/onosproject/cli2/MastersListCommand.java @@ -0,0 +1,96 @@ +/* + * Copyright 2014-present Open Networking Foundation + * + * Licensed 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.onosproject.cli2; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.google.common.collect.Lists; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.action.Command; +import org.onosproject.cluster.ClusterService; +import org.onosproject.cluster.ControllerNode; +import org.onosproject.mastership.MastershipService; +import org.onosproject.net.DeviceId; +import org.onosproject.net.device.DeviceService; +import org.onosproject.utils.Comparators; + +import java.util.Collections; +import java.util.List; +import static com.google.common.collect.Lists.newArrayList; + +/** + * Lists device mastership information. + */ +@Command(scope = "onos", name = "masters", + description = "Lists device mastership information") +@Service +public class MastersListCommand extends AbstractShellCommand { + + @Override + protected void doExecute() { + ClusterService service = get(ClusterService.class); + MastershipService mastershipService = get(MastershipService.class); + DeviceService deviceService = get(DeviceService.class); + List nodes = newArrayList(service.getNodes()); + Collections.sort(nodes, Comparators.NODE_COMPARATOR); + + if (outputJson()) { + print("%s", json(service, mastershipService, nodes)); + } else { + for (ControllerNode node : nodes) { + List ids = Lists.newArrayList(mastershipService.getDevicesOf(node.id())); + ids.removeIf(did -> deviceService.getDevice(did) == null); + Collections.sort(ids, Comparators.ELEMENT_ID_COMPARATOR); + print("%s: %d devices", node.id(), ids.size()); + for (DeviceId deviceId : ids) { + print(" %s", deviceId); + } + } + } + } + + // Produces JSON structure. + private JsonNode json(ClusterService service, MastershipService mastershipService, + List nodes) { + ObjectMapper mapper = new ObjectMapper(); + ArrayNode result = mapper.createArrayNode(); + for (ControllerNode node : nodes) { + List ids = Lists.newArrayList(mastershipService.getDevicesOf(node.id())); + result.add(mapper.createObjectNode() + .put("id", node.id().toString()) + .put("size", ids.size()) + .set("devices", json(mapper, ids))); + } + return result; + } + + /** + * Produces a JSON array containing the specified device identifiers. + * + * @param mapper object mapper + * @param ids collection of device identifiers + * @return JSON array + */ + public static JsonNode json(ObjectMapper mapper, Iterable ids) { + ArrayNode result = mapper.createArrayNode(); + for (DeviceId deviceId : ids) { + result.add(deviceId.toString()); + } + return result; + } + +} diff --git a/cli2/src/main/java/org/onosproject/cli2/NodeAddCommand.java b/cli2/src/main/java/org/onosproject/cli2/NodeAddCommand.java new file mode 100644 index 0000000000..99f94bb33c --- /dev/null +++ b/cli2/src/main/java/org/onosproject/cli2/NodeAddCommand.java @@ -0,0 +1,52 @@ +/* + * Copyright 2014-present Open Networking Foundation + * + * Licensed 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.onosproject.cli2; + +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.onlab.packet.IpAddress; +import org.onosproject.cluster.ClusterAdminService; +import org.onosproject.cluster.DefaultControllerNode; +import org.onosproject.cluster.NodeId; + +/** + * Adds a new controller cluster node. + */ +@Service +@Command(scope = "onos", name = "add-node", + description = "Adds a new controller cluster node") +public class NodeAddCommand extends AbstractShellCommand { + + @Argument(index = 0, name = "nodeId", description = "Node ID", + required = true, multiValued = false) + String nodeId = null; + + @Argument(index = 1, name = "ip", description = "Node IP address", + required = true, multiValued = false) + String ip = null; + + @Argument(index = 2, name = "tcpPort", description = "Node TCP listen port", + required = false, multiValued = false) + int tcpPort = DefaultControllerNode.DEFAULT_PORT; + + @Override + protected void doExecute() { + ClusterAdminService service = get(ClusterAdminService.class); + service.addNode(new NodeId(nodeId), IpAddress.valueOf(ip), tcpPort); + } + +} diff --git a/cli2/src/main/java/org/onosproject/cli2/NodeIdCompleter.java b/cli2/src/main/java/org/onosproject/cli2/NodeIdCompleter.java new file mode 100644 index 0000000000..0438f762ae --- /dev/null +++ b/cli2/src/main/java/org/onosproject/cli2/NodeIdCompleter.java @@ -0,0 +1,52 @@ +/* + * Copyright 2014-present Open Networking Foundation + * + * Licensed 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.onosproject.cli2; + +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; +import org.onosproject.cluster.ClusterService; +import org.onosproject.cluster.ControllerNode; + +import java.util.Iterator; +import java.util.List; +import java.util.SortedSet; + +/** + * Node ID completer. + */ +@Service +public class NodeIdCompleter implements Completer { + @Override + public int complete(Session session, CommandLine commandLine, List candidates) { + // Delegate string completer + StringsCompleter delegate = new StringsCompleter(); + + // Fetch our service and feed it's offerings to the string completer + ClusterService service = AbstractShellCommand.get(ClusterService.class); + Iterator it = service.getNodes().iterator(); + SortedSet strings = delegate.getStrings(); + while (it.hasNext()) { + strings.add(it.next().id().toString()); + } + + // Now let the completer do the work for figuring out what to offer. + return delegate.complete(session, commandLine, candidates); + } + +} diff --git a/cli2/src/main/java/org/onosproject/cli2/NodeRemoveCommand.java b/cli2/src/main/java/org/onosproject/cli2/NodeRemoveCommand.java new file mode 100644 index 0000000000..80dd25d745 --- /dev/null +++ b/cli2/src/main/java/org/onosproject/cli2/NodeRemoveCommand.java @@ -0,0 +1,44 @@ +/* + * Copyright 2014-present Open Networking Foundation + * + * Licensed 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.onosproject.cli2; + +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.onosproject.cluster.ClusterAdminService; +import org.onosproject.cluster.NodeId; + +/** + * Removes a controller cluster node. + */ +@Service +@Command(scope = "onos", name = "remove-node", + description = "Removes a new controller cluster node") +public class NodeRemoveCommand extends AbstractShellCommand { + + @Argument(index = 0, name = "nodeId", description = "Node ID", + required = true, multiValued = false) + @Completion(NodeIdCompleter.class) + String nodeId = null; + + @Override + protected void doExecute() { + ClusterAdminService service = get(ClusterAdminService.class); + service.removeNode(new NodeId(nodeId)); + } + +} diff --git a/cli2/src/main/java/org/onosproject/cli2/NodesListCommand.java b/cli2/src/main/java/org/onosproject/cli2/NodesListCommand.java new file mode 100644 index 0000000000..fbd677886e --- /dev/null +++ b/cli2/src/main/java/org/onosproject/cli2/NodesListCommand.java @@ -0,0 +1,89 @@ +/* + * Copyright 2014-present Open Networking Foundation + * + * Licensed 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.onosproject.cli2; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.ObjectNode; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.onosproject.cluster.ClusterAdminService; +import org.onosproject.cluster.ControllerNode; +import org.onosproject.core.Version; +import org.onosproject.utils.Comparators; + +import java.util.Collections; +import java.util.List; + +import static com.google.common.collect.Lists.newArrayList; + +/** + * Lists all controller cluster nodes. + */ +@Service +@Command(scope = "onos", name = "nodes", + description = "Lists all controller cluster nodes") +public class NodesListCommand extends AbstractShellCommand { + + private static final String FMT = "id=%s, address=%s:%s, state=%s, version=%s, updated=%s %s"; + + @Override + protected void doExecute() { + ClusterAdminService service = get(ClusterAdminService.class); + List nodes = newArrayList(service.getNodes()); + Collections.sort(nodes, Comparators.NODE_COMPARATOR); + if (outputJson()) { + print("%s", json(service, nodes)); + } else { + ControllerNode self = service.getLocalNode(); + for (ControllerNode node : nodes) { + String timeAgo = service.localStatus(node.id()); + Version version = service.getVersion(node.id()); + print(FMT, node.id(), node.ip(), node.tcpPort(), + service.getState(node.id()), + version == null ? "unknown" : version, + timeAgo, + node.equals(self) ? "*" : ""); + } + } + } + + // Produces JSON structure. + private JsonNode json(ClusterAdminService service, List nodes) { + ObjectMapper mapper = new ObjectMapper(); + ArrayNode result = mapper.createArrayNode(); + ControllerNode self = service.getLocalNode(); + for (ControllerNode node : nodes) { + ControllerNode.State nodeState = service.getState(node.id()); + Version nodeVersion = service.getVersion(node.id()); + ObjectNode newNode = mapper.createObjectNode() + .put("id", node.id().toString()) + .put("ip", node.ip().toString()) + .put("tcpPort", node.tcpPort()) + .put("self", node.equals(self)); + if (nodeState != null) { + newNode.put("state", nodeState.toString()); + } + if (nodeVersion != null) { + newNode.put("version", nodeVersion.toString()); + } + result.add(newNode); + } + return result; + } + +} diff --git a/cli2/src/main/java/org/onosproject/cli2/SummaryCommand.java b/cli2/src/main/java/org/onosproject/cli2/SummaryCommand.java new file mode 100644 index 0000000000..86e75be527 --- /dev/null +++ b/cli2/src/main/java/org/onosproject/cli2/SummaryCommand.java @@ -0,0 +1,92 @@ +/* + * Copyright 2014-present Open Networking Foundation + * + * Licensed 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.onosproject.cli2; + +import com.fasterxml.jackson.databind.ObjectMapper; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.onlab.packet.IpAddress; +import org.onosproject.cluster.ClusterMetadataService; +import org.onosproject.cluster.ClusterService; +import org.onosproject.cluster.ControllerNode; +import org.onosproject.core.CoreService; +import org.onosproject.core.Version; +import org.onosproject.net.device.DeviceService; +import org.onosproject.net.flow.FlowRuleService; +import org.onosproject.net.host.HostService; +import org.onosproject.net.intent.IntentService; +import org.onosproject.net.link.LinkService; +import org.onosproject.net.topology.TopologyService; + +import java.util.Set; + +/** + * Provides summary of ONOS model. + */ +@Command(scope = "onos", name = "summary", + description = "Provides summary of ONOS model") +@Service +public class SummaryCommand extends AbstractShellCommand { + + /** + * Count the active ONOS controller nodes. + * + * @param nodes set of all of the controller nodes in the cluster + * @return count of active nodes + */ + private long activeNodes(Set nodes) { + ClusterService clusterService = get(ClusterService.class); + + return nodes.stream() + .map(node -> clusterService.getState(node.id())) + .filter(nodeState -> nodeState.isActive()) + .count(); + } + + @Override + protected void doExecute() { + IpAddress nodeIp = get(ClusterService.class).getLocalNode().ip(); + Version version = get(CoreService.class).version(); + long numNodes = activeNodes(get(ClusterService.class).getNodes()); + int numDevices = get(DeviceService.class).getDeviceCount(); + int numLinks = get(LinkService.class).getLinkCount(); + int numHosts = get(HostService.class).getHostCount(); + int numScc = get(TopologyService.class).currentTopology().clusterCount(); + int numFlows = get(FlowRuleService.class).getFlowRuleCount(); + long numIntents = get(IntentService.class).getIntentCount(); + String clusterId = get(ClusterMetadataService.class).getClusterMetadata().getName(); + + if (outputJson()) { + print("%s", new ObjectMapper().createObjectNode() + .put("node", nodeIp.toString()) + .put("version", version.toString()) + .put("clusterId", clusterId) + .put("nodes", numNodes) + .put("devices", numDevices) + .put("links", numLinks) + .put("hosts", numHosts) + .put("SCC(s)", numScc) + .put("flows", numFlows) + .put("intents", numIntents)); + } else { + print("node=%s, version=%s clusterId=%s", nodeIp, version, clusterId); + print("nodes=%d, devices=%d, links=%d, hosts=%d, SCC(s)=%s, flows=%d, intents=%d", + numNodes, numDevices, numLinks, numHosts, numScc, numFlows, numIntents); + } + } + +} diff --git a/cli2/src/main/java/org/onosproject/cli2/app/ApplicationCommand.java b/cli2/src/main/java/org/onosproject/cli2/app/ApplicationCommand.java new file mode 100644 index 0000000000..35afe52f09 --- /dev/null +++ b/cli2/src/main/java/org/onosproject/cli2/app/ApplicationCommand.java @@ -0,0 +1,154 @@ +/* + * Copyright 2015-present Open Networking Foundation + * + * Licensed 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.onosproject.cli2.app; + +import com.google.common.io.ByteStreams; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.onosproject.app.ApplicationAdminService; +import org.onosproject.cli2.AbstractShellCommand; +import org.onosproject.core.Application; +import org.onosproject.core.ApplicationId; + +import java.io.IOException; +import java.net.URL; +import java.util.List; +import java.util.stream.Collectors; + +/** + * Manages application inventory. + */ +@Service +@Command(scope = "onos", name = "app", + description = "Manages application inventory") +public class ApplicationCommand extends AbstractShellCommand { + + static final String INSTALL = "install"; + static final String UNINSTALL = "uninstall"; + static final String ACTIVATE = "activate"; + static final String DEACTIVATE = "deactivate"; + static final String DOWNLOAD = "download"; + + @Argument(index = 0, name = "command", + description = "Command name (install|activate|deactivate|uninstall|download)", + required = true, multiValued = false) + @Completion(ApplicationCommandCompleter.class) + String command = null; + + @Argument(index = 1, name = "names", description = "Application name(s) or URL(s)", + required = true, multiValued = true) + @Completion(ApplicationNameCompleter.class) + String[] names = null; + + @Override + protected void doExecute() { + ApplicationAdminService service = get(ApplicationAdminService.class); + if (command.equals(INSTALL)) { + for (String name : names) { + if (!installApp(service, name)) { + return; + } + } + + } else if (command.equals(DOWNLOAD)) { + for (String name : names) { + if (!downloadApp(service, name)) { + return; + } + } + } else { + for (String name : names) { + if (!manageApp(service, name)) { + return; + } + } + } + return; + } + + // Installs the application from input of the specified URL + private boolean installApp(ApplicationAdminService service, String url) { + try { + if ("-".equals(url)) { + service.install(System.in); + } else { + service.install(new URL(url).openStream()); + } + } catch (IOException e) { + error("Unable to get URL: %s", url); + return false; + } + return true; + } + + // Downloads the application bits to the standard output. + private boolean downloadApp(ApplicationAdminService service, String name) { + try { + ByteStreams.copy(service.getApplicationArchive(service.getId(name)), + System.out); + } catch (IOException e) { + error("Unable to download bits for application %s", name); + return false; + } + return true; + } + + // Manages the specified application. + private boolean manageApp(ApplicationAdminService service, String name) { + ApplicationId appId = service.getId(name); + if (appId == null) { + List matches = service.getApplications().stream() + .filter(app -> app.id().name().matches(".*\\." + name + "$")) + .collect(Collectors.toList()); + + if (matches.size() == 1) { + // Found match + appId = matches.iterator().next().id(); + } else if (!matches.isEmpty()) { + print("Did you mean one of: %s", + matches.stream() + .map(Application::id) + .map(ApplicationId::name) + .collect(Collectors.toList())); + return false; + } + } + if (appId == null) { + print("No such application: %s", name); + return false; + } + + String action; + if (command.equals(UNINSTALL)) { + service.uninstall(appId); + action = "Uninstalled"; + } else if (command.equals(ACTIVATE)) { + service.activate(appId); + action = "Activated"; + } else if (command.equals(DEACTIVATE)) { + service.deactivate(appId); + action = "Deactivated"; + } else { + print("Unsupported command: %s", command); + return false; + } + print("%s %s", action, appId.name()); + return true; + } + +} diff --git a/cli2/src/main/java/org/onosproject/cli2/app/ApplicationCommandCompleter.java b/cli2/src/main/java/org/onosproject/cli2/app/ApplicationCommandCompleter.java new file mode 100644 index 0000000000..f4d37824c2 --- /dev/null +++ b/cli2/src/main/java/org/onosproject/cli2/app/ApplicationCommandCompleter.java @@ -0,0 +1,36 @@ +/* + * Copyright 2015-present Open Networking Foundation + * + * Licensed 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.onosproject.cli2.app; + +import com.google.common.collect.ImmutableList; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.onosproject.cli2.AbstractChoicesCompleter; + +import java.util.List; + +import static org.onosproject.cli2.app.ApplicationCommand.*; + +/** + * Application command completer. + */ +@Service +public class ApplicationCommandCompleter extends AbstractChoicesCompleter { + @Override + public List choices() { + return ImmutableList.of(INSTALL, UNINSTALL, ACTIVATE, DEACTIVATE, DOWNLOAD); + } + +} diff --git a/cli2/src/main/java/org/onosproject/cli2/app/ApplicationNameCompleter.java b/cli2/src/main/java/org/onosproject/cli2/app/ApplicationNameCompleter.java new file mode 100644 index 0000000000..5f002ff942 --- /dev/null +++ b/cli2/src/main/java/org/onosproject/cli2/app/ApplicationNameCompleter.java @@ -0,0 +1,125 @@ +/* + * Copyright 2015-present Open Networking Foundation + * + * Licensed 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.onosproject.cli2.app; + +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; +import org.onosproject.app.ApplicationService; +import org.onosproject.app.ApplicationState; +import org.onosproject.cli2.AbstractCompleter; +import org.onosproject.core.Application; + +import com.google.common.base.Strings; +import com.google.common.collect.Lists; +import org.slf4j.Logger; + +import java.util.ArrayDeque; +import java.util.ArrayList; +import java.util.Deque; +import java.util.Iterator; +import java.util.List; +import java.util.Map.Entry; +import java.util.SortedSet; +import java.util.stream.Collectors; + +import static java.util.Arrays.asList; +import static org.onosproject.app.ApplicationState.ACTIVE; +import static org.onosproject.app.ApplicationState.INSTALLED; +import static org.onosproject.cli2.AbstractShellCommand.get; +import static org.slf4j.LoggerFactory.getLogger; + +/** + * Application name completer. + */ +@Service +public class ApplicationNameCompleter extends AbstractCompleter { + private static final Logger log = getLogger(ApplicationNameCompleter.class); + + @Override + public int complete(Session session, CommandLine commandLine, List candidates) { + // Delegate string completer + StringsCompleter delegate = new StringsCompleter(); + + // Command name is the second argument. + String cmd = commandLine.getArguments()[1]; + log.info("Command is {}", cmd); + + // Grab apps already on the command (to prevent tab-completed duplicates) + // FIXME: This does not work. +// final Set previousApps; +// if (list.getArguments().length > 2) { +// previousApps = Sets.newHashSet( +// Arrays.copyOfRange(list.getArguments(), 2, list.getArguments().length)); +// } else { +// previousApps = Collections.emptySet(); +// } + + // Fetch our service and feed it's offerings to the string completer + ApplicationService service = get(ApplicationService.class); + Iterator it = service.getApplications().iterator(); + SortedSet strings = delegate.getStrings(); + int c = 0; + log.info("Processing apps"); + while (it.hasNext()) { + Application app = it.next(); + log.info("app #{} is {}", c, app.id().name()); + c++; + ApplicationState state = service.getState(app.id()); +// if (previousApps.contains(app.id().name())) { +// continue; +// } + if ("uninstall".equals(cmd) || "download".equals(cmd) || + ("activate".equals(cmd) && state == INSTALLED) || + ("deactivate".equals(cmd) && state == ACTIVE)) { + strings.add(app.id().name()); + } + } + + // add unique suffix to candidates, if user has something in buffer + log.info("Command line buffer {} position {}", commandLine.getBuffer(), commandLine.getBufferPosition()); + if (!commandLine.getBuffer().endsWith(cmd)) { + List suffixCandidates = strings.stream() + // remove onos common prefix + .map(full -> full.replaceFirst("org\\.onosproject\\.", "")) + // a.b.c -> [c, b.c, a.b.c] + .flatMap(appName -> { + List suffixes = new ArrayList<>(); + Deque frags = new ArrayDeque<>(); + // a.b.c -> [c, b, a] -> [c, b.c, a.b.c] + Lists.reverse(asList(appName.split("\\."))).forEach(frag -> { + frags.addFirst(frag); + suffixes.add(frags.stream().collect(Collectors.joining("."))); + }); + return suffixes.stream(); + }) + // convert to occurrence map + .collect(Collectors.groupingBy(e -> e, Collectors.counting())) + .entrySet().stream() + // only accept unique suffix + .filter(e -> e.getValue() == 1L) + .map(Entry::getKey) + .collect(Collectors.toList()); + + delegate.getStrings().addAll(suffixCandidates); + } + + // Now let the completer do the work for figuring out what to offer. + return delegate.complete(session, commandLine, candidates); + } + +} diff --git a/cli2/src/main/java/org/onosproject/cli2/package-info.java b/cli2/src/main/java/org/onosproject/cli2/package-info.java new file mode 100644 index 0000000000..2531a52a2c --- /dev/null +++ b/cli2/src/main/java/org/onosproject/cli2/package-info.java @@ -0,0 +1,20 @@ +/* + * Copyright 2014-present Open Networking Foundation + * + * Licensed 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. + */ + +/** + * Administrative console command-line extensions. + */ +package org.onosproject.cli; diff --git a/core/api/src/main/java/org/onosproject/event/AbstractListenerManager.java b/core/api/src/main/java/org/onosproject/event/AbstractListenerManager.java index d0db318374..82f400a967 100644 --- a/core/api/src/main/java/org/onosproject/event/AbstractListenerManager.java +++ b/core/api/src/main/java/org/onosproject/event/AbstractListenerManager.java @@ -15,20 +15,19 @@ */ package org.onosproject.event; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; /** * Basis for components which need to export listener mechanism. */ -@Component public abstract class AbstractListenerManager> implements ListenerService { protected final ListenerRegistry listenerRegistry = new ListenerRegistry<>(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected EventDeliveryService eventDispatcher; @Override diff --git a/core/api/src/main/java/org/onosproject/net/driver/AbstractDriverLoader.java b/core/api/src/main/java/org/onosproject/net/driver/AbstractDriverLoader.java index fc2b6f2926..9271fd96fa 100644 --- a/core/api/src/main/java/org/onosproject/net/driver/AbstractDriverLoader.java +++ b/core/api/src/main/java/org/onosproject/net/driver/AbstractDriverLoader.java @@ -15,21 +15,20 @@ */ package org.onosproject.net.driver; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; /** * Abstract bootstrapper for loading and registering driver definitions that * are dependent on the default driver definitions. */ -@Component public abstract class AbstractDriverLoader extends AbstractIndependentDriverLoader { // FIXME: This requirement should be removed and the driver extensions that // depend on the default drivers being loaded should be modified to instead // express the dependency using the application dependency mechanism. - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DefaultDriverProviderService defaultDriverProviderService; /** diff --git a/core/api/src/main/java/org/onosproject/net/driver/AbstractIndependentDriverLoader.java b/core/api/src/main/java/org/onosproject/net/driver/AbstractIndependentDriverLoader.java index cd587e94ce..5816ef7cb4 100644 --- a/core/api/src/main/java/org/onosproject/net/driver/AbstractIndependentDriverLoader.java +++ b/core/api/src/main/java/org/onosproject/net/driver/AbstractIndependentDriverLoader.java @@ -15,11 +15,10 @@ */ package org.onosproject.net.driver; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -27,7 +26,6 @@ import org.slf4j.LoggerFactory; * Abstract bootstrapper for loading and registering driver definitions that * are independent from the default driver definitions. */ -@Component public abstract class AbstractIndependentDriverLoader { private final Logger log = LoggerFactory.getLogger(getClass()); @@ -35,7 +33,7 @@ public abstract class AbstractIndependentDriverLoader { private DriverProvider provider; private final String path; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverAdminService driverAdminService; /** diff --git a/core/api/src/main/java/org/onosproject/net/provider/AbstractListenerProviderRegistry.java b/core/api/src/main/java/org/onosproject/net/provider/AbstractListenerProviderRegistry.java index f65f3bcf34..b42e07738b 100644 --- a/core/api/src/main/java/org/onosproject/net/provider/AbstractListenerProviderRegistry.java +++ b/core/api/src/main/java/org/onosproject/net/provider/AbstractListenerProviderRegistry.java @@ -15,19 +15,17 @@ */ package org.onosproject.net.provider; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onosproject.event.Event; import org.onosproject.event.EventDeliveryService; import org.onosproject.event.EventListener; import org.onosproject.event.ListenerRegistry; import org.onosproject.event.ListenerService; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; /** * Basis for components which need to export listener mechanism. */ -@Component public abstract class AbstractListenerProviderRegistry, P extends Provider, S extends ProviderService

> extends AbstractProviderRegistry implements ListenerService { @@ -36,7 +34,7 @@ public abstract class AbstractListenerProviderRegistry listenerRegistry = new ListenerRegistry<>(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected EventDeliveryService eventDispatcher; @Override diff --git a/core/api/src/main/java/org/onosproject/rest/AbstractApiDocRegistrator.java b/core/api/src/main/java/org/onosproject/rest/AbstractApiDocRegistrator.java index de8058a075..8cbdf23b52 100644 --- a/core/api/src/main/java/org/onosproject/rest/AbstractApiDocRegistrator.java +++ b/core/api/src/main/java/org/onosproject/rest/AbstractApiDocRegistrator.java @@ -15,21 +15,20 @@ */ package org.onosproject.rest; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; /** * Self-registering REST API provider. */ -@Component(immediate = true) public abstract class AbstractApiDocRegistrator { protected final ApiDocProvider provider; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ApiDocService service; /** diff --git a/core/common/src/main/java/org/onosproject/codec/impl/CodecManager.java b/core/common/src/main/java/org/onosproject/codec/impl/CodecManager.java index 13782c7ed0..07f44c8cfa 100644 --- a/core/common/src/main/java/org/onosproject/codec/impl/CodecManager.java +++ b/core/common/src/main/java/org/onosproject/codec/impl/CodecManager.java @@ -17,10 +17,9 @@ package org.onosproject.codec.impl; import com.codahale.metrics.Metric; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.onlab.packet.Ethernet; import org.onosproject.cluster.ControllerNode; import org.onosproject.cluster.RoleInfo; @@ -109,8 +108,7 @@ import static org.onosproject.security.AppPermission.Type.CODEC_WRITE; /** * Implementation of the JSON codec brokering service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = CodecService.class) public class CodecManager implements CodecService { private static Logger log = LoggerFactory.getLogger(CodecManager.class); diff --git a/core/common/src/main/java/org/onosproject/common/net/AbstractDeviceProvider.java b/core/common/src/main/java/org/onosproject/common/net/AbstractDeviceProvider.java index 9a703690da..791210273c 100644 --- a/core/common/src/main/java/org/onosproject/common/net/AbstractDeviceProvider.java +++ b/core/common/src/main/java/org/onosproject/common/net/AbstractDeviceProvider.java @@ -16,11 +16,11 @@ package org.onosproject.common.net; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.net.DeviceId; import org.onosproject.net.device.DeviceDescription; import org.onosproject.net.device.DeviceDescriptionDiscovery; @@ -52,10 +52,10 @@ public abstract class AbstractDeviceProvider extends AbstractProvider protected final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; protected DeviceProviderService providerService; diff --git a/core/common/src/test/java/org/onosproject/store/trivial/SimpleApplicationIdStore.java b/core/common/src/test/java/org/onosproject/store/trivial/SimpleApplicationIdStore.java index 0e14c2422e..acbaa2a477 100644 --- a/core/common/src/test/java/org/onosproject/store/trivial/SimpleApplicationIdStore.java +++ b/core/common/src/test/java/org/onosproject/store/trivial/SimpleApplicationIdStore.java @@ -16,11 +16,10 @@ package org.onosproject.store.trivial; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; -import org.onosproject.core.ApplicationId; import org.onosproject.app.ApplicationIdStore; +import org.onosproject.core.ApplicationId; import org.onosproject.core.DefaultApplicationId; +import org.osgi.service.component.annotations.Component; import java.util.Map; import java.util.Set; @@ -31,8 +30,7 @@ import java.util.concurrent.atomic.AtomicInteger; * Simple implementation of the application ID registry using in-memory * structures. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = ApplicationIdStore.class) public class SimpleApplicationIdStore implements ApplicationIdStore { private static final AtomicInteger ID_DISPENSER = new AtomicInteger(1); diff --git a/core/common/src/test/java/org/onosproject/store/trivial/SimpleApplicationStore.java b/core/common/src/test/java/org/onosproject/store/trivial/SimpleApplicationStore.java index c904455bcd..1bb3c4d5c3 100644 --- a/core/common/src/test/java/org/onosproject/store/trivial/SimpleApplicationStore.java +++ b/core/common/src/test/java/org/onosproject/store/trivial/SimpleApplicationStore.java @@ -16,22 +16,21 @@ package org.onosproject.store.trivial; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.app.ApplicationDescription; import org.onosproject.app.ApplicationEvent; +import org.onosproject.app.ApplicationIdStore; import org.onosproject.app.ApplicationState; import org.onosproject.app.ApplicationStore; import org.onosproject.common.app.ApplicationArchive; import org.onosproject.core.Application; import org.onosproject.core.ApplicationId; -import org.onosproject.app.ApplicationIdStore; import org.onosproject.core.DefaultApplication; import org.onosproject.security.Permission; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.io.InputStream; @@ -39,7 +38,11 @@ import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; -import static org.onosproject.app.ApplicationEvent.Type.*; +import static org.onosproject.app.ApplicationEvent.Type.APP_ACTIVATED; +import static org.onosproject.app.ApplicationEvent.Type.APP_DEACTIVATED; +import static org.onosproject.app.ApplicationEvent.Type.APP_INSTALLED; +import static org.onosproject.app.ApplicationEvent.Type.APP_PERMISSIONS_CHANGED; +import static org.onosproject.app.ApplicationEvent.Type.APP_UNINSTALLED; import static org.onosproject.app.ApplicationState.ACTIVE; import static org.onosproject.app.ApplicationState.INSTALLED; import static org.slf4j.LoggerFactory.getLogger; @@ -47,8 +50,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Manages inventory of network control applications. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = ApplicationStore.class) public class SimpleApplicationStore extends ApplicationArchive implements ApplicationStore { @@ -62,7 +64,7 @@ public class SimpleApplicationStore extends ApplicationArchive private final ConcurrentMap> permissions = new ConcurrentHashMap<>(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ApplicationIdStore idStore; @Activate diff --git a/core/common/src/test/java/org/onosproject/store/trivial/SimpleClusterStore.java b/core/common/src/test/java/org/onosproject/store/trivial/SimpleClusterStore.java index 251e4136b6..537c62999b 100644 --- a/core/common/src/test/java/org/onosproject/store/trivial/SimpleClusterStore.java +++ b/core/common/src/test/java/org/onosproject/store/trivial/SimpleClusterStore.java @@ -16,13 +16,6 @@ package org.onosproject.store.trivial; import com.google.common.collect.ImmutableSet; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onosproject.cluster.ClusterEvent; import org.onosproject.cluster.ClusterStore; @@ -39,6 +32,11 @@ import org.onosproject.net.intent.WorkPartitionEvent; import org.onosproject.net.intent.WorkPartitionEventListener; import org.onosproject.net.intent.WorkPartitionService; import org.onosproject.store.AbstractStore; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.time.Instant; @@ -46,15 +44,15 @@ import java.util.Set; import java.util.function.Function; import static org.onosproject.security.AppGuard.checkPermission; -import static org.onosproject.security.AppPermission.Type.*; +import static org.onosproject.security.AppPermission.Type.INTENT_EVENT; +import static org.onosproject.security.AppPermission.Type.INTENT_READ; import static org.slf4j.LoggerFactory.getLogger; /** * Manages inventory of infrastructure devices using trivial in-memory * structures implementation. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = { ClusterStore.class, WorkPartitionService.class }) public class SimpleClusterStore extends AbstractStore implements ClusterStore, WorkPartitionService { @@ -67,10 +65,10 @@ public class SimpleClusterStore private final Instant creationTime = Instant.now(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected EventDeliveryService eventDispatcher; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VersionService versionService; private ListenerRegistry listenerRegistry; diff --git a/core/common/src/test/java/org/onosproject/store/trivial/SimpleComponentConfigStore.java b/core/common/src/test/java/org/onosproject/store/trivial/SimpleComponentConfigStore.java index 9ba2659a26..2c6e103fb8 100644 --- a/core/common/src/test/java/org/onosproject/store/trivial/SimpleComponentConfigStore.java +++ b/core/common/src/test/java/org/onosproject/store/trivial/SimpleComponentConfigStore.java @@ -15,14 +15,13 @@ */ package org.onosproject.store.trivial; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.onosproject.cfg.ComponentConfigEvent; import org.onosproject.cfg.ComponentConfigStore; import org.onosproject.cfg.ComponentConfigStoreDelegate; import org.onosproject.store.AbstractStore; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import static org.onosproject.cfg.ComponentConfigEvent.Type.PROPERTY_SET; @@ -32,8 +31,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Manages inventory of component configuration properties. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = ComponentConfigStore.class) public class SimpleComponentConfigStore extends AbstractStore implements ComponentConfigStore { diff --git a/core/common/src/test/java/org/onosproject/store/trivial/SimpleDeviceStore.java b/core/common/src/test/java/org/onosproject/store/trivial/SimpleDeviceStore.java index 645b2878a0..ec4d916a18 100644 --- a/core/common/src/test/java/org/onosproject/store/trivial/SimpleDeviceStore.java +++ b/core/common/src/test/java/org/onosproject/store/trivial/SimpleDeviceStore.java @@ -19,11 +19,7 @@ import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableList; import com.google.common.collect.Maps; import com.google.common.collect.Sets; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; +import org.onlab.packet.ChassisId; import org.onosproject.net.AnnotationsUtil; import org.onosproject.net.DefaultAnnotations; import org.onosproject.net.DefaultDevice; @@ -45,7 +41,9 @@ import org.onosproject.net.device.PortDescription; import org.onosproject.net.device.PortStatistics; import org.onosproject.net.provider.ProviderId; import org.onosproject.store.AbstractStore; -import org.onlab.packet.ChassisId; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import java.util.ArrayList; @@ -70,17 +68,21 @@ import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Predicates.notNull; import static com.google.common.base.Verify.verify; -import static org.onosproject.net.device.DeviceEvent.Type.*; -import static org.slf4j.LoggerFactory.getLogger; -import static org.onosproject.net.DefaultAnnotations.union; import static org.onosproject.net.DefaultAnnotations.merge; +import static org.onosproject.net.DefaultAnnotations.union; +import static org.onosproject.net.device.DeviceEvent.Type.DEVICE_AVAILABILITY_CHANGED; +import static org.onosproject.net.device.DeviceEvent.Type.DEVICE_REMOVED; +import static org.onosproject.net.device.DeviceEvent.Type.PORT_ADDED; +import static org.onosproject.net.device.DeviceEvent.Type.PORT_REMOVED; +import static org.onosproject.net.device.DeviceEvent.Type.PORT_STATS_UPDATED; +import static org.onosproject.net.device.DeviceEvent.Type.PORT_UPDATED; +import static org.slf4j.LoggerFactory.getLogger; /** * Manages inventory of infrastructure devices using trivial in-memory * structures implementation. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = DeviceStore.class) public class SimpleDeviceStore extends AbstractStore implements DeviceStore { diff --git a/core/common/src/test/java/org/onosproject/store/trivial/SimpleFlowRuleStore.java b/core/common/src/test/java/org/onosproject/store/trivial/SimpleFlowRuleStore.java index 02cd8ec416..b1eaae61f0 100644 --- a/core/common/src/test/java/org/onosproject/store/trivial/SimpleFlowRuleStore.java +++ b/core/common/src/test/java/org/onosproject/store/trivial/SimpleFlowRuleStore.java @@ -24,13 +24,6 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Sets; import com.google.common.collect.Streams; import com.google.common.util.concurrent.SettableFuture; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.Tools; import org.onosproject.net.DeviceId; import org.onosproject.net.flow.CompletedBatchOperation; @@ -39,19 +32,23 @@ import org.onosproject.net.flow.FlowEntry; import org.onosproject.net.flow.FlowEntry.FlowEntryState; import org.onosproject.net.flow.FlowId; import org.onosproject.net.flow.FlowRule; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry.FlowRuleOperation; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchEvent; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchOperation; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchRequest; import org.onosproject.net.flow.FlowRuleEvent; import org.onosproject.net.flow.FlowRuleEvent.Type; import org.onosproject.net.flow.FlowRuleStore; import org.onosproject.net.flow.FlowRuleStoreDelegate; import org.onosproject.net.flow.StoredFlowEntry; import org.onosproject.net.flow.TableStatisticsEntry; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry.FlowRuleOperation; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchEvent; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchOperation; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchRequest; import org.onosproject.store.AbstractStore; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; import org.slf4j.Logger; import java.util.ArrayList; @@ -72,8 +69,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Manages inventory of flow rules using trivial in-memory implementation. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = FlowRuleStore.class) public class SimpleFlowRuleStore extends AbstractStore implements FlowRuleStore { @@ -92,8 +88,8 @@ public class SimpleFlowRuleStore private final AtomicInteger localBatchIdGen = new AtomicInteger(); private static final int DEFAULT_PENDING_FUTURE_TIMEOUT_MINUTES = 5; - @Property(name = "pendingFutureTimeoutMinutes", intValue = DEFAULT_PENDING_FUTURE_TIMEOUT_MINUTES, - label = "Expiration time after an entry is created that it should be automatically removed") + //@Property(name = "pendingFutureTimeoutMinutes", intValue = DEFAULT_PENDING_FUTURE_TIMEOUT_MINUTES, + // label = "Expiration time after an entry is created that it should be automatically removed") private int pendingFutureTimeoutMinutes = DEFAULT_PENDING_FUTURE_TIMEOUT_MINUTES; private Cache> pendingFutures = diff --git a/core/common/src/test/java/org/onosproject/store/trivial/SimpleGroupStore.java b/core/common/src/test/java/org/onosproject/store/trivial/SimpleGroupStore.java index d2e0834ef8..0564fae7d5 100644 --- a/core/common/src/test/java/org/onosproject/store/trivial/SimpleGroupStore.java +++ b/core/common/src/test/java/org/onosproject/store/trivial/SimpleGroupStore.java @@ -15,24 +15,8 @@ */ package org.onosproject.store.trivial; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; -import java.util.concurrent.atomic.AtomicInteger; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; +import com.google.common.collect.FluentIterable; +import com.google.common.collect.Sets; import org.onosproject.core.GroupId; import org.onosproject.net.DeviceId; import org.onosproject.net.group.DefaultGroup; @@ -51,16 +35,29 @@ import org.onosproject.net.group.GroupStoreDelegate; import org.onosproject.net.group.StoredGroupBucketEntry; import org.onosproject.net.group.StoredGroupEntry; import org.onosproject.store.AbstractStore; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; -import com.google.common.collect.FluentIterable; -import com.google.common.collect.Sets; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.slf4j.LoggerFactory.getLogger; /** * Manages inventory of group entries using trivial in-memory implementation. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = GroupStore.class) public class SimpleGroupStore extends AbstractStore implements GroupStore { diff --git a/core/common/src/test/java/org/onosproject/store/trivial/SimpleHostStore.java b/core/common/src/test/java/org/onosproject/store/trivial/SimpleHostStore.java index 4af7bea8e0..923e68e1c9 100644 --- a/core/common/src/test/java/org/onosproject/store/trivial/SimpleHostStore.java +++ b/core/common/src/test/java/org/onosproject/store/trivial/SimpleHostStore.java @@ -18,10 +18,6 @@ package org.onosproject.store.trivial; import com.google.common.collect.HashMultimap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Multimap; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onlab.packet.MacAddress; import org.onlab.packet.VlanId; @@ -39,6 +35,9 @@ import org.onosproject.net.host.HostStore; import org.onosproject.net.host.HostStoreDelegate; import org.onosproject.net.provider.ProviderId; import org.onosproject.store.AbstractStore; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import java.util.HashSet; @@ -58,8 +57,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Manages inventory of end-station hosts using trivial in-memory * implementation. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = HostStore.class) public class SimpleHostStore extends AbstractStore implements HostStore { diff --git a/core/common/src/test/java/org/onosproject/store/trivial/SimpleIdBlockStore.java b/core/common/src/test/java/org/onosproject/store/trivial/SimpleIdBlockStore.java index e9c4a59adf..e8b69b0c15 100644 --- a/core/common/src/test/java/org/onosproject/store/trivial/SimpleIdBlockStore.java +++ b/core/common/src/test/java/org/onosproject/store/trivial/SimpleIdBlockStore.java @@ -15,10 +15,9 @@ */ package org.onosproject.store.trivial; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; import org.onosproject.core.IdBlock; import org.onosproject.core.IdBlockStore; +import org.osgi.service.component.annotations.Component; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -27,8 +26,7 @@ import java.util.concurrent.atomic.AtomicLong; /** * Simple implementation of id block store. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = IdBlockStore.class) public class SimpleIdBlockStore implements IdBlockStore { private static final long DEFAULT_BLOCK_SIZE = 0x1000L; diff --git a/core/common/src/test/java/org/onosproject/store/trivial/SimpleIntentStore.java b/core/common/src/test/java/org/onosproject/store/trivial/SimpleIntentStore.java index 1ef16d689d..cd802a6881 100644 --- a/core/common/src/test/java/org/onosproject/store/trivial/SimpleIntentStore.java +++ b/core/common/src/test/java/org/onosproject/store/trivial/SimpleIntentStore.java @@ -17,10 +17,6 @@ package org.onosproject.store.trivial; import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.intent.Intent; import org.onosproject.net.intent.IntentData; import org.onosproject.net.intent.IntentEvent; @@ -29,6 +25,9 @@ import org.onosproject.net.intent.IntentStore; import org.onosproject.net.intent.IntentStoreDelegate; import org.onosproject.net.intent.Key; import org.onosproject.store.AbstractStore; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import java.util.List; @@ -42,8 +41,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Simple single-instance implementation of the intent store. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = IntentStore.class) public class SimpleIntentStore extends AbstractStore implements IntentStore { diff --git a/core/common/src/test/java/org/onosproject/store/trivial/SimpleLeadershipManager.java b/core/common/src/test/java/org/onosproject/store/trivial/SimpleLeadershipManager.java index 035ac9cef5..05bdbb2960 100644 --- a/core/common/src/test/java/org/onosproject/store/trivial/SimpleLeadershipManager.java +++ b/core/common/src/test/java/org/onosproject/store/trivial/SimpleLeadershipManager.java @@ -15,7 +15,18 @@ */ package org.onosproject.store.trivial; -import static com.google.common.base.Preconditions.checkArgument; +import org.onosproject.cluster.ClusterService; +import org.onosproject.cluster.Leader; +import org.onosproject.cluster.Leadership; +import org.onosproject.cluster.LeadershipEvent; +import org.onosproject.cluster.LeadershipEvent.Type; +import org.onosproject.cluster.LeadershipEventListener; +import org.onosproject.cluster.LeadershipService; +import org.onosproject.cluster.NodeId; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import java.util.Arrays; import java.util.List; @@ -26,19 +37,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArraySet; import java.util.stream.Collectors; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onosproject.cluster.ClusterService; -import org.onosproject.cluster.Leader; -import org.onosproject.cluster.Leadership; -import org.onosproject.cluster.LeadershipEvent; -import org.onosproject.cluster.LeadershipEvent.Type; -import org.onosproject.cluster.LeadershipEventListener; -import org.onosproject.cluster.LeadershipService; -import org.onosproject.cluster.NodeId; +import static com.google.common.base.Preconditions.checkArgument; /** * A trivial implementation of the leadership service. @@ -46,13 +45,12 @@ import org.onosproject.cluster.NodeId; * The service is not distributed, so it can assume there's a single leadership * contender. This contender is always granted leadership whenever it asks. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = LeadershipService.class) public class SimpleLeadershipManager implements LeadershipService { private Set listeners = new CopyOnWriteArraySet<>(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private ClusterService clusterService; private NodeId localNodeId; diff --git a/core/common/src/test/java/org/onosproject/store/trivial/SimpleLinkStore.java b/core/common/src/test/java/org/onosproject/store/trivial/SimpleLinkStore.java index 0241b41ac7..1d5828e0af 100644 --- a/core/common/src/test/java/org/onosproject/store/trivial/SimpleLinkStore.java +++ b/core/common/src/test/java/org/onosproject/store/trivial/SimpleLinkStore.java @@ -20,11 +20,6 @@ import com.google.common.collect.FluentIterable; import com.google.common.collect.Multimaps; import com.google.common.collect.SetMultimap; import com.google.common.collect.Sets; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.AnnotationKeys; import org.onosproject.net.AnnotationsUtil; import org.onosproject.net.ConnectPoint; @@ -42,6 +37,9 @@ import org.onosproject.net.link.LinkStore; import org.onosproject.net.link.LinkStoreDelegate; import org.onosproject.net.provider.ProviderId; import org.onosproject.store.AbstractStore; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import java.util.Collections; @@ -64,15 +62,16 @@ import static org.onosproject.net.Link.State.INACTIVE; import static org.onosproject.net.Link.Type.DIRECT; import static org.onosproject.net.Link.Type.INDIRECT; import static org.onosproject.net.LinkKey.linkKey; -import static org.onosproject.net.link.LinkEvent.Type.*; +import static org.onosproject.net.link.LinkEvent.Type.LINK_ADDED; +import static org.onosproject.net.link.LinkEvent.Type.LINK_REMOVED; +import static org.onosproject.net.link.LinkEvent.Type.LINK_UPDATED; import static org.slf4j.LoggerFactory.getLogger; /** * Manages inventory of infrastructure links using trivial in-memory structures * implementation. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = LinkStore.class) public class SimpleLinkStore extends AbstractStore implements LinkStore { diff --git a/core/common/src/test/java/org/onosproject/store/trivial/SimpleMastershipStore.java b/core/common/src/test/java/org/onosproject/store/trivial/SimpleMastershipStore.java index d52db145f1..4536ddae1d 100644 --- a/core/common/src/test/java/org/onosproject/store/trivial/SimpleMastershipStore.java +++ b/core/common/src/test/java/org/onosproject/store/trivial/SimpleMastershipStore.java @@ -15,30 +15,9 @@ */ package org.onosproject.store.trivial; -import static org.onosproject.mastership.MastershipEvent.Type.BACKUPS_CHANGED; -import static org.onosproject.mastership.MastershipEvent.Type.MASTER_CHANGED; -import static org.slf4j.LoggerFactory.getLogger; - -import java.time.Instant; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.atomic.AtomicInteger; - +import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import com.google.common.collect.ImmutableSet; import org.onlab.packet.IpAddress; import org.onosproject.cluster.ClusterEventListener; import org.onosproject.cluster.ClusterService; @@ -58,17 +37,35 @@ import org.onosproject.mastership.MastershipTerm; import org.onosproject.net.DeviceId; import org.onosproject.net.MastershipRole; import org.onosproject.store.AbstractStore; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; +import java.time.Instant; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.onosproject.mastership.MastershipEvent.Type.BACKUPS_CHANGED; +import static org.onosproject.mastership.MastershipEvent.Type.MASTER_CHANGED; +import static org.slf4j.LoggerFactory.getLogger; /** * Manages inventory of controller mastership over devices using * trivial, non-distributed in-memory structures implementation. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = MastershipStore.class) public class SimpleMastershipStore extends AbstractStore implements MastershipStore { @@ -78,10 +75,10 @@ public class SimpleMastershipStore private static final int NOTHING = 0; private static final int INIT = 1; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VersionService versionService; //devices mapped to their masters, to emulate multiple nodes diff --git a/core/common/src/test/java/org/onosproject/store/trivial/SimplePacketStore.java b/core/common/src/test/java/org/onosproject/store/trivial/SimplePacketStore.java index 78e88a2b9a..054ff05925 100644 --- a/core/common/src/test/java/org/onosproject/store/trivial/SimplePacketStore.java +++ b/core/common/src/test/java/org/onosproject/store/trivial/SimplePacketStore.java @@ -19,8 +19,6 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.flow.TrafficSelector; import org.onosproject.net.packet.OutboundPacket; import org.onosproject.net.packet.PacketEvent; @@ -29,6 +27,7 @@ import org.onosproject.net.packet.PacketRequest; import org.onosproject.net.packet.PacketStore; import org.onosproject.net.packet.PacketStoreDelegate; import org.onosproject.store.AbstractStore; +import org.osgi.service.component.annotations.Component; import java.util.HashSet; import java.util.List; @@ -38,8 +37,7 @@ import java.util.Set; /** * Simple single instance implementation of the packet store. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = PacketStore.class) public class SimplePacketStore extends AbstractStore implements PacketStore { diff --git a/core/common/src/test/java/org/onosproject/store/trivial/SimpleStatisticStore.java b/core/common/src/test/java/org/onosproject/store/trivial/SimpleStatisticStore.java index 4501429c32..04d33910af 100644 --- a/core/common/src/test/java/org/onosproject/store/trivial/SimpleStatisticStore.java +++ b/core/common/src/test/java/org/onosproject/store/trivial/SimpleStatisticStore.java @@ -16,10 +16,6 @@ package org.onosproject.store.trivial; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.ConnectPoint; import org.onosproject.net.PortNumber; import org.onosproject.net.flow.FlowEntry; @@ -27,6 +23,9 @@ import org.onosproject.net.flow.FlowRule; import org.onosproject.net.flow.instructions.Instruction; import org.onosproject.net.flow.instructions.Instructions; import org.onosproject.net.statistic.StatisticStore; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import java.util.Collections; @@ -43,8 +42,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Maintains statistics using RPC calls to collect stats from remote instances * on demand. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = StatisticStore.class) public class SimpleStatisticStore implements StatisticStore { private final Logger log = getLogger(getClass()); diff --git a/core/common/src/test/java/org/onosproject/store/trivial/SimpleTopologyStore.java b/core/common/src/test/java/org/onosproject/store/trivial/SimpleTopologyStore.java index cb34df15fc..60210ef62e 100644 --- a/core/common/src/test/java/org/onosproject/store/trivial/SimpleTopologyStore.java +++ b/core/common/src/test/java/org/onosproject/store/trivial/SimpleTopologyStore.java @@ -15,10 +15,6 @@ */ package org.onosproject.store.trivial; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.onosproject.common.DefaultTopology; import org.onosproject.event.Event; import org.onosproject.net.ConnectPoint; @@ -37,6 +33,9 @@ import org.onosproject.net.topology.TopologyGraph; import org.onosproject.net.topology.TopologyStore; import org.onosproject.net.topology.TopologyStoreDelegate; import org.onosproject.store.AbstractStore; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import java.util.List; @@ -49,8 +48,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Manages inventory of topology snapshots using trivial in-memory * structures implementation. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = TopologyStore.class) public class SimpleTopologyStore extends AbstractStore implements TopologyStore { diff --git a/core/net/BUILD b/core/net/BUILD index 3c17dd0d57..8cd9b48e96 100644 --- a/core/net/BUILD +++ b/core/net/BUILD @@ -5,6 +5,7 @@ COMPILE_DEPS = CORE_DEPS + JACKSON + METRICS + KRYO + [ "//incubator/net:onos-incubator-net", "//incubator/store:onos-incubator-store", "//core/store/serializers:onos-core-serializers", + "@org_osgi_service_cm//jar", ] TEST_DEPS = TEST + TEST_REST + TEST_ADAPTERS + [ diff --git a/core/net/src/main/java/org/onosproject/app/impl/ApplicationManager.java b/core/net/src/main/java/org/onosproject/app/impl/ApplicationManager.java index d8b09b0c32..2bb9c117b0 100644 --- a/core/net/src/main/java/org/onosproject/app/impl/ApplicationManager.java +++ b/core/net/src/main/java/org/onosproject/app/impl/ApplicationManager.java @@ -20,13 +20,6 @@ import com.google.common.cache.CacheBuilder; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; import com.google.common.util.concurrent.Uninterruptibles; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.apache.karaf.features.Feature; import org.apache.karaf.features.FeaturesService; import org.onosproject.app.ApplicationAdminService; @@ -41,6 +34,11 @@ import org.onosproject.core.ApplicationId; import org.onosproject.event.AbstractListenerManager; import org.onosproject.security.Permission; import org.onosproject.security.SecurityUtil; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.io.InputStream; @@ -61,8 +59,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of the application management service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = {ApplicationService.class, ApplicationAdminService.class}) public class ApplicationManager extends AbstractListenerManager implements ApplicationService, ApplicationAdminService { @@ -74,10 +71,10 @@ public class ApplicationManager private final ApplicationStoreDelegate delegate = new InternalStoreDelegate(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ApplicationStore store; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FeaturesService featuresService; // Application supplied hooks for pre-activation processing. diff --git a/core/net/src/main/java/org/onosproject/cfg/impl/ComponentConfigLoader.java b/core/net/src/main/java/org/onosproject/cfg/impl/ComponentConfigLoader.java index e8525812fa..a88738dece 100644 --- a/core/net/src/main/java/org/onosproject/cfg/impl/ComponentConfigLoader.java +++ b/core/net/src/main/java/org/onosproject/cfg/impl/ComponentConfigLoader.java @@ -18,10 +18,10 @@ package org.onosproject.cfg.impl; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.cfg.ComponentConfigService; import org.slf4j.Logger; @@ -41,7 +41,7 @@ public class ComponentConfigLoader { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService configService; private ObjectNode root; diff --git a/core/net/src/main/java/org/onosproject/cfg/impl/ComponentConfigManager.java b/core/net/src/main/java/org/onosproject/cfg/impl/ComponentConfigManager.java index b6e6a0f3f6..3ef33f7142 100644 --- a/core/net/src/main/java/org/onosproject/cfg/impl/ComponentConfigManager.java +++ b/core/net/src/main/java/org/onosproject/cfg/impl/ComponentConfigManager.java @@ -17,12 +17,6 @@ package org.onosproject.cfg.impl; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.AbstractAccumulator; import org.onlab.util.Accumulator; import org.onlab.util.SharedExecutors; @@ -33,6 +27,11 @@ import org.onosproject.cfg.ComponentConfigStoreDelegate; import org.onosproject.cfg.ConfigProperty; import org.osgi.service.cm.Configuration; import org.osgi.service.cm.ConfigurationAdmin; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.io.IOException; @@ -48,15 +47,15 @@ import java.util.Set; import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; import static org.onosproject.security.AppGuard.checkPermission; +import static org.onosproject.security.AppPermission.Type.CONFIG_READ; +import static org.onosproject.security.AppPermission.Type.CONFIG_WRITE; import static org.slf4j.LoggerFactory.getLogger; -import static org.onosproject.security.AppPermission.Type.*; /** * Implementation of the centralized component configuration service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = ComponentConfigService.class) public class ComponentConfigManager implements ComponentConfigService { private static final String COMPONENT_NULL = "Component name cannot be null"; @@ -77,10 +76,10 @@ public class ComponentConfigManager implements ComponentConfigService { private final ComponentConfigStoreDelegate delegate = new InternalStoreDelegate(); private final InternalAccumulator accumulator = new InternalAccumulator(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigStore store; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ConfigurationAdmin cfgAdmin; // Locally maintained catalog of definitions. @@ -108,6 +107,8 @@ public class ComponentConfigManager implements ComponentConfigService { @Override public void registerProperties(Class componentClass) { + if (true) return; + checkPermission(CONFIG_WRITE); String componentName = componentClass.getName(); @@ -132,6 +133,8 @@ public class ComponentConfigManager implements ComponentConfigService { @Override public void unregisterProperties(Class componentClass, boolean clear) { + if (true) return; + checkPermission(CONFIG_WRITE); String componentName = componentClass.getName(); diff --git a/core/net/src/main/java/org/onosproject/cluster/impl/ClusterManager.java b/core/net/src/main/java/org/onosproject/cluster/impl/ClusterManager.java index edbd1f7350..240fa24b03 100644 --- a/core/net/src/main/java/org/onosproject/cluster/impl/ClusterManager.java +++ b/core/net/src/main/java/org/onosproject/cluster/impl/ClusterManager.java @@ -15,16 +15,6 @@ */ package org.onosproject.cluster.impl; -import java.time.Instant; -import java.util.Set; -import java.util.concurrent.atomic.AtomicReference; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.apache.karaf.system.SystemService; import org.onlab.packet.IpAddress; import org.onosproject.cluster.ClusterAdminService; @@ -42,8 +32,17 @@ import org.onosproject.cluster.Node; import org.onosproject.cluster.NodeId; import org.onosproject.core.Version; import org.onosproject.event.AbstractListenerManager; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; +import java.time.Instant; +import java.util.Set; +import java.util.concurrent.atomic.AtomicReference; + import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; import static org.onosproject.security.AppGuard.checkPermission; @@ -53,8 +52,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of the cluster service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = {ClusterService.class, ClusterAdminService.class}) public class ClusterManager extends AbstractListenerManager implements ClusterService, ClusterAdminService { @@ -65,10 +63,10 @@ public class ClusterManager private ClusterStoreDelegate delegate = new InternalStoreDelegate(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterStore store; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected SystemService systemService; private final AtomicReference currentMetadata = new AtomicReference<>(); diff --git a/core/net/src/main/java/org/onosproject/cluster/impl/ClusterMetadataManager.java b/core/net/src/main/java/org/onosproject/cluster/impl/ClusterMetadataManager.java index 7dbf1390ee..b242a3c7e2 100644 --- a/core/net/src/main/java/org/onosproject/cluster/impl/ClusterMetadataManager.java +++ b/core/net/src/main/java/org/onosproject/cluster/impl/ClusterMetadataManager.java @@ -15,20 +15,8 @@ */ package org.onosproject.cluster.impl; -import java.net.Inet4Address; -import java.net.InetAddress; -import java.net.MalformedURLException; -import java.net.NetworkInterface; -import java.net.SocketException; -import java.net.URL; -import java.net.UnknownHostException; -import java.util.Enumeration; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; +import org.onlab.util.Tools; import org.onosproject.cluster.ClusterMetadata; import org.onosproject.cluster.ClusterMetadataAdminService; import org.onosproject.cluster.ClusterMetadataEvent; @@ -41,11 +29,26 @@ import org.onosproject.cluster.ControllerNode; import org.onosproject.cluster.DefaultControllerNode; import org.onosproject.cluster.NodeId; import org.onosproject.cluster.PartitionId; +import org.onosproject.event.EventDeliveryService; import org.onosproject.net.provider.AbstractListenerProviderRegistry; import org.onosproject.net.provider.AbstractProviderService; import org.onosproject.store.service.Versioned; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; +import java.net.Inet4Address; +import java.net.InetAddress; +import java.net.MalformedURLException; +import java.net.NetworkInterface; +import java.net.SocketException; +import java.net.URL; +import java.net.UnknownHostException; +import java.util.Enumeration; + import static com.google.common.base.Preconditions.checkNotNull; import static org.onosproject.security.AppGuard.checkPermission; import static org.onosproject.security.AppPermission.Type.CLUSTER_READ; @@ -54,8 +57,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of ClusterMetadataService. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = {ClusterMetadataService.class, ClusterMetadataAdminService.class, ClusterMetadataProviderRegistry.class}) public class ClusterMetadataManager extends AbstractListenerProviderRegistry implements ClusterMetadataService, ClusterMetadataAdminService, ClusterMetadataProviderRegistry { + private static final int MAX_WAIT_TRIES = 600; + private static final int MAX_WAIT_MS = 100; + private final Logger log = getLogger(getClass()); private ControllerNode localNode; @@ -82,10 +87,21 @@ public class ClusterMetadataManager @Override public ClusterMetadata getClusterMetadata() { checkPermission(CLUSTER_READ); + waitForAvailableProvider(); Versioned metadata = getProvider().getClusterMetadata(); return metadata.value(); } + // FIXME: Temporary hack to navigate around bootstrap timing issue + private void waitForAvailableProvider() { + for (int i = 0; i < MAX_WAIT_TRIES && getProvider() == null; i++) { + Tools.delay(MAX_WAIT_MS); + } + if (getProvider() == null) { + log.error("Unable to find cluster metadata provider"); + throw new IllegalStateException("Unable to find cluster metadata provider"); + } + } @Override protected ClusterMetadataProviderService createProviderService( diff --git a/core/net/src/main/java/org/onosproject/cluster/impl/ComponentsMonitor.java b/core/net/src/main/java/org/onosproject/cluster/impl/ComponentsMonitor.java index 063101e802..7a0295e1ac 100644 --- a/core/net/src/main/java/org/onosproject/cluster/impl/ComponentsMonitor.java +++ b/core/net/src/main/java/org/onosproject/cluster/impl/ComponentsMonitor.java @@ -16,12 +16,12 @@ package org.onosproject.cluster.impl; -import org.apache.felix.scr.Component; -import org.apache.felix.scr.ScrService; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.runtime.ServiceComponentRuntime; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.apache.karaf.features.Feature; import org.apache.karaf.features.FeaturesService; import org.onlab.util.SharedScheduledExecutors; @@ -29,6 +29,7 @@ import org.onosproject.cluster.ClusterAdminService; import org.osgi.framework.Bundle; import org.osgi.framework.BundleContext; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.runtime.dto.ComponentDescriptionDTO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,20 +41,20 @@ import java.util.concurrent.TimeUnit; * are properly activated and keeps the cluster node service appropriately * updated. */ -@org.apache.felix.scr.annotations.Component(immediate = true) +@Component(immediate = true) public class ComponentsMonitor { private Logger log = LoggerFactory.getLogger(getClass()); private static final long PERIOD = 2500; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FeaturesService featuresService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected ScrService scrService; + @Reference(cardinality = ReferenceCardinality.MANDATORY) + protected ServiceComponentRuntime scrService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterAdminService clusterAdminService; private BundleContext bundleContext; @@ -85,18 +86,22 @@ public class ComponentsMonitor { * @return true if all bundles and their components are active */ private boolean isFullyStarted() { - for (Feature feature : featuresService.listInstalledFeatures()) { - if (!isFullyStarted(feature)) { - return false; + try { + for (Feature feature : featuresService.listInstalledFeatures()) { + if (!isFullyStarted(feature)) { + return false; + } } + return true; + } catch (Exception ex) { + return false; } - return true; } private boolean isFullyStarted(Feature feature) { try { return feature.getBundles().stream() - .map(info -> bundleContext.getBundle(info.getLocation())) + .map(info -> bundleContext.getBundle()) .allMatch(this::isFullyStarted); } catch (NullPointerException npe) { // FIXME: Remove this catch block when Felix fixes the bug @@ -107,21 +112,12 @@ public class ComponentsMonitor { } private boolean isFullyStarted(Bundle bundle) { - Component[] components = scrService.getComponents(bundle); - if (components != null) { - for (Component component : components) { - if (!isFullyStarted(component)) { - return false; - } + for (ComponentDescriptionDTO component : scrService.getComponentDescriptionDTOs(bundle)) { + if (!scrService.isComponentEnabled(component)) { + return false; } } return true; } - private boolean isFullyStarted(Component component) { - int state = component.getState(); - return state == Component.STATE_ACTIVE || state == Component.STATE_DISABLED || - (state == Component.STATE_REGISTERED && !component.isImmediate()); - } - } diff --git a/core/net/src/main/java/org/onosproject/cluster/impl/ConfigFileBasedClusterMetadataProvider.java b/core/net/src/main/java/org/onosproject/cluster/impl/ConfigFileBasedClusterMetadataProvider.java index d5ef23293e..8cd2d13b0d 100644 --- a/core/net/src/main/java/org/onosproject/cluster/impl/ConfigFileBasedClusterMetadataProvider.java +++ b/core/net/src/main/java/org/onosproject/cluster/impl/ConfigFileBasedClusterMetadataProvider.java @@ -30,11 +30,14 @@ import java.util.stream.Collectors; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.Sets; import com.google.common.io.Files; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; + +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; +import org.onlab.packet.IpAddress; + import org.onosproject.cluster.ClusterMetadata; import org.onosproject.cluster.ClusterMetadataProvider; import org.onosproject.cluster.ClusterMetadataProviderRegistry; @@ -64,7 +67,7 @@ public class ConfigFileBasedClusterMetadataProvider implements ClusterMetadataPr private static final String CONFIG_FILE_NAME = "cluster.json"; private static final File CONFIG_FILE = new File(CONFIG_DIR, CONFIG_FILE_NAME); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterMetadataProviderRegistry providerRegistry; private static final ProviderId PROVIDER_ID = new ProviderId("file", "none"); diff --git a/core/net/src/main/java/org/onosproject/cluster/impl/DefaultClusterMetadataProvider.java b/core/net/src/main/java/org/onosproject/cluster/impl/DefaultClusterMetadataProvider.java index a6f24ae671..153bd6576d 100644 --- a/core/net/src/main/java/org/onosproject/cluster/impl/DefaultClusterMetadataProvider.java +++ b/core/net/src/main/java/org/onosproject/cluster/impl/DefaultClusterMetadataProvider.java @@ -24,11 +24,11 @@ import java.util.concurrent.atomic.AtomicReference; import java.util.function.Function; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.IpAddress; import org.onosproject.cluster.ClusterMetadata; import org.onosproject.cluster.ClusterMetadataProvider; @@ -53,10 +53,10 @@ public class DefaultClusterMetadataProvider implements ClusterMetadataProvider { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterMetadataProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VersionService versionService; private static final String ONOS_IP = "ONOS_IP"; diff --git a/core/net/src/main/java/org/onosproject/cluster/impl/LeadershipManager.java b/core/net/src/main/java/org/onosproject/cluster/impl/LeadershipManager.java index 07d841901d..5d02b5d03d 100644 --- a/core/net/src/main/java/org/onosproject/cluster/impl/LeadershipManager.java +++ b/core/net/src/main/java/org/onosproject/cluster/impl/LeadershipManager.java @@ -15,18 +15,8 @@ */ package org.onosproject.cluster.impl; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.Map; -import java.util.Set; - import com.google.common.base.Objects; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import com.google.common.collect.Maps; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.Leadership; import org.onosproject.cluster.LeadershipAdminService; @@ -37,15 +27,22 @@ import org.onosproject.cluster.LeadershipStore; import org.onosproject.cluster.LeadershipStoreDelegate; import org.onosproject.cluster.NodeId; import org.onosproject.event.AbstractListenerManager; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.collect.Maps; +import java.util.Map; +import java.util.Set; + +import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of {@link LeadershipService} and {@link LeadershipAdminService}. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = {LeadershipService.class, LeadershipAdminService.class}) public class LeadershipManager extends AbstractListenerManager implements LeadershipService, LeadershipAdminService { @@ -54,10 +51,10 @@ public class LeadershipManager private LeadershipStoreDelegate delegate = this::post; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipStore store; private NodeId localNodeId; diff --git a/core/net/src/main/java/org/onosproject/cluster/impl/MastershipManager.java b/core/net/src/main/java/org/onosproject/cluster/impl/MastershipManager.java index 5dea660f30..369b65b151 100644 --- a/core/net/src/main/java/org/onosproject/cluster/impl/MastershipManager.java +++ b/core/net/src/main/java/org/onosproject/cluster/impl/MastershipManager.java @@ -20,14 +20,6 @@ import com.codahale.metrics.Timer.Context; import com.google.common.collect.Lists; import com.google.common.collect.Sets; import com.google.common.util.concurrent.Futures; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.metrics.MetricsService; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.cfg.ConfigProperty; @@ -53,6 +45,12 @@ import org.onosproject.net.region.RegionService; import org.onosproject.upgrade.UpgradeEvent; import org.onosproject.upgrade.UpgradeEventListener; import org.onosproject.upgrade.UpgradeService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.ArrayList; @@ -82,8 +80,8 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Component providing the node-device mastership service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = {MastershipService.class, MastershipAdminService.class, MastershipTermService.class, + MetricsHelper.class}) public class MastershipManager extends AbstractListenerManager implements MastershipService, MastershipAdminService, MastershipTermService, @@ -98,36 +96,36 @@ public class MastershipManager private final MastershipStoreDelegate delegate = new InternalDelegate(); private final UpgradeEventListener upgradeEventListener = new InternalUpgradeEventListener(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipStore store; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MetricsService metricsService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RegionService regionService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UpgradeService upgradeService; private NodeId localNodeId; private Timer requestRoleTimer; static final boolean DEFAULT_USE_REGION_FOR_BALANCE_ROLES = false; - @Property(name = "useRegionForBalanceRoles", boolValue = DEFAULT_USE_REGION_FOR_BALANCE_ROLES, - label = "Use Regions for balancing roles") + //@Property(name = "useRegionForBalanceRoles", boolValue = DEFAULT_USE_REGION_FOR_BALANCE_ROLES, + // label = "Use Regions for balancing roles") protected boolean useRegionForBalanceRoles; private static final boolean DEFAULT_REBALANCE_ROLES_ON_UPGRADE = true; - @Property(name = "rebalanceRolesOnUpgrade", - boolValue = DEFAULT_REBALANCE_ROLES_ON_UPGRADE, - label = "Automatically rebalance roles following an upgrade") + //@Property(name = "rebalanceRolesOnUpgrade", + // boolValue = DEFAULT_REBALANCE_ROLES_ON_UPGRADE, + // label = "Automatically rebalance roles following an upgrade") protected boolean rebalanceRolesOnUpgrade = DEFAULT_REBALANCE_ROLES_ON_UPGRADE; @Activate @@ -146,9 +144,11 @@ public class MastershipManager @Modified public void modified() { Set configProperties = cfgService.getProperties(getClass().getCanonicalName()); - for (ConfigProperty property : configProperties) { - if ("useRegionForBalanceRoles".equals(property.name())) { - useRegionForBalanceRoles = property.asBoolean(); + if (configProperties != null) { + for (ConfigProperty property : configProperties) { + if ("useRegionForBalanceRoles".equals(property.name())) { + useRegionForBalanceRoles = property.asBoolean(); + } } } } diff --git a/core/net/src/main/java/org/onosproject/cluster/impl/MastershipProxyManager.java b/core/net/src/main/java/org/onosproject/cluster/impl/MastershipProxyManager.java index 96cbe3a06d..41f11d939a 100644 --- a/core/net/src/main/java/org/onosproject/cluster/impl/MastershipProxyManager.java +++ b/core/net/src/main/java/org/onosproject/cluster/impl/MastershipProxyManager.java @@ -15,6 +15,27 @@ */ package org.onosproject.cluster.impl; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Maps; +import org.onlab.util.OrderedExecutor; +import org.onlab.util.Tools; +import org.onosproject.cluster.ClusterService; +import org.onosproject.cluster.NodeId; +import org.onosproject.mastership.MastershipProxyFactory; +import org.onosproject.mastership.MastershipProxyService; +import org.onosproject.mastership.MastershipService; +import org.onosproject.net.DeviceId; +import org.onosproject.store.cluster.messaging.ClusterCommunicationService; +import org.onosproject.store.serializers.KryoNamespaces; +import org.onosproject.store.service.Serializer; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.lang.reflect.Method; import java.lang.reflect.Proxy; import java.util.Map; @@ -27,28 +48,6 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.function.Function; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onlab.util.OrderedExecutor; -import org.onlab.util.Tools; -import org.onosproject.cluster.ClusterService; -import org.onosproject.cluster.NodeId; -import org.onosproject.mastership.MastershipProxyFactory; -import org.onosproject.mastership.MastershipProxyService; -import org.onosproject.mastership.MastershipService; -import org.onosproject.net.DeviceId; -import org.onosproject.store.cluster.messaging.ClusterCommunicationService; -import org.onosproject.store.serializers.KryoNamespaces; -import org.onosproject.store.service.Serializer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import static com.google.common.base.Preconditions.checkArgument; import static org.onlab.util.Tools.groupedThreads; @@ -58,8 +57,7 @@ import static org.onlab.util.Tools.groupedThreads; * This implementation wraps both the proxy service and the generated proxy instance in additional proxies which check * mastership and route calls to the appropriate proxy instances. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = MastershipProxyService.class) public class MastershipProxyManager extends AbstractProxyManager implements MastershipProxyService { private static final Serializer REQUEST_SERIALIZER = @@ -68,13 +66,13 @@ public class MastershipProxyManager extends AbstractProxyManager implements Mast private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterCommunicationService clusterCommunicator; private final ExecutorService proxyServiceExecutor = diff --git a/core/net/src/main/java/org/onosproject/cluster/impl/MembershipManager.java b/core/net/src/main/java/org/onosproject/cluster/impl/MembershipManager.java index 5daa03e6db..db125bff22 100644 --- a/core/net/src/main/java/org/onosproject/cluster/impl/MembershipManager.java +++ b/core/net/src/main/java/org/onosproject/cluster/impl/MembershipManager.java @@ -15,21 +15,8 @@ */ package org.onosproject.cluster.impl; -import java.util.Collection; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.stream.Collectors; - import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.ControllerNode; import org.onosproject.cluster.Member; @@ -37,20 +24,31 @@ import org.onosproject.cluster.MembershipGroup; import org.onosproject.cluster.MembershipService; import org.onosproject.cluster.NodeId; import org.onosproject.core.Version; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; +import java.util.Collection; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; +import java.util.stream.Collectors; + import static org.slf4j.LoggerFactory.getLogger; /** * Cluster membership manager. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = MembershipService.class) public class MembershipManager implements MembershipService { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; private Member localMember; diff --git a/core/net/src/main/java/org/onosproject/cluster/impl/ProxyManager.java b/core/net/src/main/java/org/onosproject/cluster/impl/ProxyManager.java index 945172a1ae..4ddca9fbe9 100644 --- a/core/net/src/main/java/org/onosproject/cluster/impl/ProxyManager.java +++ b/core/net/src/main/java/org/onosproject/cluster/impl/ProxyManager.java @@ -15,6 +15,21 @@ */ package org.onosproject.cluster.impl; +import com.google.common.collect.Maps; +import org.onlab.util.OrderedExecutor; +import org.onosproject.cluster.NodeId; +import org.onosproject.cluster.ProxyFactory; +import org.onosproject.cluster.ProxyService; +import org.onosproject.store.cluster.messaging.ClusterCommunicationService; +import org.onosproject.store.service.Serializer; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.lang.reflect.Method; import java.lang.reflect.Proxy; import java.util.Map; @@ -25,37 +40,20 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.function.Function; -import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onlab.util.OrderedExecutor; -import org.onosproject.cluster.NodeId; -import org.onosproject.cluster.ProxyFactory; -import org.onosproject.cluster.ProxyService; -import org.onosproject.store.cluster.messaging.ClusterCommunicationService; -import org.onosproject.store.service.Serializer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import static com.google.common.base.Preconditions.checkArgument; import static org.onlab.util.Tools.groupedThreads; /** * Implementation of the proxy service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = ProxyService.class) public class ProxyManager extends AbstractProxyManager implements ProxyService { private final Logger log = LoggerFactory.getLogger(getClass()); private static final String MESSAGE_PREFIX = "proxy"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterCommunicationService clusterCommunicator; private final ExecutorService proxyServiceExecutor = diff --git a/core/net/src/main/java/org/onosproject/component/impl/ComponentManager.java b/core/net/src/main/java/org/onosproject/component/impl/ComponentManager.java index abe8e0b1c4..56486ec9e6 100644 --- a/core/net/src/main/java/org/onosproject/component/impl/ComponentManager.java +++ b/core/net/src/main/java/org/onosproject/component/impl/ComponentManager.java @@ -16,42 +16,41 @@ package org.onosproject.component.impl; -import org.apache.felix.scr.ScrService; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onosproject.core.ApplicationId; import org.onosproject.component.ComponentService; +import org.onosproject.core.ApplicationId; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; +import org.osgi.service.component.runtime.ServiceComponentRuntime; +import org.osgi.service.component.runtime.dto.ComponentDescriptionDTO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Collections; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; +import static java.util.concurrent.Executors.newScheduledThreadPool; import static org.onlab.util.Tools.groupedThreads; /** * Manages OSGi components. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = ComponentService.class) public class ComponentManager implements ComponentService { private final Logger log = LoggerFactory.getLogger(getClass()); + private static final long TIMEOUT = 3000; private static final int POLLING_PERIOD_MS = 500; - private static final int NUM_THREADS = 1; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected ScrService scrService; + @Reference(cardinality = ReferenceCardinality.MANDATORY) + protected ServiceComponentRuntime scrService; private Set components; @@ -61,19 +60,15 @@ public class ComponentManager implements ComponentService { private void activate() { components = Collections.newSetFromMap(new ConcurrentHashMap<>()); - executor = Executors.newScheduledThreadPool(NUM_THREADS, - groupedThreads("onos/component", "%d", log)); - + executor = newScheduledThreadPool(NUM_THREADS, groupedThreads("onos/component", "%d", log)); executor.scheduleAtFixedRate(() -> components.forEach(this::enableComponent), - 0, POLLING_PERIOD_MS, TimeUnit.MILLISECONDS); - + 0, POLLING_PERIOD_MS, TimeUnit.MILLISECONDS); log.info("Started"); } @Deactivate private void deactivate() { executor.shutdownNow(); - log.info("Stopped"); } @@ -89,30 +84,36 @@ public class ComponentManager implements ComponentService { disableComponent(name); } - private void enableComponent(String name) { - org.apache.felix.scr.Component[] components = scrService.getComponents(name); - - if (components == null || components.length == 0) { - return; + private ComponentDescriptionDTO getComponent(String name) { + for (ComponentDescriptionDTO component : scrService.getComponentDescriptionDTOs()) { + if (component.name.equals(name)) { + return component; + } } + return null; + } - org.apache.felix.scr.Component component = components[0]; - - if (component.getState() == org.apache.felix.scr.Component.STATE_DISABLED) { + private void enableComponent(String name) { + ComponentDescriptionDTO component = getComponent(name); + if (component != null && !scrService.isComponentEnabled(component)) { log.info("Enabling component {}", name); - component.enable(); + try { + scrService.enableComponent(component).timeout(TIMEOUT); + } catch (Exception e) { + throw new IllegalStateException("Unable to start component " + name, e); + } } } private void disableComponent(String name) { - org.apache.felix.scr.Component[] components = scrService.getComponents(name); - - if (components == null || components.length == 0) { - return; + ComponentDescriptionDTO component = getComponent(name); + if (component != null && scrService.isComponentEnabled(component)) { + log.info("Disabling component {}", name); + try { + scrService.disableComponent(component).timeout(TIMEOUT); + } catch (Exception e) { + throw new IllegalStateException("Unable to start component " + name, e); + } } - - log.info("Disabling component {}", name); - - components[0].disable(); } } diff --git a/core/net/src/main/java/org/onosproject/core/impl/CoreManager.java b/core/net/src/main/java/org/onosproject/core/impl/CoreManager.java index 66fc9f955c..733da9caed 100644 --- a/core/net/src/main/java/org/onosproject/core/impl/CoreManager.java +++ b/core/net/src/main/java/org/onosproject/core/impl/CoreManager.java @@ -15,22 +15,14 @@ */ package org.onosproject.core.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.metrics.MetricsService; import org.onlab.util.SharedExecutors; import org.onlab.util.SharedScheduledExecutors; import org.onlab.util.Tools; +import org.onosproject.app.ApplicationIdStore; import org.onosproject.app.ApplicationService; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.core.ApplicationId; -import org.onosproject.app.ApplicationIdStore; import org.onosproject.core.CoreService; import org.onosproject.core.IdBlockStore; import org.onosproject.core.IdGenerator; @@ -38,6 +30,12 @@ import org.onosproject.core.Version; import org.onosproject.core.VersionService; import org.onosproject.event.EventDeliveryService; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -52,46 +50,45 @@ import static org.onosproject.security.AppPermission.Type.APP_WRITE; /** * Core service implementation. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = CoreService.class) public class CoreManager implements CoreService { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VersionService versionService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ApplicationIdStore applicationIdStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IdBlockStore idBlockStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ApplicationService appService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected EventDeliveryService eventDeliveryService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MetricsService metricsService; private static final int DEFAULT_POOL_SIZE = 30; - @Property(name = "sharedThreadPoolSize", intValue = DEFAULT_POOL_SIZE, - label = "Configure shared pool maximum size ") + //@Property(name = "sharedThreadPoolSize", intValue = DEFAULT_POOL_SIZE, + // label = "Configure shared pool maximum size ") private int sharedThreadPoolSize = DEFAULT_POOL_SIZE; private static final int DEFAULT_EVENT_TIME = 2000; - @Property(name = "maxEventTimeLimit", intValue = DEFAULT_EVENT_TIME, - label = "Maximum number of millis an event sink has to process an event") + //@Property(name = "maxEventTimeLimit", intValue = DEFAULT_EVENT_TIME, + // label = "Maximum number of millis an event sink has to process an event") private int maxEventTimeLimit = DEFAULT_EVENT_TIME; private static final boolean DEFAULT_PERFORMANCE_CHECK = false; - @Property(name = "sharedThreadPerformanceCheck", boolValue = DEFAULT_PERFORMANCE_CHECK, - label = "Enable queue performance check on shared pool") + //@Property(name = "sharedThreadPerformanceCheck", boolValue = DEFAULT_PERFORMANCE_CHECK, + // label = "Enable queue performance check on shared pool") private boolean calculatePoolPerformance = DEFAULT_PERFORMANCE_CHECK; diff --git a/core/net/src/main/java/org/onosproject/core/impl/HybridLogicalClockManager.java b/core/net/src/main/java/org/onosproject/core/impl/HybridLogicalClockManager.java index 7eb0bf7c26..182aee04d5 100644 --- a/core/net/src/main/java/org/onosproject/core/impl/HybridLogicalClockManager.java +++ b/core/net/src/main/java/org/onosproject/core/impl/HybridLogicalClockManager.java @@ -16,25 +16,23 @@ package org.onosproject.core.impl; -import static org.slf4j.LoggerFactory.getLogger; +import org.onosproject.core.HybridLogicalClockService; +import org.onosproject.core.HybridLogicalTime; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.slf4j.Logger; import java.util.function.Supplier; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; -import org.onosproject.core.HybridLogicalClockService; -import org.onosproject.core.HybridLogicalTime; -import org.slf4j.Logger; +import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of {@link HybridLogicalClockService}. *

* Implementation is based on HLT paper. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = HybridLogicalClockService.class) public class HybridLogicalClockManager implements HybridLogicalClockService { private final Logger log = getLogger(getClass()); diff --git a/core/net/src/main/java/org/onosproject/core/impl/MetricsManagerComponent.java b/core/net/src/main/java/org/onosproject/core/impl/MetricsManagerComponent.java index aaff20a9dd..4e8db53d0f 100644 --- a/core/net/src/main/java/org/onosproject/core/impl/MetricsManagerComponent.java +++ b/core/net/src/main/java/org/onosproject/core/impl/MetricsManagerComponent.java @@ -15,18 +15,16 @@ */ package org.onosproject.core.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; - import org.onlab.metrics.MetricsManager; +import org.onlab.metrics.MetricsService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; /** * Metrics service implementation. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = MetricsService.class) public class MetricsManagerComponent extends MetricsManager { @Activate diff --git a/core/net/src/main/java/org/onosproject/core/impl/VersionManager.java b/core/net/src/main/java/org/onosproject/core/impl/VersionManager.java index faec87b2a3..ea5fb999a6 100644 --- a/core/net/src/main/java/org/onosproject/core/impl/VersionManager.java +++ b/core/net/src/main/java/org/onosproject/core/impl/VersionManager.java @@ -15,6 +15,13 @@ */ package org.onosproject.core.impl; +import org.onosproject.core.Version; +import org.onosproject.core.VersionService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.io.File; import java.io.IOException; import java.nio.file.Files; @@ -22,19 +29,10 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.List; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; -import org.onosproject.core.Version; -import org.onosproject.core.VersionService; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - /** * Node version service implementation. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = VersionService.class) public class VersionManager implements VersionService { private final Logger log = LoggerFactory.getLogger(getClass()); diff --git a/core/net/src/main/java/org/onosproject/event/impl/CoreEventDispatcher.java b/core/net/src/main/java/org/onosproject/event/impl/CoreEventDispatcher.java index 58c26c44c4..ec50bc5890 100644 --- a/core/net/src/main/java/org/onosproject/event/impl/CoreEventDispatcher.java +++ b/core/net/src/main/java/org/onosproject/event/impl/CoreEventDispatcher.java @@ -15,19 +15,9 @@ */ package org.onosproject.event.impl; -import java.util.Map; -import java.util.Set; -import java.util.TimerTask; -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Future; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.TimeUnit; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; +import com.google.common.base.Stopwatch; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; import org.onlab.util.SharedExecutors; import org.onosproject.event.AbstractEvent; import org.onosproject.event.DefaultEventSinkRegistry; @@ -40,11 +30,19 @@ import org.onosproject.net.host.HostEvent; import org.onosproject.net.intent.IntentEvent; import org.onosproject.net.link.LinkEvent; import org.onosproject.net.topology.TopologyEvent; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; -import com.google.common.base.Stopwatch; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; +import java.util.Map; +import java.util.Set; +import java.util.TimerTask; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Future; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.TimeUnit; import static com.google.common.base.Preconditions.checkArgument; import static java.util.concurrent.Executors.newSingleThreadExecutor; @@ -56,8 +54,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Simple implementation of an event dispatching service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = EventDeliveryService.class) public class CoreEventDispatcher extends DefaultEventSinkRegistry implements EventDeliveryService { diff --git a/core/net/src/main/java/org/onosproject/net/config/impl/BasicNetworkConfigs.java b/core/net/src/main/java/org/onosproject/net/config/impl/BasicNetworkConfigs.java index 0e2ad0de04..f5791de245 100644 --- a/core/net/src/main/java/org/onosproject/net/config/impl/BasicNetworkConfigs.java +++ b/core/net/src/main/java/org/onosproject/net/config/impl/BasicNetworkConfigs.java @@ -16,15 +16,7 @@ package org.onosproject.net.config.impl; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.core.CoreService; -import org.onosproject.net.config.basics.DeviceAnnotationConfig; -import org.onosproject.net.config.basics.InterfaceConfig; import org.onosproject.incubator.net.config.basics.PortDescriptionsConfig; import org.onosproject.net.ConnectPoint; import org.onosproject.net.DeviceId; @@ -38,10 +30,17 @@ import org.onosproject.net.config.basics.BasicHostConfig; import org.onosproject.net.config.basics.BasicLinkConfig; import org.onosproject.net.config.basics.BasicRegionConfig; import org.onosproject.net.config.basics.BasicUiTopoLayoutConfig; +import org.onosproject.net.config.basics.DeviceAnnotationConfig; +import org.onosproject.net.config.basics.InterfaceConfig; import org.onosproject.net.config.basics.PortAnnotationConfig; import org.onosproject.net.config.basics.SubjectFactories; import org.onosproject.net.region.RegionId; import org.onosproject.ui.model.topo.UiTopoLayoutId; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -57,8 +56,7 @@ import static org.onosproject.net.config.basics.SubjectFactories.REGION_SUBJECT_ /** * Component for registration of builtin basic network configurations. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = BasicNetworkConfigService.class) public class BasicNetworkConfigs implements BasicNetworkConfigService { private static final String BASIC = "basic"; @@ -144,10 +142,10 @@ public class BasicNetworkConfigs implements BasicNetworkConfigService { ); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry registry; @Activate diff --git a/core/net/src/main/java/org/onosproject/net/config/impl/DeviceInjectionConfigMonitor.java b/core/net/src/main/java/org/onosproject/net/config/impl/DeviceInjectionConfigMonitor.java index 5277075b42..0b593bd994 100644 --- a/core/net/src/main/java/org/onosproject/net/config/impl/DeviceInjectionConfigMonitor.java +++ b/core/net/src/main/java/org/onosproject/net/config/impl/DeviceInjectionConfigMonitor.java @@ -15,26 +15,9 @@ */ package org.onosproject.net.config.impl; -import static java.util.concurrent.Executors.newSingleThreadExecutor; -import static org.onlab.util.Tools.groupedThreads; -import static org.onosproject.net.PortNumber.portNumber; -import static org.onosproject.net.config.basics.SubjectFactories.DEVICE_SUBJECT_FACTORY; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.ArrayList; -import java.util.EnumSet; -import java.util.List; -import java.util.Optional; -import java.util.Set; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.TimeUnit; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import com.google.common.annotations.Beta; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; import org.onlab.packet.ChassisId; import org.onosproject.net.Device.Type; import org.onosproject.net.DeviceId; @@ -59,11 +42,26 @@ import org.onosproject.net.driver.DefaultDriverData; import org.onosproject.net.driver.DefaultDriverHandler; import org.onosproject.net.driver.DriverService; import org.onosproject.net.provider.ProviderId; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.annotations.Beta; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; +import java.util.ArrayList; +import java.util.EnumSet; +import java.util.List; +import java.util.Optional; +import java.util.Set; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.TimeUnit; + +import static java.util.concurrent.Executors.newSingleThreadExecutor; +import static org.onlab.util.Tools.groupedThreads; +import static org.onosproject.net.PortNumber.portNumber; +import static org.onosproject.net.config.basics.SubjectFactories.DEVICE_SUBJECT_FACTORY; +import static org.slf4j.LoggerFactory.getLogger; // TODO In theory just @Component should be sufficient, // but won't work without @Service. Need investigation. @@ -71,27 +69,26 @@ import com.google.common.collect.ImmutableSet; * Component to monitor DeviceInjectionConfig changes. */ @Beta -@Service(value = DeviceInjectionConfigMonitor.class) -@Component(immediate = true) +@Component(immediate = true, service = DeviceInjectionConfigMonitor.class) public class DeviceInjectionConfigMonitor { private final Logger log = getLogger(getClass()); private final ProviderId pid = new ProviderId("inject", "org.onosproject.inject"); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService netcfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceProviderRegistry deviceProviderRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry netcfgRegistry; private final List> factories = ImmutableList.of( diff --git a/core/net/src/main/java/org/onosproject/net/config/impl/NetworkConfigLoader.java b/core/net/src/main/java/org/onosproject/net/config/impl/NetworkConfigLoader.java index 43f5ff43f7..317a4b4706 100644 --- a/core/net/src/main/java/org/onosproject/net/config/impl/NetworkConfigLoader.java +++ b/core/net/src/main/java/org/onosproject/net/config/impl/NetworkConfigLoader.java @@ -19,11 +19,11 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.net.config.BasicNetworkConfigService; import org.onosproject.net.config.Config; import org.onosproject.net.config.NetworkConfigEvent; @@ -49,10 +49,10 @@ public class NetworkConfigLoader { // Dependency to ensure the basic subject factories are properly initialized // before we start loading configs from file - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected BasicNetworkConfigService basicConfigs; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService networkConfigService; // FIXME: Add mutual exclusion to make sure this happens only once per startup. diff --git a/core/net/src/main/java/org/onosproject/net/config/impl/NetworkConfigManager.java b/core/net/src/main/java/org/onosproject/net/config/impl/NetworkConfigManager.java index f6d9b514ab..990f43c81e 100644 --- a/core/net/src/main/java/org/onosproject/net/config/impl/NetworkConfigManager.java +++ b/core/net/src/main/java/org/onosproject/net/config/impl/NetworkConfigManager.java @@ -18,12 +18,6 @@ package org.onosproject.net.config.impl; import com.fasterxml.jackson.databind.JsonNode; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.cluster.ClusterService; import org.onosproject.event.AbstractListenerManager; import org.onosproject.net.config.Config; @@ -35,6 +29,11 @@ import org.onosproject.net.config.NetworkConfigService; import org.onosproject.net.config.NetworkConfigStore; import org.onosproject.net.config.NetworkConfigStoreDelegate; import org.onosproject.net.config.SubjectFactory; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -44,13 +43,13 @@ import java.util.Set; import static com.google.common.base.Preconditions.checkNotNull; import static org.onosproject.security.AppGuard.checkPermission; -import static org.onosproject.security.AppPermission.Type.*; +import static org.onosproject.security.AppPermission.Type.CONFIG_READ; +import static org.onosproject.security.AppPermission.Type.CONFIG_WRITE; /** * Implementation of the network configuration subsystem. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = { NetworkConfigRegistry.class, NetworkConfigService.class }) public class NetworkConfigManager extends AbstractListenerManager implements NetworkConfigRegistry, NetworkConfigService { @@ -76,10 +75,10 @@ public class NetworkConfigManager private final NetworkConfigStoreDelegate storeDelegate = new InternalStoreDelegate(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigStore store; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; diff --git a/core/net/src/main/java/org/onosproject/net/device/impl/DeviceManager.java b/core/net/src/main/java/org/onosproject/net/device/impl/DeviceManager.java index 2161f7d99d..2128435dac 100644 --- a/core/net/src/main/java/org/onosproject/net/device/impl/DeviceManager.java +++ b/core/net/src/main/java/org/onosproject/net/device/impl/DeviceManager.java @@ -19,12 +19,6 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Multimap; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onlab.util.Tools; import org.onosproject.cluster.ClusterService; @@ -74,6 +68,11 @@ import org.onosproject.store.cluster.messaging.MessageSubject; import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.Serializer; import org.onosproject.upgrade.UpgradeService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.time.Instant; @@ -110,8 +109,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Provides implementation of the device SB & NB APIs. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = {DeviceService.class, DeviceAdminService.class, DeviceProviderRegistry.class, PortConfigOperatorRegistry.class }) public class DeviceManager extends AbstractListenerProviderRegistry implements DeviceService, DeviceAdminService, DeviceProviderRegistry, PortConfigOperatorRegistry { @@ -134,25 +132,25 @@ public class DeviceManager private final NetworkConfigListener networkConfigListener = new InternalNetworkConfigListener(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceStore store; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipTermService termService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UpgradeService upgradeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService networkConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterCommunicationService communicationService; private ExecutorService portReqeustExecutor; diff --git a/core/net/src/main/java/org/onosproject/net/domain/impl/DomainIntentManager.java b/core/net/src/main/java/org/onosproject/net/domain/impl/DomainIntentManager.java index 18ff3f76dd..a77a53dcc2 100644 --- a/core/net/src/main/java/org/onosproject/net/domain/impl/DomainIntentManager.java +++ b/core/net/src/main/java/org/onosproject/net/domain/impl/DomainIntentManager.java @@ -18,12 +18,6 @@ package org.onosproject.net.domain.impl; import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.ItemNotFoundException; import org.onosproject.net.DeviceId; import org.onosproject.net.behaviour.DomainIntentConfigurable; @@ -34,6 +28,11 @@ import org.onosproject.net.domain.DomainIntentOperations; import org.onosproject.net.domain.DomainIntentService; import org.onosproject.net.driver.DriverHandler; import org.onosproject.net.driver.DriverService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -52,16 +51,15 @@ import static org.onosproject.net.domain.DomainIntentOperation.Type.REMOVE; /** * {@link DomainIntentService} implementation class. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = DomainIntentService.class) public class DomainIntentManager implements DomainIntentService { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; private ExecutorService executorService = diff --git a/core/net/src/main/java/org/onosproject/net/domain/impl/DomainManager.java b/core/net/src/main/java/org/onosproject/net/domain/impl/DomainManager.java index 8f0db202c1..753badc570 100644 --- a/core/net/src/main/java/org/onosproject/net/domain/impl/DomainManager.java +++ b/core/net/src/main/java/org/onosproject/net/domain/impl/DomainManager.java @@ -16,17 +16,16 @@ package org.onosproject.net.domain.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.Device; import org.onosproject.net.DeviceId; import org.onosproject.net.device.DeviceService; import org.onosproject.net.domain.DomainId; import org.onosproject.net.domain.DomainService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -39,14 +38,13 @@ import static com.google.common.base.Preconditions.checkNotNull; /** * Exposes domain topology elements and listen for updates of such elements. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = DomainService.class) public class DomainManager implements DomainService { private static final String DOMAIN_ID = "domainId"; private static final String LOCAL_DOMAIN = "local"; private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; @Activate diff --git a/core/net/src/main/java/org/onosproject/net/driver/impl/DriverManager.java b/core/net/src/main/java/org/onosproject/net/driver/impl/DriverManager.java index f2ece6b4b6..001fe58ae4 100644 --- a/core/net/src/main/java/org/onosproject/net/driver/impl/DriverManager.java +++ b/core/net/src/main/java/org/onosproject/net/driver/impl/DriverManager.java @@ -15,12 +15,6 @@ */ package org.onosproject.net.driver.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.ItemNotFoundException; import org.onosproject.net.AbstractProjectableModel; import org.onosproject.net.Device; @@ -38,6 +32,11 @@ import org.onosproject.net.driver.DriverRegistry; import org.onosproject.net.driver.DriverService; import org.onosproject.net.pi.model.PiPipeconfId; import org.onosproject.net.pi.service.PiPipeconfService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -53,10 +52,10 @@ import static org.onosproject.security.AppPermission.Type.DRIVER_WRITE; /** * Manages inventory of device drivers. */ -@Service + // Not enabled by default to allow the DriverRegistryManager to enable it only // when all the required drivers are available. -@Component(immediate = true, enabled = false) +@Component(immediate = true, enabled = false, service = DriverService.class) public class DriverManager implements DriverService { private final Logger log = LoggerFactory.getLogger(getClass()); @@ -64,16 +63,16 @@ public class DriverManager implements DriverService { private static final String NO_DRIVER = "Driver not found"; private static final String NO_DEVICE = "Device not found"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverRegistry registry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService networkConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PiPipeconfService pipeconfService; @Activate diff --git a/core/net/src/main/java/org/onosproject/net/driver/impl/DriverRegistryManager.java b/core/net/src/main/java/org/onosproject/net/driver/impl/DriverRegistryManager.java index fbb21ec213..b4b7b8e39f 100644 --- a/core/net/src/main/java/org/onosproject/net/driver/impl/DriverRegistryManager.java +++ b/core/net/src/main/java/org/onosproject/net/driver/impl/DriverRegistryManager.java @@ -18,14 +18,14 @@ package org.onosproject.net.driver.impl; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import org.onosproject.net.driver.DriverRegistry; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.ComponentPropertyType; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.component.ComponentService; import org.onosproject.event.EventDeliveryService; @@ -39,6 +39,7 @@ import org.onosproject.net.driver.DriverEvent; import org.onosproject.net.driver.DriverListener; import org.onosproject.net.driver.DriverProvider; import org.osgi.service.component.ComponentContext; +//import org.osgi.service.metatype.annotations.AttributeDefinition; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -60,8 +61,7 @@ import static org.onosproject.security.AppPermission.Type.DRIVER_READ; /** * Manages inventory of device drivers. */ -@Service -@Component(immediate = true, enabled = true) +@Component(immediate = true, enabled = true, service = {DriverAdminService.class, DriverRegistry.class}) public class DriverRegistryManager extends DefaultDriverProvider implements DriverAdminService { private static final String DRIVER_COMPONENT = "org.onosproject.net.driver.impl.DriverManager"; @@ -73,22 +73,26 @@ public class DriverRegistryManager extends DefaultDriverProvider implements Driv private static final String NO_DRIVER = "Driver not found"; private static final String DEFAULT = "default"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService componentConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentService componenService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected EventDeliveryService eventDispatcher; private static final String DEFAULT_REQUIRED_DRIVERS = "default"; - @Property(name = "requiredDrivers", value = DEFAULT_REQUIRED_DRIVERS, - label = "Comma-separated list of drivers that must be registered before starting driver subsystem") - private String requiredDrivers = DEFAULT_REQUIRED_DRIVERS; + private static String requiredDrivers = DEFAULT_REQUIRED_DRIVERS; + //@AttributeDefinition(name = "requiredDrivers", + // defaultValue = DEFAULT_REQUIRED_DRIVERS + "AAA", + // description = "Comma-separated list of drivers that must be registered before starting driver subsystem") + private String requiredDrivers() { + return requiredDrivers; + } private Set requiredDriverSet; private Set providers = Sets.newConcurrentHashSet(); diff --git a/core/net/src/main/java/org/onosproject/net/edgeservice/impl/EdgeManager.java b/core/net/src/main/java/org/onosproject/net/edgeservice/impl/EdgeManager.java index 3a825f0636..9411a6388a 100644 --- a/core/net/src/main/java/org/onosproject/net/edgeservice/impl/EdgeManager.java +++ b/core/net/src/main/java/org/onosproject/net/edgeservice/impl/EdgeManager.java @@ -20,12 +20,6 @@ package org.onosproject.net.edgeservice.impl; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.event.AbstractListenerManager; import org.onosproject.net.ConnectPoint; import org.onosproject.net.DeviceId; @@ -44,6 +38,11 @@ import org.onosproject.net.link.LinkService; import org.onosproject.net.packet.DefaultOutboundPacket; import org.onosproject.net.packet.OutboundPacket; import org.onosproject.net.packet.PacketService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.nio.ByteBuffer; @@ -66,8 +65,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * This is an implementation of the edge net service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = EdgePortService.class) public class EdgeManager extends AbstractListenerManager implements EdgePortService { @@ -80,13 +78,13 @@ public class EdgeManager private final DeviceListener deviceListener = new InnerDeviceListener(); private final LinkListener linkListener = new InnerLinkListener(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; @Activate diff --git a/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleManager.java b/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleManager.java index 56a54e4562..65cbd99c17 100644 --- a/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleManager.java +++ b/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleManager.java @@ -21,14 +21,6 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Multimap; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.core.ApplicationId; @@ -45,10 +37,6 @@ import org.onosproject.net.flow.CompletedBatchOperation; import org.onosproject.net.flow.DefaultFlowEntry; import org.onosproject.net.flow.FlowEntry; import org.onosproject.net.flow.FlowRule; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchEvent; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchOperation; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchRequest; import org.onosproject.net.flow.FlowRuleEvent; import org.onosproject.net.flow.FlowRuleListener; import org.onosproject.net.flow.FlowRuleOperation; @@ -61,10 +49,20 @@ import org.onosproject.net.flow.FlowRuleService; import org.onosproject.net.flow.FlowRuleStore; import org.onosproject.net.flow.FlowRuleStoreDelegate; import org.onosproject.net.flow.TableStatisticsEntry; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchEvent; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchOperation; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchRequest; import org.onosproject.net.provider.AbstractListenerProviderRegistry; import org.onosproject.net.provider.AbstractProviderService; import org.onosproject.net.provider.ProviderId; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collections; @@ -92,8 +90,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Provides implementation of the flow NB & SB APIs. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = { FlowRuleService.class, FlowRuleProviderRegistry.class }) public class FlowRuleManager extends AbstractListenerProviderRegistry @@ -105,17 +102,17 @@ public class FlowRuleManager private static final String FLOW_RULE_NULL = "FlowRule cannot be null"; private static final boolean ALLOW_EXTRANEOUS_RULES = false; - @Property(name = "allowExtraneousRules", boolValue = ALLOW_EXTRANEOUS_RULES, - label = "Allow flow rules in switch not installed by ONOS") + //@Property(name = "allowExtraneousRules", boolValue = ALLOW_EXTRANEOUS_RULES, + // label = "Allow flow rules in switch not installed by ONOS") private boolean allowExtraneousRules = ALLOW_EXTRANEOUS_RULES; - @Property(name = "purgeOnDisconnection", boolValue = false, - label = "Purge entries associated with a device when the device goes offline") + //@Property(name = "purgeOnDisconnection", boolValue = false, + // label = "Purge entries associated with a device when the device goes offline") private boolean purgeOnDisconnection = false; private static final int DEFAULT_POLL_FREQUENCY = 30; - @Property(name = "fallbackFlowPollFrequency", intValue = DEFAULT_POLL_FREQUENCY, - label = "Frequency (in seconds) for polling flow statistics via fallback provider") + //@Property(name = "fallbackFlowPollFrequency", intValue = DEFAULT_POLL_FREQUENCY, + // label = "Frequency (in seconds) for polling flow statistics via fallback provider") private int fallbackFlowPollFrequency = DEFAULT_POLL_FREQUENCY; private final FlowRuleStoreDelegate delegate = new InternalStoreDelegate(); @@ -133,22 +130,22 @@ public class FlowRuleManager private final Map pendingFlowOperations = new ConcurrentHashMap<>(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleStore store; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; @Activate diff --git a/core/net/src/main/java/org/onosproject/net/flowobjective/impl/FlowObjectiveManager.java b/core/net/src/main/java/org/onosproject/net/flowobjective/impl/FlowObjectiveManager.java index 4567415cef..5bb0d40a5d 100644 --- a/core/net/src/main/java/org/onosproject/net/flowobjective/impl/FlowObjectiveManager.java +++ b/core/net/src/main/java/org/onosproject/net/flowobjective/impl/FlowObjectiveManager.java @@ -19,14 +19,6 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.osgi.DefaultServiceDirectory; import org.onlab.osgi.ServiceDirectory; import org.onlab.util.ItemNotFoundException; @@ -59,6 +51,12 @@ import org.onosproject.net.flowobjective.ObjectiveEvent; import org.onosproject.net.flowobjective.ObjectiveEvent.Type; import org.onosproject.net.group.GroupService; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -80,8 +78,7 @@ import static org.onosproject.security.AppPermission.Type.FLOWRULE_WRITE; /** * Provides implementation of the flow objective programming service. */ -@Component(enabled = false) -@Service +@Component(enabled = false, service = FlowObjectiveService.class) public class FlowObjectiveManager implements FlowObjectiveService { private static final int INSTALL_RETRY_ATTEMPTS = 5; @@ -94,35 +91,35 @@ public class FlowObjectiveManager implements FlowObjectiveService { private final Logger log = LoggerFactory.getLogger(getClass()); private static final int DEFAULT_NUM_THREADS = 4; - @Property(name = NUM_THREAD, - intValue = DEFAULT_NUM_THREADS, - label = "Number of worker threads") + //@Property(name = NUM_THREAD, + // intValue = DEFAULT_NUM_THREADS, + // label = "Number of worker threads") private int numThreads = DEFAULT_NUM_THREADS; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; // Note: The following dependencies are added on behalf of the pipeline // driver behaviours to assure these services are available for their // initialization. @SuppressWarnings("unused") - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService flowRuleService; @SuppressWarnings("unused") - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected GroupService groupService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowObjectiveStore flowObjectiveStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; final FlowObjectiveStoreDelegate delegate = new InternalStoreDelegate(); diff --git a/core/net/src/main/java/org/onosproject/net/flowobjective/impl/InOrderFlowObjectiveManager.java b/core/net/src/main/java/org/onosproject/net/flowobjective/impl/InOrderFlowObjectiveManager.java index 7ded0f514b..a90f84cb61 100644 --- a/core/net/src/main/java/org/onosproject/net/flowobjective/impl/InOrderFlowObjectiveManager.java +++ b/core/net/src/main/java/org/onosproject/net/flowobjective/impl/InOrderFlowObjectiveManager.java @@ -22,15 +22,12 @@ import com.google.common.cache.RemovalNotification; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.ListMultimap; import com.google.common.collect.Multimaps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.Tools; import org.onlab.util.Tools.LogLevel; import org.onosproject.net.DeviceId; import org.onosproject.net.flowobjective.FilteringObjQueueKey; import org.onosproject.net.flowobjective.FilteringObjective; +import org.onosproject.net.flowobjective.FlowObjectiveService; import org.onosproject.net.flowobjective.FlowObjectiveStoreDelegate; import org.onosproject.net.flowobjective.ForwardingObjQueueKey; import org.onosproject.net.flowobjective.ForwardingObjective; @@ -40,6 +37,9 @@ import org.onosproject.net.flowobjective.Objective; import org.onosproject.net.flowobjective.ObjectiveContext; import org.onosproject.net.flowobjective.ObjectiveError; import org.onosproject.net.flowobjective.ObjectiveEvent; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -53,8 +53,7 @@ import java.util.concurrent.TimeUnit; import static java.util.concurrent.Executors.newSingleThreadScheduledExecutor; import static org.onlab.util.Tools.groupedThreads; -@Component(immediate = true, enabled = true) -@Service +@Component(immediate = true, service = FlowObjectiveService.class) public class InOrderFlowObjectiveManager extends FlowObjectiveManager { private final Logger log = LoggerFactory.getLogger(getClass()); diff --git a/core/net/src/main/java/org/onosproject/net/flowobjective/impl/composition/FlowObjectiveCompositionManager.java b/core/net/src/main/java/org/onosproject/net/flowobjective/impl/composition/FlowObjectiveCompositionManager.java index 21f8ddc1aa..e09f8a1bb9 100644 --- a/core/net/src/main/java/org/onosproject/net/flowobjective/impl/composition/FlowObjectiveCompositionManager.java +++ b/core/net/src/main/java/org/onosproject/net/flowobjective/impl/composition/FlowObjectiveCompositionManager.java @@ -18,11 +18,6 @@ package org.onosproject.net.flowobjective.impl.composition; import com.google.common.collect.ImmutableList; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.osgi.DefaultServiceDirectory; import org.onlab.osgi.ServiceDirectory; import org.onlab.util.ItemNotFoundException; @@ -51,6 +46,10 @@ import org.onosproject.net.flowobjective.Objective; import org.onosproject.net.flowobjective.ObjectiveError; import org.onosproject.net.flowobjective.ObjectiveEvent; import org.onosproject.net.group.GroupService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -79,7 +78,6 @@ import static org.onosproject.security.AppPermission.Type.FLOWRULE_WRITE; * This comment will be removed when a distributed implementation is available. */ //@Component(immediate = true, enabled = false) -@Service public class FlowObjectiveCompositionManager implements FlowObjectiveService { public enum PolicyOperator { @@ -94,28 +92,28 @@ public class FlowObjectiveCompositionManager implements FlowObjectiveService { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; // Note: The following dependencies are added on behalf of the pipeline // driver behaviours to assure these services are available for their // initialization. - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected GroupService groupService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowObjectiveStore flowObjectiveStore; private final FlowObjectiveStoreDelegate delegate = new InternalStoreDelegate(); diff --git a/core/net/src/main/java/org/onosproject/net/group/impl/GroupManager.java b/core/net/src/main/java/org/onosproject/net/group/impl/GroupManager.java index 4a0e409831..fa9ba8e240 100644 --- a/core/net/src/main/java/org/onosproject/net/group/impl/GroupManager.java +++ b/core/net/src/main/java/org/onosproject/net/group/impl/GroupManager.java @@ -15,14 +15,6 @@ */ package org.onosproject.net.group.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.core.ApplicationId; @@ -50,6 +42,12 @@ import org.onosproject.net.group.GroupStoreDelegate; import org.onosproject.net.provider.AbstractListenerProviderRegistry; import org.onosproject.net.provider.AbstractProviderService; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collection; @@ -69,8 +67,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Provides implementation of the group service APIs. */ -@Component(immediate = true) -@Service +@Component(immediate = true,service = { GroupService.class, GroupProviderRegistry.class }) public class GroupManager extends AbstractListenerProviderRegistry @@ -85,29 +82,29 @@ public class GroupManager private ExecutorService eventExecutor; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected GroupStore store; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; // Reference the DriverService to ensure the service is bound prior to initialization of the GroupDriverProvider - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; private static final int DEFAULT_POLL_FREQUENCY = 30; - @Property(name = "fallbackGroupPollFrequency", intValue = DEFAULT_POLL_FREQUENCY, - label = "Frequency (in seconds) for polling groups via fallback provider") + //@Property(name = "fallbackGroupPollFrequency", intValue = DEFAULT_POLL_FREQUENCY, + // label = "Frequency (in seconds) for polling groups via fallback provider") private int fallbackGroupPollFrequency = DEFAULT_POLL_FREQUENCY; - @Property(name = "purgeOnDisconnection", boolValue = false, - label = "Purge entries associated with a device when the device goes offline") + //@Property(name = "purgeOnDisconnection", boolValue = false, + // label = "Purge entries associated with a device when the device goes offline") private boolean purgeOnDisconnection = false; diff --git a/core/net/src/main/java/org/onosproject/net/host/impl/HostManager.java b/core/net/src/main/java/org/onosproject/net/host/impl/HostManager.java index 6cb1cb6635..b135e802a7 100644 --- a/core/net/src/main/java/org/onosproject/net/host/impl/HostManager.java +++ b/core/net/src/main/java/org/onosproject/net/host/impl/HostManager.java @@ -15,34 +15,23 @@ */ package org.onosproject.net.host.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.Ip6Address; import org.onlab.packet.IpAddress; import org.onlab.packet.MacAddress; import org.onlab.packet.VlanId; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; -import org.onosproject.net.intf.Interface; -import org.onosproject.net.intf.InterfaceService; -import org.onosproject.net.HostLocation; -import org.onosproject.net.edge.EdgePortService; -import org.onosproject.net.provider.AbstractListenerProviderRegistry; -import org.onosproject.net.config.NetworkConfigEvent; -import org.onosproject.net.config.NetworkConfigListener; -import org.onosproject.net.config.NetworkConfigService; -import org.onosproject.net.config.basics.BasicHostConfig; import org.onosproject.net.ConnectPoint; import org.onosproject.net.DeviceId; import org.onosproject.net.Host; import org.onosproject.net.HostId; +import org.onosproject.net.HostLocation; +import org.onosproject.net.config.NetworkConfigEvent; +import org.onosproject.net.config.NetworkConfigListener; +import org.onosproject.net.config.NetworkConfigService; +import org.onosproject.net.config.basics.BasicHostConfig; import org.onosproject.net.device.DeviceService; +import org.onosproject.net.edge.EdgePortService; import org.onosproject.net.host.HostAdminService; import org.onosproject.net.host.HostDescription; import org.onosproject.net.host.HostEvent; @@ -53,9 +42,18 @@ import org.onosproject.net.host.HostProviderService; import org.onosproject.net.host.HostService; import org.onosproject.net.host.HostStore; import org.onosproject.net.host.HostStoreDelegate; +import org.onosproject.net.intf.Interface; +import org.onosproject.net.intf.InterfaceService; import org.onosproject.net.packet.PacketService; +import org.onosproject.net.provider.AbstractListenerProviderRegistry; import org.onosproject.net.provider.AbstractProviderService; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Dictionary; @@ -72,8 +70,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Provides basic implementation of the host SB & NB APIs. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = {HostService.class, HostAdminService.class, HostProviderRegistry.class }) public class HostManager extends AbstractListenerProviderRegistry implements HostService, HostAdminService, HostProviderRegistry { @@ -86,41 +83,41 @@ public class HostManager private HostStoreDelegate delegate = new InternalStoreDelegate(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostStore store; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService networkConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InterfaceService interfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected EdgePortService edgePortService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; - @Property(name = "allowDuplicateIps", boolValue = true, - label = "Enable removal of duplicate ip address") + //@Property(name = "allowDuplicateIps", boolValue = true, + // label = "Enable removal of duplicate ip address") private boolean allowDuplicateIps = true; - @Property(name = "monitorHosts", boolValue = false, - label = "Enable/Disable monitoring of hosts") + //@Property(name = "monitorHosts", boolValue = false, + // label = "Enable/Disable monitoring of hosts") private boolean monitorHosts = false; - @Property(name = "probeRate", longValue = 30000, - label = "Set the probe Rate in milli seconds") + //@Property(name = "probeRate", longValue = 30000, + // label = "Set the probe Rate in milli seconds") private long probeRate = 30000; - @Property(name = "greedyLearningIpv6", boolValue = false, - label = "Enable/Disable greedy learning of IPv6 link local address") + //@Property(name = "greedyLearningIpv6", boolValue = false, + // label = "Enable/Disable greedy learning of IPv6 link local address") private boolean greedyLearningIpv6 = false; private HostMonitor monitor; diff --git a/core/net/src/main/java/org/onosproject/net/host/impl/HostProbingManager.java b/core/net/src/main/java/org/onosproject/net/host/impl/HostProbingManager.java index 08ce42e720..ea3a8a1172 100644 --- a/core/net/src/main/java/org/onosproject/net/host/impl/HostProbingManager.java +++ b/core/net/src/main/java/org/onosproject/net/host/impl/HostProbingManager.java @@ -16,39 +16,37 @@ package org.onosproject.net.host.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.MacAddress; import org.onosproject.net.ConnectPoint; import org.onosproject.net.Host; +import org.onosproject.net.host.HostProbeStore; import org.onosproject.net.host.HostProbingEvent; -import org.onosproject.net.host.ProbeMode; import org.onosproject.net.host.HostProbingListener; import org.onosproject.net.host.HostProbingProvider; +import org.onosproject.net.host.HostProbingProviderRegistry; import org.onosproject.net.host.HostProbingProviderService; import org.onosproject.net.host.HostProbingService; -import org.onosproject.net.host.HostProbeStore; -import org.onosproject.net.host.HostProbingProviderRegistry; import org.onosproject.net.host.HostProbingStoreDelegate; +import org.onosproject.net.host.ProbeMode; import org.onosproject.net.provider.AbstractListenerProviderRegistry; import org.onosproject.net.provider.AbstractProviderService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import static org.slf4j.LoggerFactory.getLogger; -@Component(immediate = true) -@Service +@Component(immediate = true, service = { HostProbingService.class, HostProbingProviderRegistry.class }) public class HostProbingManager extends AbstractListenerProviderRegistry implements HostProbingService, HostProbingProviderRegistry { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private HostProbeStore hostProbeStore; private static final String SCHEME = "hostprobing"; diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/IntentCleanup.java b/core/net/src/main/java/org/onosproject/net/intent/impl/IntentCleanup.java index 823aa3b15f..bb08cd85d5 100644 --- a/core/net/src/main/java/org/onosproject/net/intent/impl/IntentCleanup.java +++ b/core/net/src/main/java/org/onosproject/net/intent/impl/IntentCleanup.java @@ -15,13 +15,6 @@ */ package org.onosproject.net.intent.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.net.intent.IntentData; import org.onosproject.net.intent.IntentEvent; @@ -31,6 +24,12 @@ import org.onosproject.net.intent.IntentStore; import org.onosproject.net.intent.Key; import org.onosproject.store.service.WallClockTimestamp; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Dictionary; @@ -65,27 +64,27 @@ public class IntentCleanup implements Runnable, IntentListener { private static final int DEFAULT_PERIOD = 5; //seconds private static final int DEFAULT_THRESHOLD = 5; //tries - @Property(name = "enabled", boolValue = true, - label = "Enables/disables the intent cleanup component") + //@Property(name = "enabled", boolValue = true, + // label = "Enables/disables the intent cleanup component") private boolean enabled = true; - @Property(name = "period", intValue = DEFAULT_PERIOD, - label = "Frequency in ms between cleanup runs") + //@Property(name = "period", intValue = DEFAULT_PERIOD, + // label = "Frequency in ms between cleanup runs") protected int period = DEFAULT_PERIOD; private long periodMs; private long periodMsForStuck; - @Property(name = "retryThreshold", intValue = DEFAULT_THRESHOLD, - label = "Number of times to retry CORRUPT intent without delay") + //@Property(name = "retryThreshold", intValue = DEFAULT_THRESHOLD, + // label = "Number of times to retry CORRUPT intent without delay") protected int retryThreshold = DEFAULT_THRESHOLD; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentService service; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentStore store; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; private ExecutorService executor; diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/IntentManager.java b/core/net/src/main/java/org/onosproject/net/intent/impl/IntentManager.java index 62752e7905..08ce4762ec 100644 --- a/core/net/src/main/java/org/onosproject/net/intent/impl/IntentManager.java +++ b/core/net/src/main/java/org/onosproject/net/intent/impl/IntentManager.java @@ -15,14 +15,6 @@ */ package org.onosproject.net.intent.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.core.CoreService; @@ -38,13 +30,13 @@ import org.onosproject.net.group.GroupService; import org.onosproject.net.intent.Intent; import org.onosproject.net.intent.IntentBatchDelegate; import org.onosproject.net.intent.IntentCompiler; -import org.onosproject.net.intent.IntentInstallCoordinator; import org.onosproject.net.intent.IntentData; import org.onosproject.net.intent.IntentEvent; import org.onosproject.net.intent.IntentExtensionService; -import org.onosproject.net.intent.IntentOperationContext; +import org.onosproject.net.intent.IntentInstallCoordinator; import org.onosproject.net.intent.IntentInstaller; import org.onosproject.net.intent.IntentListener; +import org.onosproject.net.intent.IntentOperationContext; import org.onosproject.net.intent.IntentService; import org.onosproject.net.intent.IntentState; import org.onosproject.net.intent.IntentStore; @@ -60,6 +52,12 @@ import org.onosproject.net.intent.impl.phase.Skipped; import org.onosproject.net.resource.ResourceConsumer; import org.onosproject.net.resource.ResourceService; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collection; @@ -77,7 +75,11 @@ import static com.google.common.base.Strings.isNullOrEmpty; import static java.util.concurrent.Executors.newFixedThreadPool; import static java.util.concurrent.Executors.newSingleThreadExecutor; import static org.onlab.util.Tools.groupedThreads; -import static org.onosproject.net.intent.IntentState.*; +import static org.onosproject.net.intent.IntentState.FAILED; +import static org.onosproject.net.intent.IntentState.INSTALL_REQ; +import static org.onosproject.net.intent.IntentState.WITHDRAWING; +import static org.onosproject.net.intent.IntentState.WITHDRAWN; +import static org.onosproject.net.intent.IntentState.WITHDRAW_REQ; import static org.onosproject.net.intent.constraint.PartialFailureConstraint.intentAllowsPartialFailure; import static org.onosproject.net.intent.impl.phase.IntentProcessPhase.newInitialPhase; import static org.onosproject.security.AppGuard.checkPermission; @@ -88,8 +90,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * An implementation of intent service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = { IntentService.class, IntentExtensionService.class, IntentInstallCoordinator.class }) public class IntentManager extends AbstractListenerManager implements IntentService, IntentExtensionService, IntentInstallCoordinator { @@ -105,45 +106,45 @@ public class IntentManager = EnumSet.of(WITHDRAW_REQ, WITHDRAWING, WITHDRAWN); private static final boolean DEFAULT_SKIP_RELEASE_RESOURCES_ON_WITHDRAWAL = false; - @Property(name = "skipReleaseResourcesOnWithdrawal", - boolValue = DEFAULT_SKIP_RELEASE_RESOURCES_ON_WITHDRAWAL, - label = "Indicates whether skipping resource releases on withdrawal is enabled or not") + //@Property(name = "skipReleaseResourcesOnWithdrawal", + // boolValue = DEFAULT_SKIP_RELEASE_RESOURCES_ON_WITHDRAWAL, + // label = "Indicates whether skipping resource releases on withdrawal is enabled or not") private boolean skipReleaseResourcesOnWithdrawal = DEFAULT_SKIP_RELEASE_RESOURCES_ON_WITHDRAWAL; private static final int DEFAULT_NUM_THREADS = 12; - @Property(name = "numThreads", - intValue = DEFAULT_NUM_THREADS, - label = "Number of worker threads") + //@Property(name = "numThreads", + // intValue = DEFAULT_NUM_THREADS, + // label = "Number of worker threads") private int numThreads = DEFAULT_NUM_THREADS; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentStore store; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ObjectiveTrackerService trackerService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowObjectiveService flowObjectiveService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DomainIntentService domainIntentService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ResourceService resourceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService configService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected GroupService groupService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private NetworkConfigService networkConfigService; private ExecutorService batchExecutor; diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/ObjectiveTracker.java b/core/net/src/main/java/org/onosproject/net/intent/impl/ObjectiveTracker.java index f423ebc513..288308d2bd 100644 --- a/core/net/src/main/java/org/onosproject/net/intent/impl/ObjectiveTracker.java +++ b/core/net/src/main/java/org/onosproject/net/intent/impl/ObjectiveTracker.java @@ -18,13 +18,6 @@ package org.onosproject.net.intent.impl; import com.google.common.collect.HashMultimap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.SetMultimap; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.ReferencePolicy; -import org.apache.felix.scr.annotations.Service; import org.onosproject.event.Event; import org.onosproject.net.DeviceId; import org.onosproject.net.ElementId; @@ -55,6 +48,12 @@ import org.onosproject.net.resource.ResourceService; import org.onosproject.net.topology.TopologyEvent; import org.onosproject.net.topology.TopologyListener; import org.onosproject.net.topology.TopologyService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.ReferencePolicy; import org.slf4j.Logger; import java.util.Collection; @@ -85,8 +84,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Entity responsible for tracking installed flows and for monitoring topology * events to determine what flows are affected by topology changes. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = ObjectiveTrackerService.class) public class ObjectiveTracker implements ObjectiveTrackerService { private final Logger log = getLogger(getClass()); @@ -98,25 +96,25 @@ public class ObjectiveTracker implements ObjectiveTrackerService { private final SetMultimap intentsByDevice = synchronizedSetMultimap(HashMultimap.create()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TopologyService topologyService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ResourceService resourceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.OPTIONAL_UNARY, + @Reference(cardinality = ReferenceCardinality.OPTIONAL, bind = "bindComponentConfigService", unbind = "unbindComponentConfigService", policy = ReferencePolicy.DYNAMIC) protected IntentService intentService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected WorkPartitionService partitionService; private ExecutorService executorService = diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/ProtectionConfigMonitor.java b/core/net/src/main/java/org/onosproject/net/intent/impl/ProtectionConfigMonitor.java index 7201364d31..b8b70ec03a 100644 --- a/core/net/src/main/java/org/onosproject/net/intent/impl/ProtectionConfigMonitor.java +++ b/core/net/src/main/java/org/onosproject/net/intent/impl/ProtectionConfigMonitor.java @@ -15,28 +15,8 @@ */ package org.onosproject.net.intent.impl; -import static java.util.concurrent.Executors.newSingleThreadExecutor; -import static org.onlab.util.Tools.groupedThreads; -import static org.onosproject.net.config.basics.SubjectFactories.DEVICE_SUBJECT_FACTORY; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.EnumSet; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Optional; -import java.util.Set; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.TimeUnit; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; import org.onosproject.net.ConnectPoint; import org.onosproject.net.DeviceId; import org.onosproject.net.MastershipRole; @@ -52,32 +32,49 @@ import org.onosproject.net.config.NetworkConfigService; import org.onosproject.net.device.DeviceService; import org.onosproject.net.driver.DriverHandler; import org.onosproject.net.driver.DriverService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; +import java.util.EnumSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Optional; +import java.util.Set; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.TimeUnit; + +import static java.util.concurrent.Executors.newSingleThreadExecutor; +import static org.onlab.util.Tools.groupedThreads; +import static org.onosproject.net.config.basics.SubjectFactories.DEVICE_SUBJECT_FACTORY; +import static org.slf4j.LoggerFactory.getLogger; // TODO In theory just @Component should be sufficient, // but won't work without @Service. Need investigation. /** * Component to monitor {@link ProtectionConfig} changes. */ -@Service(value = ProtectionConfigMonitor.class) -@Component(immediate = true) +@Component(immediate = true, service = ProtectionConfigMonitor.class) public class ProtectionConfigMonitor { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService networkConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry cfgRegistry; private final List> factories = ImmutableList.of( diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/ConnectivityIntentCompiler.java b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/ConnectivityIntentCompiler.java index a8ab9fa59f..82729be3b5 100644 --- a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/ConnectivityIntentCompiler.java +++ b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/ConnectivityIntentCompiler.java @@ -18,9 +18,9 @@ package org.onosproject.net.intent.impl.compiler; import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.graph.DefaultEdgeWeigher; import org.onlab.graph.ScalarWeight; import org.onlab.graph.Weight; @@ -74,16 +74,16 @@ public abstract class ConnectivityIntentCompiler private static final Logger log = LoggerFactory.getLogger(ConnectivityIntentCompiler.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentExtensionService intentManager; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PathService pathService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ResourceService resourceService; /** diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/HostToHostIntentCompiler.java b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/HostToHostIntentCompiler.java index 4ba0bfe7fa..99b31fc4da 100644 --- a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/HostToHostIntentCompiler.java +++ b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/HostToHostIntentCompiler.java @@ -17,11 +17,11 @@ package org.onosproject.net.intent.impl.compiler; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.net.ConnectPoint; import org.onosproject.net.DefaultLink; import org.onosproject.net.DefaultPath; @@ -62,7 +62,7 @@ public class HostToHostIntentCompiler private static final String DEVICE_ID_NOT_FOUND = "Didn't find device id in the link"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; @Activate diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/IntentConfigurableRegistrator.java b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/IntentConfigurableRegistrator.java index f86cdbaf3f..b6e74b7759 100644 --- a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/IntentConfigurableRegistrator.java +++ b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/IntentConfigurableRegistrator.java @@ -17,14 +17,6 @@ package org.onosproject.net.intent.impl.compiler; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.net.intent.Intent; @@ -32,6 +24,12 @@ import org.onosproject.net.intent.IntentCompiler; import org.onosproject.net.intent.IntentExtensionService; import org.onosproject.net.resource.impl.LabelAllocator; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Map; @@ -43,46 +41,45 @@ import static org.slf4j.LoggerFactory.getLogger; * Auxiliary utility to register either flow-rule compilers or flow-objective * compilers. */ -@Component -@Service(value = IntentConfigurableRegistrator.class) +@Component(service = IntentConfigurableRegistrator.class) public class IntentConfigurableRegistrator { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentExtensionService extensionService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; private static final boolean DEFAULT_FLOW_OBJECTIVES = false; - @Property(name = "useFlowObjectives", - boolValue = DEFAULT_FLOW_OBJECTIVES, - label = "Indicates whether or not to use flow objective-based compilers") + //@Property(name = "useFlowObjectives", + // boolValue = DEFAULT_FLOW_OBJECTIVES, + // label = "Indicates whether or not to use flow objective-based compilers") private boolean useFlowObjectives = DEFAULT_FLOW_OBJECTIVES; private static final String DEFAULT_LABEL_SELECTION = "RANDOM"; - @Property(name = "labelSelection", - value = DEFAULT_LABEL_SELECTION, - label = "Defines the label selection algorithm - RANDOM or FIRST_FIT") + //@Property(name = "labelSelection", + // value = DEFAULT_LABEL_SELECTION, + // label = "Defines the label selection algorithm - RANDOM or FIRST_FIT") private String labelSelection = DEFAULT_LABEL_SELECTION; private static final String DEFAULT_OPT_LABEL_SELECTION = "NONE"; - @Property(name = "optLabelSelection", - value = DEFAULT_OPT_LABEL_SELECTION, - label = "Defines the optimization for label selection algorithm - NONE, NO_SWAP, MIN_SWAP") + //@Property(name = "optLabelSelection", + // value = DEFAULT_OPT_LABEL_SELECTION, + // label = "Defines the optimization for label selection algorithm - NONE, NO_SWAP, MIN_SWAP") private String optLabelSelection = DEFAULT_OPT_LABEL_SELECTION; private static final boolean DEFAULT_FLOW_OPTIMIZATION = false; - @Property(name = "optimizeInstructions", - boolValue = DEFAULT_FLOW_OPTIMIZATION, - label = "Indicates whether or not to optimize the flows in the link collection compiler") + //@Property(name = "optimizeInstructions", + // boolValue = DEFAULT_FLOW_OPTIMIZATION, + // label = "Indicates whether or not to optimize the flows in the link collection compiler") private boolean optimizeInstructions = DEFAULT_FLOW_OPTIMIZATION; private static final boolean DEFAULT_COPY_TTL = false; - @Property(name = "useCopyTtl", - boolValue = DEFAULT_COPY_TTL, - label = "Indicates whether or not to use copy ttl in the link collection compiler") + //@Property(name = "useCopyTtl", + // boolValue = DEFAULT_COPY_TTL, + // label = "Indicates whether or not to use copy ttl in the link collection compiler") private boolean useCopyTtl = DEFAULT_COPY_TTL; private final Map, IntentCompiler> flowRuleBased = Maps.newConcurrentMap(); diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/LinkCollectionIntentCompiler.java b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/LinkCollectionIntentCompiler.java index 64134086bb..b6e956e65f 100644 --- a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/LinkCollectionIntentCompiler.java +++ b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/LinkCollectionIntentCompiler.java @@ -19,11 +19,11 @@ import com.google.common.collect.HashMultimap; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.SetMultimap; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.util.Identifier; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -70,16 +70,16 @@ public class LinkCollectionIntentCompiler private static final String UNSUPPORTED_INSTRUCTION = "Unsupported %s instruction"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentConfigurableRegistrator registrator; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ResourceService resourceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DomainService domainService; private ApplicationId appId; diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/LinkCollectionIntentFlowObjectiveCompiler.java b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/LinkCollectionIntentFlowObjectiveCompiler.java index 159a53e3e3..870473c251 100644 --- a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/LinkCollectionIntentFlowObjectiveCompiler.java +++ b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/LinkCollectionIntentFlowObjectiveCompiler.java @@ -21,11 +21,11 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.Lists; import com.google.common.collect.SetMultimap; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.util.Identifier; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -78,19 +78,19 @@ public class LinkCollectionIntentFlowObjectiveCompiler implements IntentCompiler { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentConfigurableRegistrator registrator; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowObjectiveService flowObjectiveService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ResourceService resourceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DomainService domainService; private ApplicationId appId; diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/MultiPointToSinglePointIntentCompiler.java b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/MultiPointToSinglePointIntentCompiler.java index fc5c970b4f..710f6e191f 100644 --- a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/MultiPointToSinglePointIntentCompiler.java +++ b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/MultiPointToSinglePointIntentCompiler.java @@ -17,11 +17,11 @@ package org.onosproject.net.intent.impl.compiler; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.net.ConnectPoint; import org.onosproject.net.DeviceId; import org.onosproject.net.Link; @@ -51,12 +51,6 @@ import static org.onosproject.net.intent.constraint.PartialFailureConstraint.int public class MultiPointToSinglePointIntentCompiler extends ConnectivityIntentCompiler { - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected IntentExtensionService intentManager; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected DeviceService deviceService; - @Activate public void activate() { intentManager.registerCompiler(MultiPointToSinglePointIntent.class, this); diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PathIntentCompiler.java b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PathIntentCompiler.java index 9b3883734c..0b9bdd123b 100644 --- a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PathIntentCompiler.java +++ b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PathIntentCompiler.java @@ -16,11 +16,11 @@ package org.onosproject.net.intent.impl.compiler; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; import org.onosproject.net.ConnectPoint; @@ -53,13 +53,13 @@ public class PathIntentCompiler private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentConfigurableRegistrator registrator; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ResourceService resourceService; private ApplicationId appId; diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PathIntentFlowObjectiveCompiler.java b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PathIntentFlowObjectiveCompiler.java index b919aada0f..75734b9971 100644 --- a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PathIntentFlowObjectiveCompiler.java +++ b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PathIntentFlowObjectiveCompiler.java @@ -16,11 +16,11 @@ package org.onosproject.net.intent.impl.compiler; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; import org.onosproject.net.ConnectPoint; @@ -56,16 +56,16 @@ public class PathIntentFlowObjectiveCompiler private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentConfigurableRegistrator registrator; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ResourceService resourceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowObjectiveService flowObjectiveService; private ApplicationId appId; diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PointToPointIntentCompiler.java b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PointToPointIntentCompiler.java index acdaddd8f9..bc16ddcd06 100644 --- a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PointToPointIntentCompiler.java +++ b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PointToPointIntentCompiler.java @@ -16,11 +16,11 @@ package org.onosproject.net.intent.impl.compiler; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.graph.ScalarWeight; import org.onosproject.net.ConnectPoint; import org.onosproject.net.DefaultPath; @@ -103,15 +103,12 @@ public class PointToPointIntentCompiler protected boolean erasePrimary = false; protected boolean eraseBackup = false; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected GroupService groupService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected DeviceService deviceService; - @Activate public void activate() { intentManager.registerCompiler(PointToPointIntent.class, this); diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/ProtectedTransportIntentCompiler.java b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/ProtectedTransportIntentCompiler.java index 9020e5aedb..6ca2014a19 100644 --- a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/ProtectedTransportIntentCompiler.java +++ b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/ProtectedTransportIntentCompiler.java @@ -33,11 +33,11 @@ import java.util.stream.Stream; import org.apache.commons.lang3.RandomUtils; import org.apache.commons.lang3.tuple.Pair; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.VlanId; import org.onosproject.net.ConnectPoint; import org.onosproject.net.DefaultLink; @@ -87,12 +87,8 @@ public class ProtectedTransportIntentCompiler */ private static final String REV = "rev"; - private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected ResourceService resourceService; - @Activate public void activate() { intentManager.registerCompiler(ProtectedTransportIntent.class, this); diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/SinglePointToMultiPointIntentCompiler.java b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/SinglePointToMultiPointIntentCompiler.java index 391605b4d3..c92433958c 100644 --- a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/SinglePointToMultiPointIntentCompiler.java +++ b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/SinglePointToMultiPointIntentCompiler.java @@ -16,11 +16,11 @@ package org.onosproject.net.intent.impl.compiler; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.net.ConnectPoint; import org.onosproject.net.Link; import org.onosproject.net.Path; @@ -43,9 +43,6 @@ import static org.onosproject.net.intent.constraint.PartialFailureConstraint.int public class SinglePointToMultiPointIntentCompiler extends ConnectivityIntentCompiler { - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected DeviceService deviceService; - @Activate public void activate() { intentManager.registerCompiler(SinglePointToMultiPointIntent.class, this); diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/TwoWayP2PIntentCompiler.java b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/TwoWayP2PIntentCompiler.java index 753e04f2d6..8ed1d94594 100644 --- a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/TwoWayP2PIntentCompiler.java +++ b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/TwoWayP2PIntentCompiler.java @@ -16,9 +16,9 @@ package org.onosproject.net.intent.impl.compiler; import com.google.common.collect.Lists; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.onosproject.net.FilteredConnectPoint; import org.onosproject.net.intent.Intent; import org.onosproject.net.intent.PointToPointIntent; diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/VirtualNetworkIntentCompiler.java b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/VirtualNetworkIntentCompiler.java index bf92873427..3222714219 100644 --- a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/VirtualNetworkIntentCompiler.java +++ b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/VirtualNetworkIntentCompiler.java @@ -16,11 +16,11 @@ package org.onosproject.net.intent.impl.compiler; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.osgi.DefaultServiceDirectory; import org.onlab.osgi.ServiceDirectory; import org.onosproject.core.ApplicationId; @@ -63,13 +63,13 @@ public class VirtualNetworkIntentCompiler protected ServiceDirectory serviceDirectory = new DefaultServiceDirectory(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VirtualNetworkService manager; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentService intentService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VirtualNetworkStore store; diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/installer/DomainIntentInstaller.java b/core/net/src/main/java/org/onosproject/net/intent/impl/installer/DomainIntentInstaller.java index d2fabffb61..19473a4032 100644 --- a/core/net/src/main/java/org/onosproject/net/intent/impl/installer/DomainIntentInstaller.java +++ b/core/net/src/main/java/org/onosproject/net/intent/impl/installer/DomainIntentInstaller.java @@ -16,11 +16,11 @@ package org.onosproject.net.intent.impl.installer; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.net.domain.DomainIntent; import org.onosproject.net.domain.DomainIntentOperations; import org.onosproject.net.domain.DomainIntentOperationsContext; @@ -47,16 +47,16 @@ public class DomainIntentInstaller implements IntentInstaller { private final Logger log = getLogger(IntentManager.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentExtensionService intentExtensionService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ObjectiveTrackerService trackerService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentInstallCoordinator intentInstallCoordinator; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DomainIntentService domainIntentService; @Activate diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/installer/FlowObjectiveIntentInstaller.java b/core/net/src/main/java/org/onosproject/net/intent/impl/installer/FlowObjectiveIntentInstaller.java index 84717e4ac4..8c9151e08b 100644 --- a/core/net/src/main/java/org/onosproject/net/intent/impl/installer/FlowObjectiveIntentInstaller.java +++ b/core/net/src/main/java/org/onosproject/net/intent/impl/installer/FlowObjectiveIntentInstaller.java @@ -19,11 +19,11 @@ package org.onosproject.net.intent.impl.installer; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.net.DeviceId; import org.onosproject.net.flowobjective.FilteringObjective; import org.onosproject.net.flowobjective.FlowObjectiveService; @@ -63,16 +63,16 @@ public class FlowObjectiveIntentInstaller implements IntentInstaller { - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentExtensionService intentExtensionService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ObjectiveTrackerService trackerService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentInstallCoordinator intentInstallCoordinator; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService configService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IntentStore store; private ScheduledExecutorService nonDisruptiveIntentInstaller; private static final int DEFAULT_NON_DISRUPTIVE_INSTALLATION_WAITING_TIME = 1; - @Property(name = "nonDisruptiveInstallationWaitingTime", - intValue = DEFAULT_NON_DISRUPTIVE_INSTALLATION_WAITING_TIME, - label = "Number of seconds to wait during the non-disruptive installation phases") + //@Property(name = "nonDisruptiveInstallationWaitingTime", + // intValue = DEFAULT_NON_DISRUPTIVE_INSTALLATION_WAITING_TIME, + // label = "Number of seconds to wait during the non-disruptive installation phases") private int nonDisruptiveInstallationWaitingTime = DEFAULT_NON_DISRUPTIVE_INSTALLATION_WAITING_TIME; protected final Logger log = getLogger(IntentManager.class); diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/installer/ProtectionEndpointIntentInstaller.java b/core/net/src/main/java/org/onosproject/net/intent/impl/installer/ProtectionEndpointIntentInstaller.java index 59b4ace3fb..451394524e 100644 --- a/core/net/src/main/java/org/onosproject/net/intent/impl/installer/ProtectionEndpointIntentInstaller.java +++ b/core/net/src/main/java/org/onosproject/net/intent/impl/installer/ProtectionEndpointIntentInstaller.java @@ -19,11 +19,11 @@ package org.onosproject.net.intent.impl.installer; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; import org.apache.commons.lang3.tuple.Pair; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.net.DeviceId; import org.onosproject.net.behaviour.protection.ProtectedTransportEndpointDescription; import org.onosproject.net.behaviour.protection.ProtectionConfig; @@ -66,16 +66,16 @@ public class ProtectionEndpointIntentInstaller implements IntentInstaller implements InterfaceService, InterfaceAdminService { @@ -68,11 +66,11 @@ public class InterfaceManager extends ListenerRegistry SUBJECT_CLASS = ConnectPoint.class; private static final Class CONFIG_CLASS = InterfaceConfig.class; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService configService; //Dependency to ensure subject factories are properly initialized - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected BasicNetworkConfigService basicNetworkConfigService; private final InternalConfigListener listener = new InternalConfigListener(); diff --git a/core/net/src/main/java/org/onosproject/net/key/impl/DeviceKeyManager.java b/core/net/src/main/java/org/onosproject/net/key/impl/DeviceKeyManager.java index 647acf7b23..cc06f47645 100644 --- a/core/net/src/main/java/org/onosproject/net/key/impl/DeviceKeyManager.java +++ b/core/net/src/main/java/org/onosproject/net/key/impl/DeviceKeyManager.java @@ -16,12 +16,6 @@ package org.onosproject.net.key.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.event.AbstractListenerManager; import org.onosproject.net.key.DeviceKey; import org.onosproject.net.key.DeviceKeyAdminService; @@ -31,6 +25,11 @@ import org.onosproject.net.key.DeviceKeyListener; import org.onosproject.net.key.DeviceKeyService; import org.onosproject.net.key.DeviceKeyStore; import org.onosproject.net.key.DeviceKeyStoreDelegate; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collection; @@ -43,8 +42,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of device key services. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = { DeviceKeyService.class, DeviceKeyAdminService.class }) public class DeviceKeyManager extends AbstractListenerManager implements DeviceKeyService, DeviceKeyAdminService { @@ -52,7 +50,7 @@ public class DeviceKeyManager extends AbstractListenerManager implements LinkService, LinkAdminService, LinkProviderRegistry { @@ -83,13 +80,13 @@ public class LinkManager private final NetworkConfigListener networkConfigListener = new InternalNetworkConfigListener(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkStore store; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService networkConfigService; @Activate diff --git a/core/net/src/main/java/org/onosproject/net/mcast/impl/MulticastRouteManager.java b/core/net/src/main/java/org/onosproject/net/mcast/impl/MulticastRouteManager.java index 913dcdbdd3..35ca7eb975 100644 --- a/core/net/src/main/java/org/onosproject/net/mcast/impl/MulticastRouteManager.java +++ b/core/net/src/main/java/org/onosproject/net/mcast/impl/MulticastRouteManager.java @@ -15,14 +15,6 @@ */ package org.onosproject.net.mcast.impl; -import java.util.Set; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.event.AbstractListenerManager; import org.onosproject.net.ConnectPoint; import org.onosproject.net.mcast.McastEvent; @@ -31,16 +23,22 @@ import org.onosproject.net.mcast.McastRoute; import org.onosproject.net.mcast.McastStore; import org.onosproject.net.mcast.McastStoreDelegate; import org.onosproject.net.mcast.MulticastRouteService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; +import java.util.Set; + import static com.google.common.base.Preconditions.checkNotNull; import static org.slf4j.LoggerFactory.getLogger; /** * An implementation of a multicast route table. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = MulticastRouteService.class) public class MulticastRouteManager extends AbstractListenerManager implements MulticastRouteService { @@ -50,7 +48,7 @@ public class MulticastRouteManager private final McastStoreDelegate delegate = new InternalMcastStoreDelegate(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected McastStore store; @Activate diff --git a/core/net/src/main/java/org/onosproject/net/meter/impl/MeterManager.java b/core/net/src/main/java/org/onosproject/net/meter/impl/MeterManager.java index 04e3e56ef1..35ad493d0a 100644 --- a/core/net/src/main/java/org/onosproject/net/meter/impl/MeterManager.java +++ b/core/net/src/main/java/org/onosproject/net/meter/impl/MeterManager.java @@ -15,14 +15,6 @@ */ package org.onosproject.net.meter.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.TriConsumer; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.mastership.MastershipService; @@ -30,8 +22,8 @@ import org.onosproject.net.DeviceId; import org.onosproject.net.device.DeviceService; import org.onosproject.net.driver.DriverService; import org.onosproject.net.meter.DefaultMeter; -import org.onosproject.net.meter.MeterCellId.MeterCellType; import org.onosproject.net.meter.Meter; +import org.onosproject.net.meter.MeterCellId.MeterCellType; import org.onosproject.net.meter.MeterEvent; import org.onosproject.net.meter.MeterFailReason; import org.onosproject.net.meter.MeterFeatures; @@ -51,6 +43,12 @@ import org.onosproject.net.meter.MeterStoreResult; import org.onosproject.net.provider.AbstractListenerProviderRegistry; import org.onosproject.net.provider.AbstractProviderService; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collection; @@ -69,8 +67,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Provides implementation of the meter service APIs. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = { MeterService.class, MeterProviderRegistry.class }) public class MeterManager extends AbstractListenerProviderRegistry implements MeterService, MeterProviderRegistry { @@ -80,32 +77,32 @@ public class MeterManager private static final String GROUP_THREAD_NAME = "onos/meter"; private static final int DEFAULT_NUM_THREADS = 4; - @Property(name = NUM_THREAD, - intValue = DEFAULT_NUM_THREADS, - label = "Number of worker threads") + //@Property(name = NUM_THREAD, + // intValue = DEFAULT_NUM_THREADS, + // label = "Number of worker threads") private int numThreads = DEFAULT_NUM_THREADS; private final Logger log = getLogger(getClass()); private final MeterStoreDelegate delegate = new InternalMeterStoreDelegate(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private MeterStore store; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; private static final int DEFAULT_POLL_FREQUENCY = 30; - @Property(name = "fallbackMeterPollFrequency", intValue = DEFAULT_POLL_FREQUENCY, - label = "Frequency (in seconds) for polling meters via fallback provider") + //@Property(name = "fallbackMeterPollFrequency", intValue = DEFAULT_POLL_FREQUENCY, + // label = "Frequency (in seconds) for polling meters via fallback provider") private int fallbackMeterPollFrequency = DEFAULT_POLL_FREQUENCY; private TriConsumer onComplete; diff --git a/core/net/src/main/java/org/onosproject/net/neighbour/impl/NeighbourResolutionManager.java b/core/net/src/main/java/org/onosproject/net/neighbour/impl/NeighbourResolutionManager.java index 0101c84e4e..d4032553a6 100644 --- a/core/net/src/main/java/org/onosproject/net/neighbour/impl/NeighbourResolutionManager.java +++ b/core/net/src/main/java/org/onosproject/net/neighbour/impl/NeighbourResolutionManager.java @@ -20,14 +20,6 @@ import com.google.common.collect.HashMultimap; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Multimaps; import com.google.common.collect.SetMultimap; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.Ethernet; import org.onlab.packet.ICMP6; import org.onlab.packet.IPv6; @@ -38,22 +30,28 @@ import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; +import org.onosproject.net.ConnectPoint; +import org.onosproject.net.edge.EdgePortService; +import org.onosproject.net.flow.DefaultTrafficSelector; +import org.onosproject.net.flow.TrafficSelector; +import org.onosproject.net.host.HostService; import org.onosproject.net.intf.Interface; import org.onosproject.net.neighbour.NeighbourHandlerRegistration; import org.onosproject.net.neighbour.NeighbourMessageActions; import org.onosproject.net.neighbour.NeighbourMessageContext; import org.onosproject.net.neighbour.NeighbourMessageHandler; import org.onosproject.net.neighbour.NeighbourResolutionService; -import org.onosproject.net.ConnectPoint; -import org.onosproject.net.edge.EdgePortService; -import org.onosproject.net.flow.DefaultTrafficSelector; -import org.onosproject.net.flow.TrafficSelector; -import org.onosproject.net.host.HostService; import org.onosproject.net.packet.InboundPacket; import org.onosproject.net.packet.PacketContext; import org.onosproject.net.packet.PacketProcessor; import org.onosproject.net.packet.PacketService; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -75,37 +73,36 @@ import static org.onosproject.net.packet.PacketPriority.CONTROL; /** * Manages handlers for neighbour messages. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = NeighbourResolutionService.class) public class NeighbourResolutionManager implements NeighbourResolutionService { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected EdgePortService edgeService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService componentConfigService; - @Property(name = "arpEnabled", boolValue = true, - label = "Enable Address resolution protocol") + //@Property(name = "arpEnabled", boolValue = true, + // label = "Enable Address resolution protocol") protected boolean arpEnabled = true; - @Property(name = "ndpEnabled", boolValue = false, - label = "Enable IPv6 neighbour discovery") + //@Property(name = "ndpEnabled", boolValue = false, + // label = "Enable IPv6 neighbour discovery") protected boolean ndpEnabled = false; - @Property(name = "requestInterceptsEnabled", boolValue = true, - label = "Enable requesting packet intercepts") + //@Property(name = "requestInterceptsEnabled", boolValue = true, + // label = "Enable requesting packet intercepts") private boolean requestInterceptsEnabled = true; private static final String APP_NAME = "org.onosproject.neighbour"; diff --git a/core/net/src/main/java/org/onosproject/net/packet/impl/PacketManager.java b/core/net/src/main/java/org/onosproject/net/packet/impl/PacketManager.java index ac5c732cd1..ff63efecf4 100644 --- a/core/net/src/main/java/org/onosproject/net/packet/impl/PacketManager.java +++ b/core/net/src/main/java/org/onosproject/net/packet/impl/PacketManager.java @@ -17,12 +17,6 @@ package org.onosproject.net.packet.impl; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.NodeId; import org.onosproject.core.ApplicationId; @@ -59,6 +53,11 @@ import org.onosproject.net.packet.PacketStore; import org.onosproject.net.packet.PacketStoreDelegate; import org.onosproject.net.provider.AbstractProviderRegistry; import org.onosproject.net.provider.AbstractProviderService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.List; @@ -77,8 +76,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Provides a basic implementation of the packet SB & NB APIs. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = { PacketService.class, PacketProviderRegistry.class }) public class PacketManager extends AbstractProviderRegistry implements PacketService, PacketProviderRegistry { @@ -93,22 +91,22 @@ public class PacketManager private final PacketStoreDelegate delegate = new InternalStoreDelegate(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketStore store; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowObjectiveService objectiveService; private ExecutorService eventHandlingExecutor; diff --git a/core/net/src/main/java/org/onosproject/net/pi/impl/PiPipeconfManager.java b/core/net/src/main/java/org/onosproject/net/pi/impl/PiPipeconfManager.java index a90149fb47..1846ab4bdb 100644 --- a/core/net/src/main/java/org/onosproject/net/pi/impl/PiPipeconfManager.java +++ b/core/net/src/main/java/org/onosproject/net/pi/impl/PiPipeconfManager.java @@ -20,12 +20,6 @@ import com.google.common.annotations.Beta; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; import com.google.common.util.concurrent.Striped; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.ItemNotFoundException; import org.onosproject.net.DeviceId; import org.onosproject.net.config.ConfigFactory; @@ -44,6 +38,11 @@ import org.onosproject.net.pi.model.PiPipeconfId; import org.onosproject.net.pi.service.PiPipeconfConfig; import org.onosproject.net.pi.service.PiPipeconfMappingStore; import org.onosproject.net.pi.service.PiPipeconfService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.HashMap; @@ -65,8 +64,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of the PiPipeconfService. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = PiPipeconfService.class) @Beta public class PiPipeconfManager implements PiPipeconfService { @@ -75,13 +73,13 @@ public class PiPipeconfManager implements PiPipeconfService { private static final String MERGED_DRIVER_SEPARATOR = ":"; private static final String CFG_SCHEME = "piPipeconf"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverAdminService driverAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private PiPipeconfMappingStore pipeconfMappingStore; // Registered pipeconf are replicated through the app subsystem and diff --git a/core/net/src/main/java/org/onosproject/net/pi/impl/PiPipeconfWatchdogManager.java b/core/net/src/main/java/org/onosproject/net/pi/impl/PiPipeconfWatchdogManager.java index 6b41fd5f01..0b1daf12b3 100644 --- a/core/net/src/main/java/org/onosproject/net/pi/impl/PiPipeconfWatchdogManager.java +++ b/core/net/src/main/java/org/onosproject/net/pi/impl/PiPipeconfWatchdogManager.java @@ -18,14 +18,6 @@ package org.onosproject.net.pi.impl; import com.google.common.collect.Maps; import com.google.common.util.concurrent.Striped; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; @@ -54,6 +46,12 @@ import org.onosproject.store.service.EventuallyConsistentMapListener; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.WallClockTimestamp; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collections; @@ -76,8 +74,7 @@ import static org.slf4j.LoggerFactory.getLogger; * pipeline probe task and listens for device events to update the status of the * pipeline. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = PiPipeconfWatchdogService.class) public class PiPipeconfWatchdogManager extends AbstractListenerManager implements PiPipeconfWatchdogService { @@ -89,28 +86,28 @@ public class PiPipeconfWatchdogManager // binaries over slow network). private static final long PIPECONF_SET_TIMEOUT = 60; // Seconds. - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private PiPipeconfMappingStore pipeconfMappingStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PiPipeconfService pipeconfService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private ComponentConfigService componentConfigService; private static final String PROBE_INTERVAL = "probeInterval"; private static final int DEFAULT_PROBE_INTERVAL = 15; - @Property(name = PROBE_INTERVAL, intValue = DEFAULT_PROBE_INTERVAL, - label = "Configure interval in seconds for device pipeconf probing") + //@Property(name = PROBE_INTERVAL, intValue = DEFAULT_PROBE_INTERVAL, + // label = "Configure interval in seconds for device pipeconf probing") private int probeInterval = DEFAULT_PROBE_INTERVAL; protected ExecutorService executor = Executors.newFixedThreadPool( diff --git a/core/net/src/main/java/org/onosproject/net/pi/impl/PiTranslationServiceImpl.java b/core/net/src/main/java/org/onosproject/net/pi/impl/PiTranslationServiceImpl.java index a28ab0a06e..f024f6c2e6 100644 --- a/core/net/src/main/java/org/onosproject/net/pi/impl/PiTranslationServiceImpl.java +++ b/core/net/src/main/java/org/onosproject/net/pi/impl/PiTranslationServiceImpl.java @@ -16,12 +16,6 @@ package org.onosproject.net.pi.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.Device; import org.onosproject.net.DeviceId; import org.onosproject.net.device.DeviceService; @@ -43,33 +37,37 @@ import org.onosproject.net.pi.service.PiMulticastGroupTranslationStore; import org.onosproject.net.pi.service.PiMulticastGroupTranslator; import org.onosproject.net.pi.service.PiTranslationException; import org.onosproject.net.pi.service.PiTranslationService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Implementation of the PI translation service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = PiTranslationService.class) public class PiTranslationServiceImpl implements PiTranslationService { private final Logger log = LoggerFactory.getLogger(this.getClass()); // TODO: implement cache to speed up translation. - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private PiFlowRuleTranslationStore flowRuleTranslationStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private PiGroupTranslationStore groupTranslationStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private PiMulticastGroupTranslationStore mcGroupTranslationStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private PiMeterTranslationStore meterTranslationStore; private PiFlowRuleTranslator flowRuleTranslator; diff --git a/core/net/src/main/java/org/onosproject/net/region/impl/RegionManager.java b/core/net/src/main/java/org/onosproject/net/region/impl/RegionManager.java index 76b3f9e2e7..c1b932752d 100644 --- a/core/net/src/main/java/org/onosproject/net/region/impl/RegionManager.java +++ b/core/net/src/main/java/org/onosproject/net/region/impl/RegionManager.java @@ -17,12 +17,6 @@ package org.onosproject.net.region.impl; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.ItemNotFoundException; import org.onosproject.cluster.NodeId; import org.onosproject.event.AbstractListenerManager; @@ -44,6 +38,11 @@ import org.onosproject.net.region.RegionService; import org.onosproject.net.region.RegionStore; import org.onosproject.net.region.RegionStoreDelegate; import org.onosproject.ui.topo.LayoutLocation; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collection; @@ -61,8 +60,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Provides implementation of the region service APIs. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = {RegionAdminService.class, RegionService.class}) public class RegionManager extends AbstractListenerManager implements RegionAdminService, RegionService { @@ -82,10 +80,10 @@ public class RegionManager extends AbstractListenerManager implements ResourceService, ResourceAdminService { - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ResourceStore store; private final Logger log = getLogger(getClass()); diff --git a/core/net/src/main/java/org/onosproject/net/resource/impl/ResourceRegistrar.java b/core/net/src/main/java/org/onosproject/net/resource/impl/ResourceRegistrar.java index 9811d99a45..7c44f2a7e8 100644 --- a/core/net/src/main/java/org/onosproject/net/resource/impl/ResourceRegistrar.java +++ b/core/net/src/main/java/org/onosproject/net/resource/impl/ResourceRegistrar.java @@ -18,11 +18,11 @@ package org.onosproject.net.resource.impl; import com.google.common.annotations.Beta; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.mastership.MastershipService; import org.onosproject.net.ConnectPoint; import org.onosproject.net.config.ConfigFactory; @@ -51,22 +51,22 @@ import static org.slf4j.LoggerFactory.getLogger; @Beta public final class ResourceRegistrar { - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) ResourceAdminService adminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) ResourceService resourceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) DriverService driverService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) NetworkConfigRegistry cfgRegistry; private final Logger log = getLogger(getClass()); diff --git a/core/net/src/main/java/org/onosproject/net/statistic/impl/FlowStatisticManager.java b/core/net/src/main/java/org/onosproject/net/statistic/impl/FlowStatisticManager.java index 2af9bad35f..7f984abebc 100644 --- a/core/net/src/main/java/org/onosproject/net/statistic/impl/FlowStatisticManager.java +++ b/core/net/src/main/java/org/onosproject/net/statistic/impl/FlowStatisticManager.java @@ -16,21 +16,9 @@ package org.onosproject.net.statistic.impl; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Set; -import java.util.TreeMap; -import java.util.stream.Collectors; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import com.google.common.base.MoreObjects; +import com.google.common.base.Predicate; +import com.google.common.collect.ImmutableSet; import org.onosproject.net.ConnectPoint; import org.onosproject.net.Device; import org.onosproject.net.Port; @@ -52,11 +40,21 @@ import org.onosproject.net.statistic.StatisticStore; import org.onosproject.net.statistic.SummaryFlowEntryWithLoad; import org.onosproject.net.statistic.TypedFlowEntryWithLoad; import org.onosproject.utils.Comparators; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.base.MoreObjects; -import com.google.common.base.Predicate; -import com.google.common.collect.ImmutableSet; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; +import java.util.TreeMap; +import java.util.stream.Collectors; import static com.google.common.base.Preconditions.checkNotNull; import static org.onosproject.security.AppGuard.checkPermission; @@ -66,15 +64,14 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Provides an implementation of the Flow Statistic Service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = FlowStatisticService.class) public class FlowStatisticManager implements FlowStatisticService { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StatisticStore statisticStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; @Activate diff --git a/core/net/src/main/java/org/onosproject/net/statistic/impl/StatisticManager.java b/core/net/src/main/java/org/onosproject/net/statistic/impl/StatisticManager.java index 545918cc14..846b0e00ee 100644 --- a/core/net/src/main/java/org/onosproject/net/statistic/impl/StatisticManager.java +++ b/core/net/src/main/java/org/onosproject/net/statistic/impl/StatisticManager.java @@ -19,18 +19,11 @@ import com.google.common.base.MoreObjects; import com.google.common.base.Predicate; import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.core.ApplicationId; import org.onosproject.core.GroupId; import org.onosproject.net.ConnectPoint; import org.onosproject.net.Link; import org.onosproject.net.Path; - import org.onosproject.net.flow.FlowEntry; import org.onosproject.net.flow.FlowRule; import org.onosproject.net.flow.FlowRuleEvent; @@ -40,6 +33,11 @@ import org.onosproject.net.statistic.DefaultLoad; import org.onosproject.net.statistic.Load; import org.onosproject.net.statistic.StatisticService; import org.onosproject.net.statistic.StatisticStore; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collections; @@ -48,24 +46,23 @@ import java.util.Optional; import java.util.Set; import static com.google.common.base.Preconditions.checkNotNull; -import static org.slf4j.LoggerFactory.getLogger; import static org.onosproject.security.AppGuard.checkPermission; -import static org.onosproject.security.AppPermission.Type.*; +import static org.onosproject.security.AppPermission.Type.STATISTIC_READ; +import static org.slf4j.LoggerFactory.getLogger; /** * Provides an implementation of the Statistic Service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = StatisticService.class) public class StatisticManager implements StatisticService { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StatisticStore statisticStore; diff --git a/core/net/src/main/java/org/onosproject/net/topology/impl/DefaultTopologyProvider.java b/core/net/src/main/java/org/onosproject/net/topology/impl/DefaultTopologyProvider.java index 1aad105434..20692df3ea 100644 --- a/core/net/src/main/java/org/onosproject/net/topology/impl/DefaultTopologyProvider.java +++ b/core/net/src/main/java/org/onosproject/net/topology/impl/DefaultTopologyProvider.java @@ -15,30 +15,7 @@ */ package org.onosproject.net.topology.impl; -import static com.google.common.base.Strings.isNullOrEmpty; -import static java.util.concurrent.Executors.newFixedThreadPool; -import static org.onlab.util.Tools.get; -import static org.onlab.util.Tools.groupedThreads; -import static org.onosproject.core.CoreService.CORE_PROVIDER_ID; -import static org.onosproject.net.device.DeviceEvent.Type.DEVICE_ADDED; -import static org.onosproject.net.device.DeviceEvent.Type.DEVICE_AVAILABILITY_CHANGED; -import static org.onosproject.net.device.DeviceEvent.Type.DEVICE_REMOVED; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.Collections; -import java.util.Dictionary; -import java.util.List; -import java.util.Timer; -import java.util.concurrent.ExecutorService; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import com.google.common.collect.ImmutableList; import org.onlab.util.AbstractAccumulator; import org.onlab.util.Accumulator; import org.onosproject.cfg.ComponentConfigService; @@ -56,17 +33,36 @@ import org.onosproject.net.topology.TopologyProvider; import org.onosproject.net.topology.TopologyProviderRegistry; import org.onosproject.net.topology.TopologyProviderService; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.collect.ImmutableList; +import java.util.Collections; +import java.util.Dictionary; +import java.util.List; +import java.util.Timer; +import java.util.concurrent.ExecutorService; + +import static com.google.common.base.Strings.isNullOrEmpty; +import static java.util.concurrent.Executors.newFixedThreadPool; +import static org.onlab.util.Tools.get; +import static org.onlab.util.Tools.groupedThreads; +import static org.onosproject.core.CoreService.CORE_PROVIDER_ID; +import static org.onosproject.net.device.DeviceEvent.Type.DEVICE_ADDED; +import static org.onosproject.net.device.DeviceEvent.Type.DEVICE_AVAILABILITY_CHANGED; +import static org.onosproject.net.device.DeviceEvent.Type.DEVICE_REMOVED; +import static org.slf4j.LoggerFactory.getLogger; /** * Default implementation of a network topology provider that feeds off * device and link subsystem events to trigger assembly and computation of * new topology snapshots. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = TopologyProvider.class) public class DefaultTopologyProvider extends AbstractProvider implements TopologyProvider { @@ -79,30 +75,30 @@ public class DefaultTopologyProvider extends AbstractProvider // TODO: Convert to use HashedWheelTimer or produce a variant of that; then decide which we want to adopt private static final Timer TIMER = new Timer("onos-topo-event-batching"); - @Property(name = "maxEvents", intValue = DEFAULT_MAX_EVENTS, - label = "Maximum number of events to accumulate") + //@Property(name = "maxEvents", intValue = DEFAULT_MAX_EVENTS, + // label = "Maximum number of events to accumulate") private int maxEvents = DEFAULT_MAX_EVENTS; - @Property(name = "maxIdleMs", intValue = DEFAULT_MAX_IDLE_MS, - label = "Maximum number of millis between events") + //@Property(name = "maxIdleMs", intValue = DEFAULT_MAX_IDLE_MS, + // label = "Maximum number of millis between events") private int maxIdleMs = DEFAULT_MAX_IDLE_MS; - @Property(name = "maxBatchMs", intValue = DEFAULT_MAX_BATCH_MS, - label = "Maximum number of millis for whole batch") + //@Property(name = "maxBatchMs", intValue = DEFAULT_MAX_BATCH_MS, + // label = "Maximum number of millis for whole batch") private int maxBatchMs = DEFAULT_MAX_BATCH_MS; private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TopologyProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; private volatile boolean isStarted = false; diff --git a/core/net/src/main/java/org/onosproject/net/topology/impl/PathManager.java b/core/net/src/main/java/org/onosproject/net/topology/impl/PathManager.java index cc9cc531d5..c5d73921c7 100644 --- a/core/net/src/main/java/org/onosproject/net/topology/impl/PathManager.java +++ b/core/net/src/main/java/org/onosproject/net/topology/impl/PathManager.java @@ -15,47 +15,44 @@ */ package org.onosproject.net.topology.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.DisjointPath; import org.onosproject.net.ElementId; import org.onosproject.net.Link; import org.onosproject.net.Path; import org.onosproject.net.host.HostService; +import org.onosproject.net.topology.AbstractPathService; import org.onosproject.net.topology.LinkWeigher; import org.onosproject.net.topology.PathService; import org.onosproject.net.topology.TopologyService; -import org.onosproject.net.topology.AbstractPathService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; +import java.util.Map; import java.util.Set; import java.util.stream.Stream; -import java.util.Map; - -import static org.slf4j.LoggerFactory.getLogger; import static org.onosproject.security.AppGuard.checkPermission; -import static org.onosproject.security.AppPermission.Type.*; +import static org.onosproject.security.AppPermission.Type.TOPOLOGY_READ; +import static org.slf4j.LoggerFactory.getLogger; /** * Provides implementation of a path selection service atop the current * topology and host services. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = PathService.class) public class PathManager extends AbstractPathService implements PathService { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TopologyService topologyService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; @Activate diff --git a/core/net/src/main/java/org/onosproject/net/topology/impl/TopologyManager.java b/core/net/src/main/java/org/onosproject/net/topology/impl/TopologyManager.java index 0d156451eb..d972601d7a 100644 --- a/core/net/src/main/java/org/onosproject/net/topology/impl/TopologyManager.java +++ b/core/net/src/main/java/org/onosproject/net/topology/impl/TopologyManager.java @@ -15,12 +15,6 @@ */ package org.onosproject.net.topology.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.event.Event; import org.onosproject.net.ConnectPoint; import org.onosproject.net.DeviceId; @@ -43,6 +37,11 @@ import org.onosproject.net.topology.TopologyProviderService; import org.onosproject.net.topology.TopologyService; import org.onosproject.net.topology.TopologyStore; import org.onosproject.net.topology.TopologyStoreDelegate; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.List; @@ -59,8 +58,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Provides basic implementation of the topology SB & NB APIs. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = {TopologyService.class, TopologyProviderRegistry.class}) public class TopologyManager extends AbstractListenerProviderRegistry @@ -77,7 +75,7 @@ public class TopologyManager private TopologyStoreDelegate delegate = new InternalStoreDelegate(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TopologyStore store; @Activate diff --git a/core/net/src/main/java/org/onosproject/upgrade/impl/UpgradeManager.java b/core/net/src/main/java/org/onosproject/upgrade/impl/UpgradeManager.java index 3910f4bd58..99f1345d53 100644 --- a/core/net/src/main/java/org/onosproject/upgrade/impl/UpgradeManager.java +++ b/core/net/src/main/java/org/onosproject/upgrade/impl/UpgradeManager.java @@ -15,17 +15,6 @@ */ package org.onosproject.upgrade.impl; -import java.util.Objects; -import java.util.Set; -import java.util.concurrent.atomic.AtomicReference; -import java.util.stream.Collectors; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.cluster.ClusterEvent; import org.onosproject.cluster.ClusterEventListener; import org.onosproject.cluster.ClusterService; @@ -46,8 +35,18 @@ import org.onosproject.upgrade.UpgradeAdminService; import org.onosproject.upgrade.UpgradeEvent; import org.onosproject.upgrade.UpgradeEventListener; import org.onosproject.upgrade.UpgradeService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; +import java.util.Objects; +import java.util.Set; +import java.util.concurrent.atomic.AtomicReference; +import java.util.stream.Collectors; + import static org.onosproject.security.AppGuard.checkPermission; import static org.onosproject.security.AppPermission.Type.CLUSTER_EVENT; import static org.onosproject.security.AppPermission.Type.UPGRADE_EVENT; @@ -61,24 +60,23 @@ import static org.slf4j.LoggerFactory.getLogger; * This implementation uses the {@link CoordinationService} to store upgrade state in a version-agnostic primitive. * Upgrade state can be seen by current and future version nodes. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = { UpgradeService.class, UpgradeAdminService.class }) public class UpgradeManager extends AbstractListenerManager implements UpgradeService, UpgradeAdminService { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VersionService versionService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoordinationService coordinationService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MembershipService membershipService; private Version localVersion; diff --git a/core/security/BUILD b/core/security/BUILD deleted file mode 100644 index 3bc076a522..0000000000 --- a/core/security/BUILD +++ /dev/null @@ -1,11 +0,0 @@ -COMPILE_DEPS = CORE_DEPS + KRYO + [ - "@org_apache_felix_framework_security//jar", - "//core/store/serializers:onos-core-serializers", -] - -osgi_jar_with_tests( - name = "onos-security", - test_deps = TEST, - visibility = ["//visibility:public"], - deps = COMPILE_DEPS, -) diff --git a/core/security/src/main/java/org/onosproject/security/impl/DefaultPolicyBuilder.java b/core/security/src/main/java/org/onosproject/security/impl/DefaultPolicyBuilder.java index b79240a0f5..e32db95b00 100644 --- a/core/security/src/main/java/org/onosproject/security/impl/DefaultPolicyBuilder.java +++ b/core/security/src/main/java/org/onosproject/security/impl/DefaultPolicyBuilder.java @@ -183,7 +183,7 @@ public final class DefaultPolicyBuilder { permSet.add(new PackagePermission("*", PackagePermission.EXPORTONLY)); permSet.add(new PackagePermission("*", PackagePermission.IMPORT)); permSet.add(new AdaptPermission("*", AdaptPermission.ADAPT)); - permSet.add(new ConfigurationPermission("*", ConfigurationPermission.CONFIGURE)); + //permSet.add(new ConfigurationPermission("*", ConfigurationPermission.CONFIGURE)); permSet.add(new AdminPermission("*", AdminPermission.METADATA)); return permSet; } @@ -444,9 +444,9 @@ public final class DefaultPolicyBuilder { } else if (permission instanceof AdminPermission) { return new org.onosproject.security.Permission( AdminPermission.class.getName(), permission.getName(), permission.getActions()); - } else if (permission instanceof ConfigurationPermission) { - return new org.onosproject.security.Permission( - ConfigurationPermission.class.getName(), permission.getName(), permission.getActions()); + //} else if (permission instanceof ConfigurationPermission) { + // return new org.onosproject.security.Permission( + // ConfigurationPermission.class.getName(), permission.getName(), permission.getActions()); } return null; } @@ -506,8 +506,8 @@ public final class DefaultPolicyBuilder { return new ServicePermission(name, actions); } else if (AdminPermission.class.getName().equals(classname)) { return new AdminPermission(name, actions); - } else if (ConfigurationPermission.class.getName().equals(classname)) { - return new ConfigurationPermission(name, actions); + //} else if (ConfigurationPermission.class.getName().equals(classname)) { + // return new ConfigurationPermission(name, actions); } else if (ReflectPermission.class.getName().equals(classname)) { return new ReflectPermission(name, actions); } diff --git a/core/security/src/main/java/org/onosproject/security/impl/SecurityModeManager.java b/core/security/src/main/java/org/onosproject/security/impl/SecurityModeManager.java index c3278e79b1..5951a63481 100644 --- a/core/security/src/main/java/org/onosproject/security/impl/SecurityModeManager.java +++ b/core/security/src/main/java/org/onosproject/security/impl/SecurityModeManager.java @@ -15,48 +15,13 @@ */ package org.onosproject.security.impl; -import com.google.common.collect.Lists; - -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; - -import org.onosproject.app.ApplicationAdminService; -import org.onosproject.app.ApplicationState; -import org.onosproject.core.Application; import org.onosproject.core.ApplicationId; - -import org.onosproject.event.EventDeliveryService; -import org.onosproject.event.ListenerRegistry; -import org.onosproject.security.AppPermission; import org.onosproject.security.SecurityAdminService; -import org.onosproject.security.store.SecurityModeEvent; -import org.onosproject.security.store.SecurityModeListener; -import org.onosproject.security.store.SecurityModeStore; -import org.onosproject.security.store.SecurityModeStoreDelegate; -import org.osgi.framework.BundleContext; -import org.osgi.framework.FrameworkUtil; -import org.osgi.framework.ServicePermission; -import org.osgi.service.log.LogEntry; -import org.osgi.service.log.LogListener; -import org.osgi.service.log.LogReaderService; -import org.osgi.service.permissionadmin.PermissionInfo; +import org.osgi.service.component.annotations.Component; -import java.security.AccessControlException; import java.security.Permission; -import java.util.ArrayList; import java.util.List; import java.util.Map; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; - -import org.osgi.service.permissionadmin.PermissionAdmin; -import org.slf4j.Logger; - -import static org.slf4j.LoggerFactory.getLogger; /** * Security-Mode ONOS management implementation. @@ -65,234 +30,41 @@ import static org.slf4j.LoggerFactory.getLogger; * See the wiki for instructions on how to activate it. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = SecurityAdminService.class) public class SecurityModeManager implements SecurityAdminService { - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected SecurityModeStore store; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected ApplicationAdminService appAdminService; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected LogReaderService logReaderService; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected EventDeliveryService eventDispatcher; - - private final Logger log = getLogger(getClass()); - - protected final ListenerRegistry - listenerRegistry = new ListenerRegistry<>(); - - private final SecurityModeStoreDelegate delegate = new InternalStoreDelegate(); - - private SecurityLogListener securityLogListener = new SecurityLogListener(); - - private PermissionAdmin permissionAdmin = getPermissionAdmin(); - - @Activate - public void activate() { - - eventDispatcher.addSink(SecurityModeEvent.class, listenerRegistry); - logReaderService.addLogListener(securityLogListener); - - if (System.getSecurityManager() == null) { - log.warn("J2EE security manager is disabled."); - deactivate(); - return; - } - if (permissionAdmin == null) { - log.warn("Permission Admin not found."); - deactivate(); - return; - } - store.setDelegate(delegate); - - log.info("Security-Mode Started"); - } - - @Deactivate - public void deactivate() { - eventDispatcher.removeSink(SecurityModeEvent.class); - logReaderService.removeLogListener(securityLogListener); - store.unsetDelegate(delegate); - log.info("Stopped"); - - } - @Override public boolean isSecured(ApplicationId appId) { - if (store.getState(appId) == null) { - store.registerApplication(appId); - } - return store.isSecured(appId); + return false; } - @Override public void review(ApplicationId appId) { - if (store.getState(appId) == null) { - store.registerApplication(appId); - } - store.reviewPolicy(appId); + } @Override public void acceptPolicy(ApplicationId appId) { - if (store.getState(appId) == null) { - store.registerApplication(appId); - } - store.acceptPolicy(appId, DefaultPolicyBuilder.convertToOnosPermissions(getMaximumPermissions(appId))); + } @Override public void register(ApplicationId appId) { - store.registerApplication(appId); + } @Override public Map> getPrintableSpecifiedPermissions(ApplicationId appId) { - return getPrintablePermissionMap(getMaximumPermissions(appId)); + return null; } @Override public Map> getPrintableGrantedPermissions(ApplicationId appId) { - return getPrintablePermissionMap( - DefaultPolicyBuilder.convertToJavaPermissions(store.getGrantedPermissions(appId))); + return null; } @Override public Map> getPrintableRequestedPermissions(ApplicationId appId) { - return getPrintablePermissionMap( - DefaultPolicyBuilder.convertToJavaPermissions(store.getRequestedPermissions(appId))); + return null; } - - private class SecurityLogListener implements LogListener { - @Override - public void logged(LogEntry entry) { - if (entry.getException() != null && - entry.getException() instanceof AccessControlException) { - String location = entry.getBundle().getLocation(); - Permission javaPerm = - ((AccessControlException) entry.getException()).getPermission(); - org.onosproject.security.Permission permission = DefaultPolicyBuilder.getOnosPermission(javaPerm); - if (permission == null) { - log.warn("Unsupported permission requested."); - return; - } - store.getApplicationIds(location).stream().filter( - appId -> store.isSecured(appId) && - appAdminService.getState(appId) == ApplicationState.ACTIVE).forEach(appId -> { - store.requestPermission(appId, permission); - log.debug("[POLICY VIOLATION] APP: %s / Bundle: %s / Permission: %s ", - appId.name(), location, permission.toString()); - }); - } - } - } - - private class InternalStoreDelegate implements SecurityModeStoreDelegate { - @Override - public void notify(SecurityModeEvent event) { - if (event.type() == SecurityModeEvent.Type.POLICY_ACCEPTED) { - setLocalPermissions(event.subject()); - log.info("{} POLICY ACCEPTED and ENFORCED", event.subject().name()); - } else if (event.type() == SecurityModeEvent.Type.POLICY_VIOLATED) { - log.info("{} POLICY VIOLATED", event.subject().name()); - } else if (event.type() == SecurityModeEvent.Type.POLICY_REVIEWED) { - log.info("{} POLICY REVIEWED", event.subject().name()); - } - eventDispatcher.post(event); - } - } - - /** - * TYPES. - * 0 - APP_PERM - * 1 - ADMIN SERVICE - * 2 - NB_SERVICE - * 3 - ETC_SERVICE - * 4 - ETC - * @param perms - */ - private Map> getPrintablePermissionMap(List perms) { - ConcurrentHashMap> sortedMap = new ConcurrentHashMap<>(); - sortedMap.put(0, new ArrayList()); - sortedMap.put(1, new ArrayList()); - sortedMap.put(2, new ArrayList()); - sortedMap.put(3, new ArrayList()); - sortedMap.put(4, new ArrayList()); - for (Permission perm : perms) { - if (perm instanceof ServicePermission) { - if (DefaultPolicyBuilder.getNBServiceList().contains(perm.getName())) { - if (perm.getName().contains("Admin")) { - sortedMap.get(1).add(perm); - } else { - sortedMap.get(2).add(perm); - } - } else { - sortedMap.get(3).add(perm); - } - } else if (perm instanceof AppPermission) { - sortedMap.get(0).add(perm); - } else { - sortedMap.get(4).add(perm); - } - } - return sortedMap; - } - - private void setLocalPermissions(ApplicationId applicationId) { - for (String location : store.getBundleLocations(applicationId)) { - permissionAdmin.setPermissions(location, permissionsToInfo(store.getGrantedPermissions(applicationId))); - } - } - - private PermissionInfo[] permissionsToInfo(Set permissions) { - List result = Lists.newArrayList(); - for (org.onosproject.security.Permission perm : permissions) { - result.add(new PermissionInfo(perm.getClassName(), perm.getName(), perm.getActions())); - } - PermissionInfo[] permissionInfos = new PermissionInfo[result.size()]; - return result.toArray(permissionInfos); - } - - - - private List getMaximumPermissions(ApplicationId appId) { - Application app = appAdminService.getApplication(appId); - if (app == null) { - log.debug("Unknown application."); - return null; - } - List appPerms; - switch (app.role()) { - case ADMIN: - appPerms = DefaultPolicyBuilder.getAdminApplicationPermissions(app.permissions()); - break; - case USER: - appPerms = DefaultPolicyBuilder.getUserApplicationPermissions(app.permissions()); - break; - case UNSPECIFIED: - default: - appPerms = DefaultPolicyBuilder.getDefaultPerms(); - break; - } - - return appPerms; - } - - private PermissionAdmin getPermissionAdmin() { - BundleContext context = getBundleContext(); - return (PermissionAdmin) context.getService(context.getServiceReference(PermissionAdmin.class.getName())); - } - - private BundleContext getBundleContext() { - return FrameworkUtil.getBundle(this.getClass()).getBundleContext(); - - } - - } \ No newline at end of file diff --git a/core/security/src/main/java/org/onosproject/security/store/DistributedSecurityModeStore.java b/core/security/src/main/java/org/onosproject/security/store/DistributedSecurityModeStore.java index e642369891..d2d510d5ff 100644 --- a/core/security/src/main/java/org/onosproject/security/store/DistributedSecurityModeStore.java +++ b/core/security/src/main/java/org/onosproject/security/store/DistributedSecurityModeStore.java @@ -18,13 +18,6 @@ package org.onosproject.security.store; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.apache.karaf.features.BundleInfo; import org.apache.karaf.features.Feature; import org.apache.karaf.features.FeaturesService; @@ -43,6 +36,11 @@ import org.onosproject.store.service.MapEventListener; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.Versioned; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.HashSet; @@ -54,15 +52,17 @@ import java.util.stream.Collectors; import static java.util.concurrent.Executors.newSingleThreadExecutor; import static org.onlab.util.Tools.groupedThreads; -import static org.onosproject.security.store.SecurityModeState.*; +import static org.onosproject.security.store.SecurityModeState.INSTALLED; +import static org.onosproject.security.store.SecurityModeState.POLICY_VIOLATED; +import static org.onosproject.security.store.SecurityModeState.REVIEWED; +import static org.onosproject.security.store.SecurityModeState.SECURED; import static org.slf4j.LoggerFactory.getLogger; /** * Manages application permissions granted/requested to applications. * Uses both gossip-based and RAFT-based distributed data store. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = SecurityModeStore.class) public class DistributedSecurityModeStore extends AbstractStore implements SecurityModeStore { @@ -75,16 +75,16 @@ public class DistributedSecurityModeStore private ConcurrentHashMap> localBundleAppDirectory; private ConcurrentHashMap> localAppBundleDirectory; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LogicalClockService clockService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ApplicationAdminService applicationAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FeaturesService featuresService; private ExecutorService eventHandler; diff --git a/core/store/dist/src/main/java/org/onosproject/store/app/DistributedApplicationStore.java b/core/store/dist/src/main/java/org/onosproject/store/app/DistributedApplicationStore.java index 36569f9ae5..1f0d0288b6 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/app/DistributedApplicationStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/app/DistributedApplicationStore.java @@ -24,16 +24,10 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Multimap; import com.google.common.collect.Sets; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.app.ApplicationDescription; import org.onosproject.app.ApplicationEvent; import org.onosproject.app.ApplicationException; +import org.onosproject.app.ApplicationIdStore; import org.onosproject.app.ApplicationState; import org.onosproject.app.ApplicationStore; import org.onosproject.app.ApplicationStoreDelegate; @@ -42,7 +36,6 @@ import org.onosproject.cluster.ControllerNode; import org.onosproject.common.app.ApplicationArchive; import org.onosproject.core.Application; import org.onosproject.core.ApplicationId; -import org.onosproject.app.ApplicationIdStore; import org.onosproject.core.CoreService; import org.onosproject.core.DefaultApplication; import org.onosproject.core.Version; @@ -52,6 +45,7 @@ import org.onosproject.store.cluster.messaging.ClusterCommunicationService; import org.onosproject.store.cluster.messaging.MessageSubject; import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.ConsistentMap; +import org.onosproject.store.service.DistributedPrimitive.Status; import org.onosproject.store.service.MapEvent; import org.onosproject.store.service.MapEventListener; import org.onosproject.store.service.RevisionType; @@ -60,7 +54,11 @@ import org.onosproject.store.service.StorageException; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.Topic; import org.onosproject.store.service.Versioned; -import org.onosproject.store.service.DistributedPrimitive.Status; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.io.ByteArrayInputStream; @@ -86,16 +84,21 @@ import static java.util.concurrent.Executors.newSingleThreadScheduledExecutor; import static java.util.concurrent.TimeUnit.MILLISECONDS; import static org.onlab.util.Tools.groupedThreads; import static org.onlab.util.Tools.randomDelay; -import static org.onosproject.app.ApplicationEvent.Type.*; -import static org.onosproject.store.app.DistributedApplicationStore.InternalState.*; +import static org.onosproject.app.ApplicationEvent.Type.APP_ACTIVATED; +import static org.onosproject.app.ApplicationEvent.Type.APP_DEACTIVATED; +import static org.onosproject.app.ApplicationEvent.Type.APP_INSTALLED; +import static org.onosproject.app.ApplicationEvent.Type.APP_PERMISSIONS_CHANGED; +import static org.onosproject.app.ApplicationEvent.Type.APP_UNINSTALLED; +import static org.onosproject.store.app.DistributedApplicationStore.InternalState.ACTIVATED; +import static org.onosproject.store.app.DistributedApplicationStore.InternalState.DEACTIVATED; +import static org.onosproject.store.app.DistributedApplicationStore.InternalState.INSTALLED; import static org.slf4j.LoggerFactory.getLogger; /** * Manages inventory of applications in a distributed data store providing * stronger consistency guarantees. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = ApplicationStore.class) public class DistributedApplicationStore extends ApplicationArchive implements ApplicationStore { @@ -122,19 +125,19 @@ public class DistributedApplicationStore extends ApplicationArchive private ConsistentMap apps; private Topic appActivationTopic; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterCommunicationService clusterCommunicator; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ApplicationIdStore idStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VersionService versionService; private final InternalAppsListener appsListener = new InternalAppsListener(); diff --git a/core/store/dist/src/main/java/org/onosproject/store/cfg/DistributedComponentConfigStore.java b/core/store/dist/src/main/java/org/onosproject/store/cfg/DistributedComponentConfigStore.java index 85e826f10c..6f7b68ca97 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/cfg/DistributedComponentConfigStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/cfg/DistributedComponentConfigStore.java @@ -16,12 +16,6 @@ package org.onosproject.store.cfg; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.cfg.ComponentConfigEvent; import org.onosproject.cfg.ComponentConfigStore; import org.onosproject.cfg.ComponentConfigStoreDelegate; @@ -33,6 +27,11 @@ import org.onosproject.store.service.MapEventListener; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.Versioned; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Objects; @@ -49,8 +48,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Manages inventory of component configurations in a distributed data store * that provides strong sequential consistency guarantees. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = ComponentConfigStore.class) public class DistributedComponentConfigStore extends AbstractStore implements ComponentConfigStore { @@ -61,7 +59,7 @@ public class DistributedComponentConfigStore private ConsistentMap properties; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private InternalPropertiesListener propertiesListener = new InternalPropertiesListener(); diff --git a/core/store/dist/src/main/java/org/onosproject/store/cluster/impl/DistributedClusterStore.java b/core/store/dist/src/main/java/org/onosproject/store/cluster/impl/DistributedClusterStore.java index 084c1982cf..f50ddbb7ea 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/cluster/impl/DistributedClusterStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/cluster/impl/DistributedClusterStore.java @@ -17,20 +17,10 @@ package org.onosproject.store.cluster.impl; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.ReferencePolicy; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onlab.util.KryoNamespace; -import org.onosproject.cfg.ConfigProperty; import org.onosproject.cfg.ComponentConfigService; +import org.onosproject.cfg.ConfigProperty; import org.onosproject.cluster.ClusterEvent; import org.onosproject.cluster.ClusterMetadataService; import org.onosproject.cluster.ClusterStore; @@ -48,6 +38,13 @@ import org.onosproject.store.cluster.messaging.MessagingService; import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.Serializer; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.ReferencePolicy; import org.slf4j.Logger; import java.time.Instant; @@ -70,9 +67,7 @@ import static org.onosproject.cluster.ClusterEvent.Type.INSTANCE_ACTIVATED; import static org.onosproject.cluster.ClusterEvent.Type.INSTANCE_DEACTIVATED; import static org.onosproject.cluster.ClusterEvent.Type.INSTANCE_READY; import static org.slf4j.LoggerFactory.getLogger; - -@Component(enabled = false) -@Service +@Component(enabled = false, service = ClusterStore.class) /** * Distributed cluster nodes store that employs an accrual failure * detector to identify cluster member up/down status. @@ -86,18 +81,18 @@ public class DistributedClusterStore public static final String HEARTBEAT_MESSAGE = "onos-cluster-heartbeat"; private static final int DEFAULT_HEARTBEAT_INTERVAL = 100; - @Property(name = "heartbeatInterval", intValue = DEFAULT_HEARTBEAT_INTERVAL, - label = "Interval time to send heartbeat to other controller nodes (millisecond)") + //@Property(name = "heartbeatInterval", intValue = DEFAULT_HEARTBEAT_INTERVAL, + // label = "Interval time to send heartbeat to other controller nodes (millisecond)") private int heartbeatInterval = DEFAULT_HEARTBEAT_INTERVAL; private static final int DEFAULT_PHI_FAILURE_THRESHOLD = 10; - @Property(name = "phiFailureThreshold", intValue = DEFAULT_PHI_FAILURE_THRESHOLD, - label = "the value of Phi threshold to detect accrual failure") + //@Property(name = "phiFailureThreshold", intValue = DEFAULT_PHI_FAILURE_THRESHOLD, + // label = "the value of Phi threshold to detect accrual failure") private int phiFailureThreshold = DEFAULT_PHI_FAILURE_THRESHOLD; private static final long DEFAULT_MIN_STANDARD_DEVIATION_MILLIS = 50; - @Property(name = "minStandardDeviationMillis", longValue = DEFAULT_MIN_STANDARD_DEVIATION_MILLIS, - label = "The minimum standard deviation to take into account when computing the Phi value") + //@Property(name = "minStandardDeviationMillis", longValue = DEFAULT_MIN_STANDARD_DEVIATION_MILLIS, + // label = "The minimum standard deviation to take into account when computing the Phi value") private long minStandardDeviationMillis = DEFAULT_MIN_STANDARD_DEVIATION_MILLIS; private static final Serializer SERIALIZER = Serializer.using( @@ -124,17 +119,17 @@ public class DistributedClusterStore private ControllerNode localNode; private Version localVersion; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VersionService versionService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterMetadataService clusterMetadataService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MessagingService messagingService; // This must be optional to avoid a cyclic dependency - @Reference(cardinality = ReferenceCardinality.OPTIONAL_UNARY, + @Reference(cardinality = ReferenceCardinality.OPTIONAL, bind = "bindComponentConfigService", unbind = "unbindComponentConfigService", policy = ReferencePolicy.DYNAMIC) diff --git a/core/store/dist/src/main/java/org/onosproject/store/cluster/impl/DistributedLeadershipStore.java b/core/store/dist/src/main/java/org/onosproject/store/cluster/impl/DistributedLeadershipStore.java index fdecf31a4a..92ef75ab57 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/cluster/impl/DistributedLeadershipStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/cluster/impl/DistributedLeadershipStore.java @@ -15,23 +15,7 @@ */ package org.onosproject.store.cluster.impl; -import java.util.Dictionary; -import java.util.Map; -import java.util.Objects; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.function.Consumer; -import java.util.stream.Collectors; - import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.Leadership; @@ -43,27 +27,39 @@ import org.onosproject.core.Version; import org.onosproject.core.VersionService; import org.onosproject.event.Change; import org.onosproject.store.AbstractStore; -import org.onosproject.store.service.DistributedPrimitive.Status; import org.onosproject.store.service.CoordinationService; +import org.onosproject.store.service.DistributedPrimitive.Status; import org.onosproject.store.service.LeaderElector; import org.onosproject.upgrade.UpgradeEvent; import org.onosproject.upgrade.UpgradeEventListener; import org.onosproject.upgrade.UpgradeService; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; +import java.util.Dictionary; +import java.util.Map; +import java.util.Objects; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.function.Consumer; +import java.util.stream.Collectors; + import static com.google.common.base.Strings.isNullOrEmpty; -import static org.apache.felix.scr.annotations.ReferenceCardinality.MANDATORY_UNARY; import static org.onlab.util.Tools.get; import static org.onlab.util.Tools.groupedThreads; +import static org.osgi.service.component.annotations.ReferenceCardinality.MANDATORY; import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of {@code LeadershipStore} that makes use of a {@link LeaderElector} * primitive. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = LeadershipStore.class) public class DistributedLeadershipStore extends AbstractStore implements LeadershipStore { @@ -72,24 +68,24 @@ public class DistributedLeadershipStore private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected CoordinationService storageService; - @Reference(cardinality = MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected ComponentConfigService configService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected VersionService versionService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = MANDATORY) protected UpgradeService upgradeService; private static final long DEFAULT_ELECTION_TIMEOUT_MILLIS = 2500; - @Property(name = "electionTimeoutMillis", longValue = DEFAULT_ELECTION_TIMEOUT_MILLIS, - label = "the leader election timeout in milliseconds") + //@Property(name = "electionTimeoutMillis", longValue = DEFAULT_ELECTION_TIMEOUT_MILLIS, + // label = "the leader election timeout in milliseconds") private long electionTimeoutMillis = DEFAULT_ELECTION_TIMEOUT_MILLIS; private ExecutorService statusChangeHandler; diff --git a/core/store/dist/src/main/java/org/onosproject/store/cluster/messaging/impl/ClusterCommunicationManager.java b/core/store/dist/src/main/java/org/onosproject/store/cluster/messaging/impl/ClusterCommunicationManager.java index e1603263d6..4b7a80a684 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/cluster/messaging/impl/ClusterCommunicationManager.java +++ b/core/store/dist/src/main/java/org/onosproject/store/cluster/messaging/impl/ClusterCommunicationManager.java @@ -17,12 +17,6 @@ package org.onosproject.store.cluster.messaging.impl; import com.google.common.base.Objects; import com.google.common.base.Throwables; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.Tools; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.ControllerNode; @@ -34,6 +28,11 @@ import org.onosproject.store.cluster.messaging.Endpoint; import org.onosproject.store.cluster.messaging.MessageSubject; import org.onosproject.store.cluster.messaging.MessagingService; import org.onosproject.utils.MeteringAgent; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -52,14 +51,13 @@ import static com.google.common.base.Preconditions.checkNotNull; import static org.onosproject.security.AppGuard.checkPermission; import static org.onosproject.security.AppPermission.Type.CLUSTER_WRITE; -@Component(immediate = true) -@Service +@Component(immediate = true, service = ClusterCommunicationService.class) public class ClusterCommunicationManager implements ClusterCommunicationService { private final Logger log = LoggerFactory.getLogger(getClass()); - private final MeteringAgent subjectMeteringAgent = new MeteringAgent(PRIMITIVE_NAME, SUBJECT_PREFIX, true); - private final MeteringAgent endpointMeteringAgent = new MeteringAgent(PRIMITIVE_NAME, ENDPOINT_PREFIX, true); + private final MeteringAgent subjectMeteringAgent = new MeteringAgent(PRIMITIVE_NAME, SUBJECT_PREFIX, false); + private final MeteringAgent endpointMeteringAgent = new MeteringAgent(PRIMITIVE_NAME, ENDPOINT_PREFIX, false); private static final String PRIMITIVE_NAME = "clusterCommunication"; private static final String SUBJECT_PREFIX = "subject"; @@ -71,10 +69,10 @@ public class ClusterCommunicationManager implements ClusterCommunicationService private static final String ROUND_TRIP_SUFFIX = ".rtt"; private static final String ONE_WAY_SUFFIX = ".oneway"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MessagingService messagingService; private NodeId localNodeId; diff --git a/core/store/dist/src/main/java/org/onosproject/store/cluster/messaging/impl/NettyMessagingManager.java b/core/store/dist/src/main/java/org/onosproject/store/cluster/messaging/impl/NettyMessagingManager.java index c98c72c967..53a6cf24e0 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/cluster/messaging/impl/NettyMessagingManager.java +++ b/core/store/dist/src/main/java/org/onosproject/store/cluster/messaging/impl/NettyMessagingManager.java @@ -15,6 +15,48 @@ */ package org.onosproject.store.cluster.messaging.impl; +import com.google.common.base.Throwables; +import com.google.common.cache.Cache; +import com.google.common.cache.CacheBuilder; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.util.concurrent.MoreExecutors; +import io.netty.bootstrap.Bootstrap; +import io.netty.bootstrap.ServerBootstrap; +import io.netty.buffer.PooledByteBufAllocator; +import io.netty.channel.Channel; +import io.netty.channel.ChannelFuture; +import io.netty.channel.ChannelHandler; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelInitializer; +import io.netty.channel.ChannelOption; +import io.netty.channel.EventLoopGroup; +import io.netty.channel.ServerChannel; +import io.netty.channel.SimpleChannelInboundHandler; +import io.netty.channel.WriteBufferWaterMark; +import io.netty.channel.epoll.EpollEventLoopGroup; +import io.netty.channel.epoll.EpollServerSocketChannel; +import io.netty.channel.epoll.EpollSocketChannel; +import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.socket.SocketChannel; +import io.netty.channel.socket.nio.NioServerSocketChannel; +import io.netty.channel.socket.nio.NioSocketChannel; +import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics; +import org.apache.commons.math3.stat.descriptive.SynchronizedDescriptiveStatistics; +import org.onosproject.cluster.ClusterMetadataService; +import org.onosproject.cluster.ControllerNode; +import org.onosproject.core.HybridLogicalClockService; +import org.onosproject.store.cluster.messaging.Endpoint; +import org.onosproject.store.cluster.messaging.MessagingException; +import org.onosproject.store.cluster.messaging.MessagingService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLEngine; @@ -51,49 +93,6 @@ import java.util.function.BiConsumer; import java.util.function.BiFunction; import java.util.function.Function; -import com.google.common.base.Throwables; -import com.google.common.cache.Cache; -import com.google.common.cache.CacheBuilder; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.util.concurrent.MoreExecutors; -import io.netty.bootstrap.Bootstrap; -import io.netty.bootstrap.ServerBootstrap; -import io.netty.buffer.PooledByteBufAllocator; -import io.netty.channel.Channel; -import io.netty.channel.ChannelFuture; -import io.netty.channel.ChannelHandler; -import io.netty.channel.ChannelHandlerContext; -import io.netty.channel.ChannelInitializer; -import io.netty.channel.ChannelOption; -import io.netty.channel.EventLoopGroup; -import io.netty.channel.ServerChannel; -import io.netty.channel.SimpleChannelInboundHandler; -import io.netty.channel.WriteBufferWaterMark; -import io.netty.channel.epoll.EpollEventLoopGroup; -import io.netty.channel.epoll.EpollServerSocketChannel; -import io.netty.channel.epoll.EpollSocketChannel; -import io.netty.channel.nio.NioEventLoopGroup; -import io.netty.channel.socket.SocketChannel; -import io.netty.channel.socket.nio.NioServerSocketChannel; -import io.netty.channel.socket.nio.NioSocketChannel; -import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics; -import org.apache.commons.math3.stat.descriptive.SynchronizedDescriptiveStatistics; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onosproject.cluster.ClusterMetadataService; -import org.onosproject.cluster.ControllerNode; -import org.onosproject.core.HybridLogicalClockService; -import org.onosproject.store.cluster.messaging.Endpoint; -import org.onosproject.store.cluster.messaging.MessagingException; -import org.onosproject.store.cluster.messaging.MessagingService; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import static org.onlab.util.Tools.groupedThreads; import static org.onosproject.security.AppGuard.checkPermission; import static org.onosproject.security.AppPermission.Type.CLUSTER_WRITE; @@ -101,8 +100,7 @@ import static org.onosproject.security.AppPermission.Type.CLUSTER_WRITE; /** * Netty based MessagingService. */ -@Component(enabled = false) -@Service +@Component(enabled = false, service = MessagingService.class) public class NettyMessagingManager implements MessagingService { private static final long HISTORY_EXPIRE_MILLIS = Duration.ofMinutes(1).toMillis(); private static final long TIMEOUT_INTERVAL = 50; @@ -129,7 +127,7 @@ public class NettyMessagingManager implements MessagingService { private static final File DEFAULT_KS_FILE = new File(CONFIG_DIR, KS_FILE_NAME); private static final String DEFAULT_KS_PASSWORD = "changeit"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HybridLogicalClockService clockService; private Endpoint localEndpoint; @@ -157,7 +155,7 @@ public class NettyMessagingManager implements MessagingService { protected TrustManagerFactory trustManager; protected KeyManagerFactory keyManager; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterMetadataService clusterMetadataService; @Activate diff --git a/core/store/dist/src/main/java/org/onosproject/store/config/impl/DistributedNetworkConfigStore.java b/core/store/dist/src/main/java/org/onosproject/store/config/impl/DistributedNetworkConfigStore.java index 7c2081e557..bac245eb70 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/config/impl/DistributedNetworkConfigStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/config/impl/DistributedNetworkConfigStore.java @@ -29,12 +29,6 @@ import com.fasterxml.jackson.databind.node.ShortNode; import com.fasterxml.jackson.databind.node.TextNode; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.net.config.Config; import org.onosproject.net.config.ConfigApplyDelegate; @@ -51,6 +45,11 @@ import org.onosproject.store.service.MapEventListener; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.Versioned; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -69,8 +68,7 @@ import static org.onosproject.net.config.NetworkConfigEvent.Type.CONFIG_UPDATED; /** * Implementation of a distributed network configuration store. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = NetworkConfigStore.class) public class DistributedNetworkConfigStore extends AbstractStore implements NetworkConfigStore { @@ -84,7 +82,7 @@ public class DistributedNetworkConfigStore private static final String INVALID_JSON_OBJECT = "JSON node is not an object for object type config"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private ConsistentMap configs; diff --git a/core/store/dist/src/main/java/org/onosproject/store/core/impl/DistributedApplicationIdStore.java b/core/store/dist/src/main/java/org/onosproject/store/core/impl/DistributedApplicationIdStore.java index 9f6a2f68b7..4ec6a23b76 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/core/impl/DistributedApplicationIdStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/core/impl/DistributedApplicationIdStore.java @@ -15,21 +15,10 @@ */ package org.onosproject.store.core.impl; -import static org.slf4j.LoggerFactory.getLogger; - - -import java.util.Map; -import java.util.Set; - - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onosproject.core.ApplicationId; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Maps; import org.onosproject.app.ApplicationIdStore; +import org.onosproject.core.ApplicationId; import org.onosproject.core.DefaultApplicationId; import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.AtomicCounter; @@ -38,23 +27,28 @@ import org.onosproject.store.service.MapEvent; import org.onosproject.store.service.MapEventListener; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; +import java.util.Map; +import java.util.Set; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Maps; +import static org.slf4j.LoggerFactory.getLogger; /** * ApplicationIdStore implementation on top of {@code AtomicCounter} * and {@code ConsistentMap} primitives. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = ApplicationIdStore.class) public class DistributedApplicationIdStore implements ApplicationIdStore { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private AtomicCounter appIdCounter; diff --git a/core/store/dist/src/main/java/org/onosproject/store/core/impl/DistributedIdBlockStore.java b/core/store/dist/src/main/java/org/onosproject/store/core/impl/DistributedIdBlockStore.java index 093d6cc538..744e53b526 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/core/impl/DistributedIdBlockStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/core/impl/DistributedIdBlockStore.java @@ -16,17 +16,15 @@ package org.onosproject.store.core.impl; import com.google.common.collect.Maps; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.core.IdBlock; import org.onosproject.core.IdBlockStore; import org.onosproject.store.service.AtomicCounter; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Map; @@ -36,8 +34,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of {@code IdBlockStore} using {@code AtomicCounter}. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = IdBlockStore.class) public class DistributedIdBlockStore implements IdBlockStore { private final Logger log = getLogger(getClass()); @@ -45,7 +42,7 @@ public class DistributedIdBlockStore implements IdBlockStore { private static final long DEFAULT_BLOCK_SIZE = 0x100000L; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; @Activate diff --git a/core/store/dist/src/main/java/org/onosproject/store/core/impl/LogicalClockManager.java b/core/store/dist/src/main/java/org/onosproject/store/core/impl/LogicalClockManager.java index 5f2d91edac..366df7112b 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/core/impl/LogicalClockManager.java +++ b/core/store/dist/src/main/java/org/onosproject/store/core/impl/LogicalClockManager.java @@ -15,34 +15,31 @@ */ package org.onosproject.store.core.impl; -import static org.slf4j.LoggerFactory.getLogger; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.store.LogicalTimestamp; import org.onosproject.store.Timestamp; import org.onosproject.store.service.AtomicCounter; import org.onosproject.store.service.LogicalClockService; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import static org.onosproject.security.AppGuard.checkPermission; import static org.onosproject.security.AppPermission.Type.CLOCK_WRITE; +import static org.slf4j.LoggerFactory.getLogger; /** * LogicalClockService implementation based on a {@link AtomicCounter}. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = LogicalClockService.class) public class LogicalClockManager implements LogicalClockService { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private static final String SYSTEM_LOGICAL_CLOCK_COUNTER_NAME = "sys-clock-counter"; diff --git a/core/store/dist/src/main/java/org/onosproject/store/device/impl/DeviceClockManager.java b/core/store/dist/src/main/java/org/onosproject/store/device/impl/DeviceClockManager.java index 9edcc1c08b..fb1d4e4197 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/device/impl/DeviceClockManager.java +++ b/core/store/dist/src/main/java/org/onosproject/store/device/impl/DeviceClockManager.java @@ -15,18 +15,8 @@ */ package org.onosproject.store.device.impl; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.Optional; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicLong; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import com.google.common.cache.Cache; +import com.google.common.cache.CacheBuilder; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.NodeId; import org.onosproject.mastership.MastershipEvent; @@ -39,27 +29,34 @@ import org.onosproject.net.DeviceId; import org.onosproject.net.device.DeviceClockService; import org.onosproject.store.Timestamp; import org.onosproject.store.impl.MastershipBasedTimestamp; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.cache.Cache; -import com.google.common.cache.CacheBuilder; +import java.util.Optional; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicLong; + +import static org.slf4j.LoggerFactory.getLogger; /** * Clock service to issue Timestamp based on Device Mastership. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = DeviceClockService.class) public class DeviceClockManager implements DeviceClockService { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipTermService mastershipTermService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; protected NodeId localNodeId; diff --git a/core/store/dist/src/main/java/org/onosproject/store/device/impl/ECDeviceStore.java b/core/store/dist/src/main/java/org/onosproject/store/device/impl/ECDeviceStore.java index 177c41edb8..178bdcf053 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/device/impl/ECDeviceStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/device/impl/ECDeviceStore.java @@ -15,24 +15,12 @@ */ package org.onosproject.store.device.impl; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicReference; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; +import com.google.common.util.concurrent.Futures; import org.onlab.packet.ChassisId; import org.onlab.util.KryoNamespace; import org.onosproject.cluster.ClusterService; @@ -73,14 +61,24 @@ import org.onosproject.store.service.SetEvent; import org.onosproject.store.service.SetEventListener; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.WallClockTimestamp; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; -import com.google.common.util.concurrent.Futures; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicReference; +import java.util.stream.Collectors; +import java.util.stream.Stream; import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Verify.verify; @@ -101,7 +99,6 @@ import static org.slf4j.LoggerFactory.getLogger; * Manages the inventory of devices using a {@code EventuallyConsistentMap}. */ //@Component(immediate = true, enabled = false) -@Service public class ECDeviceStore extends AbstractStore implements DeviceStore { @@ -121,22 +118,22 @@ public class ECDeviceStore private DistributedSet availableDevices; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipTermService mastershipTermService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceClockService deviceClockService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterCommunicationService clusterCommunicator; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; private NodeId localNodeId; diff --git a/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java b/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java index e95d00da8c..32a9be61fe 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java @@ -20,12 +20,6 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Maps; import com.google.common.collect.Sets; import org.apache.commons.lang3.RandomUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.ChassisId; import org.onlab.util.KryoNamespace; import org.onosproject.cluster.ClusterService; @@ -68,6 +62,11 @@ import org.onosproject.store.service.MultiValuedTimestamp; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.WallClockTimestamp; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.io.IOException; @@ -99,9 +98,18 @@ import static java.util.concurrent.Executors.newSingleThreadScheduledExecutor; import static org.onlab.util.Tools.groupedThreads; import static org.onlab.util.Tools.minPriority; import static org.onosproject.cluster.ControllerNodeToNodeId.toNodeId; -import static org.onosproject.net.device.DeviceEvent.Type.*; -import static org.onosproject.store.device.impl.GossipDeviceStoreMessageSubjects.*; +import static org.onosproject.net.device.DeviceEvent.Type.DEVICE_AVAILABILITY_CHANGED; +import static org.onosproject.net.device.DeviceEvent.Type.PORT_ADDED; +import static org.onosproject.net.device.DeviceEvent.Type.PORT_REMOVED; +import static org.onosproject.net.device.DeviceEvent.Type.PORT_STATS_UPDATED; +import static org.onosproject.net.device.DeviceEvent.Type.PORT_UPDATED; +import static org.onosproject.store.device.impl.GossipDeviceStoreMessageSubjects.DEVICE_ADVERTISE; import static org.onosproject.store.device.impl.GossipDeviceStoreMessageSubjects.DEVICE_REMOVED; +import static org.onosproject.store.device.impl.GossipDeviceStoreMessageSubjects.DEVICE_REMOVE_REQ; +import static org.onosproject.store.device.impl.GossipDeviceStoreMessageSubjects.DEVICE_STATUS_CHANGE; +import static org.onosproject.store.device.impl.GossipDeviceStoreMessageSubjects.DEVICE_UPDATE; +import static org.onosproject.store.device.impl.GossipDeviceStoreMessageSubjects.PORT_STATUS_UPDATE; +import static org.onosproject.store.device.impl.GossipDeviceStoreMessageSubjects.PORT_UPDATE; import static org.onosproject.store.service.EventuallyConsistentMapEvent.Type.PUT; import static org.slf4j.LoggerFactory.getLogger; @@ -109,8 +117,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Manages inventory of infrastructure devices using gossip protocol to distribute * information. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = DeviceStore.class) public class GossipDeviceStore extends AbstractStore implements DeviceStore { @@ -142,22 +149,22 @@ public class GossipDeviceStore // available(=UP) devices private final Set availableDevices = Sets.newConcurrentHashSet(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceClockService deviceClockService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterCommunicationService clusterCommunicator; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipTermService termService; private static final Timestamp DEFAULT_TIMESTAMP = new MastershipBasedTimestamp(0, 0); diff --git a/core/store/dist/src/main/java/org/onosproject/store/flow/impl/DistributedFlowRuleStore.java b/core/store/dist/src/main/java/org/onosproject/store/flow/impl/DistributedFlowRuleStore.java index 32226fd744..e0fe04d183 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/flow/impl/DistributedFlowRuleStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/flow/impl/DistributedFlowRuleStore.java @@ -15,32 +15,11 @@ */ package org.onosproject.store.flow.impl; -import java.security.SecureRandom; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Random; -import java.util.Set; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; -import java.util.function.Supplier; -import java.util.stream.Collectors; - import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.Maps; import com.google.common.collect.Sets; import com.google.common.collect.Streams; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onlab.util.Tools; import org.onosproject.cluster.ClusterService; @@ -56,11 +35,6 @@ import org.onosproject.net.flow.FlowEntry; import org.onosproject.net.flow.FlowEntry.FlowEntryState; import org.onosproject.net.flow.FlowId; import org.onosproject.net.flow.FlowRule; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry.FlowRuleOperation; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchEvent; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchOperation; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchRequest; import org.onosproject.net.flow.FlowRuleEvent; import org.onosproject.net.flow.FlowRuleEvent.Type; import org.onosproject.net.flow.FlowRuleService; @@ -68,6 +42,11 @@ import org.onosproject.net.flow.FlowRuleStore; import org.onosproject.net.flow.FlowRuleStoreDelegate; import org.onosproject.net.flow.StoredFlowEntry; import org.onosproject.net.flow.TableStatisticsEntry; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry.FlowRuleOperation; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchEvent; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchOperation; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchRequest; import org.onosproject.store.AbstractStore; import org.onosproject.store.cluster.messaging.ClusterCommunicationService; import org.onosproject.store.cluster.messaging.MessageSubject; @@ -86,8 +65,28 @@ import org.onosproject.store.service.StorageException; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.Versioned; import org.onosproject.store.service.WallClockTimestamp; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; +import java.security.SecureRandom; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Random; +import java.util.Set; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; +import java.util.function.Supplier; +import java.util.stream.Collectors; + import static org.onlab.util.Tools.groupedThreads; import static org.onosproject.net.flow.FlowRuleEvent.Type.RULE_REMOVED; import static org.onosproject.net.flow.FlowRuleEvent.Type.RULE_UPDATED; @@ -99,8 +98,7 @@ import static org.slf4j.LoggerFactory.getLogger; * @deprecated in Nightingale Release (1.13) */ @Deprecated -@Component(enabled = false) -@Service +@Component(enabled = false, service = FlowRuleStore.class) public class DistributedFlowRuleStore extends AbstractStore implements FlowRuleStore { @@ -126,22 +124,22 @@ public class DistributedFlowRuleStore private static final MessageSubject APPLY_BATCH_FLOWS = new MessageSubject("onos-flow-apply"); private static final MessageSubject COMPLETE_BATCH = new MessageSubject("onos-flow-batch-complete"); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterCommunicationService clusterCommunicator; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; protected final Serializer serializer = Serializer.using(KryoNamespaces.API); diff --git a/core/store/dist/src/main/java/org/onosproject/store/flow/impl/ECFlowRuleStore.java b/core/store/dist/src/main/java/org/onosproject/store/flow/impl/ECFlowRuleStore.java index 90c503b15a..b24414b5d9 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/flow/impl/ECFlowRuleStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/flow/impl/ECFlowRuleStore.java @@ -15,32 +15,9 @@ */ package org.onosproject.store.flow.impl; -import java.util.Collections; -import java.util.Dictionary; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Set; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; -import java.util.function.Function; -import java.util.stream.Collectors; - import com.google.common.collect.ImmutableList; import com.google.common.collect.Maps; import com.google.common.collect.Streams; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; @@ -92,8 +69,29 @@ import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.WallClockTimestamp; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; +import java.util.Collections; +import java.util.Dictionary; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; +import java.util.function.Function; +import java.util.stream.Collectors; + import static com.google.common.base.Strings.isNullOrEmpty; import static org.onlab.util.Tools.get; import static org.onlab.util.Tools.groupedThreads; @@ -110,8 +108,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Manages inventory of flow rules using a distributed state management protocol. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = FlowRuleStore.class) public class ECFlowRuleStore extends AbstractStore implements FlowRuleStore { @@ -125,50 +122,50 @@ public class ECFlowRuleStore private static final int DEFAULT_ANTI_ENTROPY_PERIOD_MILLIS = 5000; private static final long FLOW_RULE_STORE_TIMEOUT_MILLIS = 5000; - @Property(name = "msgHandlerPoolSize", intValue = MESSAGE_HANDLER_THREAD_POOL_SIZE, - label = "Number of threads in the message handler pool") + //@Property(name = "msgHandlerPoolSize", intValue = MESSAGE_HANDLER_THREAD_POOL_SIZE, + // label = "Number of threads in the message handler pool") private int msgHandlerPoolSize = MESSAGE_HANDLER_THREAD_POOL_SIZE; - @Property(name = "backupPeriod", intValue = DEFAULT_BACKUP_PERIOD_MILLIS, - label = "Delay in ms between successive backup runs") + //@Property(name = "backupPeriod", intValue = DEFAULT_BACKUP_PERIOD_MILLIS, + // label = "Delay in ms between successive backup runs") private int backupPeriod = DEFAULT_BACKUP_PERIOD_MILLIS; - @Property(name = "antiEntropyPeriod", intValue = DEFAULT_ANTI_ENTROPY_PERIOD_MILLIS, - label = "Delay in ms between anti-entropy runs") + //@Property(name = "antiEntropyPeriod", intValue = DEFAULT_ANTI_ENTROPY_PERIOD_MILLIS, + // label = "Delay in ms between anti-entropy runs") private int antiEntropyPeriod = DEFAULT_ANTI_ENTROPY_PERIOD_MILLIS; - @Property(name = "persistenceEnabled", boolValue = false, - label = "Indicates whether or not changes in the flow table should be persisted to disk.") + //@Property(name = "persistenceEnabled", boolValue = false, + // label = "Indicates whether or not changes in the flow table should be persisted to disk.") private boolean persistenceEnabled = DEFAULT_PERSISTENCE_ENABLED; - @Property(name = "backupCount", intValue = DEFAULT_MAX_BACKUP_COUNT, - label = "Max number of backup copies for each device") + //@Property(name = "backupCount", intValue = DEFAULT_MAX_BACKUP_COUNT, + // label = "Max number of backup copies for each device") private volatile int backupCount = DEFAULT_MAX_BACKUP_COUNT; private InternalFlowTable flowTable = new InternalFlowTable(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ReplicaInfoService replicaInfoManager; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterCommunicationService clusterCommunicator; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService configService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PersistenceService persistenceService; private Map pendingResponses = Maps.newConcurrentMap(); @@ -182,7 +179,7 @@ public class ECFlowRuleStore private final EventuallyConsistentMapListener> tableStatsListener = new InternalTableStatsListener(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; protected final Serializer serializer = Serializer.using(KryoNamespace.newBuilder() diff --git a/core/store/dist/src/main/java/org/onosproject/store/flow/impl/ReplicaInfoManager.java b/core/store/dist/src/main/java/org/onosproject/store/flow/impl/ReplicaInfoManager.java index cfa998d7c2..7c3bed70df 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/flow/impl/ReplicaInfoManager.java +++ b/core/store/dist/src/main/java/org/onosproject/store/flow/impl/ReplicaInfoManager.java @@ -15,12 +15,6 @@ */ package org.onosproject.store.flow.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.event.EventDeliveryService; import org.onosproject.event.ListenerRegistry; import org.onosproject.mastership.MastershipEvent; @@ -32,6 +26,11 @@ import org.onosproject.store.flow.ReplicaInfo; import org.onosproject.store.flow.ReplicaInfoEvent; import org.onosproject.store.flow.ReplicaInfoEventListener; import org.onosproject.store.flow.ReplicaInfoService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import static com.google.common.base.Preconditions.checkNotNull; @@ -42,18 +41,17 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Manages replica placement information. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = ReplicaInfoService.class) public class ReplicaInfoManager implements ReplicaInfoService { private final Logger log = getLogger(getClass()); private final MastershipListener mastershipListener = new InternalMastershipListener(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected EventDeliveryService eventDispatcher; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; protected final ListenerRegistry diff --git a/core/store/dist/src/main/java/org/onosproject/store/flowobjective/impl/DistributedFlowObjectiveStore.java b/core/store/dist/src/main/java/org/onosproject/store/flowobjective/impl/DistributedFlowObjectiveStore.java index 569b50b461..edbb979ce5 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/flowobjective/impl/DistributedFlowObjectiveStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/flowobjective/impl/DistributedFlowObjectiveStore.java @@ -15,12 +15,6 @@ */ package org.onosproject.store.flowobjective.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.net.behaviour.DefaultNextGroup; import org.onosproject.net.behaviour.NextGroup; @@ -35,11 +29,13 @@ import org.onosproject.store.service.MapEventListener; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.Versioned; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import static org.onlab.util.Tools.groupedThreads; -import static org.slf4j.LoggerFactory.getLogger; - import java.util.HashMap; import java.util.Map; import java.util.concurrent.BlockingQueue; @@ -47,11 +43,13 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.LinkedBlockingQueue; +import static org.onlab.util.Tools.groupedThreads; +import static org.slf4j.LoggerFactory.getLogger; + /** * Manages the inventory of created next groups. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = FlowObjectiveStore.class) public class DistributedFlowObjectiveStore extends AbstractStore implements FlowObjectiveStore { @@ -60,7 +58,7 @@ public class DistributedFlowObjectiveStore private ConsistentMap nextGroups; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private AtomicIdGenerator nextIds; diff --git a/core/store/dist/src/main/java/org/onosproject/store/group/impl/DistributedGroupStore.java b/core/store/dist/src/main/java/org/onosproject/store/group/impl/DistributedGroupStore.java index 6e8b12663c..98a3f027c6 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/group/impl/DistributedGroupStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/group/impl/DistributedGroupStore.java @@ -19,14 +19,6 @@ import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.cluster.ClusterService; @@ -57,6 +49,7 @@ import org.onosproject.store.AbstractStore; import org.onosproject.store.cluster.messaging.ClusterCommunicationService; import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.ConsistentMap; +import org.onosproject.store.service.DistributedPrimitive.Status; import org.onosproject.store.service.MapEvent; import org.onosproject.store.service.MapEventListener; import org.onosproject.store.service.MultiValuedTimestamp; @@ -64,8 +57,13 @@ import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.Topic; import org.onosproject.store.service.Versioned; -import org.onosproject.store.service.DistributedPrimitive.Status; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.ArrayList; @@ -101,8 +99,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Manages inventory of group entries using distributed group stores from the * storage service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = GroupStore.class) public class DistributedGroupStore extends AbstractStore implements GroupStore { @@ -117,24 +114,24 @@ public class DistributedGroupStore private final int dummyId = 0xffffffff; private final GroupId dummyGroupId = new GroupId(dummyId); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterCommunicationService clusterCommunicator; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; // Guarantees enabling DriverService before enabling GroupStore // (DriverService is used in serializing/de-serializing DefaultGroup) - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; private ScheduledExecutorService executor; @@ -162,16 +159,16 @@ public class DistributedGroupStore private static Topic groupTopic; - @Property(name = "garbageCollect", boolValue = GARBAGE_COLLECT, - label = "Enable group garbage collection") + //@Property(name = "garbageCollect", boolValue = GARBAGE_COLLECT, + // label = "Enable group garbage collection") private boolean garbageCollect = GARBAGE_COLLECT; - @Property(name = "gcThresh", intValue = GC_THRESH, - label = "Number of rounds for group garbage collection") + //@Property(name = "gcThresh", intValue = GC_THRESH, + // label = "Number of rounds for group garbage collection") private int gcThresh = GC_THRESH; - @Property(name = "allowExtraneousGroups", boolValue = ALLOW_EXTRANEOUS_GROUPS, - label = "Allow groups in switches not installed by ONOS") + //@Property(name = "allowExtraneousGroups", boolValue = ALLOW_EXTRANEOUS_GROUPS, + // label = "Allow groups in switches not installed by ONOS") private boolean allowExtraneousGroups = ALLOW_EXTRANEOUS_GROUPS; @Activate diff --git a/core/store/dist/src/main/java/org/onosproject/store/host/impl/DefaultHostProbeStore.java b/core/store/dist/src/main/java/org/onosproject/store/host/impl/DefaultHostProbeStore.java index 33cb7adfb0..4aac3a324f 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/host/impl/DefaultHostProbeStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/host/impl/DefaultHostProbeStore.java @@ -18,12 +18,6 @@ package org.onosproject.store.host.impl; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import com.google.common.cache.RemovalNotification; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.MacAddress; import org.onlab.util.KryoNamespace; import org.onosproject.net.ConnectPoint; @@ -31,8 +25,8 @@ import org.onosproject.net.Host; import org.onosproject.net.host.HostProbe; import org.onosproject.net.host.HostProbeStore; import org.onosproject.net.host.HostProbingEvent; -import org.onosproject.net.host.ProbeMode; import org.onosproject.net.host.HostProbingStoreDelegate; +import org.onosproject.net.host.ProbeMode; import org.onosproject.store.AbstractStore; import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.AtomicCounter; @@ -42,6 +36,11 @@ import org.onosproject.store.service.MapEventListener; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.Versioned; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Map; @@ -52,11 +51,10 @@ import static java.util.concurrent.Executors.newSingleThreadScheduledExecutor; import static org.onlab.util.Tools.groupedThreads; import static org.slf4j.LoggerFactory.getLogger; -@Component(immediate = true) -@Service +@Component(immediate = true, service = HostProbeStore.class) public class DefaultHostProbeStore extends AbstractStore implements HostProbeStore { - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private final Logger log = getLogger(getClass()); diff --git a/core/store/dist/src/main/java/org/onosproject/store/host/impl/DistributedHostStore.java b/core/store/dist/src/main/java/org/onosproject/store/host/impl/DistributedHostStore.java index 35dedbd1e9..2f6ba528bc 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/host/impl/DistributedHostStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/host/impl/DistributedHostStore.java @@ -17,13 +17,6 @@ package org.onosproject.store.host.impl; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onlab.packet.MacAddress; import org.onlab.packet.VlanId; @@ -44,12 +37,17 @@ import org.onosproject.net.provider.ProviderId; import org.onosproject.store.AbstractStore; import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.ConsistentMap; +import org.onosproject.store.service.DistributedPrimitive.Status; import org.onosproject.store.service.MapEvent; import org.onosproject.store.service.MapEventListener; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; -import org.onosproject.store.service.DistributedPrimitive.Status; import org.onosproject.store.service.Versioned; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collection; @@ -69,21 +67,23 @@ import static com.google.common.base.Preconditions.checkState; import static java.util.concurrent.Executors.newSingleThreadScheduledExecutor; import static org.onlab.util.Tools.groupedThreads; import static org.onosproject.net.DefaultAnnotations.merge; -import static org.onosproject.net.host.HostEvent.Type.*; +import static org.onosproject.net.host.HostEvent.Type.HOST_ADDED; +import static org.onosproject.net.host.HostEvent.Type.HOST_MOVED; +import static org.onosproject.net.host.HostEvent.Type.HOST_REMOVED; +import static org.onosproject.net.host.HostEvent.Type.HOST_UPDATED; import static org.slf4j.LoggerFactory.getLogger; /** * Manages the inventory of hosts using a {@code EventuallyConsistentMap}. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = HostStore.class) public class DistributedHostStore extends AbstractStore implements HostStore { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private ConsistentMap hostsConsistentMap; diff --git a/core/store/dist/src/main/java/org/onosproject/store/intent/impl/ConsistentIntentSetMultimap.java b/core/store/dist/src/main/java/org/onosproject/store/intent/impl/ConsistentIntentSetMultimap.java index ba0fed639b..5e4ece3805 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/intent/impl/ConsistentIntentSetMultimap.java +++ b/core/store/dist/src/main/java/org/onosproject/store/intent/impl/ConsistentIntentSetMultimap.java @@ -16,12 +16,6 @@ package org.onosproject.store.intent.impl; import com.google.common.annotations.Beta; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.device.DeviceService; import org.onosproject.net.intent.IntentId; import org.onosproject.net.intent.IntentSetMultimap; @@ -30,6 +24,11 @@ import org.onosproject.store.service.ConsistentMap; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.Versioned; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.HashSet; @@ -41,8 +40,7 @@ import static org.slf4j.LoggerFactory.getLogger; * A collection that maps Intent IDs as keys to values as Intent IDs, * where each key may associated with multiple values without duplication. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = IntentSetMultimap.class) @Beta public class ConsistentIntentSetMultimap implements IntentSetMultimap { private final Logger log = getLogger(getClass()); @@ -53,10 +51,10 @@ public class ConsistentIntentSetMultimap implements IntentSetMultimap { private ConsistentMap> intentMapping; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; @Activate diff --git a/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java b/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java index 69b16edabc..f139f47cec 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java @@ -17,14 +17,6 @@ package org.onosproject.store.intent.impl; import com.google.common.collect.ImmutableList; import org.apache.commons.lang.math.RandomUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.Backtrace; import org.onlab.util.KryoNamespace; import org.onosproject.cfg.ComponentConfigService; @@ -52,6 +44,12 @@ import org.onosproject.store.service.MultiValuedTimestamp; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.WallClockTimestamp; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collection; @@ -75,8 +73,7 @@ import static org.slf4j.LoggerFactory.getLogger; */ //FIXME we should listen for leadership changes. if the local instance has just // ... become a leader, scan the pending map and process those -@Component(immediate = true) -@Service +@Component(immediate = true, service = IntentStore.class) public class GossipIntentStore extends AbstractStore implements IntentStore { @@ -91,16 +88,16 @@ public class GossipIntentStore // Map of intent key => pending intent operation private EventuallyConsistentMap pendingMap; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService configService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected WorkPartitionService partitionService; private final AtomicLong sequenceNumber = new AtomicLong(0); @@ -118,8 +115,8 @@ public class GossipIntentStore // evalutaion, enabling persistence with persist the intents but they will // not be reinstalled and network state will not be consistent with the // intents on cluster restart - @Property(name = "persistenceEnabled", boolValue = PERSIST, - label = "EXPERIMENTAL: Enable intent persistence") + //@Property(name = "persistenceEnabled", boolValue = PERSIST, + // label = "EXPERIMENTAL: Enable intent persistence") private boolean persistenceEnabled; diff --git a/core/store/dist/src/main/java/org/onosproject/store/intent/impl/WorkPartitionManager.java b/core/store/dist/src/main/java/org/onosproject/store/intent/impl/WorkPartitionManager.java index b6e15cf0b3..b06fe6bdb4 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/intent/impl/WorkPartitionManager.java +++ b/core/store/dist/src/main/java/org/onosproject/store/intent/impl/WorkPartitionManager.java @@ -15,12 +15,6 @@ */ package org.onosproject.store.intent.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.Leadership; import org.onosproject.cluster.LeadershipEvent; @@ -32,11 +26,14 @@ import org.onosproject.event.ListenerRegistry; import org.onosproject.net.intent.WorkPartitionEvent; import org.onosproject.net.intent.WorkPartitionEventListener; import org.onosproject.net.intent.WorkPartitionService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import static org.onlab.util.Tools.groupedThreads; - import java.util.List; import java.util.Objects; import java.util.concurrent.Executors; @@ -47,22 +44,23 @@ import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.IntStream; +import static org.onlab.util.Tools.groupedThreads; + /** * Manages the assignment of work partitions to instances. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = WorkPartitionService.class) public class WorkPartitionManager implements WorkPartitionService { private static final Logger log = LoggerFactory.getLogger(WorkPartitionManager.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected EventDeliveryService eventDispatcher; protected final AtomicBoolean rebalanceScheduled = new AtomicBoolean(false); diff --git a/core/store/dist/src/main/java/org/onosproject/store/key/impl/DistributedDeviceKeyStore.java b/core/store/dist/src/main/java/org/onosproject/store/key/impl/DistributedDeviceKeyStore.java index 8885fbd6ae..df2c1c2728 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/key/impl/DistributedDeviceKeyStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/key/impl/DistributedDeviceKeyStore.java @@ -16,12 +16,6 @@ package org.onosproject.store.key.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.key.DeviceKey; import org.onosproject.net.key.DeviceKeyEvent; import org.onosproject.net.key.DeviceKeyId; @@ -34,6 +28,11 @@ import org.onosproject.store.service.MapEvent; import org.onosproject.store.service.MapEventListener; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Arrays; @@ -47,15 +46,14 @@ import static org.slf4j.LoggerFactory.getLogger; * A distributed device key store implementation, device keys are stored consistently * across the cluster. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = DeviceKeyStore.class) public class DistributedDeviceKeyStore extends AbstractStore implements DeviceKeyStore { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private ConsistentMap deviceKeys; diff --git a/core/store/dist/src/main/java/org/onosproject/store/link/impl/ECLinkStore.java b/core/store/dist/src/main/java/org/onosproject/store/link/impl/ECLinkStore.java index 21f8152c84..eebfbc2df8 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/link/impl/ECLinkStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/link/impl/ECLinkStore.java @@ -15,20 +15,10 @@ */ package org.onosproject.store.link.impl; -import java.util.Collection; -import java.util.Map; -import java.util.Objects; -import java.util.Set; -import java.util.concurrent.atomic.AtomicReference; -import java.util.function.Predicate; -import java.util.stream.Collectors; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import com.google.common.collect.Iterables; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; +import com.google.common.util.concurrent.Futures; import org.onlab.util.KryoNamespace; import org.onlab.util.SharedExecutors; import org.onosproject.cluster.ClusterService; @@ -67,12 +57,20 @@ import org.onosproject.store.service.EventuallyConsistentMapEvent; import org.onosproject.store.service.EventuallyConsistentMapListener; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.collect.Iterables; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; -import com.google.common.util.concurrent.Futures; +import java.util.Collection; +import java.util.Map; +import java.util.Objects; +import java.util.Set; +import java.util.concurrent.atomic.AtomicReference; +import java.util.function.Predicate; +import java.util.stream.Collectors; import static org.onosproject.net.DefaultAnnotations.union; import static org.onosproject.net.Link.State.ACTIVE; @@ -91,8 +89,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Manages the inventory of links using a {@code EventuallyConsistentMap}. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = LinkStore.class) public class ECLinkStore extends AbstractStore implements LinkStore { @@ -124,25 +121,25 @@ public class ECLinkStore private static final MessageSubject LINK_INJECT_MESSAGE = new MessageSubject("inject-link-request"); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceClockService deviceClockService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterCommunicationService clusterCommunicator; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry netCfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; private EventuallyConsistentMapListener, LinkDescription> linkTracker = diff --git a/core/store/dist/src/main/java/org/onosproject/store/mastership/impl/ConsistentDeviceMastershipStore.java b/core/store/dist/src/main/java/org/onosproject/store/mastership/impl/ConsistentDeviceMastershipStore.java index 41adfded67..3990a8be8b 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/mastership/impl/ConsistentDeviceMastershipStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/mastership/impl/ConsistentDeviceMastershipStore.java @@ -15,34 +15,8 @@ */ package org.onosproject.store.mastership.impl; -import static org.onlab.util.Tools.groupedThreads; -import static org.onosproject.mastership.MastershipEvent.Type.BACKUPS_CHANGED; -import static org.onosproject.mastership.MastershipEvent.Type.MASTER_CHANGED; -import static org.onosproject.mastership.MastershipEvent.Type.RESTORED; -import static org.onosproject.mastership.MastershipEvent.Type.SUSPENDED; -import static org.slf4j.LoggerFactory.getLogger; -import static com.google.common.base.Preconditions.checkArgument; - -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.stream.Collectors; - +import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.Leadership; @@ -64,31 +38,54 @@ import org.onosproject.store.cluster.messaging.ClusterCommunicationService; import org.onosproject.store.cluster.messaging.MessageSubject; import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.Serializer; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.collect.ImmutableList; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + +import static com.google.common.base.Preconditions.checkArgument; +import static org.onlab.util.Tools.groupedThreads; +import static org.onosproject.mastership.MastershipEvent.Type.BACKUPS_CHANGED; +import static org.onosproject.mastership.MastershipEvent.Type.MASTER_CHANGED; +import static org.onosproject.mastership.MastershipEvent.Type.RESTORED; +import static org.onosproject.mastership.MastershipEvent.Type.SUSPENDED; +import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of the MastershipStore on top of Leadership Service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = MastershipStore.class) public class ConsistentDeviceMastershipStore extends AbstractStore implements MastershipStore { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipAdminService leadershipAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterCommunicationService clusterCommunicator; private NodeId localNodeId; diff --git a/core/store/dist/src/main/java/org/onosproject/store/mcast/impl/DistributedMcastStore.java b/core/store/dist/src/main/java/org/onosproject/store/mcast/impl/DistributedMcastStore.java index d371fdf49b..4c85458688 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/mcast/impl/DistributedMcastStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/mcast/impl/DistributedMcastStore.java @@ -18,14 +18,7 @@ package org.onosproject.store.mcast.impl; import com.google.common.base.Objects; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; - import org.onosproject.net.ConnectPoint; import org.onosproject.net.mcast.McastEvent; import org.onosproject.net.mcast.McastRoute; @@ -39,6 +32,11 @@ import org.onosproject.store.service.MapEventListener; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.Versioned; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Map; @@ -55,8 +53,7 @@ import static org.slf4j.LoggerFactory.getLogger; * A distributed mcast store implementation. Routes are stored consistently * across the cluster. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = McastStore.class) public class DistributedMcastStore extends AbstractStore implements McastStore { @@ -64,7 +61,7 @@ public class DistributedMcastStore private static final String MCASTRIB = "onos-mcast-rib-table"; private Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private Map mcastRoutes; diff --git a/core/store/dist/src/main/java/org/onosproject/store/packet/impl/DistributedPacketStore.java b/core/store/dist/src/main/java/org/onosproject/store/packet/impl/DistributedPacketStore.java index 1043c45007..95ea1ed304 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/packet/impl/DistributedPacketStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/packet/impl/DistributedPacketStore.java @@ -16,14 +16,6 @@ package org.onosproject.store.packet.impl; import com.google.common.collect.Lists; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.cluster.ClusterService; @@ -46,6 +38,12 @@ import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.Versioned; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collection; @@ -67,8 +65,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Distributed packet store implementation allowing packets to be sent to * remote instances. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = PacketStore.class) public class DistributedPacketStore extends AbstractStore implements PacketStore { @@ -77,19 +74,19 @@ public class DistributedPacketStore private static final String FORMAT = "Setting: messageHandlerThreadPoolSize={}"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterCommunicationService communicationService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; private PacketRequestTracker tracker; @@ -102,8 +99,8 @@ public class DistributedPacketStore private ExecutorService messageHandlingExecutor; private static final int DEFAULT_MESSAGE_HANDLER_THREAD_POOL_SIZE = 4; - @Property(name = "messageHandlerThreadPoolSize", intValue = DEFAULT_MESSAGE_HANDLER_THREAD_POOL_SIZE, - label = "Size of thread pool to assign message handler") + //@Property(name = "messageHandlerThreadPoolSize", intValue = DEFAULT_MESSAGE_HANDLER_THREAD_POOL_SIZE, + // label = "Size of thread pool to assign message handler") private static int messageHandlerThreadPoolSize = DEFAULT_MESSAGE_HANDLER_THREAD_POOL_SIZE; private static final int MAX_BACKOFF = 50; diff --git a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/AbstractDistributedPiTranslationStore.java b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/AbstractDistributedPiTranslationStore.java index 9df6a86b61..59596fd277 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/AbstractDistributedPiTranslationStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/AbstractDistributedPiTranslationStore.java @@ -16,11 +16,11 @@ package org.onosproject.store.pi.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.net.pi.runtime.PiEntity; import org.onosproject.net.pi.runtime.PiHandle; import org.onosproject.net.pi.service.PiTranslatable; @@ -45,7 +45,6 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Distributed implementation of PiTranslationStore. */ -@Component(immediate = true) public abstract class AbstractDistributedPiTranslationStore extends AbstractStore, PiTranslationStoreDelegate> @@ -55,7 +54,7 @@ public abstract class AbstractDistributedPiTranslationStore private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private EventuallyConsistentMap, PiTranslatedEntity> diff --git a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedDevicePipeconfMappingStore.java b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedDevicePipeconfMappingStore.java index 092b8ebf06..a732cadfb5 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedDevicePipeconfMappingStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedDevicePipeconfMappingStore.java @@ -20,12 +20,6 @@ import com.google.common.collect.HashMultimap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Multimaps; import com.google.common.collect.SetMultimap; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.DeviceId; import org.onosproject.net.pi.model.PiPipeconfId; import org.onosproject.net.pi.service.PiPipeconfDeviceMappingEvent; @@ -38,6 +32,11 @@ import org.onosproject.store.service.MapEvent; import org.onosproject.store.service.MapEventListener; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Set; @@ -47,15 +46,14 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Manages information of pipeconf to device binding. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = PiPipeconfMappingStore.class) public class DistributedDevicePipeconfMappingStore extends AbstractStore implements PiPipeconfMappingStore { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; protected ConsistentMap deviceToPipeconf; diff --git a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiFlowRuleTranslationStore.java b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiFlowRuleTranslationStore.java index c123ec5efc..ecad89d703 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiFlowRuleTranslationStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiFlowRuleTranslationStore.java @@ -16,17 +16,15 @@ package org.onosproject.store.pi.impl; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.flow.FlowRule; import org.onosproject.net.pi.runtime.PiTableEntry; import org.onosproject.net.pi.service.PiFlowRuleTranslationStore; +import org.osgi.service.component.annotations.Component; /** * Distributed implementation of a PI translation store for flow rules. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = PiFlowRuleTranslationStore.class) public class DistributedPiFlowRuleTranslationStore extends AbstractDistributedPiTranslationStore implements PiFlowRuleTranslationStore { diff --git a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiGroupTranslationStore.java b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiGroupTranslationStore.java index fa62ef1cea..d2cedd8416 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiGroupTranslationStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiGroupTranslationStore.java @@ -16,17 +16,15 @@ package org.onosproject.store.pi.impl; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.group.Group; import org.onosproject.net.pi.runtime.PiActionGroup; import org.onosproject.net.pi.service.PiGroupTranslationStore; +import org.osgi.service.component.annotations.Component; /** * Distributed implementation of a PI translation store for groups. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = PiGroupTranslationStore.class) public class DistributedPiGroupTranslationStore extends AbstractDistributedPiTranslationStore implements PiGroupTranslationStore { diff --git a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiMeterTranslationStore.java b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiMeterTranslationStore.java index ef7e9f11a5..2ed5038a6a 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiMeterTranslationStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiMeterTranslationStore.java @@ -16,17 +16,15 @@ package org.onosproject.store.pi.impl; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.meter.Meter; import org.onosproject.net.pi.runtime.PiMeterCellConfig; import org.onosproject.net.pi.service.PiMeterTranslationStore; +import org.osgi.service.component.annotations.Component; /** * Distributed implementation of a PI translation store for meters. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = PiMeterTranslationStore.class) public class DistributedPiMeterTranslationStore extends AbstractDistributedPiTranslationStore implements PiMeterTranslationStore { diff --git a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiMulticastGroupTranslationStore.java b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiMulticastGroupTranslationStore.java index c95b185f0d..dfa6652523 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiMulticastGroupTranslationStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiMulticastGroupTranslationStore.java @@ -16,8 +16,7 @@ package org.onosproject.store.pi.impl; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.group.Group; import org.onosproject.net.pi.runtime.PiMulticastGroupEntry; import org.onosproject.net.pi.service.PiMulticastGroupTranslationStore; @@ -25,8 +24,7 @@ import org.onosproject.net.pi.service.PiMulticastGroupTranslationStore; /** * Distributed implementation of a PI translation store for multicast groups. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = PiMulticastGroupTranslationStore.class) public class DistributedPiMulticastGroupTranslationStore extends AbstractDistributedPiTranslationStore implements PiMulticastGroupTranslationStore { diff --git a/core/store/dist/src/main/java/org/onosproject/store/region/impl/DistributedRegionStore.java b/core/store/dist/src/main/java/org/onosproject/store/region/impl/DistributedRegionStore.java index 2f19561825..e0d7b9d559 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/region/impl/DistributedRegionStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/region/impl/DistributedRegionStore.java @@ -18,12 +18,6 @@ package org.onosproject.store.region.impl; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.Identifier; import org.onosproject.cluster.NodeId; import org.onosproject.net.Annotations; @@ -41,6 +35,11 @@ import org.onosproject.store.service.MapEvent; import org.onosproject.store.service.MapEventListener; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Arrays; @@ -60,8 +59,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Consistent store implementation for tracking region definitions and device * region affiliation. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = RegionStore.class) public class DistributedRegionStore extends AbstractStore implements RegionStore { @@ -71,7 +69,7 @@ public class DistributedRegionStore private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private ConsistentMap regionsRepo; diff --git a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/ConsistentResourceStore.java b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/ConsistentResourceStore.java index e5ed75bc34..bfbbcae743 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/ConsistentResourceStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/ConsistentResourceStore.java @@ -15,27 +15,8 @@ */ package org.onosproject.store.resource.impl; -import java.util.Collection; -import java.util.LinkedHashMap; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.Set; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; -import java.util.function.Function; -import java.util.stream.Collectors; -import java.util.stream.Stream; - import com.google.common.annotations.Beta; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onlab.util.Tools; import org.onosproject.net.resource.ContinuousResource; @@ -58,9 +39,27 @@ import org.onosproject.store.service.DistributedPrimitive; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.TransactionContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Collection; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; +import java.util.function.Function; +import java.util.stream.Collectors; +import java.util.stream.Stream; + import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; import static java.util.stream.Collectors.groupingBy; @@ -70,8 +69,7 @@ import static org.onosproject.net.resource.ResourceEvent.Type.RESOURCE_REMOVED; /** * Implementation of ResourceStore using TransactionalMap. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = ResourceStore.class) @Beta public class ConsistentResourceStore extends AbstractStore implements ResourceStore { @@ -90,7 +88,7 @@ public class ConsistentResourceStore extends AbstractStore> previous = @@ -103,8 +99,8 @@ public class DistributedFlowStatisticStore implements FlowStatisticStore { private ExecutorService messageHandlingExecutor; private static final int DEFAULT_MESSAGE_HANDLER_THREAD_POOL_SIZE = 4; - @Property(name = "messageHandlerThreadPoolSize", intValue = DEFAULT_MESSAGE_HANDLER_THREAD_POOL_SIZE, - label = "Size of thread pool to assign message handler") + //@Property(name = "messageHandlerThreadPoolSize", intValue = DEFAULT_MESSAGE_HANDLER_THREAD_POOL_SIZE, + // label = "Size of thread pool to assign message handler") private static int messageHandlerThreadPoolSize = DEFAULT_MESSAGE_HANDLER_THREAD_POOL_SIZE; diff --git a/core/store/dist/src/main/java/org/onosproject/store/statistic/impl/DistributedStatisticStore.java b/core/store/dist/src/main/java/org/onosproject/store/statistic/impl/DistributedStatisticStore.java index 522183e0d8..c4a7f19750 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/statistic/impl/DistributedStatisticStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/statistic/impl/DistributedStatisticStore.java @@ -16,15 +16,6 @@ package org.onosproject.store.statistic.impl; import com.google.common.collect.Sets; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.cluster.ClusterService; @@ -43,6 +34,12 @@ import org.onosproject.store.cluster.messaging.MessageSubject; import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.Serializer; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collections; @@ -69,24 +66,23 @@ import static org.slf4j.LoggerFactory.getLogger; * Maintains statistics using RPC calls to collect stats from remote instances * on demand. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = StatisticStore.class) public class DistributedStatisticStore implements StatisticStore { private final Logger log = getLogger(getClass()); private static final String FORMAT = "Setting: messageHandlerThreadPoolSize={}"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterCommunicationService clusterCommunicator; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; public static final MessageSubject GET_CURRENT = new MessageSubject("peer-return-current"); @@ -106,8 +102,8 @@ public class DistributedStatisticStore implements StatisticStore { private ExecutorService messageHandlingExecutor; private static final int DEFAULT_MESSAGE_HANDLER_THREAD_POOL_SIZE = 4; - @Property(name = "messageHandlerThreadPoolSize", intValue = DEFAULT_MESSAGE_HANDLER_THREAD_POOL_SIZE, - label = "Size of thread pool to assign message handler") + //@Property(name = "messageHandlerThreadPoolSize", intValue = DEFAULT_MESSAGE_HANDLER_THREAD_POOL_SIZE, + // label = "Size of thread pool to assign message handler") private static int messageHandlerThreadPoolSize = DEFAULT_MESSAGE_HANDLER_THREAD_POOL_SIZE; private static final long STATISTIC_STORE_TIMEOUT_MILLIS = 3000; diff --git a/core/store/dist/src/main/java/org/onosproject/store/topology/impl/DistributedTopologyStore.java b/core/store/dist/src/main/java/org/onosproject/store/topology/impl/DistributedTopologyStore.java index b6e6d0437d..04c9961c9e 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/topology/impl/DistributedTopologyStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/topology/impl/DistributedTopologyStore.java @@ -15,14 +15,6 @@ */ package org.onosproject.store.topology.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.graph.GraphPathSearch; import org.onlab.util.KryoNamespace; import org.onosproject.cfg.ComponentConfigService; @@ -59,6 +51,12 @@ import org.onosproject.store.service.EventuallyConsistentMapListener; import org.onosproject.store.service.LogicalClockService; import org.onosproject.store.service.StorageService; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collections; @@ -83,8 +81,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Note: This component is not distributed per-se. It runs on every * instance and feeds off of other distributed stores. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = { TopologyStore.class, PathAdminService.class }) public class DistributedTopologyStore extends AbstractStore implements TopologyStore, PathAdminService { @@ -99,19 +96,19 @@ public class DistributedTopologyStore Collections.emptyList(), Collections.emptyList())); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LogicalClockService clockService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService configService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; private static final String HOP_COUNT = "hopCount"; @@ -119,8 +116,8 @@ public class DistributedTopologyStore private static final String GEO_DISTANCE = "geoDistance"; private static final String DEFAULT_LINK_WEIGHT_FUNCTION = "hopCount"; - @Property(name = "linkWeightFunction", value = DEFAULT_LINK_WEIGHT_FUNCTION, - label = "Default link-weight function: hopCount, linkMetric, geoDistance") + //@Property(name = "linkWeightFunction", value = DEFAULT_LINK_WEIGHT_FUNCTION, + // label = "Default link-weight function: hopCount, linkMetric, geoDistance") private String linkWeightFunction = DEFAULT_LINK_WEIGHT_FUNCTION; // Cluster root to broadcast points bindings to allow convergence to diff --git a/core/store/dist/src/test/java/org/onosproject/store/statistic/impl/DistributedStatisticStoreTest.java b/core/store/dist/src/test/java/org/onosproject/store/statistic/impl/DistributedStatisticStoreTest.java index ad4baf7bf8..a92345b64d 100644 --- a/core/store/dist/src/test/java/org/onosproject/store/statistic/impl/DistributedStatisticStoreTest.java +++ b/core/store/dist/src/test/java/org/onosproject/store/statistic/impl/DistributedStatisticStoreTest.java @@ -16,8 +16,8 @@ package org.onosproject.store.statistic.impl; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import static org.hamcrest.Matchers.empty; @@ -67,7 +67,7 @@ import static org.onosproject.net.NetTestTools.did; public class DistributedStatisticStoreTest { - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; DistributedStatisticStore statStore; diff --git a/core/store/persistence/src/main/java/org/onosproject/persistence/impl/PersistenceManager.java b/core/store/persistence/src/main/java/org/onosproject/persistence/impl/PersistenceManager.java index 498f5d0aed..0f291d5547 100644 --- a/core/store/persistence/src/main/java/org/onosproject/persistence/impl/PersistenceManager.java +++ b/core/store/persistence/src/main/java/org/onosproject/persistence/impl/PersistenceManager.java @@ -16,15 +16,14 @@ package org.onosproject.persistence.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.mapdb.DB; import org.mapdb.DBMaker; import org.onosproject.persistence.PersistenceService; import org.onosproject.persistence.PersistentMapBuilder; import org.onosproject.persistence.PersistentSetBuilder; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import java.io.File; @@ -44,8 +43,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Service that maintains local disk backed maps and sets. * This implementation automatically deletes empty structures on shutdown. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = PersistenceService.class) public class PersistenceManager implements PersistenceService { private static final String DATABASE_ROOT = diff --git a/core/store/primitives/src/main/java/org/onosproject/store/atomix/cluster/impl/AtomixClusterStore.java b/core/store/primitives/src/main/java/org/onosproject/store/atomix/cluster/impl/AtomixClusterStore.java index a1b7f16a6a..933c8ec30a 100644 --- a/core/store/primitives/src/main/java/org/onosproject/store/atomix/cluster/impl/AtomixClusterStore.java +++ b/core/store/primitives/src/main/java/org/onosproject/store/atomix/cluster/impl/AtomixClusterStore.java @@ -15,23 +15,11 @@ */ package org.onosproject.store.atomix.cluster.impl; -import java.time.Instant; -import java.util.Map; -import java.util.Objects; -import java.util.Set; -import java.util.stream.Collectors; - import com.google.common.collect.Maps; import io.atomix.cluster.ClusterMembershipEvent; import io.atomix.cluster.ClusterMembershipEventListener; import io.atomix.cluster.ClusterMembershipService; import io.atomix.cluster.Member; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onosproject.cluster.ClusterEvent; import org.onosproject.cluster.ClusterStore; @@ -44,16 +32,26 @@ import org.onosproject.core.Version; import org.onosproject.core.VersionService; import org.onosproject.store.AbstractStore; import org.onosproject.store.atomix.impl.AtomixManager; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.time.Instant; +import java.util.Map; +import java.util.Objects; +import java.util.Set; +import java.util.stream.Collectors; + import static com.google.common.base.Preconditions.checkNotNull; /** * Atomix cluster store. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = ClusterStore.class) public class AtomixClusterStore extends AbstractStore implements ClusterStore { private static final String INSTANCE_ID_NULL = "Instance ID cannot be null"; @@ -62,10 +60,10 @@ public class AtomixClusterStore extends AbstractStore implements PartitionService, PartitionAdminService { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected AtomixManager atomixManager; private PartitionGroup partitionGroup; diff --git a/core/store/primitives/src/main/java/org/onosproject/store/atomix/primitives/impl/StorageManager.java b/core/store/primitives/src/main/java/org/onosproject/store/atomix/primitives/impl/StorageManager.java index a59f4f9d40..cd15895777 100644 --- a/core/store/primitives/src/main/java/org/onosproject/store/atomix/primitives/impl/StorageManager.java +++ b/core/store/primitives/src/main/java/org/onosproject/store/atomix/primitives/impl/StorageManager.java @@ -15,12 +15,6 @@ */ package org.onosproject.store.atomix.primitives.impl; -import java.util.Collection; -import java.util.List; -import java.util.Map; -import java.util.function.Supplier; -import java.util.stream.Collectors; - import com.google.common.collect.Maps; import io.atomix.core.Atomix; import io.atomix.core.counter.AtomicCounter; @@ -29,20 +23,14 @@ import io.atomix.core.map.AtomicMapType; import io.atomix.core.workqueue.WorkQueueType; import io.atomix.primitive.partition.PartitionGroup; import io.atomix.protocols.raft.MultiRaftProtocol; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.ControllerNode; import org.onosproject.cluster.Member; import org.onosproject.cluster.MembershipService; import org.onosproject.cluster.NodeId; import org.onosproject.persistence.PersistenceService; -import org.onosproject.store.cluster.messaging.ClusterCommunicationService; import org.onosproject.store.atomix.impl.AtomixManager; +import org.onosproject.store.cluster.messaging.ClusterCommunicationService; import org.onosproject.store.primitives.PartitionAdminService; import org.onosproject.store.primitives.TransactionId; import org.onosproject.store.serializers.KryoNamespaces; @@ -72,8 +60,19 @@ import org.onosproject.store.service.TransactionContextBuilder; import org.onosproject.store.service.WorkQueue; import org.onosproject.store.service.WorkQueueBuilder; import org.onosproject.store.service.WorkQueueStats; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.function.Supplier; +import java.util.stream.Collectors; + import static org.onosproject.security.AppGuard.checkPermission; import static org.onosproject.security.AppPermission.Type.STORAGE_WRITE; import static org.slf4j.LoggerFactory.getLogger; @@ -81,28 +80,27 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Implementation for {@code StorageService} and {@code StorageAdminService}. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = { StorageService.class, StorageAdminService.class }) public class StorageManager implements StorageService, StorageAdminService { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterCommunicationService clusterCommunicator; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PersistenceService persistenceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PartitionAdminService partitionAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MembershipService membershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected AtomixManager atomixManager; private Atomix atomix; diff --git a/drivers/arista/src/main/java/org/onosproject/drivers/arista/AristaDriversLoader.java b/drivers/arista/src/main/java/org/onosproject/drivers/arista/AristaDriversLoader.java index 2d15e669d5..4a8b0be655 100644 --- a/drivers/arista/src/main/java/org/onosproject/drivers/arista/AristaDriversLoader.java +++ b/drivers/arista/src/main/java/org/onosproject/drivers/arista/AristaDriversLoader.java @@ -16,7 +16,7 @@ package org.onosproject.drivers.arista; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; /** diff --git a/drivers/barefoot/src/main/java/org/onosproject/drivers/barefoot/BarefootDriversLoader.java b/drivers/barefoot/src/main/java/org/onosproject/drivers/barefoot/BarefootDriversLoader.java index 41ab063577..1118453d12 100644 --- a/drivers/barefoot/src/main/java/org/onosproject/drivers/barefoot/BarefootDriversLoader.java +++ b/drivers/barefoot/src/main/java/org/onosproject/drivers/barefoot/BarefootDriversLoader.java @@ -16,7 +16,7 @@ package org.onosproject.drivers.barefoot; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; /** diff --git a/drivers/bmv2/src/main/java/org/onosproject/drivers/bmv2/Bmv2DriversLoader.java b/drivers/bmv2/src/main/java/org/onosproject/drivers/bmv2/Bmv2DriversLoader.java index 51a54329a3..fc196d97bd 100644 --- a/drivers/bmv2/src/main/java/org/onosproject/drivers/bmv2/Bmv2DriversLoader.java +++ b/drivers/bmv2/src/main/java/org/onosproject/drivers/bmv2/Bmv2DriversLoader.java @@ -16,7 +16,7 @@ package org.onosproject.drivers.bmv2; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; /** diff --git a/drivers/bmv2/src/main/java/org/onosproject/drivers/bmv2/ctl/Bmv2PreControllerImpl.java b/drivers/bmv2/src/main/java/org/onosproject/drivers/bmv2/ctl/Bmv2PreControllerImpl.java index 4c80e79f69..161673410f 100644 --- a/drivers/bmv2/src/main/java/org/onosproject/drivers/bmv2/ctl/Bmv2PreControllerImpl.java +++ b/drivers/bmv2/src/main/java/org/onosproject/drivers/bmv2/ctl/Bmv2PreControllerImpl.java @@ -22,14 +22,6 @@ import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import com.google.common.collect.Maps; import org.apache.commons.lang3.tuple.Pair; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.apache.thrift.protocol.TBinaryProtocol; import org.apache.thrift.protocol.TMultiplexedProtocol; import org.apache.thrift.protocol.TProtocol; @@ -42,6 +34,12 @@ import org.onosproject.drivers.bmv2.api.Bmv2DeviceAgent; import org.onosproject.drivers.bmv2.api.Bmv2PreController; import org.onosproject.net.DeviceId; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Dictionary; @@ -57,8 +55,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * BMv2 PRE controller implementation. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = Bmv2PreController.class) public class Bmv2PreControllerImpl implements Bmv2PreController { private static final int DEVICE_LOCK_CACHE_EXPIRE_TIME_IN_MIN = 10; @@ -77,16 +74,16 @@ public class Bmv2PreControllerImpl implements Bmv2PreController { return new ReentrantReadWriteLock(); } }); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; - @Property(name = "numConnectionRetries", intValue = DEFAULT_NUM_CONNECTION_RETRIES, - label = "Number of connection retries after a network error") + //@Property(name = "numConnectionRetries", intValue = DEFAULT_NUM_CONNECTION_RETRIES, + // label = "Number of connection retries after a network error") private int numConnectionRetries = DEFAULT_NUM_CONNECTION_RETRIES; - @Property(name = "timeBetweenRetries", intValue = DEFAULT_TIME_BETWEEN_RETRIES, - label = "Time between retries in milliseconds") + //@Property(name = "timeBetweenRetries", intValue = DEFAULT_TIME_BETWEEN_RETRIES, + // label = "Time between retries in milliseconds") private int timeBetweenRetries = DEFAULT_TIME_BETWEEN_RETRIES; - @Property(name = "deviceLockWaitingTime", intValue = DEVICE_LOCK_WAITING_TIME_IN_SEC, - label = "Waiting time for a read/write lock in seconds") + //@Property(name = "deviceLockWaitingTime", intValue = DEVICE_LOCK_WAITING_TIME_IN_SEC, + // label = "Waiting time for a read/write lock in seconds") private int deviceLockWaitingTime = DEVICE_LOCK_WAITING_TIME_IN_SEC; @Activate diff --git a/drivers/bmv2/src/main/java/org/onosproject/drivers/bmv2/mirror/AbstractDistributedBmv2Mirror.java b/drivers/bmv2/src/main/java/org/onosproject/drivers/bmv2/mirror/AbstractDistributedBmv2Mirror.java index d75be38590..6d46e0fb3d 100644 --- a/drivers/bmv2/src/main/java/org/onosproject/drivers/bmv2/mirror/AbstractDistributedBmv2Mirror.java +++ b/drivers/bmv2/src/main/java/org/onosproject/drivers/bmv2/mirror/AbstractDistributedBmv2Mirror.java @@ -17,11 +17,11 @@ package org.onosproject.drivers.bmv2.mirror; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.util.KryoNamespace; import org.onosproject.drivers.bmv2.api.runtime.Bmv2Entity; import org.onosproject.drivers.bmv2.api.runtime.Bmv2Handle; @@ -53,7 +53,7 @@ public abstract class AbstractDistributedBmv2Mirror private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private StorageService storageService; private EventuallyConsistentMap mirrorMap; diff --git a/drivers/bmv2/src/main/java/org/onosproject/drivers/bmv2/mirror/DistributedBmv2PreGroupMirror.java b/drivers/bmv2/src/main/java/org/onosproject/drivers/bmv2/mirror/DistributedBmv2PreGroupMirror.java index 17256764e6..fd6231f238 100644 --- a/drivers/bmv2/src/main/java/org/onosproject/drivers/bmv2/mirror/DistributedBmv2PreGroupMirror.java +++ b/drivers/bmv2/src/main/java/org/onosproject/drivers/bmv2/mirror/DistributedBmv2PreGroupMirror.java @@ -17,8 +17,6 @@ package org.onosproject.drivers.bmv2.mirror; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.drivers.bmv2.api.runtime.Bmv2EntityType; import org.onosproject.drivers.bmv2.api.runtime.Bmv2PreGroup; @@ -26,6 +24,7 @@ import org.onosproject.drivers.bmv2.api.runtime.Bmv2PreGroupHandle; import org.onosproject.drivers.bmv2.api.runtime.Bmv2PreNode; import org.onosproject.drivers.bmv2.api.runtime.Bmv2PreNodes; import org.onosproject.store.serializers.KryoNamespaces; +import org.osgi.service.component.annotations.Component; /** @@ -33,8 +32,7 @@ import org.onosproject.store.serializers.KryoNamespaces; * We need this mirror to preserve BMv2-specific identifiers of group * and nodes for further operations on them after creation. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = Bmv2PreGroupMirror.class) public class DistributedBmv2PreGroupMirror extends AbstractDistributedBmv2Mirror implements Bmv2PreGroupMirror { diff --git a/drivers/ciena/c5162/src/main/java/org/onosproject/drivers/ciena/c5162/Ciena5162DriversLoader.java b/drivers/ciena/c5162/src/main/java/org/onosproject/drivers/ciena/c5162/Ciena5162DriversLoader.java index 338c2f1bf2..5b911eb467 100644 --- a/drivers/ciena/c5162/src/main/java/org/onosproject/drivers/ciena/c5162/Ciena5162DriversLoader.java +++ b/drivers/ciena/c5162/src/main/java/org/onosproject/drivers/ciena/c5162/Ciena5162DriversLoader.java @@ -15,7 +15,7 @@ */ package org.onosproject.drivers.ciena.c5162; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; /** diff --git a/drivers/ciena/c5170/src/main/java/org/onosproject/drivers/ciena/c5170/Ciena5170DriversLoader.java b/drivers/ciena/c5170/src/main/java/org/onosproject/drivers/ciena/c5170/Ciena5170DriversLoader.java index 759d24d46f..25de88ce7f 100644 --- a/drivers/ciena/c5170/src/main/java/org/onosproject/drivers/ciena/c5170/Ciena5170DriversLoader.java +++ b/drivers/ciena/c5170/src/main/java/org/onosproject/drivers/ciena/c5170/Ciena5170DriversLoader.java @@ -15,7 +15,7 @@ */ package org.onosproject.drivers.ciena.c5170; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; /** diff --git a/drivers/ciena/waveserver/src/main/java/org/onosproject/drivers/ciena/waveserver/CienaDriversLoader.java b/drivers/ciena/waveserver/src/main/java/org/onosproject/drivers/ciena/waveserver/CienaDriversLoader.java index 0752c4f113..db69d21e8d 100644 --- a/drivers/ciena/waveserver/src/main/java/org/onosproject/drivers/ciena/waveserver/CienaDriversLoader.java +++ b/drivers/ciena/waveserver/src/main/java/org/onosproject/drivers/ciena/waveserver/CienaDriversLoader.java @@ -16,7 +16,7 @@ package org.onosproject.drivers.ciena.waveserver; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; import org.onosproject.net.optical.OpticalDevice; diff --git a/drivers/ciena/waveserverai/src/main/java/org/onosproject/drivers/ciena/waveserverai/CienaDriversLoader.java b/drivers/ciena/waveserverai/src/main/java/org/onosproject/drivers/ciena/waveserverai/CienaDriversLoader.java index 051133764c..18e21e9fc1 100644 --- a/drivers/ciena/waveserverai/src/main/java/org/onosproject/drivers/ciena/waveserverai/CienaDriversLoader.java +++ b/drivers/ciena/waveserverai/src/main/java/org/onosproject/drivers/ciena/waveserverai/CienaDriversLoader.java @@ -16,7 +16,7 @@ package org.onosproject.drivers.ciena.waveserverai; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; import org.onosproject.net.optical.OpticalDevice; diff --git a/drivers/cisco/netconf/src/main/java/org/onosproject/drivers/cisco/CiscoDriversLoader.java b/drivers/cisco/netconf/src/main/java/org/onosproject/drivers/cisco/CiscoDriversLoader.java index 2758a1cbcc..908f14771a 100644 --- a/drivers/cisco/netconf/src/main/java/org/onosproject/drivers/cisco/CiscoDriversLoader.java +++ b/drivers/cisco/netconf/src/main/java/org/onosproject/drivers/cisco/CiscoDriversLoader.java @@ -16,7 +16,7 @@ package org.onosproject.drivers.cisco; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; /** diff --git a/drivers/cisco/rest/src/main/java/org/onosproject/drivers/cisco/rest/CiscoRestDriversLoader.java b/drivers/cisco/rest/src/main/java/org/onosproject/drivers/cisco/rest/CiscoRestDriversLoader.java index 1a55902472..ea3b04c135 100644 --- a/drivers/cisco/rest/src/main/java/org/onosproject/drivers/cisco/rest/CiscoRestDriversLoader.java +++ b/drivers/cisco/rest/src/main/java/org/onosproject/drivers/cisco/rest/CiscoRestDriversLoader.java @@ -16,7 +16,7 @@ package org.onosproject.drivers.cisco.rest; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; /** diff --git a/drivers/corsa/src/main/java/org/onosproject/drivers/corsa/CorsaDriversLoader.java b/drivers/corsa/src/main/java/org/onosproject/drivers/corsa/CorsaDriversLoader.java index f039bcfcb0..fa3aaf9a30 100644 --- a/drivers/corsa/src/main/java/org/onosproject/drivers/corsa/CorsaDriversLoader.java +++ b/drivers/corsa/src/main/java/org/onosproject/drivers/corsa/CorsaDriversLoader.java @@ -16,7 +16,7 @@ package org.onosproject.drivers.corsa; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; /** diff --git a/drivers/default/src/main/java/org/onosproject/driver/DefaultCodecRegister.java b/drivers/default/src/main/java/org/onosproject/driver/DefaultCodecRegister.java index 97f4c6aed8..9b643efdc3 100644 --- a/drivers/default/src/main/java/org/onosproject/driver/DefaultCodecRegister.java +++ b/drivers/default/src/main/java/org/onosproject/driver/DefaultCodecRegister.java @@ -15,11 +15,11 @@ */ package org.onosproject.driver; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.codec.CodecService; import org.onosproject.driver.extensions.MoveExtensionTreatment; import org.onosproject.driver.extensions.NiciraMatchNshSi; @@ -75,7 +75,7 @@ public class DefaultCodecRegister { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CodecService codecService; @Activate diff --git a/drivers/default/src/main/java/org/onosproject/driver/DefaultDriversLoader.java b/drivers/default/src/main/java/org/onosproject/driver/DefaultDriversLoader.java index 261054b218..d292aa6aa6 100644 --- a/drivers/default/src/main/java/org/onosproject/driver/DefaultDriversLoader.java +++ b/drivers/default/src/main/java/org/onosproject/driver/DefaultDriversLoader.java @@ -16,16 +16,14 @@ package org.onosproject.driver; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.driver.AbstractIndependentDriverLoader; import org.onosproject.net.driver.DefaultDriverProviderService; +import org.osgi.service.component.annotations.Component; /** * Loader for default device drivers. */ -@Service -@Component(immediate = true) +@Component(immediate = true, service = DefaultDriversLoader.class) public class DefaultDriversLoader extends AbstractIndependentDriverLoader implements DefaultDriverProviderService { public DefaultDriversLoader() { diff --git a/drivers/flowspec/src/main/java/org/onosproject/drivers/flowspec/FlowSpecDriversLoader.java b/drivers/flowspec/src/main/java/org/onosproject/drivers/flowspec/FlowSpecDriversLoader.java index dfa3c0bd90..93a02957d1 100644 --- a/drivers/flowspec/src/main/java/org/onosproject/drivers/flowspec/FlowSpecDriversLoader.java +++ b/drivers/flowspec/src/main/java/org/onosproject/drivers/flowspec/FlowSpecDriversLoader.java @@ -15,7 +15,7 @@ */ package org.onosproject.drivers.flowspec; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; /** diff --git a/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/FujitsuDriversLoader.java b/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/FujitsuDriversLoader.java index 770ed7358c..c531ddf704 100644 --- a/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/FujitsuDriversLoader.java +++ b/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/FujitsuDriversLoader.java @@ -16,7 +16,7 @@ package org.onosproject.drivers.fujitsu; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.cli.net.DeviceIdCompleter; import org.onosproject.net.driver.AbstractDriverLoader; import org.onosproject.net.optical.OpticalDevice; diff --git a/drivers/gnmi/src/main/java/org/onosproject/drivers/gnmi/GnmiDriversLoader.java b/drivers/gnmi/src/main/java/org/onosproject/drivers/gnmi/GnmiDriversLoader.java index 689a53b8bb..62a5e9f63f 100644 --- a/drivers/gnmi/src/main/java/org/onosproject/drivers/gnmi/GnmiDriversLoader.java +++ b/drivers/gnmi/src/main/java/org/onosproject/drivers/gnmi/GnmiDriversLoader.java @@ -16,7 +16,7 @@ package org.onosproject.drivers.gnmi; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; /** diff --git a/drivers/hp/src/main/java/org/onosproject/drivers/hp/HPDriverLoader.java b/drivers/hp/src/main/java/org/onosproject/drivers/hp/HPDriverLoader.java index a70c2d7215..97343d2307 100644 --- a/drivers/hp/src/main/java/org/onosproject/drivers/hp/HPDriverLoader.java +++ b/drivers/hp/src/main/java/org/onosproject/drivers/hp/HPDriverLoader.java @@ -16,7 +16,7 @@ package org.onosproject.drivers.hp; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; /** diff --git a/drivers/huawei/src/main/java/org/onosproject/drivers/huawei/HuaweiDriversLoader.java b/drivers/huawei/src/main/java/org/onosproject/drivers/huawei/HuaweiDriversLoader.java index db96787a98..79f1b9e18f 100644 --- a/drivers/huawei/src/main/java/org/onosproject/drivers/huawei/HuaweiDriversLoader.java +++ b/drivers/huawei/src/main/java/org/onosproject/drivers/huawei/HuaweiDriversLoader.java @@ -16,7 +16,7 @@ package org.onosproject.drivers.huawei; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; /** diff --git a/drivers/juniper/src/main/java/org/onosproject/drivers/juniper/JuniperDriversLoader.java b/drivers/juniper/src/main/java/org/onosproject/drivers/juniper/JuniperDriversLoader.java index 83dc4e10e9..68f8e77436 100644 --- a/drivers/juniper/src/main/java/org/onosproject/drivers/juniper/JuniperDriversLoader.java +++ b/drivers/juniper/src/main/java/org/onosproject/drivers/juniper/JuniperDriversLoader.java @@ -16,7 +16,7 @@ package org.onosproject.drivers.juniper; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; @Component(immediate = true) diff --git a/drivers/lisp/src/main/java/org/onosproject/drivers/lisp/LispDriversLoader.java b/drivers/lisp/src/main/java/org/onosproject/drivers/lisp/LispDriversLoader.java index faf24d0bc4..33fa28f340 100644 --- a/drivers/lisp/src/main/java/org/onosproject/drivers/lisp/LispDriversLoader.java +++ b/drivers/lisp/src/main/java/org/onosproject/drivers/lisp/LispDriversLoader.java @@ -16,7 +16,7 @@ package org.onosproject.drivers.lisp; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; /** diff --git a/drivers/lisp/src/main/java/org/onosproject/drivers/lisp/extensions/LispMappingExtensionCodecRegistrator.java b/drivers/lisp/src/main/java/org/onosproject/drivers/lisp/extensions/LispMappingExtensionCodecRegistrator.java index 569b8460e5..20e2da39c3 100644 --- a/drivers/lisp/src/main/java/org/onosproject/drivers/lisp/extensions/LispMappingExtensionCodecRegistrator.java +++ b/drivers/lisp/src/main/java/org/onosproject/drivers/lisp/extensions/LispMappingExtensionCodecRegistrator.java @@ -15,11 +15,11 @@ */ package org.onosproject.drivers.lisp.extensions; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.codec.CodecService; import org.onosproject.drivers.lisp.extensions.codec.LispAppDataAddressCodec; import org.onosproject.drivers.lisp.extensions.codec.LispAsAddressCodec; @@ -47,7 +47,7 @@ public class LispMappingExtensionCodecRegistrator extends MappingCodecRegistrato private final Logger log = getLogger(getClass()); private MappingCodecRegistrator registrator; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) public CodecService codecService; @Activate diff --git a/drivers/lumentum/src/main/java/org/onosproject/drivers/lumentum/LumentumDriversLoader.java b/drivers/lumentum/src/main/java/org/onosproject/drivers/lumentum/LumentumDriversLoader.java index bd083673ef..9b68b6206d 100644 --- a/drivers/lumentum/src/main/java/org/onosproject/drivers/lumentum/LumentumDriversLoader.java +++ b/drivers/lumentum/src/main/java/org/onosproject/drivers/lumentum/LumentumDriversLoader.java @@ -16,7 +16,7 @@ package org.onosproject.drivers.lumentum; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; import org.onosproject.net.optical.OpticalDevice; diff --git a/drivers/mellanox/src/main/java/org/onosproject/drivers/mellanox/MellanoxDriversLoader.java b/drivers/mellanox/src/main/java/org/onosproject/drivers/mellanox/MellanoxDriversLoader.java index 2b6ee260fb..52d9652712 100644 --- a/drivers/mellanox/src/main/java/org/onosproject/drivers/mellanox/MellanoxDriversLoader.java +++ b/drivers/mellanox/src/main/java/org/onosproject/drivers/mellanox/MellanoxDriversLoader.java @@ -16,7 +16,7 @@ package org.onosproject.drivers.mellanox; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; /** diff --git a/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/EA1000MeterProvider.java b/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/EA1000MeterProvider.java index 03405d7215..b52434550b 100644 --- a/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/EA1000MeterProvider.java +++ b/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/EA1000MeterProvider.java @@ -21,11 +21,11 @@ import static org.slf4j.LoggerFactory.getLogger; import java.util.concurrent.atomic.AtomicInteger; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.core.CoreService; import org.onosproject.drivers.microsemi.yang.MseaUniEvcServiceNetconfService; import org.onosproject.net.DeviceId; @@ -73,16 +73,16 @@ public class EA1000MeterProvider extends AbstractProvider implements MeterProvid private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetconfController controller; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MeterProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MseaUniEvcServiceNetconfService mseaUniEvcServiceSvc; private MeterProviderService providerService; diff --git a/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/MicrosemiDriversLoader.java b/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/MicrosemiDriversLoader.java index a556765454..7499a6ddfc 100644 --- a/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/MicrosemiDriversLoader.java +++ b/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/MicrosemiDriversLoader.java @@ -15,7 +15,7 @@ */ package org.onosproject.drivers.microsemi; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; /** diff --git a/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/NetconfConfigGetter.java b/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/NetconfConfigGetter.java index 039b76039b..7d937d03e4 100644 --- a/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/NetconfConfigGetter.java +++ b/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/NetconfConfigGetter.java @@ -19,8 +19,8 @@ package org.onosproject.drivers.microsemi; import static org.onosproject.netconf.DatastoreId.datastore; import static org.slf4j.LoggerFactory.getLogger; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.net.DeviceId; import org.onosproject.net.behaviour.ConfigGetter; import org.onosproject.net.driver.AbstractHandlerBehaviour; @@ -42,7 +42,7 @@ public class NetconfConfigGetter extends AbstractHandlerBehaviour implements Con private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; private PacketProcessor testProcessor; diff --git a/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/yang/impl/AbstractYangServiceImpl.java b/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/yang/impl/AbstractYangServiceImpl.java index 074aad4ac6..e61d5e5f89 100644 --- a/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/yang/impl/AbstractYangServiceImpl.java +++ b/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/yang/impl/AbstractYangServiceImpl.java @@ -15,21 +15,8 @@ */ package org.onosproject.drivers.microsemi.yang.impl; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.List; -import java.util.Set; -import java.util.regex.Pattern; - import com.google.common.base.Charsets; import com.google.common.io.ByteSource; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; import org.onosproject.netconf.DatastoreId; @@ -54,15 +41,26 @@ import org.onosproject.yang.runtime.YangSerializer; import org.onosproject.yang.runtime.YangSerializerContext; import org.onosproject.yang.runtime.YangSerializerRegistry; import org.onosproject.yang.serializers.xml.XmlSerializer; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.List; +import java.util.Set; +import java.util.regex.Pattern; + /** * Abstract class that implements some of the core functions of a YANG model service. * */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = AbstractYangServiceImpl.class) public abstract class AbstractYangServiceImpl { public static final String NC_OPERATION = "nc:operation"; public static final String OP_DELETE = "delete"; @@ -70,10 +68,10 @@ public abstract class AbstractYangServiceImpl { protected final Logger log = LoggerFactory.getLogger(getClass()); protected boolean alreadyLoaded = false; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected YangModelRegistry yangModelRegistry; protected ApplicationId appId; diff --git a/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/yang/impl/IetfSystemManager.java b/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/yang/impl/IetfSystemManager.java index 0411967036..16f6be8be1 100644 --- a/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/yang/impl/IetfSystemManager.java +++ b/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/yang/impl/IetfSystemManager.java @@ -19,10 +19,9 @@ import java.io.ByteArrayInputStream; import java.time.OffsetDateTime; import java.time.format.DateTimeFormatter; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.onosproject.drivers.microsemi.yang.IetfSystemNetconfService; import org.onosproject.netconf.DatastoreId; import org.onosproject.netconf.NetconfException; @@ -41,8 +40,7 @@ import org.onosproject.yang.runtime.DefaultCompositeStream; /** * Implementation of the IetfService YANG model service. */ -@Component(immediate = true, inherit = true) -@Service +@Component(immediate = true, service = AbstractYangServiceImpl.class) public class IetfSystemManager extends AbstractYangServiceImpl implements IetfSystemNetconfService { diff --git a/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/yang/impl/MseaCfmManager.java b/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/yang/impl/MseaCfmManager.java index ef4092813f..81581d0996 100644 --- a/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/yang/impl/MseaCfmManager.java +++ b/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/yang/impl/MseaCfmManager.java @@ -15,12 +15,6 @@ */ package org.onosproject.drivers.microsemi.yang.impl; -import java.util.ArrayList; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.onosproject.drivers.microsemi.yang.MseaCfmNetconfService; import org.onosproject.incubator.net.l2monitoring.cfm.identifier.MaIdShort; import org.onosproject.incubator.net.l2monitoring.cfm.identifier.MdId; @@ -54,16 +48,19 @@ import org.onosproject.yang.runtime.CompositeData; import org.onosproject.yang.runtime.DefaultAnnotatedNodeInfo; import org.onosproject.yang.runtime.DefaultAnnotation; import org.onosproject.yang.runtime.DefaultCompositeStream; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import java.io.ByteArrayInputStream; +import java.util.ArrayList; import java.util.Optional; import java.util.regex.Pattern; /** * Implementation of the MseaCfmServiceNetconf YANG model service. */ -@Component(immediate = true, inherit = true) -@Service +@Component(immediate = true, service = MseaCfmNetconfService.class) public class MseaCfmManager extends AbstractYangServiceImpl implements MseaCfmNetconfService { diff --git a/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/yang/impl/MseaSaFilteringManager.java b/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/yang/impl/MseaSaFilteringManager.java index 78c6315a90..284c7327ae 100644 --- a/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/yang/impl/MseaSaFilteringManager.java +++ b/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/yang/impl/MseaSaFilteringManager.java @@ -15,10 +15,9 @@ */ package org.onosproject.drivers.microsemi.yang.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.onosproject.drivers.microsemi.yang.MseaSaFilteringNetconfService; import org.onosproject.netconf.DatastoreId; import org.onosproject.netconf.NetconfException; @@ -45,8 +44,7 @@ import java.util.List; /** * Implementation of the MseaSaFiltering YANG model service. */ -@Component(immediate = true, inherit = true) -@Service +@Component(immediate = true, service = AbstractYangServiceImpl.class) public class MseaSaFilteringManager extends AbstractYangServiceImpl implements MseaSaFilteringNetconfService { public static final String MSEA_SA_FILTERING = diff --git a/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/yang/impl/MseaUniEvcServiceManager.java b/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/yang/impl/MseaUniEvcServiceManager.java index c0cba14c13..8d2b5566ad 100644 --- a/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/yang/impl/MseaUniEvcServiceManager.java +++ b/drivers/microsemi/ea1000/src/main/java/org/onosproject/drivers/microsemi/yang/impl/MseaUniEvcServiceManager.java @@ -20,10 +20,9 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.onosproject.drivers.microsemi.yang.MseaUniEvcServiceNetconfService; import org.onosproject.netconf.DatastoreId; import org.onosproject.netconf.NetconfException; @@ -47,8 +46,7 @@ import org.onosproject.yang.runtime.DefaultCompositeStream; /** * Implementation of the MseaUniEvcServiceService YANG model service. */ -@Component(immediate = true, inherit = true) -@Service +@Component(immediate = true, service = MseaUniEvcServiceNetconfService.class) public class MseaUniEvcServiceManager extends AbstractYangServiceImpl implements MseaUniEvcServiceNetconfService { public static final String MSEA_UNI_EVC_SVC = diff --git a/drivers/microsemi/ea1000/src/test/java/org/onosproject/yang/MockYangRuntimeManager.java b/drivers/microsemi/ea1000/src/test/java/org/onosproject/yang/MockYangRuntimeManager.java index 5cfa3ef3b2..2ed8af349c 100644 --- a/drivers/microsemi/ea1000/src/test/java/org/onosproject/yang/MockYangRuntimeManager.java +++ b/drivers/microsemi/ea1000/src/test/java/org/onosproject/yang/MockYangRuntimeManager.java @@ -15,10 +15,10 @@ */ package org.onosproject.yang; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.core.CoreService; import org.onosproject.drivers.netconf.MockCoreService; import org.onosproject.yang.model.ModelConverter; @@ -62,7 +62,7 @@ public class MockYangRuntimeManager implements YangModelRegistry, private static final String APP_ID = "org.onosproject.yang"; private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; private DefaultYangModelRegistry modelRegistry; diff --git a/drivers/netconf/src/main/java/org/onosproject/drivers/netconf/NetconfDriversLoader.java b/drivers/netconf/src/main/java/org/onosproject/drivers/netconf/NetconfDriversLoader.java index 7c7464a098..3ebaa96988 100644 --- a/drivers/netconf/src/main/java/org/onosproject/drivers/netconf/NetconfDriversLoader.java +++ b/drivers/netconf/src/main/java/org/onosproject/drivers/netconf/NetconfDriversLoader.java @@ -16,7 +16,7 @@ package org.onosproject.drivers.netconf; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; /** diff --git a/drivers/odtn-driver/BUILD b/drivers/odtn-driver/BUILD index 28b5474168..a71f445777 100644 --- a/drivers/odtn-driver/BUILD +++ b/drivers/odtn-driver/BUILD @@ -1,5 +1,4 @@ COMPILE_DEPS = CORE_DEPS + [ - "@commons_jxpath//jar", "//drivers/utilities:onos-drivers-utilities", "//protocols/netconf/api:onos-protocols-netconf-api", "//apps/odtn/api:onos-apps-odtn-api", @@ -13,9 +12,6 @@ TEST_DEPS = TEST_ADAPTERS + [ BUNDLES = [ ":onos-drivers-odtn-driver", "//drivers/utilities:onos-drivers-utilities", - # "//lib:commons-jxpath", - # "//lib:commons-beanutils", # jxpath dependency - # "//lib:jdom", # jxpath dependency ] osgi_jar_with_tests( diff --git a/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/impl/OdtnDriversLoader.java b/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/impl/OdtnDriversLoader.java index cf4a2ba03b..598a450e0c 100644 --- a/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/impl/OdtnDriversLoader.java +++ b/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/impl/OdtnDriversLoader.java @@ -15,7 +15,7 @@ */ package org.onosproject.drivers.odtn.impl; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; import org.onosproject.odtn.behaviour.ConfigurableTransceiver; diff --git a/drivers/oplink/src/main/java/org/onosproject/drivers/oplink/OplinkDriversLoader.java b/drivers/oplink/src/main/java/org/onosproject/drivers/oplink/OplinkDriversLoader.java index 91c5fd4030..9f99aab9f9 100644 --- a/drivers/oplink/src/main/java/org/onosproject/drivers/oplink/OplinkDriversLoader.java +++ b/drivers/oplink/src/main/java/org/onosproject/drivers/oplink/OplinkDriversLoader.java @@ -16,7 +16,7 @@ package org.onosproject.drivers.oplink; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; import org.onosproject.net.optical.OpticalDevice; diff --git a/drivers/optical/src/main/java/org/onosproject/driver/optical/flowrule/DefaultCrossConnectCache.java b/drivers/optical/src/main/java/org/onosproject/driver/optical/flowrule/DefaultCrossConnectCache.java index 77f0ecc42d..4c561d3327 100644 --- a/drivers/optical/src/main/java/org/onosproject/driver/optical/flowrule/DefaultCrossConnectCache.java +++ b/drivers/optical/src/main/java/org/onosproject/driver/optical/flowrule/DefaultCrossConnectCache.java @@ -16,9 +16,8 @@ package org.onosproject.driver.optical.flowrule; import org.apache.commons.lang3.tuple.Pair; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.flow.FlowId; +import org.osgi.service.component.annotations.Component; import java.util.HashMap; import java.util.Map; @@ -32,8 +31,7 @@ import java.util.Map; * for the cache, so do not rely on it to support fail-over in multi-instance deployments. * If the instance which holds the cache goes down, you *will* be in trouble. */ -@Component(immediate = true, enabled = true) -@Service +@Component(immediate = true, service = CrossConnectCache.class) public class DefaultCrossConnectCache implements CrossConnectCache { private final Map> cache = new HashMap<>(); diff --git a/drivers/optical/src/main/java/org/onosproject/drivers/optical/OpticalAdjacencyLinkManager.java b/drivers/optical/src/main/java/org/onosproject/drivers/optical/OpticalAdjacencyLinkManager.java index 60873f31ce..d601aa6e4f 100644 --- a/drivers/optical/src/main/java/org/onosproject/drivers/optical/OpticalAdjacencyLinkManager.java +++ b/drivers/optical/src/main/java/org/onosproject/drivers/optical/OpticalAdjacencyLinkManager.java @@ -16,12 +16,6 @@ package org.onosproject.drivers.optical; import com.google.common.annotations.Beta; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.ConnectPoint; import org.onosproject.net.DeviceId; import org.onosproject.net.link.LinkDescription; @@ -29,6 +23,11 @@ import org.onosproject.net.link.LinkProvider; import org.onosproject.net.link.LinkProviderRegistry; import org.onosproject.net.link.LinkProviderService; import org.onosproject.net.provider.ProviderId; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import static org.slf4j.LoggerFactory.getLogger; @@ -41,8 +40,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Registers a dummy LinkProvider to get an instance of LinkProviderService. */ @Beta -@Component(immediate = true) -@Service +@Component(immediate = true, service = OpticalAdjacencyLinkService.class) public class OpticalAdjacencyLinkManager implements OpticalAdjacencyLinkService { private static final ProviderId PID = @@ -53,7 +51,7 @@ public class OpticalAdjacencyLinkManager implements OpticalAdjacencyLinkService private LinkProvider linkProvider = new StubLinkProvider(); private LinkProviderService linkProviderService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkProviderRegistry linkProviderRegistry; @Activate diff --git a/drivers/optical/src/main/java/org/onosproject/drivers/optical/OpticalDriversLoader.java b/drivers/optical/src/main/java/org/onosproject/drivers/optical/OpticalDriversLoader.java index f532dc9af4..b0d7487cbc 100644 --- a/drivers/optical/src/main/java/org/onosproject/drivers/optical/OpticalDriversLoader.java +++ b/drivers/optical/src/main/java/org/onosproject/drivers/optical/OpticalDriversLoader.java @@ -20,11 +20,11 @@ import static org.onosproject.net.config.basics.SubjectFactories.CONNECT_POINT_S import static org.onosproject.net.config.basics.SubjectFactories.DEVICE_SUBJECT_FACTORY; import java.util.List; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.driver.optical.config.FlowTableConfig; import org.onosproject.driver.optical.config.LambdaConfig; import org.onosproject.net.ConnectPoint; @@ -47,7 +47,7 @@ public class OpticalDriversLoader extends AbstractDriverLoader { @SuppressWarnings("unused") private OpticalDevice optical; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry registry = new NetworkConfigRegistryAdapter(); private final List factories = ImmutableList.of( diff --git a/drivers/ovsdb/src/main/java/org/onosproject/drivers/ovsdb/OvsdbDriversLoader.java b/drivers/ovsdb/src/main/java/org/onosproject/drivers/ovsdb/OvsdbDriversLoader.java index 8a7a2b67f7..6e545ccca9 100644 --- a/drivers/ovsdb/src/main/java/org/onosproject/drivers/ovsdb/OvsdbDriversLoader.java +++ b/drivers/ovsdb/src/main/java/org/onosproject/drivers/ovsdb/OvsdbDriversLoader.java @@ -16,7 +16,7 @@ package org.onosproject.drivers.ovsdb; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; /** diff --git a/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/P4RuntimeDriversLoader.java b/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/P4RuntimeDriversLoader.java index c8717ac3fa..2600c6ce3d 100644 --- a/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/P4RuntimeDriversLoader.java +++ b/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/P4RuntimeDriversLoader.java @@ -16,7 +16,7 @@ package org.onosproject.drivers.p4runtime; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; /** diff --git a/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/AbstractDistributedP4RuntimeMirror.java b/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/AbstractDistributedP4RuntimeMirror.java index dd3ea16e06..079ab62f42 100644 --- a/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/AbstractDistributedP4RuntimeMirror.java +++ b/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/AbstractDistributedP4RuntimeMirror.java @@ -17,11 +17,11 @@ package org.onosproject.drivers.p4runtime.mirror; import com.google.common.annotations.Beta; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.util.KryoNamespace; import org.onosproject.net.DeviceId; import org.onosproject.net.pi.runtime.PiEntity; @@ -53,7 +53,7 @@ public abstract class AbstractDistributedP4RuntimeMirror private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private StorageService storageService; private EventuallyConsistentMap> mirrorMap; diff --git a/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/DistributedP4RuntimeGroupMirror.java b/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/DistributedP4RuntimeGroupMirror.java index 4c963a6d04..e07f4178a2 100644 --- a/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/DistributedP4RuntimeGroupMirror.java +++ b/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/DistributedP4RuntimeGroupMirror.java @@ -16,18 +16,16 @@ package org.onosproject.drivers.p4runtime.mirror; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.net.pi.runtime.PiActionGroup; import org.onosproject.net.pi.runtime.PiActionGroupHandle; import org.onosproject.store.serializers.KryoNamespaces; +import org.osgi.service.component.annotations.Component; /** * Distributed implementation of a P4Runtime group mirror. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = P4RuntimeGroupMirror.class) public final class DistributedP4RuntimeGroupMirror extends AbstractDistributedP4RuntimeMirror diff --git a/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/DistributedP4RuntimeMeterMirror.java b/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/DistributedP4RuntimeMeterMirror.java index f5c1778c46..bf362747ac 100644 --- a/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/DistributedP4RuntimeMeterMirror.java +++ b/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/DistributedP4RuntimeMeterMirror.java @@ -16,18 +16,16 @@ package org.onosproject.drivers.p4runtime.mirror; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; -import org.onosproject.net.pi.runtime.PiMeterHandle; import org.onosproject.net.pi.runtime.PiMeterCellConfig; +import org.onosproject.net.pi.runtime.PiMeterHandle; import org.onosproject.store.serializers.KryoNamespaces; +import org.osgi.service.component.annotations.Component; /** * Distributed implementation of a P4Runtime meter mirror. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = P4RuntimeMeterMirror.class) public final class DistributedP4RuntimeMeterMirror extends AbstractDistributedP4RuntimeMirror diff --git a/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/DistributedP4RuntimeMulticastGroupMirror.java b/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/DistributedP4RuntimeMulticastGroupMirror.java index 4cfe0c5cdc..83c23d858c 100644 --- a/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/DistributedP4RuntimeMulticastGroupMirror.java +++ b/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/DistributedP4RuntimeMulticastGroupMirror.java @@ -16,18 +16,16 @@ package org.onosproject.drivers.p4runtime.mirror; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.net.pi.runtime.PiMulticastGroupEntry; import org.onosproject.net.pi.runtime.PiMulticastGroupEntryHandle; import org.onosproject.store.serializers.KryoNamespaces; +import org.osgi.service.component.annotations.Component; /** * Distributed implementation of a P4Runtime multicast group mirror. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = P4RuntimeMulticastGroupMirror.class) public final class DistributedP4RuntimeMulticastGroupMirror extends AbstractDistributedP4RuntimeMirror diff --git a/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/DistributedP4RuntimeTableMirror.java b/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/DistributedP4RuntimeTableMirror.java index f37cf44328..320b3da149 100644 --- a/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/DistributedP4RuntimeTableMirror.java +++ b/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/DistributedP4RuntimeTableMirror.java @@ -16,18 +16,16 @@ package org.onosproject.drivers.p4runtime.mirror; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.net.pi.runtime.PiTableEntry; import org.onosproject.net.pi.runtime.PiTableEntryHandle; import org.onosproject.store.serializers.KryoNamespaces; +import org.osgi.service.component.annotations.Component; /** * Distributed implementation of a P4Runtime table mirror. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = P4RuntimeTableMirror.class) public final class DistributedP4RuntimeTableMirror extends AbstractDistributedP4RuntimeMirror diff --git a/drivers/polatis/netconf/src/main/java/org/onosproject/drivers/polatis/netconf/PolatisDriversLoader.java b/drivers/polatis/netconf/src/main/java/org/onosproject/drivers/polatis/netconf/PolatisDriversLoader.java index a5cb3f3ffe..2483aafd1c 100644 --- a/drivers/polatis/netconf/src/main/java/org/onosproject/drivers/polatis/netconf/PolatisDriversLoader.java +++ b/drivers/polatis/netconf/src/main/java/org/onosproject/drivers/polatis/netconf/PolatisDriversLoader.java @@ -18,11 +18,11 @@ package org.onosproject.drivers.polatis.netconf; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.net.driver.AbstractDriverLoader; import org.onosproject.net.optical.OpticalDevice; import org.onosproject.ui.UiGlyph; @@ -39,7 +39,7 @@ public class PolatisDriversLoader extends AbstractDriverLoader { @SuppressWarnings("unused") private OpticalDevice optical; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UiExtensionService uiExtensionService; private UiGlyphFactory glyphFactory = diff --git a/drivers/polatis/openflow/src/main/java/org/onosproject/drivers/polatis/openflow/PolatisDriversLoader.java b/drivers/polatis/openflow/src/main/java/org/onosproject/drivers/polatis/openflow/PolatisDriversLoader.java index f484e5d336..20775d0399 100644 --- a/drivers/polatis/openflow/src/main/java/org/onosproject/drivers/polatis/openflow/PolatisDriversLoader.java +++ b/drivers/polatis/openflow/src/main/java/org/onosproject/drivers/polatis/openflow/PolatisDriversLoader.java @@ -16,11 +16,11 @@ package org.onosproject.drivers.polatis.openflow; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.net.driver.AbstractDriverLoader; import org.onosproject.net.optical.OpticalDevice; import org.onosproject.ui.UiGlyph; @@ -39,7 +39,7 @@ public class PolatisDriversLoader extends AbstractDriverLoader { @SuppressWarnings("unused") private OpticalDevice optical; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UiExtensionService uiExtensionService; private UiGlyphFactory glyphFactory = diff --git a/drivers/polatis/snmp/src/main/java/org/onosproject/drivers/polatis/snmp/PolatisDriversLoader.java b/drivers/polatis/snmp/src/main/java/org/onosproject/drivers/polatis/snmp/PolatisDriversLoader.java index df63dc337e..80528fad27 100644 --- a/drivers/polatis/snmp/src/main/java/org/onosproject/drivers/polatis/snmp/PolatisDriversLoader.java +++ b/drivers/polatis/snmp/src/main/java/org/onosproject/drivers/polatis/snmp/PolatisDriversLoader.java @@ -16,11 +16,11 @@ package org.onosproject.drivers.polatis.snmp; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.net.driver.AbstractDriverLoader; import org.onosproject.net.optical.OpticalDevice; import org.onosproject.ui.UiGlyph; @@ -39,7 +39,7 @@ public class PolatisDriversLoader extends AbstractDriverLoader { @SuppressWarnings("unused") private OpticalDevice optical; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UiExtensionService uiExtensionService; private UiGlyphFactory glyphFactory = diff --git a/drivers/server/src/main/java/org/onosproject/drivers/server/ServerDriversLoader.java b/drivers/server/src/main/java/org/onosproject/drivers/server/ServerDriversLoader.java index cb5cc4f82b..33e9e5bd55 100644 --- a/drivers/server/src/main/java/org/onosproject/drivers/server/ServerDriversLoader.java +++ b/drivers/server/src/main/java/org/onosproject/drivers/server/ServerDriversLoader.java @@ -16,7 +16,7 @@ package org.onosproject.drivers.server; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.driver.AbstractDriverLoader; /** diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/config/impl/ExtraNetworkConfigs.java b/incubator/net/src/main/java/org/onosproject/incubator/net/config/impl/ExtraNetworkConfigs.java index 7a8eacf01d..5886078bbb 100644 --- a/incubator/net/src/main/java/org/onosproject/incubator/net/config/impl/ExtraNetworkConfigs.java +++ b/incubator/net/src/main/java/org/onosproject/incubator/net/config/impl/ExtraNetworkConfigs.java @@ -16,11 +16,11 @@ package org.onosproject.incubator.net.config.impl; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.net.config.ConfigFactory; import org.onosproject.net.config.NetworkConfigRegistry; import org.slf4j.Logger; @@ -38,7 +38,7 @@ public class ExtraNetworkConfigs { private final Set factories = ImmutableSet.of(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry registry; @Activate diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/domain/impl/IntentDomainManager.java b/incubator/net/src/main/java/org/onosproject/incubator/net/domain/impl/IntentDomainManager.java index 553fb0f1b3..5d0270ba27 100644 --- a/incubator/net/src/main/java/org/onosproject/incubator/net/domain/impl/IntentDomainManager.java +++ b/incubator/net/src/main/java/org/onosproject/incubator/net/domain/impl/IntentDomainManager.java @@ -17,10 +17,6 @@ package org.onosproject.incubator.net.domain.impl; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.onosproject.incubator.net.domain.IntentDomain; import org.onosproject.incubator.net.domain.IntentDomainEvent; import org.onosproject.incubator.net.domain.IntentDomainId; @@ -35,6 +31,9 @@ import org.onosproject.net.ConnectPoint; import org.onosproject.net.DeviceId; import org.onosproject.net.provider.AbstractListenerProviderRegistry; import org.onosproject.net.provider.AbstractProviderService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -46,8 +45,7 @@ import java.util.stream.Collectors; /** * Implementation of the intent domain service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = {IntentDomainService.class, IntentDomainProviderRegistry.class}) public class IntentDomainManager extends AbstractListenerProviderRegistry diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/dpi/impl/DpiStatisticsManager.java b/incubator/net/src/main/java/org/onosproject/incubator/net/dpi/impl/DpiStatisticsManager.java index b49c9cb4d0..8aa02ecf52 100644 --- a/incubator/net/src/main/java/org/onosproject/incubator/net/dpi/impl/DpiStatisticsManager.java +++ b/incubator/net/src/main/java/org/onosproject/incubator/net/dpi/impl/DpiStatisticsManager.java @@ -17,14 +17,6 @@ package org.onosproject.incubator.net.dpi.impl; import com.fasterxml.jackson.databind.ObjectMapper; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; - import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; import org.onosproject.incubator.net.dpi.DpiStatInfo; @@ -34,6 +26,11 @@ import org.onosproject.incubator.net.dpi.FlowStatInfo; import org.onosproject.incubator.net.dpi.ProtocolStatInfo; import org.onosproject.incubator.net.dpi.TrafficStatInfo; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.io.BufferedReader; @@ -63,8 +60,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * DPI Statistics Manager. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = DpiStatisticsManagerService.class) public class DpiStatisticsManager implements DpiStatisticsManagerService { private ServerSocket serverSocket; @@ -72,7 +68,7 @@ public class DpiStatisticsManager implements DpiStatisticsManagerService { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; private ApplicationId appId; diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/impl/PortStatisticsManager.java b/incubator/net/src/main/java/org/onosproject/incubator/net/impl/PortStatisticsManager.java index c92bfea0e2..e63fc9c926 100644 --- a/incubator/net/src/main/java/org/onosproject/incubator/net/impl/PortStatisticsManager.java +++ b/incubator/net/src/main/java/org/onosproject/incubator/net/impl/PortStatisticsManager.java @@ -16,12 +16,6 @@ package org.onosproject.incubator.net.impl; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.incubator.net.PortStatisticsService; import org.onosproject.net.ConnectPoint; import org.onosproject.net.DeviceId; @@ -31,20 +25,26 @@ import org.onosproject.net.device.DeviceService; import org.onosproject.net.device.PortStatistics; import org.onosproject.net.statistic.DefaultLoad; import org.onosproject.net.statistic.Load; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Map; import java.util.stream.Collectors; import static org.onosproject.net.PortNumber.portNumber; -import static org.onosproject.net.device.DeviceEvent.Type.*; +import static org.onosproject.net.device.DeviceEvent.Type.DEVICE_AVAILABILITY_CHANGED; +import static org.onosproject.net.device.DeviceEvent.Type.DEVICE_REMOVED; +import static org.onosproject.net.device.DeviceEvent.Type.PORT_STATS_UPDATED; import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of the port statistics service. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = PortStatisticsService.class) public class PortStatisticsManager implements PortStatisticsService { private final Logger log = getLogger(getClass()); @@ -53,7 +53,7 @@ public class PortStatisticsManager implements PortStatisticsService { private static final long STALE_LIMIT = (long) (1.5 * POLL_FREQUENCY); private static final int SECOND = 1_000; // milliseconds - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; private final DeviceListener deviceListener = new InternalDeviceListener(); diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/resource/label/impl/LabelResourceManager.java b/incubator/net/src/main/java/org/onosproject/incubator/net/resource/label/impl/LabelResourceManager.java index 56c308e512..04fb7092d3 100644 --- a/incubator/net/src/main/java/org/onosproject/incubator/net/resource/label/impl/LabelResourceManager.java +++ b/incubator/net/src/main/java/org/onosproject/incubator/net/resource/label/impl/LabelResourceManager.java @@ -16,13 +16,6 @@ package org.onosproject.incubator.net.resource.label.impl; import com.google.common.collect.Multimap; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onosproject.net.provider.AbstractListenerProviderRegistry; import org.onosproject.incubator.net.resource.label.LabelResource; import org.onosproject.incubator.net.resource.label.LabelResourceAdminService; import org.onosproject.incubator.net.resource.label.LabelResourceDelegate; @@ -41,7 +34,13 @@ import org.onosproject.net.device.DeviceEvent; import org.onosproject.net.device.DeviceEvent.Type; import org.onosproject.net.device.DeviceListener; import org.onosproject.net.device.DeviceService; +import org.onosproject.net.provider.AbstractListenerProviderRegistry; import org.onosproject.net.provider.AbstractProviderService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collection; @@ -55,8 +54,7 @@ import static org.slf4j.LoggerFactory.getLogger; * provides implementation of the label resource NB & SB APIs. * */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = {LabelResourceService.class, LabelResourceAdminService.class, LabelResourceProviderRegistry.class}) public class LabelResourceManager extends AbstractListenerProviderRegistry @@ -64,10 +62,10 @@ public class LabelResourceManager private final Logger log = getLogger(getClass()); private final LabelResourceDelegate delegate = new InternalLabelResourceDelegate(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LabelResourceStore store; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; private DeviceListener deviceListener = new InternalDeviceListener(); diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/tunnel/impl/TunnelManager.java b/incubator/net/src/main/java/org/onosproject/incubator/net/tunnel/impl/TunnelManager.java index 2c1f79bece..0d05c92f3d 100644 --- a/incubator/net/src/main/java/org/onosproject/incubator/net/tunnel/impl/TunnelManager.java +++ b/incubator/net/src/main/java/org/onosproject/incubator/net/tunnel/impl/TunnelManager.java @@ -15,13 +15,6 @@ */ package org.onosproject.incubator.net.tunnel.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onosproject.net.provider.AbstractListenerProviderRegistry; import org.onosproject.core.ApplicationId; import org.onosproject.incubator.net.tunnel.DefaultTunnel; import org.onosproject.incubator.net.tunnel.Tunnel; @@ -45,8 +38,14 @@ import org.onosproject.net.Annotations; import org.onosproject.net.DeviceId; import org.onosproject.net.ElementId; import org.onosproject.net.Path; +import org.onosproject.net.provider.AbstractListenerProviderRegistry; import org.onosproject.net.provider.AbstractProviderService; import org.onosproject.net.provider.ProviderId; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collection; @@ -59,8 +58,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Provides implementation of the tunnel NB/SB APIs. */ -@Component(immediate = true, enabled = true) -@Service +@Component(immediate = true, service = {TunnelService.class, TunnelAdminService.class, TunnelProviderRegistry.class}) public class TunnelManager extends AbstractListenerProviderRegistry @@ -73,7 +71,7 @@ public class TunnelManager private final TunnelStoreDelegate delegate = new InternalStoreDelegate(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TunnelStore store; diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManager.java b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManager.java index 2343b3eb94..e8da5cb84d 100644 --- a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManager.java +++ b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManager.java @@ -17,12 +17,6 @@ package org.onosproject.incubator.net.virtual.impl; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.osgi.DefaultServiceDirectory; import org.onlab.osgi.ServiceDirectory; import org.onlab.packet.IpAddress; @@ -73,6 +67,11 @@ import org.onosproject.net.provider.AbstractListenerProviderRegistry; import org.onosproject.net.provider.AbstractProviderService; import org.onosproject.net.topology.PathService; import org.onosproject.net.topology.TopologyService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -86,13 +85,16 @@ import static com.google.common.base.Preconditions.checkNotNull; /** * Implementation of the virtual network service. */ -@Component(immediate = true) -@Service +@Component(service = { + VirtualNetworkService.class, + VirtualNetworkAdminService.class, + VirtualNetworkService.class, + VirtualNetworkProviderRegistry.class + }) public class VirtualNetworkManager extends AbstractListenerProviderRegistry - implements VirtualNetworkService, VirtualNetworkAdminService, - VirtualNetworkProviderRegistry { + implements VirtualNetworkService, VirtualNetworkAdminService, VirtualNetworkProviderRegistry { private final Logger log = LoggerFactory.getLogger(getClass()); @@ -104,10 +106,10 @@ public class VirtualNetworkManager private static final String VIRTUAL_NETWORK_APP_ID_STRING = "org.onosproject.virtual-network"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VirtualNetworkStore store; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; private VirtualNetworkStoreDelegate delegate = this::post; diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/DefaultVirtualFlowRuleProvider.java b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/DefaultVirtualFlowRuleProvider.java index 8e497e857a..436e1d43bc 100644 --- a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/DefaultVirtualFlowRuleProvider.java +++ b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/DefaultVirtualFlowRuleProvider.java @@ -23,13 +23,6 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; import com.google.common.collect.Table; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.VlanId; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -56,8 +49,6 @@ import org.onosproject.net.flow.DefaultTrafficSelector; import org.onosproject.net.flow.DefaultTrafficTreatment; import org.onosproject.net.flow.FlowEntry; import org.onosproject.net.flow.FlowRule; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchOperation; import org.onosproject.net.flow.FlowRuleEvent; import org.onosproject.net.flow.FlowRuleListener; import org.onosproject.net.flow.FlowRuleOperations; @@ -69,9 +60,17 @@ import org.onosproject.net.flow.criteria.Criterion; import org.onosproject.net.flow.criteria.PortCriterion; import org.onosproject.net.flow.instructions.Instruction; import org.onosproject.net.flow.instructions.Instructions; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchOperation; import org.onosproject.net.provider.ProviderId; import org.onosproject.net.topology.TopologyService; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Dictionary; @@ -91,8 +90,7 @@ import static org.slf4j.LoggerFactory.getLogger; * This virtualize and de-virtualize virtual flow rules into physical flow rules. * {@link org.onosproject.net.flow.FlowRule} */ -@Component(immediate = true) -@Service +@Component(service = VirtualFlowRuleProvider.class) public class DefaultVirtualFlowRuleProvider extends AbstractVirtualProvider implements VirtualFlowRuleProvider { @@ -100,22 +98,22 @@ public class DefaultVirtualFlowRuleProvider extends AbstractVirtualProvider private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TopologyService topologyService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VirtualNetworkService vnService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VirtualProviderRegistryService providerRegistryService; private InternalRoutingAlgorithm internalRoutingAlgorithm; diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/DefaultVirtualGroupProvider.java b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/DefaultVirtualGroupProvider.java index 66657bca32..7cc86ccf1b 100644 --- a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/DefaultVirtualGroupProvider.java +++ b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/DefaultVirtualGroupProvider.java @@ -16,13 +16,6 @@ package org.onosproject.incubator.net.virtual.impl.provider; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.provider.AbstractVirtualProvider; import org.onosproject.incubator.net.virtual.provider.VirtualGroupProvider; @@ -35,6 +28,12 @@ import org.onosproject.net.group.GroupOperations; import org.onosproject.net.group.GroupService; import org.onosproject.net.provider.ProviderId; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import static org.slf4j.LoggerFactory.getLogger; @@ -42,17 +41,16 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Provider to handle Group for virtual network. */ -@Component(immediate = true) -@Service +@Component(service = VirtualGroupProvider.class) public class DefaultVirtualGroupProvider extends AbstractVirtualProvider implements VirtualGroupProvider { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VirtualProviderRegistryService providerRegistryService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected GroupService groupService; private InternalGroupEventListener internalGroupEventListener; diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/DefaultVirtualMeterProvider.java b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/DefaultVirtualMeterProvider.java index 69639de512..26462add11 100644 --- a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/DefaultVirtualMeterProvider.java +++ b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/DefaultVirtualMeterProvider.java @@ -20,12 +20,6 @@ import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import com.google.common.cache.RemovalCause; import com.google.common.cache.RemovalNotification; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.core.IdGenerator; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.provider.AbstractVirtualProvider; @@ -41,6 +35,11 @@ import org.onosproject.net.meter.MeterOperation; import org.onosproject.net.meter.MeterOperations; import org.onosproject.net.meter.MeterService; import org.onosproject.net.provider.ProviderId; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.concurrent.TimeUnit; @@ -51,8 +50,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Provider to handle meters for virtual networks. */ -@Component(immediate = true) -@Service +@Component(service = VirtualMeterProvider.class) public class DefaultVirtualMeterProvider extends AbstractVirtualProvider implements VirtualMeterProvider { @@ -60,10 +58,10 @@ public class DefaultVirtualMeterProvider extends AbstractVirtualProvider static final long TIMEOUT = 30; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VirtualProviderRegistryService providerRegistryService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MeterService meterService; private MeterListener internalMeterListener; diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/DefaultVirtualNetworkProvider.java b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/DefaultVirtualNetworkProvider.java index be08685aaf..3860dee552 100644 --- a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/DefaultVirtualNetworkProvider.java +++ b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/DefaultVirtualNetworkProvider.java @@ -16,12 +16,6 @@ package org.onosproject.incubator.net.virtual.impl.provider; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.incubator.net.virtual.DefaultVirtualLink; import org.onosproject.incubator.net.virtual.provider.VirtualNetworkProvider; import org.onosproject.incubator.net.virtual.provider.VirtualNetworkProviderRegistry; @@ -36,6 +30,11 @@ import org.onosproject.net.topology.TopologyCluster; import org.onosproject.net.topology.TopologyEvent; import org.onosproject.net.topology.TopologyListener; import org.onosproject.net.topology.TopologyService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.HashSet; @@ -49,19 +48,18 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Virtual network topology provider. */ -@Component(immediate = true) -@Service +@Component(service = VirtualNetworkProvider.class) public class DefaultVirtualNetworkProvider extends AbstractProvider implements VirtualNetworkProvider { private final Logger log = getLogger(DefaultVirtualNetworkProvider.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VirtualNetworkProviderRegistry providerRegistry; private VirtualNetworkProviderService providerService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TopologyService topologyService; protected TopologyListener topologyListener = new InternalTopologyListener(); diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/DefaultVirtualPacketProvider.java b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/DefaultVirtualPacketProvider.java index 2d01774f9d..16c818795e 100644 --- a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/DefaultVirtualPacketProvider.java +++ b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/DefaultVirtualPacketProvider.java @@ -17,12 +17,12 @@ package org.onosproject.incubator.net.virtual.impl.provider; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.Ethernet; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -67,7 +67,7 @@ import java.util.stream.Collectors; import static org.slf4j.LoggerFactory.getLogger; -@Component(immediate = true) +@Component(service = VirtualPacketProvider.class) public class DefaultVirtualPacketProvider extends AbstractVirtualProvider implements VirtualPacketProvider { @@ -76,16 +76,16 @@ public class DefaultVirtualPacketProvider extends AbstractVirtualProvider private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VirtualNetworkAdminService vnaService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VirtualProviderRegistryService providerRegistryService; private final VirtualNetworkListener virtualNetListener = new InternalVirtualNetworkListener(); diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/VirtualProviderManager.java b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/VirtualProviderManager.java index 77cac7814e..ebd87ea9a8 100644 --- a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/VirtualProviderManager.java +++ b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/provider/VirtualProviderManager.java @@ -17,14 +17,13 @@ package org.onosproject.incubator.net.virtual.impl.provider; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.provider.VirtualProvider; import org.onosproject.incubator.net.virtual.provider.VirtualProviderRegistryService; import org.onosproject.incubator.net.virtual.provider.VirtualProviderService; import org.onosproject.net.DeviceId; import org.onosproject.net.provider.ProviderId; +import org.osgi.service.component.annotations.Component; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,10 +39,8 @@ import static com.google.common.base.Preconditions.checkState; /** * Implementation of the virtual provider registry and providerService registry service. */ -@Component(immediate = true) -@Service -public class VirtualProviderManager - implements VirtualProviderRegistryService { +@Component(service = VirtualProviderRegistryService.class) +public class VirtualProviderManager implements VirtualProviderRegistryService { private final Map providers = new HashMap<>(); private final Map servicesWithProvider = new HashMap<>(); diff --git a/incubator/protobuf/registry/src/main/java/org/onosproject/protobuf/registry/GrpcServiceRegistryImpl.java b/incubator/protobuf/registry/src/main/java/org/onosproject/protobuf/registry/GrpcServiceRegistryImpl.java index 2c2d8646fc..1e25b84f02 100644 --- a/incubator/protobuf/registry/src/main/java/org/onosproject/protobuf/registry/GrpcServiceRegistryImpl.java +++ b/incubator/protobuf/registry/src/main/java/org/onosproject/protobuf/registry/GrpcServiceRegistryImpl.java @@ -20,14 +20,13 @@ import com.google.common.collect.Maps; import io.grpc.BindableService; import io.grpc.Server; import io.grpc.ServerBuilder; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Service; import org.onosproject.protobuf.api.GrpcServiceRegistry; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Property; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -47,8 +46,7 @@ import static org.onlab.util.Tools.get; * service forces a restart of the server, this is sufficient for testing but * inappropriate for deployment. */ -@Service -@Component(immediate = false) +@Component(service = GrpcServiceRegistry.class) public class GrpcServiceRegistryImpl implements GrpcServiceRegistry { private static final int DEFAULT_SERVER_PORT = 64000; diff --git a/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbApplicationService.java b/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbApplicationService.java index 7ec8ed150c..f60a36efe3 100644 --- a/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbApplicationService.java +++ b/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbApplicationService.java @@ -18,11 +18,11 @@ package org.onosproject.incubator.protobuf.services.nb; import com.google.common.annotations.Beta; import io.grpc.BindableService; import io.grpc.stub.StreamObserver; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.app.ApplicationService; import org.onosproject.app.ApplicationState; import org.onosproject.core.Application; @@ -53,10 +53,10 @@ public class GrpcNbApplicationService { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected GrpcServiceRegistry registry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ApplicationService applicationService; private ApplicationServiceNbServerInternal instance = null; diff --git a/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbComponentConfigService.java b/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbComponentConfigService.java index 673d126d94..d9cad10c27 100644 --- a/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbComponentConfigService.java +++ b/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbComponentConfigService.java @@ -19,11 +19,11 @@ package org.onosproject.incubator.protobuf.services.nb; import com.google.common.annotations.Beta; import io.grpc.BindableService; import io.grpc.stub.StreamObserver; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.incubator.protobuf.models.cfg.ConfigPropertyProtoTranslator; import org.onosproject.protobuf.api.GrpcServiceRegistry; @@ -56,10 +56,10 @@ public class GrpcNbComponentConfigService { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected GrpcServiceRegistry registry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService componentConfigService; private ComponentConfigServiceNbServerInternal instance = null; diff --git a/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbDeviceService.java b/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbDeviceService.java index a06acf658f..5d6ea4c1cd 100644 --- a/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbDeviceService.java +++ b/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbDeviceService.java @@ -18,11 +18,11 @@ package org.onosproject.incubator.protobuf.services.nb; import com.google.common.annotations.Beta; import io.grpc.BindableService; import io.grpc.stub.StreamObserver; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.grpc.net.device.models.PortEnumsProto; import org.onosproject.grpc.net.device.models.PortStatisticsProtoOuterClass.PortStatisticsProto; import org.onosproject.grpc.nb.net.device.DeviceServiceGrpc.DeviceServiceImplBase; @@ -54,10 +54,10 @@ public class GrpcNbDeviceService { private DeviceServiceNbServerInternal instance = null; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected GrpcServiceRegistry registry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; @Activate diff --git a/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbHostService.java b/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbHostService.java index 2ad2bf6254..3fee37522c 100644 --- a/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbHostService.java +++ b/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbHostService.java @@ -19,11 +19,11 @@ package org.onosproject.incubator.protobuf.services.nb; import com.google.common.annotations.Beta; import io.grpc.BindableService; import io.grpc.stub.StreamObserver; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.IpAddress; import org.onlab.packet.MacAddress; import org.onlab.packet.VlanId; @@ -68,10 +68,10 @@ public class GrpcNbHostService { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected GrpcServiceRegistry registry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; private HostServiceNBServerInternal instance = null; diff --git a/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbLinkService.java b/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbLinkService.java index 54ab1845a9..fbf956d629 100644 --- a/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbLinkService.java +++ b/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbLinkService.java @@ -19,11 +19,11 @@ package org.onosproject.incubator.protobuf.services.nb; import com.google.common.annotations.Beta; import io.grpc.BindableService; import io.grpc.stub.StreamObserver; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.grpc.nb.net.link.LinkServiceGrpc.LinkServiceImplBase; import org.onosproject.grpc.nb.net.link.LinkServiceNb; import org.onosproject.grpc.nb.net.link.LinkServiceNb.getActiveLinksReply; @@ -62,10 +62,10 @@ public class GrpcNbLinkService { private static final Logger log = LoggerFactory.getLogger(GrpcNbLinkService.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected GrpcServiceRegistry registry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; private LinkServiceNbServerInternal innerClassInstance; diff --git a/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbMastershipService.java b/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbMastershipService.java index 34b8cd92a3..8d2a48faf5 100644 --- a/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbMastershipService.java +++ b/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbMastershipService.java @@ -19,11 +19,11 @@ package org.onosproject.incubator.protobuf.services.nb; import com.google.common.annotations.Beta; import io.grpc.BindableService; import io.grpc.stub.StreamObserver; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.cluster.NodeId; import org.onosproject.cluster.RoleInfo; import org.onosproject.grpc.nb.mastership.MastershipServiceGrpc; @@ -57,10 +57,10 @@ public class GrpcNbMastershipService { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected GrpcServiceRegistry registry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; private MastershipServiceNbServerInternal instance = null; diff --git a/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbMeterService.java b/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbMeterService.java index b62d0fbeff..6aed88f5c1 100644 --- a/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbMeterService.java +++ b/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbMeterService.java @@ -16,8 +16,8 @@ package org.onosproject.incubator.protobuf.services.nb; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.incubator.protobuf.models.net.meter.MeterRequestProtoTranslator; import org.onosproject.net.meter.MeterService; import org.onosproject.incubator.protobuf.models.net.meter.MeterProtoTranslator; @@ -35,10 +35,10 @@ import org.onosproject.grpc.nb.net.meter.MeterServiceNbProto.getMetersRequest; import org.onosproject.grpc.nb.net.meter.MeterServiceNbProto.getMetersReply; import io.grpc.stub.StreamObserver; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Deactivate; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Deactivate; import com.google.common.annotations.Beta; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.net.meter.Meter; import org.onosproject.net.meter.MeterId; @@ -54,10 +54,10 @@ import org.onosproject.protobuf.api.GrpcServiceRegistry; @Component(immediate = true) public class GrpcNbMeterService extends MeterServiceImplBase { - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MeterService meterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected GrpcServiceRegistry grpcServiceRegistry; @Activate diff --git a/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbRegionService.java b/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbRegionService.java index e697a7a904..f98d880bd5 100644 --- a/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbRegionService.java +++ b/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbRegionService.java @@ -19,11 +19,11 @@ package org.onosproject.incubator.protobuf.services.nb; import com.google.common.annotations.Beta; import io.grpc.BindableService; import io.grpc.stub.StreamObserver; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.grpc.nb.net.region.RegionServiceGrpc.RegionServiceImplBase; import org.onosproject.grpc.nb.net.region.RegionServiceNb.getRegionDevicesReply; import org.onosproject.grpc.nb.net.region.RegionServiceNb.getRegionDevicesRequest; @@ -54,10 +54,10 @@ public class GrpcNbRegionService { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected GrpcServiceRegistry registry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RegionService regionService; private RegionServiceNbServerInternal innerClassInstance = null; diff --git a/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceProvider.java b/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceProvider.java index a8e20666d1..e3f0892f8f 100644 --- a/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceProvider.java +++ b/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceProvider.java @@ -22,11 +22,11 @@ import java.util.Map; import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.incubator.rpc.RemoteServiceContext; import org.onosproject.incubator.rpc.RemoteServiceContextProvider; import org.onosproject.incubator.rpc.RemoteServiceContextProviderService; @@ -56,7 +56,7 @@ public class GrpcRemoteServiceProvider implements RemoteServiceContextProvider { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RemoteServiceProviderRegistry rpcRegistry; private final Map channels = new ConcurrentHashMap<>(); diff --git a/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceServer.java b/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceServer.java index 7e259fb6d6..1d506a2796 100644 --- a/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceServer.java +++ b/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceServer.java @@ -33,13 +33,13 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import java.util.concurrent.atomic.AtomicInteger; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Property; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.util.Tools; import org.onosproject.grpc.net.device.DeviceProviderRegistryRpcGrpc.DeviceProviderRegistryRpcImplBase; import org.onosproject.grpc.net.device.DeviceService.DeviceConnected; @@ -93,10 +93,10 @@ public class GrpcRemoteServiceServer { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceProviderRegistry deviceProviderRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkProviderRegistry linkProviderRegistry; diff --git a/incubator/rpc-nb/src/main/java/org/onosproject/incubator/rpc/nb/impl/GrpcServer.java b/incubator/rpc-nb/src/main/java/org/onosproject/incubator/rpc/nb/impl/GrpcServer.java index 8019cee152..4ea8e50019 100644 --- a/incubator/rpc-nb/src/main/java/org/onosproject/incubator/rpc/nb/impl/GrpcServer.java +++ b/incubator/rpc-nb/src/main/java/org/onosproject/incubator/rpc/nb/impl/GrpcServer.java @@ -18,11 +18,11 @@ package org.onosproject.incubator.rpc.nb.impl; import io.grpc.Server; import io.grpc.netty.NettyServerBuilder; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.incubator.rpc.nb.mcast.MulticastRouteGrpcService; import org.onosproject.net.mcast.MulticastRouteService; import org.slf4j.Logger; @@ -38,7 +38,7 @@ public class GrpcServer { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MulticastRouteService multicastRouteService; // TODO make configurable diff --git a/incubator/rpc/src/main/java/org/onosproject/incubator/rpc/impl/LocalRemoteServiceProvider.java b/incubator/rpc/src/main/java/org/onosproject/incubator/rpc/impl/LocalRemoteServiceProvider.java index 871e6308be..5ef0d203e2 100644 --- a/incubator/rpc/src/main/java/org/onosproject/incubator/rpc/impl/LocalRemoteServiceProvider.java +++ b/incubator/rpc/src/main/java/org/onosproject/incubator/rpc/impl/LocalRemoteServiceProvider.java @@ -22,11 +22,11 @@ import java.util.Map; import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.osgi.DefaultServiceDirectory; import org.onlab.osgi.ServiceDirectory; import org.onosproject.incubator.rpc.RemoteServiceContext; @@ -58,7 +58,7 @@ public class LocalRemoteServiceProvider implements RemoteServiceContextProvider private static final ProviderId PID = new ProviderId("local", "org.onosproject.rpc.provider.local"); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RemoteServiceProviderRegistry rpcRegistry; private final Map, Object> services = new ConcurrentHashMap<>(); diff --git a/incubator/rpc/src/main/java/org/onosproject/incubator/rpc/impl/RemoteServiceManager.java b/incubator/rpc/src/main/java/org/onosproject/incubator/rpc/impl/RemoteServiceManager.java index 2ce7bc83c8..b6afe06a8f 100644 --- a/incubator/rpc/src/main/java/org/onosproject/incubator/rpc/impl/RemoteServiceManager.java +++ b/incubator/rpc/src/main/java/org/onosproject/incubator/rpc/impl/RemoteServiceManager.java @@ -15,29 +15,26 @@ */ package org.onosproject.incubator.rpc.impl; -import java.net.URI; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; +import com.google.common.annotations.Beta; import org.onosproject.incubator.rpc.RemoteServiceContext; -import org.onosproject.incubator.rpc.RemoteServiceDirectory; import org.onosproject.incubator.rpc.RemoteServiceContextProvider; import org.onosproject.incubator.rpc.RemoteServiceContextProviderService; +import org.onosproject.incubator.rpc.RemoteServiceDirectory; import org.onosproject.incubator.rpc.RemoteServiceProviderRegistry; import org.onosproject.net.provider.AbstractProviderService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.annotations.Beta; +import java.net.URI; /** * Provides RemoteService related APIs. */ @Beta -@Component(immediate = true) -@Service +@Component(immediate = true, service = { RemoteServiceDirectory.class, RemoteServiceProviderRegistry.class }) public class RemoteServiceManager extends AbstractProviderRegistry implements RemoteServiceDirectory, RemoteServiceProviderRegistry { diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/meter/impl/DistributedMeterStore.java b/incubator/store/src/main/java/org/onosproject/incubator/store/meter/impl/DistributedMeterStore.java index a39e405b9f..5ec5d2e7c1 100644 --- a/incubator/store/src/main/java/org/onosproject/incubator/store/meter/impl/DistributedMeterStore.java +++ b/incubator/store/src/main/java/org/onosproject/incubator/store/meter/impl/DistributedMeterStore.java @@ -16,16 +16,10 @@ package org.onosproject.incubator.store.meter.impl; import com.google.common.collect.Collections2; -import com.google.common.collect.Lists; import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; import com.google.common.collect.Maps; import org.apache.commons.lang.math.RandomUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.NodeId; @@ -64,6 +58,11 @@ import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageException; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.Versioned; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collection; @@ -80,8 +79,7 @@ import static org.slf4j.LoggerFactory.getLogger; * A distributed meter store implementation. Meters are stored consistently * across the cluster. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = MeterStore.class) public class DistributedMeterStore extends AbstractStore implements MeterStore { @@ -104,16 +102,16 @@ public class DistributedMeterStore extends AbstractStore meters; diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/resource/impl/DistributedLabelResourceStore.java b/incubator/store/src/main/java/org/onosproject/incubator/store/resource/impl/DistributedLabelResourceStore.java index 8361f613a8..7a26b76337 100644 --- a/incubator/store/src/main/java/org/onosproject/incubator/store/resource/impl/DistributedLabelResourceStore.java +++ b/incubator/store/src/main/java/org/onosproject/incubator/store/resource/impl/DistributedLabelResourceStore.java @@ -15,28 +15,8 @@ */ package org.onosproject.incubator.store.resource.impl; -import static org.onlab.util.Tools.groupedThreads; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.Iterator; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Multimap; import org.onlab.util.KryoNamespace; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.NodeId; @@ -60,16 +40,33 @@ import org.onosproject.store.service.ConsistentMap; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.Versioned; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Multimap; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; + +import static org.onlab.util.Tools.groupedThreads; +import static org.slf4j.LoggerFactory.getLogger; /** * Manages label resources using copycat. */ -@Component(immediate = true, enabled = true) -@Service +@Component(immediate = true, service = LabelResourceStore.class) public class DistributedLabelResourceStore extends AbstractStore implements LabelResourceStore { @@ -81,19 +78,19 @@ public class DistributedLabelResourceStore private ConsistentMap resourcePool = null; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterCommunicationService clusterCommunicator; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; private ExecutorService messageHandlingExecutor; diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/tunnel/impl/DistributedTunnelStore.java b/incubator/store/src/main/java/org/onosproject/incubator/store/tunnel/impl/DistributedTunnelStore.java index 82f0140ad1..7338f15618 100644 --- a/incubator/store/src/main/java/org/onosproject/incubator/store/tunnel/impl/DistributedTunnelStore.java +++ b/incubator/store/src/main/java/org/onosproject/incubator/store/tunnel/impl/DistributedTunnelStore.java @@ -15,24 +15,9 @@ */ package org.onosproject.incubator.store.tunnel.impl; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Set; - +import com.google.common.base.MoreObjects; +import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.cluster.ClusterService; import org.onosproject.core.ApplicationId; @@ -62,20 +47,31 @@ import org.onosproject.store.service.EventuallyConsistentMapListener; import org.onosproject.store.service.MultiValuedTimestamp; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.WallClockTimestamp; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.base.MoreObjects; -import com.google.common.collect.ImmutableSet; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; import static org.onosproject.store.service.EventuallyConsistentMapEvent.Type.PUT; import static org.onosproject.store.service.EventuallyConsistentMapEvent.Type.REMOVE; +import static org.slf4j.LoggerFactory.getLogger; /** * Manages inventory of tunnel in distributed data store that uses optimistic * replication and gossip based techniques. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = TunnelStore.class) public class DistributedTunnelStore extends AbstractStore implements TunnelStore { @@ -87,16 +83,16 @@ public class DistributedTunnelStore */ private String tunnelOpTopic = "tunnel-ops-ids"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterCommunicationService clusterCommunicator; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; // tunnel identity as map key in the store. diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/ConsistentVirtualDeviceMastershipStore.java b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/ConsistentVirtualDeviceMastershipStore.java index 41761309e7..bf741b04fe 100644 --- a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/ConsistentVirtualDeviceMastershipStore.java +++ b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/ConsistentVirtualDeviceMastershipStore.java @@ -16,13 +16,9 @@ package org.onosproject.incubator.store.virtual.impl; +import com.google.common.base.Objects; +import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.Leadership; @@ -44,6 +40,11 @@ import org.onosproject.store.cluster.messaging.ClusterCommunicationService; import org.onosproject.store.cluster.messaging.MessageSubject; import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.Serializer; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.List; @@ -58,34 +59,30 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; +import static com.google.common.base.Preconditions.checkArgument; import static org.onlab.util.Tools.groupedThreads; import static org.onosproject.mastership.MastershipEvent.Type.BACKUPS_CHANGED; import static org.onosproject.mastership.MastershipEvent.Type.MASTER_CHANGED; import static org.onosproject.mastership.MastershipEvent.Type.SUSPENDED; import static org.slf4j.LoggerFactory.getLogger; -import com.google.common.base.Objects; -import com.google.common.collect.ImmutableList; -import static com.google.common.base.Preconditions.checkArgument; - -@Component(immediate = true, enabled = false) -@Service +@Component(immediate = true, enabled = false, service = VirtualNetworkMastershipStore.class) public class ConsistentVirtualDeviceMastershipStore extends AbstractVirtualStore implements VirtualNetworkMastershipStore { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipService leadershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LeadershipAdminService leadershipAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterCommunicationService clusterCommunicator; private NodeId localNodeId; diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/DistributedVirtualFlowObjectiveStore.java b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/DistributedVirtualFlowObjectiveStore.java index 5ae850975e..6e8cb7b408 100644 --- a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/DistributedVirtualFlowObjectiveStore.java +++ b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/DistributedVirtualFlowObjectiveStore.java @@ -17,14 +17,13 @@ package org.onosproject.incubator.store.virtual.impl; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualNetworkFlowObjectiveStore; import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.ConsistentMap; import org.onosproject.store.service.Serializer; +import org.osgi.service.component.annotations.Component; import org.slf4j.Logger; import java.util.concurrent.ConcurrentMap; @@ -34,8 +33,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Distributed flow objective store for virtual network. */ -@Component(immediate = true, enabled = false) -@Service +@Component(immediate = true, enabled = false, service = VirtualNetworkFlowObjectiveStore.class) public class DistributedVirtualFlowObjectiveStore extends SimpleVirtualFlowObjectiveStore implements VirtualNetworkFlowObjectiveStore { diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/DistributedVirtualFlowRuleStore.java b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/DistributedVirtualFlowRuleStore.java index aaaf766b1d..e7533ca145 100644 --- a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/DistributedVirtualFlowRuleStore.java +++ b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/DistributedVirtualFlowRuleStore.java @@ -22,14 +22,6 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.Maps; import com.google.common.util.concurrent.Futures; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.KryoNamespace; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; @@ -54,15 +46,15 @@ import org.onosproject.net.flow.DefaultFlowEntry; import org.onosproject.net.flow.FlowEntry; import org.onosproject.net.flow.FlowId; import org.onosproject.net.flow.FlowRule; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchEvent; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchOperation; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchRequest; import org.onosproject.net.flow.FlowRuleEvent; import org.onosproject.net.flow.FlowRuleService; import org.onosproject.net.flow.FlowRuleStoreDelegate; import org.onosproject.net.flow.StoredFlowEntry; import org.onosproject.net.flow.TableStatisticsEntry; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchEvent; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchOperation; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchRequest; import org.onosproject.store.Timestamp; import org.onosproject.store.cluster.messaging.ClusterCommunicationService; import org.onosproject.store.cluster.messaging.ClusterMessage; @@ -76,6 +68,12 @@ import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.WallClockTimestamp; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collections; @@ -104,8 +102,7 @@ import static org.slf4j.LoggerFactory.getLogger; * for virtual networks. */ //TODO: support backup and persistent mechanism -@Component(immediate = true, enabled = false) -@Service +@Component(immediate = true, enabled = false, service = VirtualNetworkFlowRuleStore.class) public class DistributedVirtualFlowRuleStore extends AbstractVirtualStore implements VirtualNetworkFlowRuleStore { @@ -132,35 +129,35 @@ public class DistributedVirtualFlowRuleStore private static final MessageSubject REMOTE_APPLY_COMPLETED = new MessageSubject("virtual-peer-apply-completed"); - @Property(name = "msgHandlerPoolSize", intValue = MESSAGE_HANDLER_THREAD_POOL_SIZE, - label = "Number of threads in the message handler pool") + //@Property(name = "msgHandlerPoolSize", intValue = MESSAGE_HANDLER_THREAD_POOL_SIZE, + // label = "Number of threads in the message handler pool") private int msgHandlerPoolSize = MESSAGE_HANDLER_THREAD_POOL_SIZE; - @Property(name = "backupPeriod", intValue = DEFAULT_BACKUP_PERIOD_MILLIS, - label = "Delay in ms between successive backup runs") + //@Property(name = "backupPeriod", intValue = DEFAULT_BACKUP_PERIOD_MILLIS, + // label = "Delay in ms between successive backup runs") private int backupPeriod = DEFAULT_BACKUP_PERIOD_MILLIS; - @Property(name = "persistenceEnabled", boolValue = false, - label = "Indicates whether or not changes in the flow table should be persisted to disk.") + //@Property(name = "persistenceEnabled", boolValue = false, + // label = "Indicates whether or not changes in the flow table should be persisted to disk.") private boolean persistenceEnabled = DEFAULT_PERSISTENCE_ENABLED; private InternalFlowTable flowTable = new InternalFlowTable(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterCommunicationService clusterCommunicator; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService configService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VirtualNetworkService vnaService; private Map pendingResponses = Maps.newConcurrentMap(); diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/DistributedVirtualNetworkStore.java b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/DistributedVirtualNetworkStore.java index 520954372b..24c8205a45 100644 --- a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/DistributedVirtualNetworkStore.java +++ b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/DistributedVirtualNetworkStore.java @@ -17,12 +17,6 @@ package org.onosproject.incubator.store.virtual.impl; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onlab.packet.MacAddress; import org.onlab.packet.VlanId; @@ -67,6 +61,11 @@ import org.onosproject.store.service.SetEvent; import org.onosproject.store.service.SetEventListener; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.WallClockTimestamp; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.HashSet; @@ -84,18 +83,17 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Implementation of the virtual network store. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = VirtualNetworkStore.class) public class DistributedVirtualNetworkStore extends AbstractStore implements VirtualNetworkStore { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; private IdGenerator idGenerator; diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/DistributedVirtualPacketStore.java b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/DistributedVirtualPacketStore.java index 002cbd4c14..997f62704a 100644 --- a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/DistributedVirtualPacketStore.java +++ b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/DistributedVirtualPacketStore.java @@ -20,14 +20,12 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.util.KryoNamespace; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.cluster.ClusterService; @@ -72,8 +70,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Distributed virtual packet store implementation allowing packets to be sent to * remote instances. Implementation is based on DistributedPacketStore class. */ -@Component(immediate = true, enabled = false) -@Service +@Component(immediate = true, enabled = false, service = VirtualNetworkPacketStore.class) public class DistributedVirtualPacketStore extends AbstractVirtualStore implements VirtualNetworkPacketStore { @@ -82,19 +79,19 @@ public class DistributedVirtualPacketStore private static final String FORMAT = "Setting: messageHandlerThreadPoolSize={}"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterCommunicationService communicationService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; private PacketRequestTracker tracker; @@ -107,8 +104,8 @@ public class DistributedVirtualPacketStore private ExecutorService messageHandlingExecutor; private static final int DEFAULT_MESSAGE_HANDLER_THREAD_POOL_SIZE = 4; - @Property(name = "messageHandlerThreadPoolSize", intValue = DEFAULT_MESSAGE_HANDLER_THREAD_POOL_SIZE, - label = "Size of thread pool to assign message handler") + //@Property(name = "messageHandlerThreadPoolSize", intValue = DEFAULT_MESSAGE_HANDLER_THREAD_POOL_SIZE, + // label = "Size of thread pool to assign message handler") private static int messageHandlerThreadPoolSize = DEFAULT_MESSAGE_HANDLER_THREAD_POOL_SIZE; @Activate diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualFlowObjectiveStore.java b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualFlowObjectiveStore.java index f8824b9e43..6ec1f7036e 100644 --- a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualFlowObjectiveStore.java +++ b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualFlowObjectiveStore.java @@ -17,11 +17,6 @@ package org.onosproject.incubator.store.virtual.impl; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualNetworkFlowObjectiveStore; import org.onosproject.net.behaviour.DefaultNextGroup; @@ -30,6 +25,10 @@ import org.onosproject.net.flowobjective.FlowObjectiveStoreDelegate; import org.onosproject.net.flowobjective.ObjectiveEvent; import org.onosproject.store.service.AtomicCounter; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.HashMap; @@ -47,8 +46,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Single instance implementation of store to manage * the inventory of created next groups for virtual network. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = VirtualNetworkFlowObjectiveStore.class) public class SimpleVirtualFlowObjectiveStore extends AbstractVirtualStore implements VirtualNetworkFlowObjectiveStore { @@ -63,7 +61,7 @@ public class SimpleVirtualFlowObjectiveStore private BlockingQueue eventQ; private ExecutorService tpool; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; @Activate diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualFlowRuleStore.java b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualFlowRuleStore.java index 502796b50b..c12044d307 100644 --- a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualFlowRuleStore.java +++ b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualFlowRuleStore.java @@ -23,14 +23,6 @@ import com.google.common.cache.RemovalNotification; import com.google.common.collect.FluentIterable; import com.google.common.collect.Sets; import com.google.common.util.concurrent.SettableFuture; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.Tools; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualNetworkFlowRuleStore; @@ -40,16 +32,22 @@ import org.onosproject.net.flow.DefaultFlowEntry; import org.onosproject.net.flow.FlowEntry; import org.onosproject.net.flow.FlowId; import org.onosproject.net.flow.FlowRule; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchEvent; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchOperation; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchRequest; import org.onosproject.net.flow.FlowRuleEvent; import org.onosproject.net.flow.FlowRuleStoreDelegate; import org.onosproject.net.flow.StoredFlowEntry; import org.onosproject.net.flow.TableStatisticsEntry; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchEvent; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchOperation; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchRequest; import org.onosproject.store.service.StorageService; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.ArrayList; @@ -73,15 +71,14 @@ import static org.slf4j.LoggerFactory.getLogger; */ //TODO: support distributed flowrule store for virtual networks -@Component(immediate = true) -@Service +@Component(immediate = true, service = VirtualNetworkFlowRuleStore.class) public class SimpleVirtualFlowRuleStore extends AbstractVirtualStore implements VirtualNetworkFlowRuleStore { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; private final ConcurrentMap> pendingFutures = diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualGroupStore.java b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualGroupStore.java index 1992416add..4d6709b706 100644 --- a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualGroupStore.java +++ b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualGroupStore.java @@ -18,10 +18,6 @@ package org.onosproject.incubator.store.virtual.impl; import com.google.common.collect.FluentIterable; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.onosproject.core.GroupId; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualNetworkGroupStore; @@ -38,6 +34,9 @@ import org.onosproject.net.group.GroupOperation; import org.onosproject.net.group.GroupStoreDelegate; import org.onosproject.net.group.StoredGroupBucketEntry; import org.onosproject.net.group.StoredGroupEntry; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import java.util.ArrayList; @@ -57,8 +56,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Manages inventory of virtual group entries using trivial in-memory implementation. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = VirtualNetworkGroupStore.class) public class SimpleVirtualGroupStore extends AbstractVirtualStore implements VirtualNetworkGroupStore { diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualIntentStore.java b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualIntentStore.java index bfc42cff52..092e65d6f3 100644 --- a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualIntentStore.java +++ b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualIntentStore.java @@ -19,10 +19,6 @@ package org.onosproject.incubator.store.virtual.impl; import com.google.common.collect.ComparisonChain; import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualNetworkIntentStore; import org.onosproject.net.intent.Intent; @@ -32,6 +28,9 @@ import org.onosproject.net.intent.IntentState; import org.onosproject.net.intent.IntentStoreDelegate; import org.onosproject.net.intent.Key; import org.onosproject.store.Timestamp; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import java.util.List; @@ -47,8 +46,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Simple single-instance implementation of the intent store for virtual networks. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = VirtualNetworkIntentStore.class) public class SimpleVirtualIntentStore extends AbstractVirtualStore implements VirtualNetworkIntentStore { diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualMastershipStore.java b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualMastershipStore.java index 32c823ea67..e3b58ea149 100644 --- a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualMastershipStore.java +++ b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualMastershipStore.java @@ -19,12 +19,6 @@ package org.onosproject.incubator.store.virtual.impl; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onosproject.cluster.ClusterEventListener; import org.onosproject.cluster.ClusterService; @@ -43,6 +37,11 @@ import org.onosproject.mastership.MastershipStoreDelegate; import org.onosproject.mastership.MastershipTerm; import org.onosproject.net.DeviceId; import org.onosproject.net.MastershipRole; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.time.Instant; @@ -66,8 +65,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Implementation of the virtual network mastership store to manage inventory of * mastership using trivial in-memory implementation. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = VirtualNetworkMastershipStore.class) public class SimpleVirtualMastershipStore extends AbstractVirtualStore implements VirtualNetworkMastershipStore { @@ -77,10 +75,10 @@ public class SimpleVirtualMastershipStore private static final int NOTHING = 0; private static final int INIT = 1; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected VersionService versionService; //devices mapped to their masters, to emulate multiple nodes diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualMeterStore.java b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualMeterStore.java index 3042f338ef..b700c95dbc 100644 --- a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualMeterStore.java +++ b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualMeterStore.java @@ -18,12 +18,6 @@ package org.onosproject.incubator.store.virtual.impl; import com.google.common.collect.Collections2; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.NodeId; import org.onosproject.incubator.net.virtual.NetworkId; @@ -41,6 +35,11 @@ import org.onosproject.net.meter.MeterOperation; import org.onosproject.net.meter.MeterStoreDelegate; import org.onosproject.net.meter.MeterStoreResult; import org.onosproject.store.service.StorageException; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Collection; @@ -55,15 +54,14 @@ import static org.slf4j.LoggerFactory.getLogger; * Implementation of the virtual meter store for a single instance. */ //TODO: support distributed meter store for virtual networks -@Component(immediate = true) -@Service +@Component(immediate = true, service = VirtualNetworkMeterStore.class) public class SimpleVirtualMeterStore extends AbstractVirtualStore implements VirtualNetworkMeterStore { private Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; private ConcurrentMap> meterMap = diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualPacketStore.java b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualPacketStore.java index 9ed5789359..944f3e7d89 100644 --- a/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualPacketStore.java +++ b/incubator/store/src/main/java/org/onosproject/incubator/store/virtual/impl/SimpleVirtualPacketStore.java @@ -20,10 +20,6 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.onosproject.incubator.net.virtual.NetworkId; import org.onosproject.incubator.net.virtual.VirtualNetworkPacketStore; import org.onosproject.net.flow.TrafficSelector; @@ -31,6 +27,9 @@ import org.onosproject.net.packet.OutboundPacket; import org.onosproject.net.packet.PacketEvent; import org.onosproject.net.packet.PacketRequest; import org.onosproject.net.packet.PacketStoreDelegate; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import java.util.HashSet; @@ -45,8 +44,7 @@ import static org.slf4j.LoggerFactory.getLogger; */ //TODO: support distributed packet store for virtual networks -@Component(immediate = true) -@Service +@Component(immediate = true, service = VirtualNetworkPacketStore.class) public class SimpleVirtualPacketStore extends AbstractVirtualStore implements VirtualNetworkPacketStore { diff --git a/lib/BUCK b/lib/BUCK index e89fa924ee..119fe4b104 100644 --- a/lib/BUCK +++ b/lib/BUCK @@ -1,4 +1,4 @@ -# ***** This file was auto-generated at Mon, 10 Sep 2018 20:11:15 GMT. Do not edit this file manually. ***** +# ***** This file was auto-generated at Tue, 18 Sep 2018 20:31:36 GMT. Do not edit this file manually. ***** # ***** Use onos-lib-gen ***** pass_thru_pom( @@ -22,9 +22,9 @@ osgi_feature_group( ':com_google_guava_guava', ':slf4j-api', ':osgi-core', - ':org.osgi.compendium', - ':org.apache.felix.scr.annotations', - ':org.apache.felix.scr', + ':org.osgi.service.component', + ':org.osgi.service.component.annotations', + ':org.osgi.service.metatype.annotations', ':org.apache.karaf.features.core', ':org.apache.karaf.system.core', ':com_google_code_findbugs_jsr305', @@ -233,10 +233,10 @@ remote_jar ( remote_jar ( name = 'asm', - out = 'asm-5.0.4.jar', - url = 'mvn:org.ow2.asm:asm:jar:5.0.4', - sha1 = '0da08b8cce7bbf903602a25a3a163ae252435795', - maven_coords = 'org.ow2.asm:asm:5.0.4', + out = 'asm-6.2.jar', + url = 'mvn:org.ow2.asm:asm:jar:6.2', + sha1 = '1b6c4ff09ce03f3052429139c2a68e295cae6604', + maven_coords = 'org.ow2.asm:asm:6.2', visibility = [ 'PUBLIC' ], ) @@ -366,15 +366,6 @@ remote_jar ( visibility = [ 'PUBLIC' ], ) -remote_jar ( - name = 'commons-jxpath', - out = 'commons-jxpath-1.3.jar', - url = 'mvn:commons-jxpath:commons-jxpath:jar:1.3', - sha1 = 'c22d7d0f0f40eb7059a23cfa61773a416768b137', - maven_coords = 'commons-jxpath:commons-jxpath:1.3', - visibility = [ 'PUBLIC' ], -) - remote_jar ( name = 'commons-beanutils', out = 'commons-beanutils-1.9.3.jar', @@ -827,55 +818,55 @@ remote_jar ( remote_jar ( name = 'jetty-util', - out = 'jetty-util-9.2.21.v20170120.jar', - url = 'mvn:org.eclipse.jetty:jetty-util:jar:9.2.21.v20170120', - sha1 = '58d9c3a134dc6d6d84b555758015ab3585b88464', - maven_coords = 'org.eclipse.jetty:jetty-util:9.2.21.v20170120', + out = 'jetty-util-9.4.11.v20180605.jar', + url = 'mvn:org.eclipse.jetty:jetty-util:jar:9.4.11.v20180605', + sha1 = 'f0f25aa2f27d618a04bc7356fa247ae4a05245b3', + maven_coords = 'org.eclipse.jetty:jetty-util:9.4.11.v20180605', visibility = [ 'PUBLIC' ], ) remote_jar ( name = 'jetty-websocket', - out = 'jetty-websocket-8.1.19.v20160209.jar', - url = 'mvn:org.eclipse.jetty:jetty-websocket:jar:8.1.19.v20160209', - sha1 = 'a423ddda13e52a65d604320472af598ca7122a60', - maven_coords = 'org.eclipse.jetty:jetty-websocket:8.1.19.v20160209', + out = 'websocket-servlet-9.4.11.v20180605.jar', + url = 'mvn:org.eclipse.jetty.websocket:websocket-servlet:jar:9.4.11.v20180605', + sha1 = '0ba53ba5f749d22ddb87331161c214a21b8aa6c8', + maven_coords = 'org.eclipse.jetty.websocket:websocket-servlet:9.4.11.v20180605', visibility = [ 'PUBLIC' ], ) remote_jar ( name = 'jetty-server', - out = 'jetty-server-9.2.21.v20170120.jar', - url = 'mvn:org.eclipse.jetty:jetty-server:jar:9.2.21.v20170120', - sha1 = 'bdf6a2d58f878652e4b8c3af913e9c56b995e87d', - maven_coords = 'org.eclipse.jetty:jetty-server:9.2.21.v20170120', + out = 'jetty-server-9.4.11.v20180605.jar', + url = 'mvn:org.eclipse.jetty:jetty-server:jar:9.4.11.v20180605', + sha1 = '58353c2f27515b007fc83ae22002feb34fc24714', + maven_coords = 'org.eclipse.jetty:jetty-server:9.4.11.v20180605', visibility = [ 'PUBLIC' ], ) remote_jar ( name = 'jetty-continuation', - out = 'jetty-continuation-9.2.21.v20170120.jar', - url = 'mvn:org.eclipse.jetty:jetty-continuation:jar:9.2.21.v20170120', - sha1 = '38c35ef850d508aa0fae450eee72d784a5dd2d06', - maven_coords = 'org.eclipse.jetty:jetty-continuation:9.2.21.v20170120', + out = 'jetty-continuation-9.4.11.v20180605.jar', + url = 'mvn:org.eclipse.jetty:jetty-continuation:jar:9.4.11.v20180605', + sha1 = '31f1e347d013356317164b86bbbc2a6ce5c5e871', + maven_coords = 'org.eclipse.jetty:jetty-continuation:9.4.11.v20180605', visibility = [ 'PUBLIC' ], ) remote_jar ( name = 'jetty-http', - out = 'jetty-http-9.2.21.v20170120.jar', - url = 'mvn:org.eclipse.jetty:jetty-http:jar:9.2.21.v20170120', - sha1 = '24c5a91c48cfd73b863962ec36ba4dc2bb6552ea', - maven_coords = 'org.eclipse.jetty:jetty-http:9.2.21.v20170120', + out = 'jetty-http-9.4.11.v20180605.jar', + url = 'mvn:org.eclipse.jetty:jetty-http:jar:9.4.11.v20180605', + sha1 = '20c35f5336befe35b0bd5c4a63e07170fe7872d7', + maven_coords = 'org.eclipse.jetty:jetty-http:9.4.11.v20180605', visibility = [ 'PUBLIC' ], ) remote_jar ( name = 'jetty-io', - out = 'jetty-io-9.2.21.v20170120.jar', - url = 'mvn:org.eclipse.jetty:jetty-io:jar:9.2.21.v20170120', - sha1 = 'a25222b557823b59a7b6d121f951926be20cff85', - maven_coords = 'org.eclipse.jetty:jetty-io:9.2.21.v20170120', + out = 'jetty-io-9.4.11.v20180605.jar', + url = 'mvn:org.eclipse.jetty:jetty-io:jar:9.4.11.v20180605', + sha1 = 'd164de1dac18c4ca80a1b783d879c97449909c3b', + maven_coords = 'org.eclipse.jetty:jetty-io:9.4.11.v20180605', visibility = [ 'PUBLIC' ], ) @@ -1150,47 +1141,65 @@ remote_jar ( ) remote_jar ( - name = 'org.apache.felix.framework.security', - out = 'org.apache.felix.framework.security-2.2.0.onos.jar', - url = 'mvn:org.onosproject:org.apache.felix.framework.security:jar:2.2.0.onos', - sha1 = '5d39a4ff4a5d3daec8c404789d398c780151de8c', - maven_coords = 'org.onosproject:org.apache.felix.framework.security:2.2.0.onos', + name = 'org.osgi.service.component', + out = 'org.osgi.service.component-1.4.0.jar', + url = 'mvn:org.osgi:org.osgi.service.component:jar:1.4.0', + sha1 = '4934dce3e552c172283a4962929c39f9075f4393', + maven_coords = 'org.osgi:org.osgi.service.component:1.4.0', visibility = [ 'PUBLIC' ], ) remote_jar ( - name = 'org.apache.felix.scr', - out = 'org.apache.felix.scr-1.8.2.jar', - url = 'mvn:org.apache.felix:org.apache.felix.scr:jar:1.8.2', - sha1 = 'c3047d56ee57de0752821fd9c3894dda664f2e37', - maven_coords = 'org.apache.felix:org.apache.felix.scr:1.8.2', + name = 'org.osgi.service.component.annotations', + out = 'org.osgi.service.component.annotations-1.4.0.jar', + url = 'mvn:org.osgi:org.osgi.service.component.annotations:jar:1.4.0', + sha1 = '18380195e7e657494471cf4cabcafb762f63c9a8', + maven_coords = 'org.osgi:org.osgi.service.component.annotations:1.4.0', visibility = [ 'PUBLIC' ], ) remote_jar ( - name = 'org.apache.felix.scr.annotations', - out = 'org.apache.felix.scr.annotations-1.9.12.jar', - url = 'mvn:org.apache.felix:org.apache.felix.scr.annotations:jar:1.9.12', - sha1 = '5fdc34da641dda8b9165c2be93211479a186da9c', - maven_coords = 'org.apache.felix:org.apache.felix.scr.annotations:jar:NON-OSGI:1.9.12', + name = 'org.osgi.service.metatype.annotations', + out = 'org.osgi.service.metatype.annotations-1.4.0.jar', + url = 'mvn:org.osgi:org.osgi.service.metatype.annotations:jar:1.4.0', + sha1 = '5475175092f41ff663deea11a31c8229102574c7', + maven_coords = 'org.osgi:org.osgi.service.metatype.annotations:1.4.0', + visibility = [ 'PUBLIC' ], +) + +remote_jar ( + name = 'org.osgi.service.cm', + out = 'org.osgi.service.cm-1.6.0.jar', + url = 'mvn:org.osgi:org.osgi.service.cm:jar:1.6.0', + sha1 = 'f0c01d6da3799107b17f894ae7920cfd6fa69da6', + maven_coords = 'org.osgi:org.osgi.service.cm:1.6.0', + visibility = [ 'PUBLIC' ], +) + +remote_jar ( + name = 'org.apache.felix.scr.bnd', + out = 'org.apache.felix.scr.bnd-1.9.0.jar', + url = 'mvn:org.apache.felix:org.apache.felix.scr.bnd:jar:1.9.0', + sha1 = '44354d132f8ce9fc387caf05c9189c4102828a9b', + maven_coords = 'org.apache.felix:org.apache.felix.scr.bnd:jar:NON-OSGI:1.9.0', visibility = [ 'PUBLIC' ], ) remote_jar ( name = 'org.apache.karaf.features.core', - out = 'org.apache.karaf.features.core-3.0.8.jar', - url = 'mvn:org.apache.karaf.features:org.apache.karaf.features.core:jar:3.0.8', - sha1 = '4a8bf5dbe10e120158cb69295388274f834ae37a', - maven_coords = 'org.apache.karaf.features:org.apache.karaf.features.core:3.0.8', + out = 'org.apache.karaf.features.core-4.2.1.jar', + url = 'mvn:org.apache.karaf.features:org.apache.karaf.features.core:jar:4.2.1', + sha1 = '329aa987b142470f9f5ddda98a9621ecfbfafedd', + maven_coords = 'org.apache.karaf.features:org.apache.karaf.features.core:4.2.1', visibility = [ 'PUBLIC' ], ) remote_jar ( name = 'org.apache.karaf.shell.console', - out = 'org.apache.karaf.shell.console-3.0.8.jar', - url = 'mvn:org.apache.karaf.shell:org.apache.karaf.shell.console:jar:3.0.8', - sha1 = '5bf3e409d2e73bef560face9740b8c1234909b83', - maven_coords = 'org.apache.karaf.shell:org.apache.karaf.shell.console:3.0.8', + out = 'org.apache.karaf.shell.console-4.2.1.jar', + url = 'mvn:org.apache.karaf.shell:org.apache.karaf.shell.console:jar:4.2.1', + sha1 = '9e494eed7a1e46a582e919ab553e0b427b82fa77', + maven_coords = 'org.apache.karaf.shell:org.apache.karaf.shell.console:4.2.1', visibility = [ 'PUBLIC' ], ) @@ -1214,19 +1223,19 @@ remote_jar ( remote_jar ( name = 'org.apache.karaf.jaas', - out = 'org.apache.karaf.jaas.modules-3.0.8.jar', - url = 'mvn:org.apache.karaf.jaas:org.apache.karaf.jaas.modules:jar:3.0.8', - sha1 = 'e4c97dac488898af1dda2b2cbf5b66318339cd29', - maven_coords = 'org.apache.karaf.jaas:org.apache.karaf.jaas.modules:3.0.8', + out = 'org.apache.karaf.jaas.modules-4.2.1.jar', + url = 'mvn:org.apache.karaf.jaas:org.apache.karaf.jaas.modules:jar:4.2.1', + sha1 = 'aff0989e2af701a2294779a7aedd2df689418fa7', + maven_coords = 'org.apache.karaf.jaas:org.apache.karaf.jaas.modules:4.2.1', visibility = [ 'PUBLIC' ], ) remote_jar ( name = 'org.apache.karaf.system.core', - out = 'org.apache.karaf.system.core-3.0.8.jar', - url = 'mvn:org.apache.karaf.system:org.apache.karaf.system.core:jar:3.0.8', - sha1 = '80378de4aeae603889d3408489ff5b9918e6064c', - maven_coords = 'org.apache.karaf.system:org.apache.karaf.system.core:3.0.8', + out = 'org.apache.karaf.system.core-4.2.1.jar', + url = 'mvn:org.apache.karaf.system:org.apache.karaf.system.core:jar:4.2.1', + sha1 = '31fdda53480b358b7b8cd16e7c96d7de978467ef', + maven_coords = 'org.apache.karaf.system:org.apache.karaf.system.core:4.2.1', visibility = [ 'PUBLIC' ], ) @@ -1248,6 +1257,15 @@ remote_jar ( visibility = [ 'PUBLIC' ], ) +remote_jar ( + name = 'org.osgi.cmpn', + out = 'osgi.cmpn-7.0.0.jar', + url = 'mvn:org.osgi:osgi.cmpn:jar:7.0.0', + sha1 = '4fa9f239a60aeca4a27648df329d112d562a350c', + maven_coords = 'org.osgi:osgi.cmpn:7.0.0', + visibility = [ 'PUBLIC' ], +) + remote_jar ( name = 'osgi-core', out = 'org.osgi.core-5.0.0.jar', @@ -1259,10 +1277,10 @@ remote_jar ( remote_jar ( name = 'reflectasm', - out = 'reflectasm-1.11.0.jar', - url = 'mvn:com.esotericsoftware:reflectasm:jar:1.11.0', - sha1 = 'f747d8b017a26bac575f8da14e8c1df6aecd3154', - maven_coords = 'com.esotericsoftware:reflectasm:1.11.0', + out = 'reflectasm-1.11.7.jar', + url = 'mvn:com.esotericsoftware:reflectasm:jar:1.11.7', + sha1 = '572a41b00181e9dd49e327675948b1d6301f9d48', + maven_coords = 'com.esotericsoftware:reflectasm:1.11.7', visibility = [ 'PUBLIC' ], ) @@ -1417,15 +1435,6 @@ remote_jar ( visibility = [ 'PUBLIC' ], ) -remote_jar ( - name = 'org.apache.felix.scr.bnd', - out = 'org.apache.felix.scr.bnd-1.4.1-20160328.235003-2.jar', - url = 'https://oss.sonatype.org/content/repositories/snapshots/org/onosproject/org.apache.felix.scr.bnd/1.4.1-SNAPSHOT/org.apache.felix.scr.bnd-1.4.1-20160328.235003-2.jar', - sha1 = '607cac6eaba5b0eb0787a343b83fe535c42c09aa', - maven_coords = 'org.onosproject:org.apache.felix.scr.bnd:1.4.1-SNAPSHOT', - visibility = [ 'PUBLIC' ], -) - remote_jar ( name = 'snmp-core', out = 'snmp-core-1.3-20161021.1.jar', diff --git a/lib/deps.json b/lib/deps.json index 6a52650983..e76d2b4831 100644 --- a/lib/deps.json +++ b/lib/deps.json @@ -11,13 +11,15 @@ "com_google_guava_guava", "slf4j-api", "osgi-core", - "org.osgi.compendium", - "org.apache.felix.scr.annotations", - "org.apache.felix.scr", + "org.osgi.util.promise", + "org.osgi.service.component", + "org.osgi.service.component.annotations", + "org.osgi.service.metatype.annotations", "org.apache.karaf.features.core", "org.apache.karaf.system.core", - { "name": "com_google_code_findbugs_jsr305", "compile_only": true }, - "org.apache.servicemix.bundles.dom4j" + "org.apache.servicemix.bundles.dom4j", + { "name": "com_google_code_findbugs_jsr305", "compile_only": true } + ], "CORE_DEPS": [ ":COMPILE", @@ -94,7 +96,7 @@ "objenesis" ], "CLI": [ - "org.apache.karaf.shell.console", + "org.apache.karaf.shell.core", "//cli:onos-cli" ], "REST": [ @@ -137,7 +139,7 @@ "artifacts": { "aopalliance-repackaged": "mvn:org.glassfish.hk2.external:aopalliance-repackaged:2.5.0-b42", "amqp-client": "mvn:com.rabbitmq:amqp-client:jar:3.6.1", - "asm": "mvn:org.ow2.asm:asm:5.0.4", + "asm": "mvn:org.ow2.asm:asm:5.2", "atomix": "mvn:io.atomix:atomix:3.0.5", "atomix-cluster": "mvn:io.atomix:atomix-cluster:3.0.5", "atomix-gossip": "mvn:io.atomix:atomix-gossip:3.0.5", @@ -152,7 +154,6 @@ "commons-collections": "mvn:commons-collections:commons-collections:3.2.2", "commons-configuration": "mvn:commons-configuration:commons-configuration:1.10", "commons-io": "mvn:commons-io:commons-io:2.6", - "commons-jxpath": "mvn:commons-jxpath:commons-jxpath:1.3", "commons-beanutils": "mvn:commons-beanutils:commons-beanutils:1.9.3", "fast-classpath-scanner": "mvn:io.github.lukehutch:fast-classpath-scanner:2.21", "jdom": "mvn:jdom:jdom:1.0", @@ -207,12 +208,13 @@ "jersey-hk2":"mvn:org.glassfish.jersey.inject:jersey-hk2:2.26", "jersey-test-framework-core": "mvn:org.glassfish.jersey.test-framework:jersey-test-framework-core:2.26", "jersey-test-framework-jetty": "mvn:org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-jetty:2.26", - "jetty-util": "mvn:org.eclipse.jetty:jetty-util:9.2.21.v20170120", - "jetty-websocket": "mvn:org.eclipse.jetty:jetty-websocket:8.1.19.v20160209", - "jetty-server": "mvn:org.eclipse.jetty:jetty-server:9.2.21.v20170120", - "jetty-continuation": "mvn:org.eclipse.jetty:jetty-continuation:9.2.21.v20170120", - "jetty-http": "mvn:org.eclipse.jetty:jetty-http:9.2.21.v20170120", - "jetty-io": "mvn:org.eclipse.jetty:jetty-io:9.2.21.v20170120", + "jetty-util": "mvn:org.eclipse.jetty:jetty-util:9.4.11.v20180605", + "jetty-websocket-api": "mvn:org.eclipse.jetty.websocket:websocket-api:9.4.11.v20180605", + "jetty-websocket": "mvn:org.eclipse.jetty.websocket:websocket-servlet:9.4.11.v20180605", + "jetty-server": "mvn:org.eclipse.jetty:jetty-server:9.4.11.v20180605", + "jetty-continuation": "mvn:org.eclipse.jetty:jetty-continuation:9.4.11.v20180605", + "jetty-http": "mvn:org.eclipse.jetty:jetty-http:9.4.11.v20180605", + "jetty-io": "mvn:org.eclipse.jetty:jetty-io:9.4.11.v20180605", "javax.servlet-api": "mvn:javax.servlet:javax.servlet-api:3.1.0", "joda-time": "mvn:joda-time:joda-time:2.9.3", "jsch": "mvn:com.jcraft:jsch:0.1.53", @@ -243,19 +245,25 @@ "io_netty_netty_codec-socks": "mvn:io.netty:netty-codec-socks:4.1.27.Final", "objenesis": "mvn:org.objenesis:objenesis:2.6", "openflowj": "mvn:org.onosproject:openflowj:3.2.1.onos", - "org.apache.felix.framework.security": "mvn:org.onosproject:org.apache.felix.framework.security:jar:2.2.0.onos", - "org.apache.felix.scr": "mvn:org.apache.felix:org.apache.felix.scr:1.8.2", - "org.apache.felix.scr.annotations": "mvn:org.apache.felix:org.apache.felix.scr.annotations:1.9.12", - "org.apache.karaf.features.core": "mvn:org.apache.karaf.features:org.apache.karaf.features.core:3.0.8", - "org.apache.karaf.shell.console": "mvn:org.apache.karaf.shell:org.apache.karaf.shell.console:3.0.8", + "org.osgi.util.function": "mvn:org.osgi:org.osgi.util.function:1.1.0", + "org.osgi.util.promise": "mvn:org.osgi:org.osgi.util.promise:1.1.0", + "org.osgi.service.component": "mvn:org.osgi:org.osgi.service.component:1.4.0", + "org.osgi.service.component.annotations": "mvn:org.osgi:org.osgi.service.component.annotations:1.4.0", + "org.osgi.service.metatype.annotations": "mvn:org.osgi:org.osgi.service.metatype.annotations:1.4.0", + "org.osgi.service.cm": "mvn:org.osgi:org.osgi.service.cm:1.6.0", + "org.apache.felix.scr.bnd": "mvn:org.apache.felix:org.apache.felix.scr.bnd:1.9.0", + "org.apache.karaf.features.core": "mvn:org.apache.karaf.features:org.apache.karaf.features.core:4.2.1", + "org.apache.karaf.shell.console": "mvn:org.apache.karaf.shell:org.apache.karaf.shell.console:4.2.1", + "org.apache.karaf.shell.core": "mvn:org.apache.karaf.shell:org.apache.karaf.shell.core:4.2.1", "org.apache.httpcomponents.httpasyncclient-osgi": "mvn:org.apache.httpcomponents:httpasyncclient-osgi:4.1.2", "org.apache.httpcomponents.httpcore-nio": "mvn:org.apache.httpcomponents:httpcore-nio:4.4.4", - "org.apache.karaf.jaas": "mvn:org.apache.karaf.jaas:org.apache.karaf.jaas.modules:3.0.8", - "org.apache.karaf.system.core": "mvn:org.apache.karaf.system:org.apache.karaf.system.core:3.0.8", + "org.apache.karaf.jaas": "mvn:org.apache.karaf.jaas:org.apache.karaf.jaas.modules:4.2.1", + "org.apache.karaf.system.core": "mvn:org.apache.karaf.system:org.apache.karaf.system.core:4.2.1", "org.apache.servicemix.bundles.snmp4j": "mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.snmp4j:2.3.4_1", "org.osgi.compendium": "mvn:org.osgi:org.osgi.compendium:5.0.0", + "org.osgi.cmpn": "mvn:org.osgi:osgi.cmpn:7.0.0", "osgi-core": "mvn:org.osgi:org.osgi.core:5.0.0", - "reflectasm": "mvn:com.esotericsoftware:reflectasm:1.11.0", + "reflectasm": "mvn:com.esotericsoftware:reflectasm:1.11.7", "remotetea-oncrpc": "mvn:org.acplt.remotetea:remotetea-oncrpc:1.1.3", "rrd4j": "mvn:org.rrd4j:rrd4j:3.1", "javassist": "mvn:org.javassist:javassist:3.22.0-GA", //transitive @@ -273,10 +281,7 @@ "bndexe": "mvn:biz.aQute.bnd:biz.aQute.bnd:4.0.0", "libthrift": "mvn:org.apache.thrift:libthrift:0.9.3", "qdox": "mvn:com.thoughtworks.qdox:qdox:2.0-M3", - "org.apache.felix.scr.bnd": { - "uri": "mvn:org.onosproject:org.apache.felix.scr.bnd:1.4.1-SNAPSHOT", - "repo": "https://oss.sonatype.org/content/repositories/snapshots" - },"snmp-core": "mvn:org.onosproject:snmp-core:1.3-20161021.1", + "snmp-core": "mvn:org.onosproject:snmp-core:1.3-20161021.1", "mibs-net-snmp": "mvn:org.onosproject:mibbler-mibs-net-snmp:1.0-20151221.1", "mibs-rfc": "mvn:org.onosproject:mibbler-mibs-rfc:1.0-20151221.1", "io.socket-client": "mvn:io.socket:socket.io-client:jar:0.8.3", diff --git a/models/ciena/waveserverai/src/main/java/org/onosproject/models/ciena/waveserverai/CienaWaveserverAiModelRegistrator.java b/models/ciena/waveserverai/src/main/java/org/onosproject/models/ciena/waveserverai/CienaWaveserverAiModelRegistrator.java index 257428ddf1..c2745e5bc6 100644 --- a/models/ciena/waveserverai/src/main/java/org/onosproject/models/ciena/waveserverai/CienaWaveserverAiModelRegistrator.java +++ b/models/ciena/waveserverai/src/main/java/org/onosproject/models/ciena/waveserverai/CienaWaveserverAiModelRegistrator.java @@ -20,7 +20,7 @@ import org.onosproject.yang.AbstractYangModelRegistrator; import org.onosproject.yang.gen.v1.cienawaveserversystem.rev20180104.CienaWaveserverSystem; import org.onosproject.yang.gen.v1.cienawaveserverport.rev20170731.CienaWaveserverPort; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.yang.model.DefaultYangModuleId; import org.onosproject.yang.model.YangModuleId; import org.onosproject.yang.runtime.AppModuleInfo; diff --git a/models/common/src/main/java/org/onosproject/models/common/YangModelRegistrator.java b/models/common/src/main/java/org/onosproject/models/common/YangModelRegistrator.java index 8a163a455e..fcdc6440ab 100644 --- a/models/common/src/main/java/org/onosproject/models/common/YangModelRegistrator.java +++ b/models/common/src/main/java/org/onosproject/models/common/YangModelRegistrator.java @@ -20,7 +20,7 @@ import org.onosproject.yang.AbstractYangModelRegistrator; import org.onosproject.yang.gen.v1.ietfinettypes.rev20130715.IetfInetTypes; import org.onosproject.yang.gen.v1.ietfsystem.rev20140806.IetfSystem; import org.onosproject.yang.gen.v1.ietfyangtypes.rev20130715.IetfYangTypes; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.yang.model.DefaultYangModuleId; import org.onosproject.yang.model.YangModuleId; import org.onosproject.yang.runtime.AppModuleInfo; diff --git a/models/huawei/src/main/java/org/onosproject/HuaweiModelRegistrator.java b/models/huawei/src/main/java/org/onosproject/HuaweiModelRegistrator.java index 0532af05c0..ea5e7cce17 100644 --- a/models/huawei/src/main/java/org/onosproject/HuaweiModelRegistrator.java +++ b/models/huawei/src/main/java/org/onosproject/HuaweiModelRegistrator.java @@ -17,7 +17,7 @@ package org.onosproject.models.huawei; import com.google.common.collect.ImmutableMap; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.yang.AbstractYangModelRegistrator; import org.onosproject.yang.gen.v1.nebgpcomm.rev20141225.NeBgpcomm; import org.onosproject.yang.gen.v1.nebgpcommtype.rev20141225.NeBgpcommType; diff --git a/models/l3vpn/src/main/java/org/onosproject/models/l3vpn/L3VpnModelRegistrator.java b/models/l3vpn/src/main/java/org/onosproject/models/l3vpn/L3VpnModelRegistrator.java index 18cb01ccd4..1c3cd64a3e 100644 --- a/models/l3vpn/src/main/java/org/onosproject/models/l3vpn/L3VpnModelRegistrator.java +++ b/models/l3vpn/src/main/java/org/onosproject/models/l3vpn/L3VpnModelRegistrator.java @@ -17,7 +17,7 @@ package org.onosproject.models.l3vpn; import com.google.common.collect.ImmutableMap; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.yang.AbstractYangModelRegistrator; import org.onosproject.yang.gen.v1.ietfbgpl3vpn.rev20160909.IetfBgpL3Vpn; import org.onosproject.yang.gen.v1.ietfinterfaces.rev20140508.IetfInterfaces; diff --git a/models/microsemi/src/main/java/org/onosproject/models/microsemi/MicrosemiModelRegistrator.java b/models/microsemi/src/main/java/org/onosproject/models/microsemi/MicrosemiModelRegistrator.java index 3c6a6c63ff..bb1b7de7ef 100644 --- a/models/microsemi/src/main/java/org/onosproject/models/microsemi/MicrosemiModelRegistrator.java +++ b/models/microsemi/src/main/java/org/onosproject/models/microsemi/MicrosemiModelRegistrator.java @@ -18,7 +18,7 @@ package org.onosproject.models.microsemi; import com.google.common.collect.ImmutableMap; import org.onosproject.yang.AbstractYangModelRegistrator; import org.onosproject.yang.gen.v1.ietfsystemmicrosemi.rev20160505.IetfSystemMicrosemi; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.yang.gen.v1.mseacfm.rev20160229.MseaCfm; import org.onosproject.yang.gen.v1.mseasoampm.rev20160229.MseaSoamPm; import org.onosproject.yang.gen.v1.mseasoamfm.rev20160229.MseaSoamFm; diff --git a/models/openconfig/src/main/java/org/onosproject/models/openconfig/OpenConfigModelRegistrator.java b/models/openconfig/src/main/java/org/onosproject/models/openconfig/OpenConfigModelRegistrator.java index d3e985a0cf..99925861b2 100644 --- a/models/openconfig/src/main/java/org/onosproject/models/openconfig/OpenConfigModelRegistrator.java +++ b/models/openconfig/src/main/java/org/onosproject/models/openconfig/OpenConfigModelRegistrator.java @@ -18,7 +18,7 @@ package org.onosproject.models.openconfig; import static org.slf4j.LoggerFactory.getLogger; import java.util.Map; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.yang.AbstractYangModelRegistrator; import org.onosproject.yang.gen.v1.ianaiftype.rev20170330.IanaIfType; import org.onosproject.yang.gen.v1.ietfinettypes.rev20130715.IetfInetTypes; diff --git a/models/tapi/src/main/java/org/onosproject/models/tapi/TapiModelRegistrator.java b/models/tapi/src/main/java/org/onosproject/models/tapi/TapiModelRegistrator.java index 2fc3e34e2d..a38e6dec8d 100644 --- a/models/tapi/src/main/java/org/onosproject/models/tapi/TapiModelRegistrator.java +++ b/models/tapi/src/main/java/org/onosproject/models/tapi/TapiModelRegistrator.java @@ -20,7 +20,7 @@ package org.onosproject.models.tapi; import com.google.common.collect.ImmutableMap; -import org.apache.felix.scr.annotations.Component; +import org.osgi.service.component.annotations.Component; import org.onosproject.yang.AbstractYangModelRegistrator; import org.onosproject.yang.gen.v1.tapicommon.rev20180307.TapiCommon; import org.onosproject.yang.gen.v1.tapiconnectivity.rev20180307.TapiConnectivity; diff --git a/modules.bzl b/modules.bzl index 2a12806f9b..c4cf93f99f 100644 --- a/modules.bzl +++ b/modules.bzl @@ -17,12 +17,13 @@ CORE = UTILS + API + [ "//core/store/primitives:onos-core-primitives", "//core/store/serializers:onos-core-serializers", "//core/store/dist:onos-core-dist", - "//core/security:onos-security", + #"//core/security:onos-security", "//core/store/persistence:onos-core-persistence", "//incubator/net:onos-incubator-net", "//incubator/store:onos-incubator-store", "//incubator/rpc:onos-incubator-rpc", "//cli:onos-cli", + "//cli2:onos-cli2", "//protocols/rest/api:onos-protocols-rest-api", "//protocols/rest/ctl:onos-protocols-rest-ctl", "//protocols/bgp/bgpio:onos-protocols-bgp-bgpio", @@ -75,7 +76,7 @@ CORE = UTILS + API + [ "//providers/general/device:onos-providers-general-device", "//providers/p4runtime/packet:onos-providers-p4runtime-packet", "//web/api:onos-rest", - "//web/gui2:onos-gui2", + # "//web/gui2:onos-gui2", "//web/gui:onos-gui", # "//incubator/protobuf/models:onos-incubator-protobuf-models", # "//incubator/protobuf/services/nb:onos-incubator-protobuf-services-nb", @@ -112,7 +113,7 @@ ONOS_DRIVERS = [ "//drivers/gnmi:onos-drivers-gnmi-oar", "//drivers/polatis/netconf:onos-drivers-polatis-netconf-oar", "//drivers/polatis/openflow:onos-drivers-polatis-openflow-oar", - "//drivers/odtn-driver:onos-drivers-odtn-driver-oar", + #"//drivers/odtn-driver:onos-drivers-odtn-driver-oar", ] ONOS_PROVIDERS = [ @@ -195,7 +196,7 @@ ONOS_APPS = [ "//apps/routing/fibinstaller:onos-apps-routing-fibinstaller-oar", "//apps/routing/cpr:onos-apps-routing-cpr-oar", "//apps/routing/fpm:onos-apps-routing-fpm-oar", - "//apps/vtn:onos-apps-vtn-oar", + #"//apps/vtn:onos-apps-vtn-oar", "//apps/faultmanagement:onos-apps-faultmanagement-oar", "//apps/openstacknode:onos-apps-openstacknode-oar", "//apps/openstacknetworking:onos-apps-openstacknetworking-oar", @@ -290,10 +291,10 @@ APP_JARS = [ "//apps/fwd:onos-apps-fwd", "//apps/iptopology-api:onos-apps-iptopology-api", "//apps/routing/common:onos-apps-routing-common", - "//apps/vtn/vtnrsc:onos-apps-vtn-vtnrsc", - "//apps/vtn/sfcmgr:onos-apps-vtn-sfcmgr", - "//apps/vtn/vtnmgr:onos-apps-vtn-vtnmgr", - "//apps/vtn/vtnweb:onos-apps-vtn-vtnweb", + #"//apps/vtn/vtnrsc:onos-apps-vtn-vtnrsc", + #"//apps/vtn/sfcmgr:onos-apps-vtn-sfcmgr", + #"//apps/vtn/vtnmgr:onos-apps-vtn-vtnmgr", + #"//apps/vtn/vtnweb:onos-apps-vtn-vtnweb", "//apps/kafka-integration/api:onos-apps-kafka-integration-api", # "//apps/kafka-integration/app:onos-apps-kafka-integration-app", ] @@ -305,11 +306,13 @@ FEATURES = [ "//tools/package/features:onos-core", "//tools/package/features:onos-incubator", "//tools/package/features:onos-cli", + "//tools/package/features:onos-cli2", "//tools/package/features:onos-rest", "//tools/package/features:onos-gui", - "//tools/package/features:onos-gui2", - "//tools/package/features:onos-security", + # "//tools/package/features:onos-gui2", + # "//tools/package/features:onos-security", ] -APPS = ONOS_DRIVERS + ONOS_PROVIDERS + ONOS_APPS + MODELS + PIPELINES + \ - PROTOCOL_APPS + APP_JARS +APPS = ["//drivers/default:onos-drivers-default-oar"] +#APPS = ONOS_DRIVERS + ONOS_PROVIDERS + ONOS_APPS + MODELS + PIPELINES + \ +# PROTOCOL_APPS + APP_JARS diff --git a/pipelines/basic/src/main/java/org/onosproject/pipelines/basic/IntProgrammableImpl.java b/pipelines/basic/src/main/java/org/onosproject/pipelines/basic/IntProgrammableImpl.java index 417043de1d..86e392f450 100644 --- a/pipelines/basic/src/main/java/org/onosproject/pipelines/basic/IntProgrammableImpl.java +++ b/pipelines/basic/src/main/java/org/onosproject/pipelines/basic/IntProgrammableImpl.java @@ -17,8 +17,8 @@ package org.onosproject.pipelines.basic; import com.google.common.collect.ImmutableBiMap; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.util.ImmutableByteSequence; import org.onlab.util.SharedExecutors; import org.onosproject.core.ApplicationId; @@ -79,16 +79,16 @@ public class IntProgrammableImpl extends AbstractHandlerBehaviour implements Int Criterion.Type.TCP_SRC, Criterion.Type.TCP_DST, Criterion.Type.IP_PROTO); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private CoreService coreService; private DeviceId deviceId; diff --git a/pipelines/basic/src/main/java/org/onosproject/pipelines/basic/PipeconfLoader.java b/pipelines/basic/src/main/java/org/onosproject/pipelines/basic/PipeconfLoader.java index 0fbc3a9333..90b5925cb0 100644 --- a/pipelines/basic/src/main/java/org/onosproject/pipelines/basic/PipeconfLoader.java +++ b/pipelines/basic/src/main/java/org/onosproject/pipelines/basic/PipeconfLoader.java @@ -17,11 +17,11 @@ package org.onosproject.pipelines.basic; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.core.CoreService; import org.onosproject.driver.pipeline.DefaultSingleTablePipeline; import org.onosproject.inbandtelemetry.api.IntProgrammable; @@ -63,10 +63,10 @@ public final class PipeconfLoader { private static final Collection ALL_PIPECONFS = ImmutableList.of(BASIC_PIPECONF, INT_PIPECONF); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private PiPipeconfService piPipeconfService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private CoreService coreService; @Activate diff --git a/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/IntProgrammableImpl.java b/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/IntProgrammableImpl.java index 2019b3e473..01885bf0fc 100644 --- a/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/IntProgrammableImpl.java +++ b/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/IntProgrammableImpl.java @@ -17,8 +17,8 @@ package org.onosproject.pipelines.fabric; import com.google.common.collect.ImmutableBiMap; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.util.ImmutableByteSequence; import org.onlab.util.SharedExecutors; import org.onosproject.core.ApplicationId; @@ -78,16 +78,16 @@ public class IntProgrammableImpl extends AbstractHandlerBehaviour implements Int Criterion.Type.TCP_SRC, Criterion.Type.TCP_DST, Criterion.Type.IP_PROTO); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private FlowRuleService flowRuleService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private CoreService coreService; private DeviceId deviceId; diff --git a/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/PipeconfLoader.java b/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/PipeconfLoader.java index 3d044267d4..9dd385efac 100644 --- a/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/PipeconfLoader.java +++ b/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/PipeconfLoader.java @@ -16,11 +16,11 @@ package org.onosproject.pipelines.fabric; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.core.CoreService; import org.onosproject.inbandtelemetry.api.IntProgrammable; import org.onosproject.net.PortNumber; @@ -88,10 +88,10 @@ public class PipeconfLoader { private static final Collection PIPECONFS = buildAllPipeconf(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private PiPipeconfService piPipeconfService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private CoreService coreService; @Activate diff --git a/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpControllerImpl.java b/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpControllerImpl.java index 92ca7a46be..804fb804bd 100644 --- a/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpControllerImpl.java +++ b/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpControllerImpl.java @@ -16,10 +16,6 @@ package org.onosproject.bgp.controller.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.onosproject.bgp.controller.BgpCfg; import org.onosproject.bgp.controller.BgpController; import org.onosproject.bgp.controller.BgpId; @@ -35,22 +31,24 @@ import org.onosproject.bgpio.protocol.BgpUpdateMsg; import org.onosproject.bgpio.types.BgpValueType; import org.onosproject.bgpio.types.MpReachNlri; import org.onosproject.bgpio.types.MpUnReachNlri; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Iterator; import java.util.LinkedList; -import java.util.Map; -import java.util.TreeMap; import java.util.List; +import java.util.Map; import java.util.Set; +import java.util.TreeMap; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArraySet; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; -@Component(immediate = true) -@Service +@Component(immediate = true, service = BgpController.class) public class BgpControllerImpl implements BgpController { private static final Logger log = LoggerFactory.getLogger(BgpControllerImpl.class); diff --git a/protocols/grpc/ctl/src/main/java/org/onosproject/grpc/ctl/GrpcControllerImpl.java b/protocols/grpc/ctl/src/main/java/org/onosproject/grpc/ctl/GrpcControllerImpl.java index fb87571762..232885c3e3 100644 --- a/protocols/grpc/ctl/src/main/java/org/onosproject/grpc/ctl/GrpcControllerImpl.java +++ b/protocols/grpc/ctl/src/main/java/org/onosproject/grpc/ctl/GrpcControllerImpl.java @@ -31,14 +31,6 @@ import io.grpc.Metadata; import io.grpc.MethodDescriptor; import io.grpc.Status; import io.grpc.StatusRuntimeException; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.grpc.api.GrpcChannelId; @@ -47,6 +39,12 @@ import org.onosproject.grpc.proto.dummy.Dummy; import org.onosproject.grpc.proto.dummy.DummyServiceGrpc; import org.onosproject.net.DeviceId; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -66,20 +64,19 @@ import static com.google.common.base.Preconditions.checkNotNull; /** * Default implementation of the GrpcController. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = GrpcController.class) public class GrpcControllerImpl implements GrpcController { private static final String SET_FORWARDING_PIPELINE_CONFIG_METHOD = "p4.P4Runtime/SetForwardingPipelineConfig"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService componentConfigService; // Hint: set to true to log all gRPC messages received/sent on all channels // Does not enable log on existing channels private static final boolean DEFAULT_LOG_LEVEL = false; - @Property(name = "enableMessageLog", boolValue = DEFAULT_LOG_LEVEL, - label = "Indicates whether to log all gRPC messages sent and received on all channels") + //@Property(name = "enableMessageLog", boolValue = DEFAULT_LOG_LEVEL, + // label = "Indicates whether to log all gRPC messages sent and received on all channels") public static boolean enableMessageLog = DEFAULT_LOG_LEVEL; private final Logger log = LoggerFactory.getLogger(getClass()); diff --git a/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/DefaultIsisController.java b/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/DefaultIsisController.java index 9cafc4c934..1f17969430 100644 --- a/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/DefaultIsisController.java +++ b/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/DefaultIsisController.java @@ -17,12 +17,6 @@ package org.onosproject.isis.controller.impl; import com.fasterxml.jackson.databind.JsonNode; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.isis.controller.IsisController; import org.onosproject.isis.controller.IsisProcess; import org.onosproject.isis.controller.topology.IsisAgent; @@ -31,6 +25,11 @@ import org.onosproject.isis.controller.topology.IsisLinkListener; import org.onosproject.isis.controller.topology.IsisRouter; import org.onosproject.isis.controller.topology.IsisRouterListener; import org.onosproject.net.driver.DriverService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,13 +40,12 @@ import java.util.Set; /** * Represents ISIS controller implementation. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = IsisController.class) public class DefaultIsisController implements IsisController { private static final Logger log = LoggerFactory.getLogger(DefaultIsisController.class); private final Controller controller = new Controller(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; protected Set isisRouterListener = new HashSet<>(); protected Set isisLinkListener = Sets.newHashSet(); diff --git a/protocols/lisp/ctl/src/main/java/org/onosproject/lisp/ctl/impl/LispControllerImpl.java b/protocols/lisp/ctl/src/main/java/org/onosproject/lisp/ctl/impl/LispControllerImpl.java index ec71050d4a..779e6c2e6f 100644 --- a/protocols/lisp/ctl/src/main/java/org/onosproject/lisp/ctl/impl/LispControllerImpl.java +++ b/protocols/lisp/ctl/src/main/java/org/onosproject/lisp/ctl/impl/LispControllerImpl.java @@ -16,14 +16,6 @@ package org.onosproject.lisp.ctl.impl; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.core.CoreService; @@ -39,6 +31,12 @@ import org.onosproject.lisp.msg.protocols.LispInfoReply; import org.onosproject.lisp.msg.protocols.LispInfoRequest; import org.onosproject.lisp.msg.protocols.LispMessage; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Dictionary; @@ -58,8 +56,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * LISP controller initiation class. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = LispController.class) public class LispControllerImpl implements LispController { private static final String APP_ID = "org.onosproject.lisp-base"; @@ -69,27 +66,27 @@ public class LispControllerImpl implements LispController { private static final String DEFAULT_LISP_AUTH_KEY = "onos"; private static final short DEFAULT_LISP_AUTH_KEY_ID = 1; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; - @Property(name = "lispAuthKey", value = DEFAULT_LISP_AUTH_KEY, - label = "Authentication key which is used to calculate authentication " + - "data for LISP control message; default value is onos") + //@Property(name = "lispAuthKey", value = DEFAULT_LISP_AUTH_KEY, + // label = "Authentication key which is used to calculate authentication " + + // "data for LISP control message; default value is onos") private String lispAuthKey = DEFAULT_LISP_AUTH_KEY; - @Property(name = "lispAuthKeyId", intValue = DEFAULT_LISP_AUTH_KEY_ID, - label = "Authentication key id which denotes the authentication method " + - "that ONOS uses to calculate the authentication data; " + - "1 denotes HMAC SHA1 encryption, 2 denotes HMAC SHA256 encryption; " + - "default value is 1") + //@Property(name = "lispAuthKeyId", intValue = DEFAULT_LISP_AUTH_KEY_ID, + // label = "Authentication key id which denotes the authentication method " + + // "that ONOS uses to calculate the authentication data; " + + // "1 denotes HMAC SHA1 encryption, 2 denotes HMAC SHA256 encryption; " + + // "default value is 1") private int lispAuthKeyId = DEFAULT_LISP_AUTH_KEY_ID; - @Property(name = "enableSmr", boolValue = false, - label = "Enable to send SMR(Solicit Map Request) by map server; " + - "By default SMR is not activated") + //@Property(name = "enableSmr", boolValue = false, + // label = "Enable to send SMR(Solicit Map Request) by map server; " + + // "By default SMR is not activated") private boolean enableSmr = false; ExecutorService executorMessages = diff --git a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/cli/impl/NetconfGetCommand.java b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/cli/impl/NetconfGetCommand.java index 2d29fcd368..b20bedd88f 100644 --- a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/cli/impl/NetconfGetCommand.java +++ b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/cli/impl/NetconfGetCommand.java @@ -49,7 +49,7 @@ public class NetconfGetCommand extends AbstractShellCommand { long timeoutSec = 30; @Override - protected void execute() { + protected void doExecute() { DeviceId deviceId = DeviceId.deviceId(uri); NetconfController controller = get(NetconfController.class); diff --git a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/cli/impl/NetconfGetConfigCommand.java b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/cli/impl/NetconfGetConfigCommand.java index 2aedaa93dc..6ef87ee11e 100644 --- a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/cli/impl/NetconfGetConfigCommand.java +++ b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/cli/impl/NetconfGetConfigCommand.java @@ -58,7 +58,7 @@ public class NetconfGetConfigCommand extends AbstractShellCommand { private DeviceId deviceId; @Override - protected void execute() { + protected void doExecute() { deviceId = DeviceId.deviceId(uri); NetconfController controller = get(NetconfController.class); diff --git a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/cli/impl/NetconfRpcTestCommand.java b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/cli/impl/NetconfRpcTestCommand.java index b994789c21..9a03a2a29c 100644 --- a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/cli/impl/NetconfRpcTestCommand.java +++ b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/cli/impl/NetconfRpcTestCommand.java @@ -51,7 +51,7 @@ public class NetconfRpcTestCommand extends AbstractShellCommand { private DeviceId deviceId; @Override - protected void execute() { + protected void doExecute() { DriverService service = get(DriverService.class); deviceId = DeviceId.deviceId(uri); DriverHandler h = service.createHandler(deviceId); diff --git a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/cli/impl/NetconfSubscriptionTestCommand.java b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/cli/impl/NetconfSubscriptionTestCommand.java index 226f78966f..56b95875dc 100644 --- a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/cli/impl/NetconfSubscriptionTestCommand.java +++ b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/cli/impl/NetconfSubscriptionTestCommand.java @@ -46,7 +46,7 @@ public class NetconfSubscriptionTestCommand extends AbstractShellCommand { @Override - protected void execute() { + protected void doExecute() { NetconfController controller = get(NetconfController.class); DeviceId did = DeviceId.deviceId(uri); diff --git a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfControllerImpl.java b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfControllerImpl.java index 75dce05f09..e18714c39d 100644 --- a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfControllerImpl.java +++ b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfControllerImpl.java @@ -16,14 +16,6 @@ package org.onosproject.netconf.ctl.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.onlab.packet.IpAddress; import org.onosproject.cfg.ComponentConfigService; @@ -47,6 +39,12 @@ import org.onosproject.netconf.NetconfException; import org.onosproject.netconf.config.NetconfDeviceConfig; import org.onosproject.netconf.config.NetconfSshClientLib; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -67,47 +65,46 @@ import static org.onlab.util.Tools.groupedThreads; /** * The implementation of NetconfController. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = NetconfController.class) public class NetconfControllerImpl implements NetconfController { protected static final int DEFAULT_CONNECT_TIMEOUT_SECONDS = 5; private static final String PROP_NETCONF_CONNECT_TIMEOUT = "netconfConnectTimeout"; // FIXME @Property should not be static - @Property(name = PROP_NETCONF_CONNECT_TIMEOUT, intValue = DEFAULT_CONNECT_TIMEOUT_SECONDS, - label = "Time (in seconds) to wait for a NETCONF connect.") + //@Property(name = PROP_NETCONF_CONNECT_TIMEOUT, intValue = DEFAULT_CONNECT_TIMEOUT_SECONDS, + // label = "Time (in seconds) to wait for a NETCONF connect.") protected static int netconfConnectTimeout = DEFAULT_CONNECT_TIMEOUT_SECONDS; private static final String PROP_NETCONF_REPLY_TIMEOUT = "netconfReplyTimeout"; protected static final int DEFAULT_REPLY_TIMEOUT_SECONDS = 5; // FIXME @Property should not be static - @Property(name = PROP_NETCONF_REPLY_TIMEOUT, intValue = DEFAULT_REPLY_TIMEOUT_SECONDS, - label = "Time (in seconds) waiting for a NetConf reply") + //@Property(name = PROP_NETCONF_REPLY_TIMEOUT, intValue = DEFAULT_REPLY_TIMEOUT_SECONDS, + // label = "Time (in seconds) waiting for a NetConf reply") protected static int netconfReplyTimeout = DEFAULT_REPLY_TIMEOUT_SECONDS; private static final String PROP_NETCONF_IDLE_TIMEOUT = "netconfIdleTimeout"; protected static final int DEFAULT_IDLE_TIMEOUT_SECONDS = 300; // FIXME @Property should not be static - @Property(name = PROP_NETCONF_IDLE_TIMEOUT, intValue = DEFAULT_IDLE_TIMEOUT_SECONDS, - label = "Time (in seconds) SSH session will close if no traffic seen") + //@Property(name = PROP_NETCONF_IDLE_TIMEOUT, intValue = DEFAULT_IDLE_TIMEOUT_SECONDS, + // label = "Time (in seconds) SSH session will close if no traffic seen") protected static int netconfIdleTimeout = DEFAULT_IDLE_TIMEOUT_SECONDS; private static final String SSH_LIBRARY = "sshLibrary"; private static final String APACHE_MINA_STR = "apache-mina"; - @Property(name = SSH_LIBRARY, value = APACHE_MINA_STR, - label = "Ssh client library to use") + //@Property(name = SSH_LIBRARY, value = APACHE_MINA_STR, + // label = "Ssh client library to use") protected NetconfSshClientLib sshLibrary = NetconfSshClientLib.APACHE_MINA; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceKeyService deviceKeyService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry netCfgService; public static final Logger log = LoggerFactory diff --git a/protocols/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/OpenFlowControllerImpl.java b/protocols/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/OpenFlowControllerImpl.java index bcf9edf9bb..3e9b802b3c 100644 --- a/protocols/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/OpenFlowControllerImpl.java +++ b/protocols/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/OpenFlowControllerImpl.java @@ -18,14 +18,6 @@ package org.onosproject.openflow.controller.impl; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.ImmutableList; import com.google.common.collect.Multimap; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.core.CoreService; import org.onosproject.net.DeviceId; @@ -48,6 +40,12 @@ import org.onosproject.openflow.controller.PacketListener; import org.onosproject.openflow.controller.RoleState; import org.onosproject.openflow.controller.driver.OpenFlowAgent; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.projectfloodlight.openflow.protocol.OFCalientFlowStatsEntry; import org.projectfloodlight.openflow.protocol.OFCalientFlowStatsReply; import org.projectfloodlight.openflow.protocol.OFCircuitPortStatus; @@ -95,8 +93,7 @@ import java.util.concurrent.locks.ReentrantLock; import static org.onlab.util.Tools.groupedThreads; -@Component(immediate = true) -@Service +@Component(immediate = true, service = OpenFlowController.class) public class OpenFlowControllerImpl implements OpenFlowController { private static final String APP_ID = "org.onosproject.openflow-base"; private static final String DEFAULT_OFPORT = "6633,6653"; @@ -106,44 +103,44 @@ public class OpenFlowControllerImpl implements OpenFlowController { private static final Logger log = LoggerFactory.getLogger(OpenFlowControllerImpl.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry netCfgService; - @Property(name = "openflowPorts", value = DEFAULT_OFPORT, - label = "Port numbers (comma separated) used by OpenFlow protocol; default is 6633,6653") + //@Property(name = "openflowPorts", value = DEFAULT_OFPORT, + // label = "Port numbers (comma separated) used by OpenFlow protocol; default is 6633,6653") private String openflowPorts = DEFAULT_OFPORT; - @Property(name = "workerThreads", intValue = DEFAULT_WORKER_THREADS, - label = "Number of controller worker threads") + //@Property(name = "workerThreads", intValue = DEFAULT_WORKER_THREADS, + // label = "Number of controller worker threads") private int workerThreads = DEFAULT_WORKER_THREADS; - @Property(name = "tlsMode", value = "", - label = "TLS mode for OpenFlow channel; options are: disabled [default], enabled, strict") + //@Property(name = "tlsMode", value = "", + // label = "TLS mode for OpenFlow channel; options are: disabled [default], enabled, strict") private String tlsModeString; - @Property(name = "keyStore", value = "", - label = "File path to key store for TLS connections") + //@Property(name = "keyStore", value = "", + // label = "File path to key store for TLS connections") private String keyStore; - @Property(name = "keyStorePassword", value = "", - label = "Key store password") + //@Property(name = "keyStorePassword", value = "", + // label = "Key store password") private String keyStorePassword; - @Property(name = "trustStore", value = "", - label = "File path to trust store for TLS connections") + //@Property(name = "trustStore", value = "", + // label = "File path to trust store for TLS connections") private String trustStore; - @Property(name = "trustStorePassword", value = "", - label = "Trust store password") + //@Property(name = "trustStorePassword", value = "", + // label = "Trust store password") private String trustStorePassword; protected ExecutorService executorMsgs = diff --git a/protocols/ospf/ctl/src/main/java/org/onosproject/ospf/controller/impl/OspfControllerImpl.java b/protocols/ospf/ctl/src/main/java/org/onosproject/ospf/controller/impl/OspfControllerImpl.java index a9c3309be3..dc63617b24 100644 --- a/protocols/ospf/ctl/src/main/java/org/onosproject/ospf/controller/impl/OspfControllerImpl.java +++ b/protocols/ospf/ctl/src/main/java/org/onosproject/ospf/controller/impl/OspfControllerImpl.java @@ -18,12 +18,6 @@ package org.onosproject.ospf.controller.impl; import com.fasterxml.jackson.databind.JsonNode; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.driver.DriverService; import org.onosproject.ospf.controller.OspfAgent; import org.onosproject.ospf.controller.OspfController; @@ -32,6 +26,11 @@ import org.onosproject.ospf.controller.OspfLinkTed; import org.onosproject.ospf.controller.OspfProcess; import org.onosproject.ospf.controller.OspfRouter; import org.onosproject.ospf.controller.OspfRouterListener; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -43,13 +42,12 @@ import java.util.Set; * Representation of an OSPF controller implementation. * Serves as a one stop shop for obtaining OSPF devices and (un)register listeners on OSPF events */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = OspfController.class) public class OspfControllerImpl implements OspfController { private static final Logger log = LoggerFactory.getLogger(OspfControllerImpl.class); private final Controller ctrl = new Controller(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; protected Set ospfRouterListener = new HashSet<>(); protected Set ospfLinkListener = Sets.newHashSet(); diff --git a/protocols/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/OvsdbControllerImpl.java b/protocols/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/OvsdbControllerImpl.java index 11bfaae507..dde2416da4 100644 --- a/protocols/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/OvsdbControllerImpl.java +++ b/protocols/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/OvsdbControllerImpl.java @@ -18,14 +18,6 @@ package org.onosproject.ovsdb.controller.impl; import com.fasterxml.jackson.databind.JsonNode; import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onlab.packet.MacAddress; import org.onlab.packet.TpPort; @@ -63,6 +55,12 @@ import org.onosproject.ovsdb.rfc.table.OvsdbTable; import org.onosproject.ovsdb.rfc.table.TableGenerator; import org.onosproject.ovsdb.rfc.utils.FromJsonUtil; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -83,17 +81,16 @@ import java.util.function.Consumer; import static com.google.common.base.Preconditions.checkNotNull; import static org.onlab.util.Tools.get; -import static org.onosproject.ovsdb.controller.OvsdbConstant.SERVER_MODE; -import static org.onosproject.ovsdb.controller.OvsdbConstant.DEFAULT_KS_PASSWORD; import static org.onosproject.ovsdb.controller.OvsdbConstant.DEFAULT_KS_FILE; +import static org.onosproject.ovsdb.controller.OvsdbConstant.DEFAULT_KS_PASSWORD; import static org.onosproject.ovsdb.controller.OvsdbConstant.OVSDB_TLS_FLAG; +import static org.onosproject.ovsdb.controller.OvsdbConstant.SERVER_MODE; import static org.onosproject.ovsdb.controller.impl.Controller.MIN_KS_LENGTH; /** * The implementation of OvsdbController. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = OvsdbController.class) public class OvsdbControllerImpl implements OvsdbController { public static final Logger log = LoggerFactory @@ -110,31 +107,31 @@ public class OvsdbControllerImpl implements OvsdbController { new ConcurrentHashMap<>(); protected ConcurrentHashMap requestDbName = new ConcurrentHashMap<>(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService configService; - @Property(name = "serverMode", boolValue = SERVER_MODE, - label = "Run as server mode, listen on 6640 port") + //@Property(name = "serverMode", boolValue = SERVER_MODE, + // label = "Run as server mode, listen on 6640 port") private boolean serverMode = SERVER_MODE; - @Property(name = "enableOvsdbTls", boolValue = OVSDB_TLS_FLAG, - label = "TLS mode for OVSDB channel; options are: true false") + //@Property(name = "enableOvsdbTls", boolValue = OVSDB_TLS_FLAG, + // label = "TLS mode for OVSDB channel; options are: true false") private boolean enableOvsdbTls = OVSDB_TLS_FLAG; - @Property(name = "keyStoreLocation", value = DEFAULT_KS_FILE, - label = "File path to KeyStore for Ovsdb TLS Connections") + //@Property(name = "keyStoreLocation", value = DEFAULT_KS_FILE, + // label = "File path to KeyStore for Ovsdb TLS Connections") protected String keyStoreLocation = DEFAULT_KS_FILE; - @Property(name = "trustStoreLocation", value = DEFAULT_KS_FILE, - label = "File path to TrustStore for Ovsdb TLS Connections") + //@Property(name = "trustStoreLocation", value = DEFAULT_KS_FILE, + // label = "File path to TrustStore for Ovsdb TLS Connections") protected String trustStoreLocation = DEFAULT_KS_FILE; - @Property(name = "keyStorePassword", value = DEFAULT_KS_PASSWORD, - label = "KeyStore Password") + //@Property(name = "keyStorePassword", value = DEFAULT_KS_PASSWORD, + // label = "KeyStore Password") protected String keyStorePassword = DEFAULT_KS_PASSWORD; - @Property(name = "trustStorePassword", value = DEFAULT_KS_PASSWORD, - label = "TrustStore Password") + //@Property(name = "trustStorePassword", value = DEFAULT_KS_PASSWORD, + // label = "TrustStore Password") protected String trustStorePassword = DEFAULT_KS_PASSWORD; @Activate diff --git a/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/P4RuntimeControllerImpl.java b/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/P4RuntimeControllerImpl.java index cb413bcddd..5d7fed39f5 100644 --- a/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/P4RuntimeControllerImpl.java +++ b/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/P4RuntimeControllerImpl.java @@ -21,12 +21,6 @@ import com.google.common.util.concurrent.Striped; import io.grpc.ManagedChannel; import io.grpc.ManagedChannelBuilder; import io.grpc.netty.NettyChannelBuilder; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.event.AbstractListenerManager; import org.onosproject.grpc.api.GrpcChannelId; import org.onosproject.grpc.api.GrpcController; @@ -39,6 +33,11 @@ import org.onosproject.p4runtime.api.P4RuntimeController; import org.onosproject.p4runtime.api.P4RuntimeEvent; import org.onosproject.p4runtime.api.P4RuntimeEventListener; import org.onosproject.store.service.StorageService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.io.IOException; @@ -55,8 +54,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * P4Runtime controller implementation. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = P4RuntimeController.class) public class P4RuntimeControllerImpl extends AbstractListenerManager implements P4RuntimeController { @@ -73,10 +71,10 @@ public class P4RuntimeControllerImpl private DistributedElectionIdGenerator electionIdGenerator; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private GrpcController grpcController; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private StorageService storageService; @Activate diff --git a/protocols/pcep/server/api/src/test/java/org/onosproject/pcep/server/PcepClientControllerAdapter.java b/protocols/pcep/server/api/src/test/java/org/onosproject/pcep/server/PcepClientControllerAdapter.java index 80e6561b13..b5e448e4ca 100644 --- a/protocols/pcep/server/api/src/test/java/org/onosproject/pcep/server/PcepClientControllerAdapter.java +++ b/protocols/pcep/server/api/src/test/java/org/onosproject/pcep/server/PcepClientControllerAdapter.java @@ -17,8 +17,8 @@ package org.onosproject.pcep.server; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Deactivate; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Deactivate; import org.onlab.packet.IpAddress; import org.onosproject.incubator.net.tunnel.DefaultLabelStack; import org.onosproject.incubator.net.tunnel.LabelStack; diff --git a/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcelabelstore/DistributedPceLabelStore.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcelabelstore/DistributedPceLabelStore.java index 4c6a3cf12a..62881343ea 100644 --- a/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcelabelstore/DistributedPceLabelStore.java +++ b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcelabelstore/DistributedPceLabelStore.java @@ -15,25 +15,10 @@ */ package org.onosproject.pcelabelstore; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; - import org.onlab.util.KryoNamespace; -import org.onosproject.incubator.net.tunnel.TunnelId; import org.onosproject.incubator.net.resource.label.LabelResource; import org.onosproject.incubator.net.resource.label.LabelResourceId; +import org.onosproject.incubator.net.tunnel.TunnelId; import org.onosproject.net.DeviceId; import org.onosproject.net.Link; import org.onosproject.pcelabelstore.api.LspLocalLabelInfo; @@ -42,15 +27,26 @@ import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.ConsistentMap; import org.onosproject.store.service.Serializer; import org.onosproject.store.service.StorageService; - +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import static com.google.common.base.Preconditions.checkNotNull; + /** * Manages the pool of available labels to devices, links and tunnels. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = PceLabelStore.class) public class DistributedPceLabelStore implements PceLabelStore { private static final String DEVICE_ID_NULL = "Device ID cannot be null"; @@ -61,7 +57,7 @@ public class DistributedPceLabelStore implements PceLabelStore { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; // Mapping device with global node label diff --git a/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepClientControllerImpl.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepClientControllerImpl.java index 1bb5610a2a..2624804b2d 100644 --- a/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepClientControllerImpl.java +++ b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepClientControllerImpl.java @@ -15,27 +15,7 @@ */ package org.onosproject.pcep.server.impl; -import java.util.Map; -import java.util.TreeMap; -import java.util.List; -import java.util.LinkedList; -import java.util.Set; -import java.util.HashSet; -import java.util.HashMap; -import java.util.Collection; -import java.util.Collections; -import java.util.ListIterator; -import java.util.Arrays; -import java.util.Iterator; -import java.util.Map.Entry; -import java.util.concurrent.ConcurrentHashMap; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; +import com.google.common.collect.Sets; import org.onlab.packet.Ip4Address; import org.onlab.packet.IpAddress; import org.onosproject.incubator.net.resource.label.LabelResourceAdminService; @@ -46,8 +26,8 @@ import org.onosproject.incubator.net.tunnel.DefaultTunnel; import org.onosproject.incubator.net.tunnel.IpTunnelEndPoint; import org.onosproject.incubator.net.tunnel.LabelStack; import org.onosproject.incubator.net.tunnel.Tunnel; -import org.onosproject.incubator.net.tunnel.TunnelService; import org.onosproject.incubator.net.tunnel.Tunnel.State; +import org.onosproject.incubator.net.tunnel.TunnelService; import org.onosproject.mastership.MastershipService; import org.onosproject.net.DefaultAnnotations; import org.onosproject.net.DefaultAnnotations.Builder; @@ -100,64 +80,81 @@ import org.onosproject.pcepio.types.PcepValueType; import org.onosproject.pcepio.types.SrEroSubObject; import org.onosproject.pcepio.types.StatefulIPv4LspIdentifiersTlv; import org.onosproject.pcepio.types.SymbolicPathNameTlv; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.collect.Sets; -import static com.google.common.base.Preconditions.checkNotNull; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.ListIterator; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.TreeMap; +import java.util.concurrent.ConcurrentHashMap; -import static org.onosproject.pcep.server.PcepSyncStatus.IN_SYNC; +import static com.google.common.base.Preconditions.checkNotNull; import static org.onosproject.pcep.server.LspType.WITHOUT_SIGNALLING_AND_WITHOUT_SR; import static org.onosproject.pcep.server.LspType.WITH_SIGNALLING; -import static org.onosproject.pcep.server.PcepLspSyncAction.REMOVE; -import static org.onosproject.pcep.server.PcepLspSyncAction.SEND_UPDATE; -import static org.onosproject.pcep.server.PcepLspSyncAction.UNSTABLE; -import static org.onosproject.pcepio.types.PcepErrorDetailInfo.ERROR_TYPE_19; -import static org.onosproject.pcepio.types.PcepErrorDetailInfo.ERROR_VALUE_5; import static org.onosproject.pcep.server.PcepAnnotationKeys.BANDWIDTH; +import static org.onosproject.pcep.server.PcepAnnotationKeys.COST_TYPE; +import static org.onosproject.pcep.server.PcepAnnotationKeys.DELEGATE; import static org.onosproject.pcep.server.PcepAnnotationKeys.LOCAL_LSP_ID; import static org.onosproject.pcep.server.PcepAnnotationKeys.LSP_SIG_TYPE; import static org.onosproject.pcep.server.PcepAnnotationKeys.PCC_TUNNEL_ID; import static org.onosproject.pcep.server.PcepAnnotationKeys.PCE_INIT; import static org.onosproject.pcep.server.PcepAnnotationKeys.PLSP_ID; -import static org.onosproject.pcep.server.PcepAnnotationKeys.DELEGATE; -import static org.onosproject.pcep.server.PcepAnnotationKeys.COST_TYPE; -import static org.onosproject.pcep.server.PcepSyncStatus.SYNCED; +import static org.onosproject.pcep.server.PcepLspSyncAction.REMOVE; +import static org.onosproject.pcep.server.PcepLspSyncAction.SEND_UPDATE; +import static org.onosproject.pcep.server.PcepLspSyncAction.UNSTABLE; +import static org.onosproject.pcep.server.PcepSyncStatus.IN_SYNC; import static org.onosproject.pcep.server.PcepSyncStatus.NOT_SYNCED; +import static org.onosproject.pcep.server.PcepSyncStatus.SYNCED; +import static org.onosproject.pcepio.types.PcepErrorDetailInfo.ERROR_TYPE_19; +import static org.onosproject.pcepio.types.PcepErrorDetailInfo.ERROR_VALUE_5; /** * Implementation of PCEP client controller. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = PcepClientController.class) public class PcepClientControllerImpl implements PcepClientController { private static final Logger log = LoggerFactory.getLogger(PcepClientControllerImpl.class); private static final long IDENTIFIER_SET = 0x100000000L; private static final long SET = 0xFFFFFFFFL; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TunnelService tunnelService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService netCfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LabelResourceAdminService labelRsrcAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LabelResourceService labelRsrcService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PceLabelStore pceStore; protected ConcurrentHashMap connectedClients = diff --git a/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepControllerImpl.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepControllerImpl.java index 8d9bc2326a..2d1477a0f1 100644 --- a/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepControllerImpl.java +++ b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepControllerImpl.java @@ -16,11 +16,6 @@ package org.onosproject.pcep.server.impl; import com.google.common.collect.Sets; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.DeviceId; import org.onosproject.pcep.api.PcepController; import org.onosproject.pcep.api.PcepDpid; @@ -29,6 +24,9 @@ import org.onosproject.pcep.api.PcepSwitch; import org.onosproject.pcep.api.PcepSwitchListener; import org.onosproject.pcep.api.PcepTunnel; import org.onosproject.pcep.api.PcepTunnelListener; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -37,8 +35,7 @@ import java.util.Set; /** * Implementation of PCEP controller [protocol]. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = PcepController.class) public class PcepControllerImpl implements PcepController { private static final Logger log = LoggerFactory.getLogger(PcepControllerImpl.class); diff --git a/protocols/rest/ctl/src/main/java/org/onosproject/protocol/rest/ctl/RestSBControllerImpl.java b/protocols/rest/ctl/src/main/java/org/onosproject/protocol/rest/ctl/RestSBControllerImpl.java index a527e0e624..5a75ef9e68 100644 --- a/protocols/rest/ctl/src/main/java/org/onosproject/protocol/rest/ctl/RestSBControllerImpl.java +++ b/protocols/rest/ctl/src/main/java/org/onosproject/protocol/rest/ctl/RestSBControllerImpl.java @@ -17,12 +17,6 @@ package org.onosproject.protocol.rest.ctl; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.event.EventDeliveryService; import org.onosproject.event.ListenerRegistry; import org.onosproject.event.ListenerService; @@ -32,6 +26,11 @@ import org.onosproject.protocol.rest.RestSBController; import org.onosproject.protocol.rest.RestSBDevice; import org.onosproject.protocol.rest.RestSBEventListener; import org.onosproject.protocol.rest.RestSBServerSentEvent; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -45,15 +44,14 @@ import java.util.stream.Collectors; /** * The implementation of RestSBController. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = { RestSBController.class, ListenerService.class }) public class RestSBControllerImpl extends HttpSBControllerImpl implements RestSBController, ListenerService { private static final Logger log = LoggerFactory.getLogger(RestSBControllerImpl.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected EventDeliveryService eventDispatcher; protected final ListenerRegistry listenerRegistry = diff --git a/protocols/restconf/client/ctl/src/main/java/org/onosproject/protocol/restconf/ctl/RestConfSBControllerImpl.java b/protocols/restconf/client/ctl/src/main/java/org/onosproject/protocol/restconf/ctl/RestConfSBControllerImpl.java index 38f296d589..aaa106e5f1 100644 --- a/protocols/restconf/client/ctl/src/main/java/org/onosproject/protocol/restconf/ctl/RestConfSBControllerImpl.java +++ b/protocols/restconf/client/ctl/src/main/java/org/onosproject/protocol/restconf/ctl/RestConfSBControllerImpl.java @@ -15,10 +15,6 @@ */ package org.onosproject.protocol.restconf.ctl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.glassfish.jersey.client.ChunkedInput; import org.onlab.packet.IpAddress; import org.onosproject.net.DeviceId; @@ -26,6 +22,9 @@ import org.onosproject.protocol.http.ctl.HttpSBControllerImpl; import org.onosproject.protocol.rest.RestSBDevice; import org.onosproject.protocol.restconf.RestConfSBController; import org.onosproject.protocol.restconf.RestconfNotificationEventListener; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -42,8 +41,7 @@ import java.util.concurrent.Executors; /** * The implementation of RestConfSBController. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = RestConfSBController.class) public class RestConfSBControllerImpl extends HttpSBControllerImpl implements RestConfSBController { diff --git a/protocols/snmp/ctl/src/main/java/org/onosproject/snmp/ctl/DefaultSnmpController.java b/protocols/snmp/ctl/src/main/java/org/onosproject/snmp/ctl/DefaultSnmpController.java index 6cc18af41b..a9eab3d35b 100644 --- a/protocols/snmp/ctl/src/main/java/org/onosproject/snmp/ctl/DefaultSnmpController.java +++ b/protocols/snmp/ctl/src/main/java/org/onosproject/snmp/ctl/DefaultSnmpController.java @@ -23,9 +23,6 @@ import com.btisystems.pronx.ems.core.snmp.ISnmpSessionFactory; import com.btisystems.pronx.ems.core.snmp.SnmpSessionFactory; import com.btisystems.pronx.ems.core.snmp.V2cSnmpConfiguration; import com.google.common.base.Preconditions; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.onosproject.incubator.net.faultmanagement.alarm.Alarm; import org.onosproject.incubator.net.faultmanagement.alarm.AlarmId; import org.onosproject.incubator.net.faultmanagement.alarm.DefaultAlarm; @@ -33,7 +30,9 @@ import org.onosproject.net.DeviceId; import org.onosproject.snmp.SnmpController; import org.onosproject.snmp.SnmpDevice; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -47,8 +46,7 @@ import java.util.concurrent.ConcurrentHashMap; /** * Default implementation of the SNMP sub-controller. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = SnmpController.class) public class DefaultSnmpController implements SnmpController { private final Logger log = LoggerFactory diff --git a/protocols/tl1/ctl/src/main/java/org/onosproject/tl1/impl/DefaultTl1Controller.java b/protocols/tl1/ctl/src/main/java/org/onosproject/tl1/impl/DefaultTl1Controller.java index 70ccf1f075..6f0ccfec29 100644 --- a/protocols/tl1/ctl/src/main/java/org/onosproject/tl1/impl/DefaultTl1Controller.java +++ b/protocols/tl1/ctl/src/main/java/org/onosproject/tl1/impl/DefaultTl1Controller.java @@ -32,12 +32,6 @@ import io.netty.handler.codec.DelimiterBasedFrameDecoder; import io.netty.handler.codec.string.StringDecoder; import io.netty.util.CharsetUtil; import org.apache.commons.lang.StringUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.Tools; import org.onosproject.mastership.MastershipService; import org.onosproject.net.DeviceId; @@ -45,6 +39,11 @@ import org.onosproject.tl1.Tl1Command; import org.onosproject.tl1.Tl1Controller; import org.onosproject.tl1.Tl1Device; import org.onosproject.tl1.Tl1Listener; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -70,8 +69,7 @@ import java.util.stream.Collectors; * * Per device, we track commands using a simple ctag-keyed map. This assumes the client is sending out unique ctag's. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = Tl1Controller.class) public class DefaultTl1Controller implements Tl1Controller { private final Logger log = LoggerFactory.getLogger(DefaultTl1Controller.class); @@ -80,7 +78,7 @@ public class DefaultTl1Controller implements Tl1Controller { private static final String COMPLD = "COMPLD"; private static final String DENY = "DENY"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; private ConcurrentMap deviceMap = new ConcurrentHashMap<>(); diff --git a/protocols/xmpp/core/ctl/src/main/java/org/onosproject/xmpp/core/ctl/XmppControllerImpl.java b/protocols/xmpp/core/ctl/src/main/java/org/onosproject/xmpp/core/ctl/XmppControllerImpl.java index 44db54d881..178018a673 100644 --- a/protocols/xmpp/core/ctl/src/main/java/org/onosproject/xmpp/core/ctl/XmppControllerImpl.java +++ b/protocols/xmpp/core/ctl/src/main/java/org/onosproject/xmpp/core/ctl/XmppControllerImpl.java @@ -20,25 +20,23 @@ import com.google.common.collect.HashMultimap; import com.google.common.collect.Maps; import com.google.common.collect.Multimap; import com.google.common.collect.Multimaps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.core.CoreService; import org.onosproject.xmpp.core.XmppController; import org.onosproject.xmpp.core.XmppDevice; +import org.onosproject.xmpp.core.XmppDeviceAgent; import org.onosproject.xmpp.core.XmppDeviceId; import org.onosproject.xmpp.core.XmppDeviceListener; import org.onosproject.xmpp.core.XmppIqListener; import org.onosproject.xmpp.core.XmppMessageListener; import org.onosproject.xmpp.core.XmppPresenceListener; -import org.onosproject.xmpp.core.XmppDeviceAgent; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.xmpp.packet.IQ; @@ -60,8 +58,7 @@ import java.util.concurrent.CopyOnWriteArraySet; * 3. Configuration parameters initialization. * 4. Notifing listeners about XMPP events/packets. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = XmppController.class) public class XmppControllerImpl implements XmppController { private static final String APP_ID = "org.onosproject.xmpp"; @@ -71,15 +68,15 @@ public class XmppControllerImpl implements XmppController { LoggerFactory.getLogger(XmppControllerImpl.class); // core services declaration - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; // configuration properties definition - @Property(name = "xmppPort", value = XMPP_PORT, - label = "Port number used by XMPP protocol; default is 5269") + //@Property(name = "xmppPort", value = XMPP_PORT, + // label = "Port number used by XMPP protocol; default is 5269") private String xmppPort = XMPP_PORT; diff --git a/protocols/xmpp/pubsub/ctl/src/main/java/org/onosproject/xmpp/pubsub/ctl/XmppPubSubControllerImpl.java b/protocols/xmpp/pubsub/ctl/src/main/java/org/onosproject/xmpp/pubsub/ctl/XmppPubSubControllerImpl.java index cb9900db60..04fd01b4d9 100644 --- a/protocols/xmpp/pubsub/ctl/src/main/java/org/onosproject/xmpp/pubsub/ctl/XmppPubSubControllerImpl.java +++ b/protocols/xmpp/pubsub/ctl/src/main/java/org/onosproject/xmpp/pubsub/ctl/XmppPubSubControllerImpl.java @@ -16,12 +16,6 @@ package org.onosproject.xmpp.pubsub.ctl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.dom4j.Element; import org.onosproject.net.DeviceId; import org.onosproject.xmpp.core.XmppController; @@ -37,6 +31,11 @@ import org.onosproject.xmpp.pubsub.model.XmppPublish; import org.onosproject.xmpp.pubsub.model.XmppRetract; import org.onosproject.xmpp.pubsub.model.XmppSubscribe; import org.onosproject.xmpp.pubsub.model.XmppUnsubscribe; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.xmpp.packet.IQ; @@ -53,14 +52,13 @@ import static org.onosproject.xmpp.pubsub.XmppPubSubConstants.PUBSUB_NAMESPACE; * The main class implementing XMPP Publish/Subscribe extension. * It listens to IQ stanzas and generates PubSub events based on the payload. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = XmppPubSubController.class) public class XmppPubSubControllerImpl implements XmppPubSubController { private static final Logger log = LoggerFactory.getLogger(XmppPubSubControllerImpl.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected XmppController xmppController; protected Set xmppPublishEventsListeners = diff --git a/providers/bgp/cfg/src/main/java/org/onosproject/provider/bgp/cfg/impl/BgpAppConfig.java b/providers/bgp/cfg/src/main/java/org/onosproject/provider/bgp/cfg/impl/BgpAppConfig.java index 23a4f5af62..9f1710a959 100644 --- a/providers/bgp/cfg/src/main/java/org/onosproject/provider/bgp/cfg/impl/BgpAppConfig.java +++ b/providers/bgp/cfg/src/main/java/org/onosproject/provider/bgp/cfg/impl/BgpAppConfig.java @@ -16,8 +16,8 @@ package org.onosproject.provider.bgp.cfg.impl; import com.fasterxml.jackson.databind.JsonNode; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.osgi.DefaultServiceDirectory; import org.onlab.packet.IpAddress; import org.onosproject.bgp.controller.BgpCfg; @@ -38,7 +38,7 @@ import static org.onosproject.net.config.Config.FieldPresence.OPTIONAL; * Configuration object for BGP. */ public class BgpAppConfig extends Config { - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) BgpController bgpController; BgpCfg bgpConfig = null; diff --git a/providers/bgp/cfg/src/main/java/org/onosproject/provider/bgp/cfg/impl/BgpCfgProvider.java b/providers/bgp/cfg/src/main/java/org/onosproject/provider/bgp/cfg/impl/BgpCfgProvider.java index ad06c1d8c4..c35f4f0a56 100644 --- a/providers/bgp/cfg/src/main/java/org/onosproject/provider/bgp/cfg/impl/BgpCfgProvider.java +++ b/providers/bgp/cfg/src/main/java/org/onosproject/provider/bgp/cfg/impl/BgpCfgProvider.java @@ -15,11 +15,11 @@ */ package org.onosproject.provider.bgp.cfg.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.bgp.controller.BgpCfg; import org.onosproject.bgp.controller.BgpPeerCfg; @@ -56,16 +56,16 @@ public class BgpCfgProvider extends AbstractProvider { static final String PROVIDER_ID = "org.onosproject.provider.bgp.cfg"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected BgpController bgpController; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry configRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService configService; private final ConfigFactory configFactory = diff --git a/providers/bgp/route/src/main/java/org/onosproject/provider/bgp/route/impl/BgpRouteProvider.java b/providers/bgp/route/src/main/java/org/onosproject/provider/bgp/route/impl/BgpRouteProvider.java index c7a9b104db..2059e563b3 100644 --- a/providers/bgp/route/src/main/java/org/onosproject/provider/bgp/route/impl/BgpRouteProvider.java +++ b/providers/bgp/route/src/main/java/org/onosproject/provider/bgp/route/impl/BgpRouteProvider.java @@ -13,11 +13,11 @@ package org.onosproject.provider.bgp.route.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.Ip4Address; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; @@ -76,10 +76,10 @@ public class BgpRouteProvider extends AbstractProvider { .getLogger(BgpRouteProvider.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected BgpController controller; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected EvpnRouteAdminService evpnRouteAdminService; private final InternalEvpnRouteListener routeListener = new diff --git a/providers/bgp/topology/src/main/java/org/onosproject/provider/bgp/topology/impl/BgpTopologyProvider.java b/providers/bgp/topology/src/main/java/org/onosproject/provider/bgp/topology/impl/BgpTopologyProvider.java index b840a89e16..8439bb9855 100644 --- a/providers/bgp/topology/src/main/java/org/onosproject/provider/bgp/topology/impl/BgpTopologyProvider.java +++ b/providers/bgp/topology/src/main/java/org/onosproject/provider/bgp/topology/impl/BgpTopologyProvider.java @@ -13,11 +13,11 @@ package org.onosproject.provider.bgp.topology.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.ChassisId; import org.onlab.packet.Ip4Address; import org.onosproject.bgp.controller.BgpController; @@ -110,28 +110,28 @@ public class BgpTopologyProvider extends AbstractProvider implements DeviceProvi private static final Logger log = LoggerFactory.getLogger(BgpTopologyProvider.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceProviderRegistry deviceProviderRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkProviderRegistry linkProviderRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected BgpController controller; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LabelResourceAdminService labelResourceAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService networkConfigService; private DeviceProviderService deviceProviderService; diff --git a/providers/bgpcep/flow/src/main/java/org/onosproject/provider/bgpcep/flow/impl/BgpcepFlowRuleProvider.java b/providers/bgpcep/flow/src/main/java/org/onosproject/provider/bgpcep/flow/impl/BgpcepFlowRuleProvider.java index 83aaac860f..024e8a3f0f 100644 --- a/providers/bgpcep/flow/src/main/java/org/onosproject/provider/bgpcep/flow/impl/BgpcepFlowRuleProvider.java +++ b/providers/bgpcep/flow/src/main/java/org/onosproject/provider/bgpcep/flow/impl/BgpcepFlowRuleProvider.java @@ -15,11 +15,11 @@ */ package org.onosproject.provider.bgpcep.flow.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.core.ApplicationId; import org.onosproject.net.flow.FlowRule; import org.onosproject.net.flow.oldbatch.FlowRuleBatchOperation; @@ -42,7 +42,7 @@ public class BgpcepFlowRuleProvider extends AbstractProvider private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleProviderRegistry providerRegistry; private FlowRuleProviderService providerService; diff --git a/providers/general/device/src/main/java/org/onosproject/provider/general/device/impl/GeneralDeviceProvider.java b/providers/general/device/src/main/java/org/onosproject/provider/general/device/impl/GeneralDeviceProvider.java index e5c321e068..9918327671 100644 --- a/providers/general/device/src/main/java/org/onosproject/provider/general/device/impl/GeneralDeviceProvider.java +++ b/providers/general/device/src/main/java/org/onosproject/provider/general/device/impl/GeneralDeviceProvider.java @@ -20,13 +20,6 @@ import com.google.common.annotations.Beta; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; import com.google.common.util.concurrent.Striped; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onlab.packet.ChassisId; import org.onlab.util.ItemNotFoundException; import org.onlab.util.Tools; @@ -79,6 +72,12 @@ import org.onosproject.net.provider.AbstractProvider; import org.onosproject.net.provider.ProviderId; import org.onosproject.provider.general.device.api.GeneralProviderDeviceConfig; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.security.SecureRandom; @@ -132,53 +131,53 @@ public class GeneralDeviceProvider extends AbstractProvider private static final Set PIPELINE_CONFIGURABLE_PROTOCOLS = ImmutableSet.of("p4runtime"); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private DeviceProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private ComponentConfigService componentConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private NetworkConfigRegistry cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private DriverService driverService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private PiPipeconfService pipeconfService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private PiPipeconfWatchdogService pipeconfWatchdogService; private static final String STATS_POLL_FREQUENCY = "deviceStatsPollFrequency"; private static final int DEFAULT_STATS_POLL_FREQUENCY = 10; - @Property(name = STATS_POLL_FREQUENCY, intValue = DEFAULT_STATS_POLL_FREQUENCY, - label = "Configure poll frequency for port status and statistics; " + - "default is 10 sec") + //@Property(name = STATS_POLL_FREQUENCY, intValue = DEFAULT_STATS_POLL_FREQUENCY, + // label = "Configure poll frequency for port status and statistics; " + + // "default is 10 sec") private int statsPollFrequency = DEFAULT_STATS_POLL_FREQUENCY; private static final String PROBE_FREQUENCY = "deviceProbeFrequency"; private static final int DEFAULT_PROBE_FREQUENCY = 10; - @Property(name = PROBE_FREQUENCY, intValue = DEFAULT_PROBE_FREQUENCY, - label = "Configure probe frequency for checking device availability; " + - "default is 10 sec") + //@Property(name = PROBE_FREQUENCY, intValue = DEFAULT_PROBE_FREQUENCY, + // label = "Configure probe frequency for checking device availability; " + + // "default is 10 sec") private int probeFrequency = DEFAULT_PROBE_FREQUENCY; private static final String OP_TIMEOUT_SHORT = "deviceOperationTimeoutShort"; private static final int DEFAULT_OP_TIMEOUT_SHORT = 10; - @Property(name = OP_TIMEOUT_SHORT, intValue = DEFAULT_OP_TIMEOUT_SHORT, - label = "Configure timeout in seconds for device operations " + - "that are supposed to take a short time " + - "(e.g. checking device reachability); default is 10 seconds") + //@Property(name = OP_TIMEOUT_SHORT, intValue = DEFAULT_OP_TIMEOUT_SHORT, + // label = "Configure timeout in seconds for device operations " + + // "that are supposed to take a short time " + + // "(e.g. checking device reachability); default is 10 seconds") private int opTimeoutShort = DEFAULT_OP_TIMEOUT_SHORT; //FIXME to be removed when netcfg will issue device events in a bundle or diff --git a/providers/host/src/main/java/org/onosproject/provider/host/impl/HostLocationProvider.java b/providers/host/src/main/java/org/onosproject/provider/host/impl/HostLocationProvider.java index 768c4fa054..434cefcead 100644 --- a/providers/host/src/main/java/org/onosproject/provider/host/impl/HostLocationProvider.java +++ b/providers/host/src/main/java/org/onosproject/provider/host/impl/HostLocationProvider.java @@ -16,14 +16,6 @@ package org.onosproject.provider.host.impl; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.ARP; import org.onlab.packet.BasePacket; import org.onlab.packet.DHCP; @@ -54,6 +46,12 @@ import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; +import org.onosproject.net.ConnectPoint; +import org.onosproject.net.Device; +import org.onosproject.net.DeviceId; +import org.onosproject.net.Host; +import org.onosproject.net.HostId; +import org.onosproject.net.HostLocation; import org.onosproject.net.config.ConfigFactory; import org.onosproject.net.config.NetworkConfigEvent; import org.onosproject.net.config.NetworkConfigListener; @@ -62,13 +60,6 @@ import org.onosproject.net.config.NetworkConfigService; import org.onosproject.net.config.basics.BasicHostConfig; import org.onosproject.net.config.basics.HostLearningConfig; import org.onosproject.net.config.basics.SubjectFactories; -import org.onosproject.net.intf.InterfaceService; -import org.onosproject.net.ConnectPoint; -import org.onosproject.net.Device; -import org.onosproject.net.DeviceId; -import org.onosproject.net.Host; -import org.onosproject.net.HostId; -import org.onosproject.net.HostLocation; import org.onosproject.net.device.DeviceEvent; import org.onosproject.net.device.DeviceListener; import org.onosproject.net.device.DeviceService; @@ -82,6 +73,7 @@ import org.onosproject.net.host.HostProvider; import org.onosproject.net.host.HostProviderRegistry; import org.onosproject.net.host.HostProviderService; import org.onosproject.net.host.HostService; +import org.onosproject.net.intf.InterfaceService; import org.onosproject.net.packet.DefaultOutboundPacket; import org.onosproject.net.packet.OutboundPacket; import org.onosproject.net.packet.PacketContext; @@ -93,15 +85,21 @@ import org.onosproject.net.provider.ProviderId; import org.onosproject.net.topology.Topology; import org.onosproject.net.topology.TopologyService; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.nio.ByteBuffer; import java.util.Dictionary; import java.util.Objects; import java.util.Optional; +import java.util.Set; import java.util.concurrent.ExecutorService; import java.util.stream.Stream; -import java.util.Set; import static java.util.concurrent.Executors.newSingleThreadScheduledExecutor; import static org.onlab.util.Tools.groupedThreads; @@ -111,36 +109,35 @@ import static org.slf4j.LoggerFactory.getLogger; * Provider which uses an OpenFlow controller to detect network end-station * hosts. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = HostProvider.class) public class HostLocationProvider extends AbstractProvider implements HostProvider { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TopologyService topologyService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry registry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected InterfaceService interfaceService; private final InternalHostProvider processor = new InternalHostProvider(); @@ -149,34 +146,34 @@ public class HostLocationProvider extends AbstractProvider implements HostProvid private ApplicationId appId; - @Property(name = "hostRemovalEnabled", boolValue = true, - label = "Enable host removal on port/device down events") + //@Property(name = "hostRemovalEnabled", boolValue = true, + // label = "Enable host removal on port/device down events") private boolean hostRemovalEnabled = true; - @Property(name = "requestArp", boolValue = true, - label = "Request ARP packets for neighbor discovery by the " + - "Host Location Provider; default is true") + //@Property(name = "requestArp", boolValue = true, + // label = "Request ARP packets for neighbor discovery by the " + + // "Host Location Provider; default is true") private boolean requestArp = true; - @Property(name = "requestIpv6ND", boolValue = false, - label = "Requests IPv6 Neighbor Discovery by the " + - "Host Location Provider; default is false") + //@Property(name = "requestIpv6ND", boolValue = false, + // label = "Requests IPv6 Neighbor Discovery by the " + + // "Host Location Provider; default is false") private boolean requestIpv6ND = false; - @Property(name = "useDhcp", boolValue = false, - label = "Use DHCP to update IP address of the host; default is false") + //@Property(name = "useDhcp", boolValue = false, + // label = "Use DHCP to update IP address of the host; default is false") private boolean useDhcp = false; - @Property(name = "useDhcp6", boolValue = false, - label = "Use DHCPv6 to update IP address of the host; default is false") + //@Property(name = "useDhcp6", boolValue = false, + // label = "Use DHCPv6 to update IP address of the host; default is false") private boolean useDhcp6 = false; - @Property(name = "requestInterceptsEnabled", boolValue = true, - label = "Enable requesting packet intercepts") + //@Property(name = "requestInterceptsEnabled", boolValue = true, + // label = "Enable requesting packet intercepts") private boolean requestInterceptsEnabled = true; - @Property(name = "multihomingEnabled", boolValue = false, - label = "Allow hosts to be multihomed") + //@Property(name = "multihomingEnabled", boolValue = false, + // label = "Allow hosts to be multihomed") private boolean multihomingEnabled = false; private HostProviderService providerService; @@ -185,7 +182,7 @@ public class HostLocationProvider extends AbstractProvider implements HostProvid private ExecutorService probeEventHandler; private ExecutorService packetHandler; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService netcfgService; private ConfigFactory hostLearningConfig = diff --git a/providers/hostprobing/src/main/java/org/onosproject/provider/hostprobing/impl/DefaultHostProbingProvider.java b/providers/hostprobing/src/main/java/org/onosproject/provider/hostprobing/impl/DefaultHostProbingProvider.java index dfcbf0bbdc..d590570c4e 100644 --- a/providers/hostprobing/src/main/java/org/onosproject/provider/hostprobing/impl/DefaultHostProbingProvider.java +++ b/providers/hostprobing/src/main/java/org/onosproject/provider/hostprobing/impl/DefaultHostProbingProvider.java @@ -16,12 +16,6 @@ package org.onosproject.provider.hostprobing.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.ARP; import org.onlab.packet.Ethernet; import org.onlab.packet.IPv6; @@ -53,6 +47,11 @@ import org.onosproject.net.packet.PacketService; import org.onosproject.net.provider.AbstractProvider; import org.onosproject.net.provider.ProviderId; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.nio.ByteBuffer; @@ -69,21 +68,20 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Provider which sends host location probes to discover or verify a host at specific location. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = { HostProvider.class, HostProbingProvider.class }) public class DefaultHostProbingProvider extends AbstractProvider implements HostProvider, HostProbingProvider { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private HostProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private HostProbingProviderRegistry hostProbingProviderRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private MastershipService mastershipService; private HostProviderService providerService; diff --git a/providers/ietfte/topology/src/main/java/org/onosproject/provider/te/topology/TeTopologyRestconfProvider.java b/providers/ietfte/topology/src/main/java/org/onosproject/provider/te/topology/TeTopologyRestconfProvider.java index 82cc93cae2..8bc44da18d 100644 --- a/providers/ietfte/topology/src/main/java/org/onosproject/provider/te/topology/TeTopologyRestconfProvider.java +++ b/providers/ietfte/topology/src/main/java/org/onosproject/provider/te/topology/TeTopologyRestconfProvider.java @@ -34,11 +34,11 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import org.apache.commons.io.IOUtils; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; import org.onosproject.incubator.net.config.basics.ConfigException; @@ -107,25 +107,25 @@ public class TeTopologyRestconfProvider extends AbstractProvider private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceProviderRegistry deviceProviderRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TeTopologyProviderRegistry topologyProviderRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RestConfSBController restconfClient; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected YmsService ymsService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TeTopologyService teTopologyService; private YangCodecHandler codecHandler; diff --git a/providers/ietfte/tunnel/src/main/java/org/onosproject/provider/te/tunnel/TeTunnelRestconfProvider.java b/providers/ietfte/tunnel/src/main/java/org/onosproject/provider/te/tunnel/TeTunnelRestconfProvider.java index 33d33f932d..3c765aa79a 100644 --- a/providers/ietfte/tunnel/src/main/java/org/onosproject/provider/te/tunnel/TeTunnelRestconfProvider.java +++ b/providers/ietfte/tunnel/src/main/java/org/onosproject/provider/te/tunnel/TeTunnelRestconfProvider.java @@ -18,11 +18,11 @@ package org.onosproject.provider.te.tunnel; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ObjectNode; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.incubator.net.tunnel.Tunnel; import org.onosproject.incubator.net.tunnel.TunnelDescription; import org.onosproject.incubator.net.tunnel.TunnelId; @@ -100,22 +100,22 @@ public class TeTunnelRestconfProvider extends AbstractProvider //private final RestconfNotificationEventListener listener = // new InternalTunnelNotificationListener(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RestConfSBController controller; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected YmsService ymsService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TeTunnelService tunnelService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TeTunnelProviderService providerService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TeTopologyService topologyService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TunnelProviderRegistry tunnelProviderRegistry; private YangCodecHandler codecHandler; diff --git a/providers/isis/cfg/src/main/java/org/onosproject/provider/isis/cfg/impl/IsisAppConfig.java b/providers/isis/cfg/src/main/java/org/onosproject/provider/isis/cfg/impl/IsisAppConfig.java index ca5b5bd9bf..a880bd0c7d 100644 --- a/providers/isis/cfg/src/main/java/org/onosproject/provider/isis/cfg/impl/IsisAppConfig.java +++ b/providers/isis/cfg/src/main/java/org/onosproject/provider/isis/cfg/impl/IsisAppConfig.java @@ -17,8 +17,8 @@ package org.onosproject.provider.isis.cfg.impl; import com.fasterxml.jackson.databind.JsonNode; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.osgi.DefaultServiceDirectory; import org.onosproject.core.ApplicationId; import org.onosproject.isis.controller.IsisController; @@ -31,7 +31,7 @@ public class IsisAppConfig extends Config { public static final String METHOD = "method"; public static final String PROCESSES = "processes"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) IsisController isisController; /** diff --git a/providers/isis/cfg/src/main/java/org/onosproject/provider/isis/cfg/impl/IsisCfgProvider.java b/providers/isis/cfg/src/main/java/org/onosproject/provider/isis/cfg/impl/IsisCfgProvider.java index 45000e97d0..f25d00d0b7 100644 --- a/providers/isis/cfg/src/main/java/org/onosproject/provider/isis/cfg/impl/IsisCfgProvider.java +++ b/providers/isis/cfg/src/main/java/org/onosproject/provider/isis/cfg/impl/IsisCfgProvider.java @@ -17,12 +17,6 @@ package org.onosproject.provider.isis.cfg.impl; import com.fasterxml.jackson.databind.JsonNode; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; import org.onosproject.isis.controller.IsisController; @@ -34,6 +28,11 @@ import org.onosproject.net.config.NetworkConfigService; import org.onosproject.net.config.basics.SubjectFactories; import org.onosproject.net.provider.AbstractProvider; import org.onosproject.net.provider.ProviderId; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import static org.slf4j.LoggerFactory.getLogger; @@ -41,8 +40,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * ISIS config provider to validate and populate the configuration. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = IsisCfgProvider.class) public class IsisCfgProvider extends AbstractProvider { private static final String PROVIDER_ID = "org.onosproject.provider.isis.cfg"; @@ -55,13 +53,13 @@ public class IsisCfgProvider extends AbstractProvider { } }; private final NetworkConfigListener configListener = new InternalConfigListener(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IsisController isisController; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry configRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService configService; private ApplicationId appId; diff --git a/providers/isis/cli/src/main/java/org/onosproject/isis/cli/ApplicationIsisCommand.java b/providers/isis/cli/src/main/java/org/onosproject/isis/cli/ApplicationIsisCommand.java index f8566ac905..b531b5f6b9 100644 --- a/providers/isis/cli/src/main/java/org/onosproject/isis/cli/ApplicationIsisCommand.java +++ b/providers/isis/cli/src/main/java/org/onosproject/isis/cli/ApplicationIsisCommand.java @@ -15,8 +15,8 @@ */ package org.onosproject.isis.cli; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Deactivate; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Deactivate; import org.apache.karaf.shell.commands.Argument; import org.apache.karaf.shell.commands.Command; import org.onlab.packet.MacAddress; diff --git a/providers/isis/topology/src/main/java/org/onosproject/provider/isis/topology/impl/IsisTopologyProvider.java b/providers/isis/topology/src/main/java/org/onosproject/provider/isis/topology/impl/IsisTopologyProvider.java index 05f87bbe4f..a8d3fc7d61 100644 --- a/providers/isis/topology/src/main/java/org/onosproject/provider/isis/topology/impl/IsisTopologyProvider.java +++ b/providers/isis/topology/src/main/java/org/onosproject/provider/isis/topology/impl/IsisTopologyProvider.java @@ -16,11 +16,11 @@ package org.onosproject.provider.isis.topology.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.ChassisId; import org.onlab.util.Bandwidth; import org.onosproject.isis.controller.IsisController; @@ -81,15 +81,15 @@ public class IsisTopologyProvider extends AbstractProvider implements DeviceProv // Default values for tunable parameters private static final String UNKNOWN = "unknown"; final InternalTopologyProvider listener = new InternalTopologyProvider(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceProviderRegistry deviceProviderRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkProviderRegistry linkProviderRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService networkConfigService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected IsisController controller; //This Interface that defines how this provider can interact with the core. private LinkProviderService linkProviderService; diff --git a/providers/link/src/main/java/org/onosproject/provider/linkdiscovery/impl/LinkDiscoveryProvider.java b/providers/link/src/main/java/org/onosproject/provider/linkdiscovery/impl/LinkDiscoveryProvider.java index ebf27e1a85..1415290de5 100644 --- a/providers/link/src/main/java/org/onosproject/provider/linkdiscovery/impl/LinkDiscoveryProvider.java +++ b/providers/link/src/main/java/org/onosproject/provider/linkdiscovery/impl/LinkDiscoveryProvider.java @@ -16,13 +16,6 @@ package org.onosproject.provider.linkdiscovery.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -45,6 +38,12 @@ import org.onosproject.net.link.LinkService; import org.onosproject.net.provider.AbstractProvider; import org.onosproject.net.provider.ProviderId; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Dictionary; @@ -74,29 +73,29 @@ public class LinkDiscoveryProvider extends AbstractProvider private static final String LINK_PROVIDER_PACKAGE = "org.onosproject.provider.linkdiscovery"; private final Logger log = getLogger(getClass()); private static final int DEFAULT_POLL_DELAY_SECONDS = 20; - @Property(name = "linkPollDelaySeconds", intValue = DEFAULT_POLL_DELAY_SECONDS, - label = "Initial delay (in seconds) for polling link discovery") + //@Property(name = "linkPollDelaySeconds", intValue = DEFAULT_POLL_DELAY_SECONDS, + // label = "Initial delay (in seconds) for polling link discovery") protected static int linkPollDelaySeconds = DEFAULT_POLL_DELAY_SECONDS; private static final int DEFAULT_POLL_FREQUENCY_SECONDS = 10; - @Property(name = "linkPollFrequencySeconds", intValue = DEFAULT_POLL_FREQUENCY_SECONDS, - label = "Frequency (in seconds) for polling link discovery") + //@Property(name = "linkPollFrequencySeconds", intValue = DEFAULT_POLL_FREQUENCY_SECONDS, + // label = "Frequency (in seconds) for polling link discovery") protected static int linkPollFrequencySeconds = DEFAULT_POLL_FREQUENCY_SECONDS; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; protected ScheduledExecutorService executor = newScheduledThreadPool(2, groupedThreads("onos/netconf-link", "discovery-%d")); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; protected LinkProviderService providerService; diff --git a/providers/lisp/device/src/main/java/org/onosproject/provider/lisp/device/impl/LispDeviceProvider.java b/providers/lisp/device/src/main/java/org/onosproject/provider/lisp/device/impl/LispDeviceProvider.java index 755df17dc5..8317ae87f2 100644 --- a/providers/lisp/device/src/main/java/org/onosproject/provider/lisp/device/impl/LispDeviceProvider.java +++ b/providers/lisp/device/src/main/java/org/onosproject/provider/lisp/device/impl/LispDeviceProvider.java @@ -16,11 +16,11 @@ package org.onosproject.provider.lisp.device.impl; import com.google.common.base.Preconditions; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Deactivate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Deactivate; import org.onlab.packet.ChassisId; import org.onosproject.core.ApplicationId; @@ -57,16 +57,16 @@ public class LispDeviceProvider extends AbstractProvider implements DeviceProvid private static final Logger log = LoggerFactory.getLogger(LispDeviceProvider.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LispController controller; private static final String APP_NAME = "org.onosproject.lisp"; diff --git a/providers/lisp/mapping/src/main/java/org/onosproject/provider/lisp/mapping/impl/LispMappingProvider.java b/providers/lisp/mapping/src/main/java/org/onosproject/provider/lisp/mapping/impl/LispMappingProvider.java index 0a628d5c45..d2ced9641b 100644 --- a/providers/lisp/mapping/src/main/java/org/onosproject/provider/lisp/mapping/impl/LispMappingProvider.java +++ b/providers/lisp/mapping/src/main/java/org/onosproject/provider/lisp/mapping/impl/LispMappingProvider.java @@ -16,11 +16,11 @@ package org.onosproject.provider.lisp.mapping.impl; import com.google.common.collect.Lists; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.lisp.ctl.LispController; import org.onosproject.lisp.ctl.LispMessageListener; import org.onosproject.lisp.ctl.LispRouterId; @@ -61,13 +61,13 @@ public class LispMappingProvider extends AbstractProvider implements MappingProv private static final Logger log = LoggerFactory.getLogger(LispMappingProvider.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LispController controller; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MappingProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; protected MappingProviderService providerService; diff --git a/providers/lisp/message/src/main/java/org/onosproject/provider/lisp/message/impl/LispMessageProvider.java b/providers/lisp/message/src/main/java/org/onosproject/provider/lisp/message/impl/LispMessageProvider.java index 02ea37f541..27533ec2ba 100644 --- a/providers/lisp/message/src/main/java/org/onosproject/provider/lisp/message/impl/LispMessageProvider.java +++ b/providers/lisp/message/src/main/java/org/onosproject/provider/lisp/message/impl/LispMessageProvider.java @@ -15,11 +15,11 @@ */ package org.onosproject.provider.lisp.message.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.metrics.MetricsService; import org.onosproject.lisp.ctl.LispController; import org.onosproject.lisp.ctl.LispMessageListener; @@ -39,10 +39,10 @@ public class LispMessageProvider extends AbstractProvider { private static final Logger log = LoggerFactory.getLogger(LispMessageProvider.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LispController controller; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MetricsService metricsService; private static final String SCHEME_NAME = "lisp"; diff --git a/providers/lldp/src/main/java/org/onosproject/provider/lldp/impl/LldpLinkProvider.java b/providers/lldp/src/main/java/org/onosproject/provider/lldp/impl/LldpLinkProvider.java index 87ca7d757c..e425678d65 100644 --- a/providers/lldp/src/main/java/org/onosproject/provider/lldp/impl/LldpLinkProvider.java +++ b/providers/lldp/src/main/java/org/onosproject/provider/lldp/impl/LldpLinkProvider.java @@ -15,25 +15,9 @@ */ package org.onosproject.provider.lldp.impl; -import java.util.Dictionary; -import java.util.EnumSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.Properties; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.ScheduledExecutorService; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Maps; import org.onlab.packet.Ethernet; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.cluster.ClusterMetadataService; @@ -72,11 +56,25 @@ import org.onosproject.net.provider.ProviderId; import org.onosproject.provider.lldpcommon.LinkDiscovery; import org.onosproject.provider.lldpcommon.LinkDiscoveryContext; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Maps; +import java.util.Dictionary; +import java.util.EnumSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Properties; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.ScheduledExecutorService; import static com.google.common.base.Strings.isNullOrEmpty; import static java.util.concurrent.Executors.newSingleThreadScheduledExecutor; @@ -111,34 +109,34 @@ public class LldpLinkProvider extends AbstractProvider implements ProbedLinkProv private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService masterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry cfgRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterMetadataService clusterMetadataService; private LinkProviderService providerService; @@ -153,25 +151,25 @@ public class LldpLinkProvider extends AbstractProvider implements ProbedLinkProv private static final long LINK_PRUNER_DELAY = 3; private static final String PROP_ENABLED = "enabled"; - @Property(name = PROP_ENABLED, boolValue = true, - label = "If false, link discovery is disabled") + //@Property(name = PROP_ENABLED, boolValue = true, + // label = "If false, link discovery is disabled") private boolean enabled = false; private static final String PROP_USE_BDDP = "useBDDP"; - @Property(name = PROP_USE_BDDP, boolValue = true, - label = "Use BDDP for link discovery") + //@Property(name = PROP_USE_BDDP, boolValue = true, + // label = "Use BDDP for link discovery") private boolean useBddp = true; private static final String PROP_PROBE_RATE = "probeRate"; private static final int DEFAULT_PROBE_RATE = 3000; - @Property(name = PROP_PROBE_RATE, intValue = DEFAULT_PROBE_RATE, - label = "LLDP and BDDP probe rate specified in millis") + //@Property(name = PROP_PROBE_RATE, intValue = DEFAULT_PROBE_RATE, + // label = "LLDP and BDDP probe rate specified in millis") private int probeRate = DEFAULT_PROBE_RATE; private static final String PROP_STALE_LINK_AGE = "staleLinkAge"; private static final int DEFAULT_STALE_LINK_AGE = 10000; - @Property(name = PROP_STALE_LINK_AGE, intValue = DEFAULT_STALE_LINK_AGE, - label = "Number of millis beyond which links will be considered stale") + //@Property(name = PROP_STALE_LINK_AGE, intValue = DEFAULT_STALE_LINK_AGE, + // label = "Number of millis beyond which links will be considered stale") private int staleLinkAge = DEFAULT_STALE_LINK_AGE; private final LinkDiscoveryContext context = new InternalDiscoveryContext(); diff --git a/providers/netcfghost/src/main/java/org/onosproject/provider/netcfghost/NetworkConfigHostProvider.java b/providers/netcfghost/src/main/java/org/onosproject/provider/netcfghost/NetworkConfigHostProvider.java index 38db63ad6f..b820573641 100644 --- a/providers/netcfghost/src/main/java/org/onosproject/provider/netcfghost/NetworkConfigHostProvider.java +++ b/providers/netcfghost/src/main/java/org/onosproject/provider/netcfghost/NetworkConfigHostProvider.java @@ -16,11 +16,11 @@ package org.onosproject.provider.netcfghost; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.EthType; import org.onlab.packet.IpAddress; import org.onlab.packet.MacAddress; @@ -53,13 +53,13 @@ import java.util.stream.Collectors; */ @Component(immediate = true) public class NetworkConfigHostProvider extends AbstractProvider implements HostProvider { - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry networkConfigRegistry; private ApplicationId appId; diff --git a/providers/netcfglinks/src/main/java/org/onosproject/provider/netcfglinks/NetworkConfigLinksProvider.java b/providers/netcfglinks/src/main/java/org/onosproject/provider/netcfglinks/NetworkConfigLinksProvider.java index a15857f510..2d44c5bf95 100644 --- a/providers/netcfglinks/src/main/java/org/onosproject/provider/netcfglinks/NetworkConfigLinksProvider.java +++ b/providers/netcfglinks/src/main/java/org/onosproject/provider/netcfglinks/NetworkConfigLinksProvider.java @@ -15,18 +15,6 @@ */ package org.onosproject.provider.netcfglinks; -import java.util.HashSet; -import java.util.Map; -import java.util.Optional; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onlab.packet.Ethernet; import org.onlab.packet.ONOSLLDP; import org.onosproject.cluster.ClusterMetadataService; @@ -51,9 +39,9 @@ import org.onosproject.net.device.DeviceService; import org.onosproject.net.flow.DefaultTrafficSelector; import org.onosproject.net.flow.TrafficSelector; import org.onosproject.net.link.DefaultLinkDescription; -import org.onosproject.net.link.ProbedLinkProvider; import org.onosproject.net.link.LinkProviderRegistry; import org.onosproject.net.link.LinkProviderService; +import org.onosproject.net.link.ProbedLinkProvider; import org.onosproject.net.packet.InboundPacket; import org.onosproject.net.packet.PacketContext; import org.onosproject.net.packet.PacketPriority; @@ -61,11 +49,22 @@ import org.onosproject.net.packet.PacketProcessor; import org.onosproject.net.packet.PacketService; import org.onosproject.net.provider.AbstractProvider; import org.onosproject.net.provider.ProviderId; -import org.onosproject.provider.lldpcommon.LinkDiscoveryContext; import org.onosproject.provider.lldpcommon.LinkDiscovery; +import org.onosproject.provider.lldpcommon.LinkDiscoveryContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.HashSet; +import java.util.Map; +import java.util.Optional; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; + import static org.onlab.packet.Ethernet.TYPE_BSN; import static org.onlab.packet.Ethernet.TYPE_LLDP; import static org.onosproject.net.PortNumber.portNumber; @@ -80,31 +79,31 @@ public class NetworkConfigLinksProvider extends AbstractProvider implements ProbedLinkProvider { - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketService packetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService masterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry netCfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterMetadataService metadataService; private static final String PROP_PROBE_RATE = "probeRate"; private static final int DEFAULT_PROBE_RATE = 3000; - @Property(name = PROP_PROBE_RATE, intValue = DEFAULT_PROBE_RATE, - label = "LLDP and BDDP probe rate specified in millis") + //@Property(name = PROP_PROBE_RATE, intValue = DEFAULT_PROBE_RATE, + // label = "LLDP and BDDP probe rate specified in millis") private int probeRate = DEFAULT_PROBE_RATE; // Device link discovery helpers. diff --git a/providers/netconf/alarm/src/main/java/org/onosproject/provider/netconf/alarm/NetconfAlarmProvider.java b/providers/netconf/alarm/src/main/java/org/onosproject/provider/netconf/alarm/NetconfAlarmProvider.java index ec4f8ae285..da0fa1cc1d 100644 --- a/providers/netconf/alarm/src/main/java/org/onosproject/provider/netconf/alarm/NetconfAlarmProvider.java +++ b/providers/netconf/alarm/src/main/java/org/onosproject/provider/netconf/alarm/NetconfAlarmProvider.java @@ -18,11 +18,11 @@ package org.onosproject.provider.netconf.alarm; import com.google.common.collect.ImmutableList; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.incubator.net.faultmanagement.alarm.Alarm; import org.onosproject.incubator.net.faultmanagement.alarm.AlarmProvider; import org.onosproject.incubator.net.faultmanagement.alarm.AlarmProviderService; @@ -68,10 +68,10 @@ public class NetconfAlarmProvider extends AbstractProvider implements AlarmProvi private final Logger log = getLogger(getClass()); private final AlarmTranslator translator = new NetconfAlarmTranslator(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected AlarmProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetconfController controller; @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) diff --git a/providers/netconf/device/src/main/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProvider.java b/providers/netconf/device/src/main/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProvider.java index e54e90fc5b..a0626dfb26 100644 --- a/providers/netconf/device/src/main/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProvider.java +++ b/providers/netconf/device/src/main/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProvider.java @@ -19,13 +19,6 @@ package org.onosproject.provider.netconf.device.impl; import com.google.common.base.Objects; import com.google.common.base.Preconditions; import com.google.common.util.concurrent.Striped; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onlab.packet.ChassisId; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; @@ -69,6 +62,12 @@ import org.onosproject.netconf.NetconfDeviceListener; import org.onosproject.netconf.NetconfException; import org.onosproject.netconf.config.NetconfDeviceConfig; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.io.IOException; @@ -106,28 +105,28 @@ public class NetconfDeviceProvider extends AbstractProvider private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetconfController controller; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceKeyAdminService deviceKeyAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService componentConfigService; @@ -142,15 +141,15 @@ public class NetconfDeviceProvider extends AbstractProvider private static final int CORE_POOL_SIZE = 10; private static final int DEFAULT_POLL_FREQUENCY_SECONDS = 30; - @Property(name = "pollFrequency", intValue = DEFAULT_POLL_FREQUENCY_SECONDS, - label = "Configure poll frequency for port status and statistics; " + - "default is 30 sec") + //@Property(name = "pollFrequency", intValue = DEFAULT_POLL_FREQUENCY_SECONDS, + // label = "Configure poll frequency for port status and statistics; " + + // "default is 30 sec") private int pollFrequency = DEFAULT_POLL_FREQUENCY_SECONDS; private static final int DEFAULT_MAX_RETRIES = 5; - @Property(name = "maxRetries", intValue = DEFAULT_MAX_RETRIES, - label = "Configure maximum allowed number of retries for obtaining list of ports; " + - "default is 5 times") + //@Property(name = "maxRetries", intValue = DEFAULT_MAX_RETRIES, + // label = "Configure maximum allowed number of retries for obtaining list of ports; " + + // "default is 5 times") private int maxRetries = DEFAULT_MAX_RETRIES; protected ExecutorService executor = diff --git a/providers/null/src/main/java/org/onosproject/provider/nil/NullProviders.java b/providers/null/src/main/java/org/onosproject/provider/nil/NullProviders.java index 7c45df3e7b..2258f44a84 100644 --- a/providers/null/src/main/java/org/onosproject/provider/nil/NullProviders.java +++ b/providers/null/src/main/java/org/onosproject/provider/nil/NullProviders.java @@ -15,14 +15,6 @@ */ package org.onosproject.provider.nil; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.osgi.DefaultServiceDirectory; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.cluster.ClusterService; @@ -54,6 +46,12 @@ import org.onosproject.net.packet.PacketProviderService; import org.onosproject.net.provider.AbstractProvider; import org.onosproject.net.provider.ProviderId; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.Dictionary; @@ -72,8 +70,7 @@ import static org.slf4j.LoggerFactory.getLogger; * Provider of a fake network environment, i.e. devices, links, hosts, etc. * To be used for benchmarking only. */ -@Component(immediate = true) -@Service(value = NullProviders.class) +@Component(immediate = true, service = NullProviders.class) public class NullProviders { private static final Logger log = getLogger(NullProviders.class); @@ -86,41 +83,41 @@ public class NullProviders { "hostCount={}, packetRate={}, mutationRate={}"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipAdminService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceAdminService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceProviderRegistry deviceProviderRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostProviderRegistry hostProviderRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkProviderRegistry linkProviderRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleProviderRegistry flowRuleProviderRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected GroupProviderRegistry groupProviderRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketProviderRegistry packetProviderRegistry; private final NullDeviceProvider deviceProvider = new NullDeviceProvider(); @@ -140,38 +137,38 @@ public class NullProviders { private TopologySimulator simulator; - @Property(name = "enabled", boolValue = false, - label = "Enables or disables the provider") + //@Property(name = "enabled", boolValue = false, + // label = "Enables or disables the provider") private boolean enabled = false; private static final String DEFAULT_TOPO_SHAPE = "configured"; - @Property(name = "topoShape", value = DEFAULT_TOPO_SHAPE, - label = "Topology shape: configured, linear, reroute, tree, spineleaf, mesh, grid") + //@Property(name = "topoShape", value = DEFAULT_TOPO_SHAPE, + // label = "Topology shape: configured, linear, reroute, tree, spineleaf, mesh, grid") private String topoShape = DEFAULT_TOPO_SHAPE; private static final int DEFAULT_DEVICE_COUNT = 10; - @Property(name = "deviceCount", intValue = DEFAULT_DEVICE_COUNT, - label = "Number of devices to generate") + //@Property(name = "deviceCount", intValue = DEFAULT_DEVICE_COUNT, + // label = "Number of devices to generate") private int deviceCount = DEFAULT_DEVICE_COUNT; private static final int DEFAULT_HOST_COUNT = 5; - @Property(name = "hostCount", intValue = DEFAULT_HOST_COUNT, - label = "Number of host to generate per device") + //@Property(name = "hostCount", intValue = DEFAULT_HOST_COUNT, + // label = "Number of host to generate per device") private int hostCount = DEFAULT_HOST_COUNT; private static final int DEFAULT_PACKET_RATE = 0; - @Property(name = "packetRate", intValue = DEFAULT_PACKET_RATE, - label = "Packet-in/s rate; 0 for no packets") + //@Property(name = "packetRate", intValue = DEFAULT_PACKET_RATE, + // label = "Packet-in/s rate; 0 for no packets") private int packetRate = DEFAULT_PACKET_RATE; private static final double DEFAULT_MUTATION_RATE = 0; - @Property(name = "mutationRate", doubleValue = DEFAULT_MUTATION_RATE, - label = "Link event/s topology mutation rate; 0 for no mutations") + //@Property(name = "mutationRate", doubleValue = DEFAULT_MUTATION_RATE, + // label = "Link event/s topology mutation rate; 0 for no mutations") private double mutationRate = DEFAULT_MUTATION_RATE; private static final String DEFAULT_MASTERSHIP = "random"; - @Property(name = "mastership", value = DEFAULT_MASTERSHIP, - label = "Mastership given as 'random' or 'node1=dpid,dpid/node2=dpid,...'") + //@Property(name = "mastership", value = DEFAULT_MASTERSHIP, + // label = "Mastership given as 'random' or 'node1=dpid,dpid/node2=dpid,...'") private String mastership = DEFAULT_MASTERSHIP; diff --git a/providers/openflow/device/src/main/java/org/onosproject/provider/of/device/impl/OpenFlowDeviceProvider.java b/providers/openflow/device/src/main/java/org/onosproject/provider/of/device/impl/OpenFlowDeviceProvider.java index 8cd387020c..130ad53d94 100644 --- a/providers/openflow/device/src/main/java/org/onosproject/provider/of/device/impl/OpenFlowDeviceProvider.java +++ b/providers/openflow/device/src/main/java/org/onosproject/provider/of/device/impl/OpenFlowDeviceProvider.java @@ -20,13 +20,6 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onlab.packet.ChassisId; import org.onlab.util.Frequency; import org.onlab.util.Spectrum; @@ -73,6 +66,12 @@ import org.onosproject.openflow.controller.OpenFlowSwitchListener; import org.onosproject.openflow.controller.PortDescPropertyType; import org.onosproject.openflow.controller.RoleState; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.projectfloodlight.openflow.protocol.OFCalientPortDescProp; import org.projectfloodlight.openflow.protocol.OFCalientPortDescPropOptical; import org.projectfloodlight.openflow.protocol.OFCalientPortDescStatsEntry; @@ -430,19 +429,19 @@ public class OpenFlowDeviceProvider extends AbstractProvider implements DevicePr private static final long C = 299792458; // speed of light in m/s public static final String SCHEME = "of"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenFlowController controller; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; private DeviceProviderService providerService; @@ -451,14 +450,14 @@ public class OpenFlowDeviceProvider extends AbstractProvider implements DevicePr private static final String POLL_PROP_NAME = "portStatsPollFrequency"; private static final int POLL_INTERVAL = 5; - @Property(name = POLL_PROP_NAME, intValue = POLL_INTERVAL, - label = "Frequency (in seconds) for polling switch Port statistics") + //@Property(name = POLL_PROP_NAME, intValue = POLL_INTERVAL, + //label = "Frequency (in seconds) for polling switch Port statistics") private int portStatsPollFrequency = POLL_INTERVAL; private static final String PROP_FREQ = "propertyFrequency"; private static final boolean DEFAULT_PROP_FREQ = true; - @Property(name = PROP_FREQ, boolValue = DEFAULT_PROP_FREQ, - label = "It indicates frequency must be used instead of wavelength for port tuning.") + //@Property(name = PROP_FREQ, boolValue = DEFAULT_PROP_FREQ, + //label = "It indicates frequency must be used instead of wavelength for port tuning.") private static boolean propFreq = DEFAULT_PROP_FREQ; private final Timer timer = new Timer("onos-openflow-portstats-collector"); diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java index a72c08238d..33ffdb64fb 100644 --- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java +++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java @@ -26,13 +26,12 @@ import com.google.common.collect.Sets; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.core.ApplicationId; import org.onosproject.net.DeviceId; @@ -115,16 +114,16 @@ public class OpenFlowRuleProvider extends AbstractProvider private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected FlowRuleProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenFlowController controller; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; private static final int DEFAULT_POLL_FREQUENCY = 5; @@ -132,12 +131,12 @@ public class OpenFlowRuleProvider extends AbstractProvider private static final int SKIP_BYTES = 4; private static final boolean DEFAULT_ADAPTIVE_FLOW_SAMPLING = false; - @Property(name = "flowPollFrequency", intValue = DEFAULT_POLL_FREQUENCY, - label = "Frequency (in seconds) for polling flow statistics") + //@Property(name = "flowPollFrequency", intValue = DEFAULT_POLL_FREQUENCY, + // label = "Frequency (in seconds) for polling flow statistics") private int flowPollFrequency = DEFAULT_POLL_FREQUENCY; - @Property(name = "adaptiveFlowSampling", boolValue = DEFAULT_ADAPTIVE_FLOW_SAMPLING, - label = "Adaptive Flow Sampling is on or off") + //@Property(name = "adaptiveFlowSampling", boolValue = DEFAULT_ADAPTIVE_FLOW_SAMPLING, + // label = "Adaptive Flow Sampling is on or off") private boolean adaptiveFlowSampling = DEFAULT_ADAPTIVE_FLOW_SAMPLING; private FlowRuleProviderService providerService; diff --git a/providers/openflow/group/src/main/java/org/onosproject/provider/of/group/impl/OpenFlowGroupProvider.java b/providers/openflow/group/src/main/java/org/onosproject/provider/of/group/impl/OpenFlowGroupProvider.java index da8e6941b5..a43c295051 100644 --- a/providers/openflow/group/src/main/java/org/onosproject/provider/of/group/impl/OpenFlowGroupProvider.java +++ b/providers/openflow/group/src/main/java/org/onosproject/provider/of/group/impl/OpenFlowGroupProvider.java @@ -16,26 +16,7 @@ package org.onosproject.provider.of.group.impl; -import static org.onlab.util.Tools.getIntegerProperty; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Dictionary; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.Properties; -import java.util.concurrent.atomic.AtomicLong; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import com.google.common.collect.Maps; import org.onlab.util.ItemNotFoundException; import org.onosproject.cfg.ComponentConfigService; import org.onosproject.core.GroupId; @@ -66,6 +47,12 @@ import org.onosproject.openflow.controller.OpenFlowSwitch; import org.onosproject.openflow.controller.OpenFlowSwitchListener; import org.onosproject.openflow.controller.RoleState; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.projectfloodlight.openflow.protocol.OFBucketCounter; import org.projectfloodlight.openflow.protocol.OFCapabilities; import org.projectfloodlight.openflow.protocol.OFErrorMsg; @@ -86,7 +73,18 @@ import org.projectfloodlight.openflow.protocol.OFVersion; import org.projectfloodlight.openflow.protocol.errormsg.OFGroupModFailedErrorMsg; import org.slf4j.Logger; -import com.google.common.collect.Maps; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Dictionary; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Properties; +import java.util.concurrent.atomic.AtomicLong; + +import static org.onlab.util.Tools.getIntegerProperty; +import static org.slf4j.LoggerFactory.getLogger; /** * Provider which uses an OpenFlow controller to handle Group. @@ -96,22 +94,22 @@ public class OpenFlowGroupProvider extends AbstractProvider implements GroupProv private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenFlowController controller; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected GroupProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected GroupService groupService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; private GroupProviderService providerService; @@ -120,8 +118,8 @@ public class OpenFlowGroupProvider extends AbstractProvider implements GroupProv private static final String COMPONENT = "org.onosproject.provider.of.group.impl.OpenFlowGroupProvider"; private static final String GROUP_POLL_INTERVAL_CONST = "groupPollInterval"; - @Property(name = "groupPollInterval", intValue = DEFAULT_POLL_INTERVAL, - label = "Frequency (in seconds) for polling group statistics") + //@Property(name = "groupPollInterval", intValue = DEFAULT_POLL_INTERVAL, + // label = "Frequency (in seconds) for polling group statistics") private int groupPollInterval = DEFAULT_POLL_INTERVAL; private final InternalGroupProvider listener = new InternalGroupProvider(); diff --git a/providers/openflow/message/src/main/java/org/onosproject/provider/of/message/impl/OpenFlowControlMessageProvider.java b/providers/openflow/message/src/main/java/org/onosproject/provider/of/message/impl/OpenFlowControlMessageProvider.java index 9ad660bfb5..fc60f741f6 100644 --- a/providers/openflow/message/src/main/java/org/onosproject/provider/of/message/impl/OpenFlowControlMessageProvider.java +++ b/providers/openflow/message/src/main/java/org/onosproject/provider/of/message/impl/OpenFlowControlMessageProvider.java @@ -16,11 +16,11 @@ package org.onosproject.provider.of.message.impl; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.metrics.MetricsService; import org.onlab.util.SharedScheduledExecutorService; import org.onlab.util.SharedScheduledExecutors; @@ -59,13 +59,13 @@ public class OpenFlowControlMessageProvider extends AbstractProvider private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ControlMessageProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenFlowController controller; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MetricsService metricsService; private ControlMessageProviderService providerService; diff --git a/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/OpenFlowMeterProvider.java b/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/OpenFlowMeterProvider.java index 87abcd00db..0767230a59 100644 --- a/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/OpenFlowMeterProvider.java +++ b/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/OpenFlowMeterProvider.java @@ -23,11 +23,11 @@ import com.google.common.cache.RemovalCause; import com.google.common.cache.RemovalNotification; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.util.ItemNotFoundException; import org.onosproject.core.CoreService; import org.onosproject.net.driver.Driver; @@ -92,16 +92,16 @@ public class OpenFlowMeterProvider extends AbstractProvider implements MeterProv private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenFlowController controller; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MeterProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; private MeterProviderService providerService; diff --git a/providers/openflow/packet/src/main/java/org/onosproject/provider/of/packet/impl/OpenFlowPacketProvider.java b/providers/openflow/packet/src/main/java/org/onosproject/provider/of/packet/impl/OpenFlowPacketProvider.java index c5e2a87cbe..a363339381 100644 --- a/providers/openflow/packet/src/main/java/org/onosproject/provider/of/packet/impl/OpenFlowPacketProvider.java +++ b/providers/openflow/packet/src/main/java/org/onosproject/provider/of/packet/impl/OpenFlowPacketProvider.java @@ -15,11 +15,11 @@ */ package org.onosproject.provider.of.packet.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.net.ConnectPoint; import org.onosproject.net.DeviceId; import org.onosproject.net.PortNumber; @@ -62,10 +62,10 @@ public class OpenFlowPacketProvider extends AbstractProvider implements PacketPr private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OpenFlowController controller; private PacketProviderService providerService; diff --git a/providers/ospf/cfg/src/main/java/org/onosproject/provider/ospf/cfg/impl/OspfAppConfig.java b/providers/ospf/cfg/src/main/java/org/onosproject/provider/ospf/cfg/impl/OspfAppConfig.java index 23bb87a16c..ca1e461446 100644 --- a/providers/ospf/cfg/src/main/java/org/onosproject/provider/ospf/cfg/impl/OspfAppConfig.java +++ b/providers/ospf/cfg/src/main/java/org/onosproject/provider/ospf/cfg/impl/OspfAppConfig.java @@ -17,8 +17,8 @@ package org.onosproject.provider.ospf.cfg.impl; import com.fasterxml.jackson.databind.JsonNode; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.osgi.DefaultServiceDirectory; import org.onosproject.core.ApplicationId; import org.onosproject.net.config.Config; @@ -31,7 +31,7 @@ public class OspfAppConfig extends Config { public static final String METHOD = "method"; public static final String ATTRIBUTE = "attribute"; public static final String PROCESSES = "processes"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private OspfController ospfController; /** diff --git a/providers/ospf/cfg/src/main/java/org/onosproject/provider/ospf/cfg/impl/OspfCfgProvider.java b/providers/ospf/cfg/src/main/java/org/onosproject/provider/ospf/cfg/impl/OspfCfgProvider.java index e228d969b4..4e62d28b68 100644 --- a/providers/ospf/cfg/src/main/java/org/onosproject/provider/ospf/cfg/impl/OspfCfgProvider.java +++ b/providers/ospf/cfg/src/main/java/org/onosproject/provider/ospf/cfg/impl/OspfCfgProvider.java @@ -16,12 +16,11 @@ package org.onosproject.provider.ospf.cfg.impl; import com.fasterxml.jackson.databind.JsonNode; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; import org.onosproject.net.config.ConfigFactory; @@ -40,8 +39,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Provider which advertises device descriptions to the core. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = OspfCfgProvider.class) public class OspfCfgProvider extends AbstractProvider { static final String PROVIDER_ID = "org.onosproject.provider.ospf.cfg"; @@ -54,15 +52,15 @@ public class OspfCfgProvider extends AbstractProvider { } }; private final NetworkConfigListener configListener = new InternalConfigListener(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OspfController ospfController; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry configRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService configService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OspfController controller; private ApplicationId appId; diff --git a/providers/ospf/cli/src/main/java/org/onosproject/ospf/cli/ApplicationOspfCommand.java b/providers/ospf/cli/src/main/java/org/onosproject/ospf/cli/ApplicationOspfCommand.java index 5ea0826560..06b1042fc4 100644 --- a/providers/ospf/cli/src/main/java/org/onosproject/ospf/cli/ApplicationOspfCommand.java +++ b/providers/ospf/cli/src/main/java/org/onosproject/ospf/cli/ApplicationOspfCommand.java @@ -15,11 +15,11 @@ */ package org.onosproject.ospf.cli; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.apache.karaf.shell.commands.Argument; import org.apache.karaf.shell.commands.Command; import org.onosproject.cli.AbstractShellCommand; @@ -57,7 +57,7 @@ public class ApplicationOspfCommand extends AbstractShellCommand { protected static final String DROTHER = "DROther"; static final String DATABASE = "database"; static final String NEIGHBORLIST = "neighbors"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OspfController ospfController; @Argument(index = 0, name = "name", description = "database|neighborlist", diff --git a/providers/ospf/topology/src/main/java/org/onosproject/provider/ospf/topology/impl/OspfTopologyProvider.java b/providers/ospf/topology/src/main/java/org/onosproject/provider/ospf/topology/impl/OspfTopologyProvider.java index f77cb3e46f..702d61a423 100644 --- a/providers/ospf/topology/src/main/java/org/onosproject/provider/ospf/topology/impl/OspfTopologyProvider.java +++ b/providers/ospf/topology/src/main/java/org/onosproject/provider/ospf/topology/impl/OspfTopologyProvider.java @@ -15,11 +15,11 @@ */ package org.onosproject.provider.ospf.topology.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.ChassisId; import org.onlab.packet.Ip4Address; import org.onosproject.net.AnnotationKeys; @@ -69,13 +69,13 @@ public class OspfTopologyProvider extends AbstractProvider implements DeviceProv // Default values for tunable parameters private static final String UNKNOWN = "unknown"; final InternalTopologyProvider listener = new InternalTopologyProvider(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceProviderRegistry deviceProviderRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkProviderRegistry linkProviderRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OspfController controller; //This Interface that defines how this provider can interact with the core. private LinkProviderService linkProviderService; diff --git a/providers/ovsdb/device/src/main/java/org/onosproject/ovsdb/providers/device/OvsdbDeviceProvider.java b/providers/ovsdb/device/src/main/java/org/onosproject/ovsdb/providers/device/OvsdbDeviceProvider.java index a5200351f9..5fbf3044f9 100644 --- a/providers/ovsdb/device/src/main/java/org/onosproject/ovsdb/providers/device/OvsdbDeviceProvider.java +++ b/providers/ovsdb/device/src/main/java/org/onosproject/ovsdb/providers/device/OvsdbDeviceProvider.java @@ -15,21 +15,6 @@ */ package org.onosproject.ovsdb.providers.device; -import static com.google.common.base.Preconditions.checkNotNull; -import static org.onlab.util.Tools.groupedThreads; -import static org.slf4j.LoggerFactory.getLogger; - -import java.net.URI; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.TimeUnit; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.ChassisId; import org.onlab.packet.IpAddress; import org.onosproject.mastership.MastershipService; @@ -54,27 +39,40 @@ import org.onosproject.ovsdb.controller.OvsdbClientService; import org.onosproject.ovsdb.controller.OvsdbController; import org.onosproject.ovsdb.controller.OvsdbNodeId; import org.onosproject.ovsdb.controller.OvsdbNodeListener; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; +import java.net.URI; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; + +import static com.google.common.base.Preconditions.checkNotNull; +import static org.onlab.util.Tools.groupedThreads; +import static org.slf4j.LoggerFactory.getLogger; + /** * Provider which uses an ovsdb controller to detect device. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = DeviceProvider.class) public class OvsdbDeviceProvider extends AbstractProvider implements DeviceProvider { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OvsdbController controller; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; private DeviceProviderService providerService; diff --git a/providers/ovsdb/host/src/main/java/org/onosproject/ovsdb/provider/host/OvsdbHostProvider.java b/providers/ovsdb/host/src/main/java/org/onosproject/ovsdb/provider/host/OvsdbHostProvider.java index cacbd1a153..9485e9f33f 100644 --- a/providers/ovsdb/host/src/main/java/org/onosproject/ovsdb/provider/host/OvsdbHostProvider.java +++ b/providers/ovsdb/host/src/main/java/org/onosproject/ovsdb/provider/host/OvsdbHostProvider.java @@ -15,19 +15,6 @@ */ package org.onosproject.ovsdb.provider.host; -import static com.google.common.base.Preconditions.checkNotNull; -import static org.onlab.util.Tools.toHex; -import static org.slf4j.LoggerFactory.getLogger; - -import java.net.URI; -import java.net.URISyntaxException; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.packet.VlanId; import org.onosproject.core.CoreService; import org.onosproject.net.DefaultAnnotations; @@ -49,22 +36,33 @@ import org.onosproject.ovsdb.controller.OvsdbController; import org.onosproject.ovsdb.controller.OvsdbEvent; import org.onosproject.ovsdb.controller.OvsdbEventListener; import org.onosproject.ovsdb.controller.OvsdbEventSubject; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; +import java.net.URI; +import java.net.URISyntaxException; + +import static com.google.common.base.Preconditions.checkNotNull; +import static org.onlab.util.Tools.toHex; +import static org.slf4j.LoggerFactory.getLogger; + /** * Provider which uses an ovsdb controller to detect host. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = HostProvider.class) public class OvsdbHostProvider extends AbstractProvider implements HostProvider { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected HostProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected OvsdbController controller; private HostProviderService providerService; diff --git a/providers/ovsdb/tunnel/src/main/java/org/onosproject/ovsdb/provider/tunnel/OvsdbTunnelProvider.java b/providers/ovsdb/tunnel/src/main/java/org/onosproject/ovsdb/provider/tunnel/OvsdbTunnelProvider.java index 264e05b484..af919b12bf 100644 --- a/providers/ovsdb/tunnel/src/main/java/org/onosproject/ovsdb/provider/tunnel/OvsdbTunnelProvider.java +++ b/providers/ovsdb/tunnel/src/main/java/org/onosproject/ovsdb/provider/tunnel/OvsdbTunnelProvider.java @@ -15,14 +15,6 @@ */ package org.onosproject.ovsdb.provider.tunnel; -import static org.slf4j.LoggerFactory.getLogger; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.incubator.net.tunnel.Tunnel; import org.onosproject.incubator.net.tunnel.TunnelDescription; import org.onosproject.incubator.net.tunnel.TunnelId; @@ -33,18 +25,24 @@ import org.onosproject.net.ElementId; import org.onosproject.net.Path; import org.onosproject.net.provider.AbstractProvider; import org.onosproject.net.provider.ProviderId; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; +import static org.slf4j.LoggerFactory.getLogger; + /** * Provider which uses when tunnel added/removed. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = TunnelProvider.class) public class OvsdbTunnelProvider extends AbstractProvider implements TunnelProvider { private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TunnelProviderRegistry providerRegistry; private TunnelProviderService providerService; diff --git a/providers/p4runtime/packet/src/main/java/org/onosproject/provider/p4runtime/packet/impl/P4RuntimePacketProvider.java b/providers/p4runtime/packet/src/main/java/org/onosproject/provider/p4runtime/packet/impl/P4RuntimePacketProvider.java index 8693effbe0..22cfc02bf7 100644 --- a/providers/p4runtime/packet/src/main/java/org/onosproject/provider/p4runtime/packet/impl/P4RuntimePacketProvider.java +++ b/providers/p4runtime/packet/src/main/java/org/onosproject/provider/p4runtime/packet/impl/P4RuntimePacketProvider.java @@ -17,11 +17,11 @@ package org.onosproject.provider.p4runtime.packet.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.mastership.MastershipService; import org.onosproject.net.Device; import org.onosproject.net.DeviceId; @@ -59,16 +59,16 @@ public class P4RuntimePacketProvider extends AbstractProvider implements PacketP private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected P4RuntimeController controller; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PacketProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; private PacketProviderService providerService; diff --git a/providers/pcep/topology/src/main/java/org/onosproject/provider/pcep/topology/impl/PcepTopologyProvider.java b/providers/pcep/topology/src/main/java/org/onosproject/provider/pcep/topology/impl/PcepTopologyProvider.java index c4f6a50c23..d0f8c1b4ac 100644 --- a/providers/pcep/topology/src/main/java/org/onosproject/provider/pcep/topology/impl/PcepTopologyProvider.java +++ b/providers/pcep/topology/src/main/java/org/onosproject/provider/pcep/topology/impl/PcepTopologyProvider.java @@ -15,11 +15,11 @@ */ package org.onosproject.provider.pcep.topology.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.ChassisId; import org.onosproject.net.ConnectPoint; import org.onosproject.net.DefaultAnnotations; @@ -92,25 +92,25 @@ public class PcepTopologyProvider extends AbstractProvider private static final Logger log = LoggerFactory .getLogger(PcepTopologyProvider.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkProviderRegistry linkProviderRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceProviderRegistry deviceProviderRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PcepController controller; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PcepClientController pcepClientController; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry netConfigRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigService netConfigService; private DeviceProviderService deviceProviderService; diff --git a/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelProvider.java b/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelProvider.java index 4b7b6058cb..41215baf58 100644 --- a/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelProvider.java +++ b/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelProvider.java @@ -16,14 +16,6 @@ package org.onosproject.provider.pcep.tunnel.impl; import com.google.common.collect.Maps; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.graph.ScalarWeight; import org.onlab.packet.Ip4Address; import org.onlab.packet.IpAddress; @@ -88,8 +80,8 @@ import org.onosproject.pcep.server.PcepClientListener; import org.onosproject.pcep.server.PcepEventListener; import org.onosproject.pcep.server.PcepLspStatus; import org.onosproject.pcep.server.PcepLspSyncAction; -import org.onosproject.pcep.server.SrpIdGenerators; import org.onosproject.pcep.server.PcepSyncStatus; +import org.onosproject.pcep.server.SrpIdGenerators; import org.onosproject.pcepio.exceptions.PcepParseException; import org.onosproject.pcepio.protocol.PcInitiatedLspRequest; import org.onosproject.pcepio.protocol.PcepAttribute; @@ -114,7 +106,12 @@ import org.onosproject.pcepio.types.SrEroSubObject; import org.onosproject.pcepio.types.StatefulIPv4LspIdentifiersTlv; import org.onosproject.pcepio.types.SymbolicPathNameTlv; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import java.util.ArrayList; @@ -136,39 +133,38 @@ import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Strings.isNullOrEmpty; import static org.onlab.util.Tools.get; import static org.onosproject.incubator.net.tunnel.Tunnel.State.INIT; +import static org.onosproject.incubator.net.tunnel.Tunnel.State.UNSTABLE; import static org.onosproject.incubator.net.tunnel.Tunnel.Type.MPLS; import static org.onosproject.net.DefaultAnnotations.EMPTY; import static org.onosproject.net.DeviceId.deviceId; import static org.onosproject.net.PortNumber.portNumber; import static org.onosproject.pcep.api.PcepDpid.uri; -import static org.onosproject.pcep.server.LspType.WITH_SIGNALLING; import static org.onosproject.pcep.server.LspType.SR_WITHOUT_SIGNALLING; import static org.onosproject.pcep.server.LspType.WITHOUT_SIGNALLING_AND_WITHOUT_SR; +import static org.onosproject.pcep.server.LspType.WITH_SIGNALLING; import static org.onosproject.pcep.server.PcepAnnotationKeys.BANDWIDTH; +import static org.onosproject.pcep.server.PcepAnnotationKeys.COST_TYPE; +import static org.onosproject.pcep.server.PcepAnnotationKeys.DELEGATE; import static org.onosproject.pcep.server.PcepAnnotationKeys.LOCAL_LSP_ID; import static org.onosproject.pcep.server.PcepAnnotationKeys.LSP_SIG_TYPE; import static org.onosproject.pcep.server.PcepAnnotationKeys.PCC_TUNNEL_ID; import static org.onosproject.pcep.server.PcepAnnotationKeys.PCE_INIT; import static org.onosproject.pcep.server.PcepAnnotationKeys.PLSP_ID; -import static org.onosproject.pcep.server.PcepAnnotationKeys.DELEGATE; -import static org.onosproject.pcep.server.PcepAnnotationKeys.COST_TYPE; -import static org.onosproject.provider.pcep.tunnel.impl.RequestType.CREATE; -import static org.onosproject.provider.pcep.tunnel.impl.RequestType.DELETE; -import static org.onosproject.provider.pcep.tunnel.impl.RequestType.LSP_STATE_RPT; -import static org.onosproject.provider.pcep.tunnel.impl.RequestType.UPDATE; -import static org.onosproject.incubator.net.tunnel.Tunnel.State.UNSTABLE; import static org.onosproject.pcep.server.PcepLspSyncAction.REMOVE; import static org.onosproject.pcep.server.PcepLspSyncAction.SEND_UPDATE; import static org.onosproject.pcepio.protocol.ver1.PcepMetricObjectVer1.IGP_METRIC; import static org.onosproject.pcepio.protocol.ver1.PcepMetricObjectVer1.TE_METRIC; +import static org.onosproject.provider.pcep.tunnel.impl.RequestType.CREATE; +import static org.onosproject.provider.pcep.tunnel.impl.RequestType.DELETE; +import static org.onosproject.provider.pcep.tunnel.impl.RequestType.LSP_STATE_RPT; +import static org.onosproject.provider.pcep.tunnel.impl.RequestType.UPDATE; import static org.slf4j.LoggerFactory.getLogger; /** * Provider which uses an PCEP controller to detect, update, create network * tunnels. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = TunnelProvider.class) public class PcepTunnelProvider extends AbstractProvider implements TunnelProvider { private static final Logger log = getLogger(PcepTunnelProvider.class); @@ -183,37 +179,37 @@ public class PcepTunnelProvider extends AbstractProvider implements TunnelProvid public static final String LSRID = "lsrId"; static final int POLL_INTERVAL = 10; - @Property(name = "tunnelStatsPollFrequency", intValue = POLL_INTERVAL, - label = "Frequency (in seconds) for polling tunnel statistics") + //@Property(name = "tunnelStatsPollFrequency", intValue = POLL_INTERVAL, + // label = "Frequency (in seconds) for polling tunnel statistics") private int tunnelStatsPollFrequency = POLL_INTERVAL; private static final String TUNNLE_NOT_NULL = "Create failed,The given port may be wrong or has been occupied."; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TunnelProviderRegistry tunnelProviderRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PcepController controller; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PcepClientController pcepClientController; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TunnelService tunnelService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService cfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected TunnelAdminService tunnelAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected LinkService linkService; TunnelProviderService service; diff --git a/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/TunnelStatsCollector.java b/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/TunnelStatsCollector.java index c629f61359..bae93fcff7 100644 --- a/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/TunnelStatsCollector.java +++ b/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/TunnelStatsCollector.java @@ -17,8 +17,8 @@ package org.onosproject.provider.pcep.tunnel.impl; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.util.Timer; import org.onosproject.pcep.api.PcepController; import org.slf4j.Logger; @@ -35,7 +35,7 @@ import java.util.concurrent.TimeUnit; public class TunnelStatsCollector implements TimerTask { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected PcepController controller; private int refreshInterval; diff --git a/providers/rest/device/src/main/java/org/onosproject/provider/rest/device/impl/RestDeviceProvider.java b/providers/rest/device/src/main/java/org/onosproject/provider/rest/device/impl/RestDeviceProvider.java index e6d8b7b23e..e63e6e07b5 100644 --- a/providers/rest/device/src/main/java/org/onosproject/provider/rest/device/impl/RestDeviceProvider.java +++ b/providers/rest/device/src/main/java/org/onosproject/provider/rest/device/impl/RestDeviceProvider.java @@ -18,13 +18,6 @@ package org.onosproject.provider.rest.device.impl; import com.google.common.base.Objects; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Property; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onlab.packet.ChassisId; import org.onlab.util.SharedExecutors; import org.onlab.util.SharedScheduledExecutorService; @@ -68,6 +61,12 @@ import org.onosproject.protocol.rest.DefaultRestSBDevice; import org.onosproject.protocol.rest.RestSBController; import org.onosproject.protocol.rest.RestSBDevice; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import javax.ws.rs.ProcessingException; @@ -98,7 +97,7 @@ import static org.slf4j.LoggerFactory.getLogger; /** * Provider for devices that use REST as means of configuration communication. */ -@Component(immediate = true) +@Component(immediate = true, service = DeviceProvider.class) public class RestDeviceProvider extends AbstractProvider implements DeviceProvider { private static final String APP_NAME = "org.onosproject.restsb"; @@ -112,31 +111,31 @@ public class RestDeviceProvider extends AbstractProvider private static final int EXECUTOR_THREAD_POOL_SIZE = 8; private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected RestSBController controller; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry netCfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ComponentConfigService compCfgService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; private static final int DEFAULT_POLL_FREQUENCY_SECONDS = 30; - @Property(name = POLL_FREQUENCY, intValue = DEFAULT_POLL_FREQUENCY_SECONDS, - label = "Configure poll frequency for port status and statistics; " + - "default is 30 seconds") + //@Property(name = POLL_FREQUENCY, intValue = DEFAULT_POLL_FREQUENCY_SECONDS, + // label = "Configure poll frequency for port status and statistics; " + + // "default is 30 seconds") private int pollFrequency = DEFAULT_POLL_FREQUENCY_SECONDS; private DeviceProviderService providerService; diff --git a/providers/snmp/alarm/src/main/java/org/onosproject/provider/snmp/alarm/impl/SnmpAlarmProvider.java b/providers/snmp/alarm/src/main/java/org/onosproject/provider/snmp/alarm/impl/SnmpAlarmProvider.java index 49874dd47e..1b29e001e8 100644 --- a/providers/snmp/alarm/src/main/java/org/onosproject/provider/snmp/alarm/impl/SnmpAlarmProvider.java +++ b/providers/snmp/alarm/src/main/java/org/onosproject/provider/snmp/alarm/impl/SnmpAlarmProvider.java @@ -17,12 +17,12 @@ package org.onosproject.provider.snmp.alarm.impl; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.IpAddress; import org.onosproject.cluster.ClusterService; import org.onosproject.core.ApplicationId; @@ -80,25 +80,25 @@ public class SnmpAlarmProvider extends AbstractProvider public static final String COLON = ":"; private final Logger log = getLogger(SnmpAlarmProvider.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected SnmpController controller; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected AlarmProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DriverService driverService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected ClusterService clusterService; private static final String APP_NAME = "org.onosproject.snmp"; diff --git a/providers/snmp/device/src/main/java/org/onosproject/provider/snmp/device/impl/SnmpDeviceProvider.java b/providers/snmp/device/src/main/java/org/onosproject/provider/snmp/device/impl/SnmpDeviceProvider.java index 66ee7c5c10..ddd81c7bba 100644 --- a/providers/snmp/device/src/main/java/org/onosproject/provider/snmp/device/impl/SnmpDeviceProvider.java +++ b/providers/snmp/device/src/main/java/org/onosproject/provider/snmp/device/impl/SnmpDeviceProvider.java @@ -15,12 +15,12 @@ */ package org.onosproject.provider.snmp.device.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Modified; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.ChassisId; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -75,22 +75,22 @@ public class SnmpDeviceProvider extends AbstractProvider private static final String APP_NAME = "org.onosproject.snmp"; protected static final String SCHEME = "snmp"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected SnmpController controller; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceStore deviceStore; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry netCfgService; protected DeviceProviderService providerService; diff --git a/providers/tl1/device/src/main/java/org/onosproject/provider/tl1/device/impl/Tl1DeviceProvider.java b/providers/tl1/device/src/main/java/org/onosproject/provider/tl1/device/impl/Tl1DeviceProvider.java index b9a623747e..23f7ad26b5 100644 --- a/providers/tl1/device/src/main/java/org/onosproject/provider/tl1/device/impl/Tl1DeviceProvider.java +++ b/providers/tl1/device/src/main/java/org/onosproject/provider/tl1/device/impl/Tl1DeviceProvider.java @@ -15,11 +15,11 @@ */ package org.onosproject.provider.tl1.device.impl; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.ChassisId; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -77,22 +77,22 @@ public class Tl1DeviceProvider extends AbstractProvider implements DeviceProvide private final Logger log = getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry cfgRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceAdminService deviceAdminService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected Tl1Controller controller; private ApplicationId appId; diff --git a/providers/xmpp/device/src/main/java/org/onosproject/provider/xmpp/device/impl/XmppDeviceProvider.java b/providers/xmpp/device/src/main/java/org/onosproject/provider/xmpp/device/impl/XmppDeviceProvider.java index 069fc050f1..6d9967ee13 100644 --- a/providers/xmpp/device/src/main/java/org/onosproject/provider/xmpp/device/impl/XmppDeviceProvider.java +++ b/providers/xmpp/device/src/main/java/org/onosproject/provider/xmpp/device/impl/XmppDeviceProvider.java @@ -17,11 +17,11 @@ package org.onosproject.provider.xmpp.device.impl; import com.google.common.base.Preconditions; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onlab.packet.ChassisId; import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; @@ -68,16 +68,16 @@ public class XmppDeviceProvider extends AbstractProvider implements DeviceProvid private static final String SERIAL_NUMBER = "unknown"; private static final String IS_NULL_MSG = "XMPP device info is null"; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceProviderRegistry providerRegistry; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected XmppController controller; protected DeviceProviderService providerService; diff --git a/tools/build/bazel/generate_workspace.bzl b/tools/build/bazel/generate_workspace.bzl index 44da091b78..ba08e48464 100644 --- a/tools/build/bazel/generate_workspace.bzl +++ b/tools/build/bazel/generate_workspace.bzl @@ -1,4 +1,4 @@ -# ***** This file was auto-generated at Mon, 10 Sep 2018 20:10:18 GMT. Do not edit this file manually. ***** +# ***** This file was auto-generated at Wed, 26 Sep 2018 23:17:38 GMT. Do not edit this file manually. ***** # ***** Use onos-lib-gen ***** load("//tools/build/bazel:variables.bzl", "ONOS_GROUP_ID", "ONOS_VERSION") @@ -17,13 +17,14 @@ COMPILE = [ "@com_google_guava_guava//jar", "@slf4j_api//jar", "@osgi_core//jar", - "@org_osgi_compendium//jar", - "@org_apache_felix_scr_annotations//jar", - "@org_apache_felix_scr//jar", + "@org_osgi_util_promise//jar", + "@org_osgi_service_component//jar", + "@org_osgi_service_component_annotations//jar", + "@org_osgi_service_metatype_annotations//jar", "@org_apache_karaf_features_core//jar", "@org_apache_karaf_system_core//jar", - "@com_google_code_findbugs_jsr305//jar", "@org_apache_servicemix_bundles_dom4j//jar", + "@com_google_code_findbugs_jsr305//jar", ] CORE_DEPS = [] + COMPILE + [ "//core/api:onos-api", @@ -97,7 +98,7 @@ KRYO = [ "@objenesis//jar", ] CLI = [ - "@org_apache_karaf_shell_console//jar", + "@org_apache_karaf_shell_core//jar", "//cli:onos-cli", ] REST = [ @@ -150,9 +151,9 @@ def generated_maven_jars(): if "asm" not in native.existing_rules(): java_import_external( name = "asm", - jar_sha256 = "896618ed8ae62702521a78bc7be42b7c491a08e6920a15f89a3ecdec31e9a220", + jar_sha256 = "3e5ea0d7da2c5155ef4f470d9092d42de34e3f53db6589c7c07d6721adf4ba3e", licenses = ["notice"], - jar_urls = ["http://repo1.maven.org/maven2/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar"], ) + jar_urls = ["http://repo1.maven.org/maven2/org/ow2/asm/asm/5.2/asm-5.2.jar"], ) if "atomix" not in native.existing_rules(): java_import_external( name = "atomix", @@ -237,12 +238,6 @@ def generated_maven_jars(): jar_sha256 = "f877d304660ac2a142f3865badfc971dec7ed73c747c7f8d5d2f5139ca736513", licenses = ["notice"], jar_urls = ["http://repo1.maven.org/maven2/commons-io/commons-io/2.6/commons-io-2.6.jar"], ) - if "commons_jxpath" not in native.existing_rules(): - java_import_external( - name = "commons_jxpath", - jar_sha256 = "fcbc0ad917d9d6a73c6df21fac322e00d213ef19cd94815a007c407a8a3ff449", - licenses = ["notice"], - jar_urls = ["http://repo1.maven.org/maven2/commons-jxpath/commons-jxpath/1.3/commons-jxpath-1.3.jar"], ) if "commons_beanutils" not in native.existing_rules(): java_import_external( name = "commons_beanutils", @@ -546,39 +541,45 @@ def generated_maven_jars(): if "jetty_util" not in native.existing_rules(): java_import_external( name = "jetty_util", - jar_sha256 = "142328025e98dbe91e89b1f0cbd747277d4121dfb0519d946b1a1d0f7fc564a9", + jar_sha256 = "936e5ed74275c16164cc1eccaeae55900eb00edd9f1b1d3b83d70782dd25f505", licenses = ["notice"], - jar_urls = ["http://repo1.maven.org/maven2/org/eclipse/jetty/jetty-util/9.2.21.v20170120/jetty-util-9.2.21.v20170120.jar"], ) + jar_urls = ["http://repo1.maven.org/maven2/org/eclipse/jetty/jetty-util/9.4.11.v20180605/jetty-util-9.4.11.v20180605.jar"], ) + if "jetty_websocket_api" not in native.existing_rules(): + java_import_external( + name = "jetty_websocket_api", + jar_sha256 = "924edcf7fb17f2ff2e541afce7fd692305235e51b5a16f7223d7e8b4de77559d", + licenses = ["notice"], + jar_urls = ["http://repo1.maven.org/maven2/org/eclipse/jetty/websocket/websocket-api/9.4.11.v20180605/websocket-api-9.4.11.v20180605.jar"], ) if "jetty_websocket" not in native.existing_rules(): java_import_external( name = "jetty_websocket", - jar_sha256 = "c8c07c9200cc8e3353efa6d9505e8ae4405107c84c282fd595ad83738570a5b8", + jar_sha256 = "76f52b482ad174944e07f552cbfaaa2ccf498063e0a3837bb930eee8a06373aa", licenses = ["notice"], - jar_urls = ["http://repo1.maven.org/maven2/org/eclipse/jetty/jetty-websocket/8.1.19.v20160209/jetty-websocket-8.1.19.v20160209.jar"], ) + jar_urls = ["http://repo1.maven.org/maven2/org/eclipse/jetty/websocket/websocket-servlet/9.4.11.v20180605/websocket-servlet-9.4.11.v20180605.jar"], ) if "jetty_server" not in native.existing_rules(): java_import_external( name = "jetty_server", - jar_sha256 = "b47f7bdf72133e7dfd30fc8ae6f08080f2a808026102bd194b70bba98fd5fa7e", + jar_sha256 = "b74af5ac482b05c242ed231e00b7c08a0b6649f76f2e039a0885de0cf1376ef8", licenses = ["notice"], - jar_urls = ["http://repo1.maven.org/maven2/org/eclipse/jetty/jetty-server/9.2.21.v20170120/jetty-server-9.2.21.v20170120.jar"], ) + jar_urls = ["http://repo1.maven.org/maven2/org/eclipse/jetty/jetty-server/9.4.11.v20180605/jetty-server-9.4.11.v20180605.jar"], ) if "jetty_continuation" not in native.existing_rules(): java_import_external( name = "jetty_continuation", - jar_sha256 = "fb20fe3c416d1f1e24652ab47d2447e2b7a5660c9eb7df558d2d94fa57f01808", + jar_sha256 = "0af8353dbe4ab06fb0020a380be60b2c2a63cd9430f5f199509ecd51dc3dd7cd", licenses = ["notice"], - jar_urls = ["http://repo1.maven.org/maven2/org/eclipse/jetty/jetty-continuation/9.2.21.v20170120/jetty-continuation-9.2.21.v20170120.jar"], ) + jar_urls = ["http://repo1.maven.org/maven2/org/eclipse/jetty/jetty-continuation/9.4.11.v20180605/jetty-continuation-9.4.11.v20180605.jar"], ) if "jetty_http" not in native.existing_rules(): java_import_external( name = "jetty_http", - jar_sha256 = "aa6d9a264789f7f81da2267bc6472ec5ba3e42295fcab2d3e4df31ecd0afb608", + jar_sha256 = "963b75730aa92b0dfbe65fe8a2e413edc88aeb53e8686ba6b1617d7caeb14067", licenses = ["notice"], - jar_urls = ["http://repo1.maven.org/maven2/org/eclipse/jetty/jetty-http/9.2.21.v20170120/jetty-http-9.2.21.v20170120.jar"], ) + jar_urls = ["http://repo1.maven.org/maven2/org/eclipse/jetty/jetty-http/9.4.11.v20180605/jetty-http-9.4.11.v20180605.jar"], ) if "jetty_io" not in native.existing_rules(): java_import_external( name = "jetty_io", - jar_sha256 = "8876d060969e0ea6d761cca5fdab9be703c85b2c9310ea638e5188ab540ebaea", + jar_sha256 = "75c82d6e542a3518e2517c4084c83d8216ec2d2458f8747b8b5c944355ebd732", licenses = ["notice"], - jar_urls = ["http://repo1.maven.org/maven2/org/eclipse/jetty/jetty-io/9.2.21.v20170120/jetty-io-9.2.21.v20170120.jar"], ) + jar_urls = ["http://repo1.maven.org/maven2/org/eclipse/jetty/jetty-io/9.4.11.v20180605/jetty-io-9.4.11.v20180605.jar"], ) if "javax_servlet_api" not in native.existing_rules(): java_import_external( name = "javax_servlet_api", @@ -759,36 +760,66 @@ def generated_maven_jars(): jar_sha256 = "b5bd490435fd6910ac9d2e0f1b2d71c68d9ff7261bfd0e70c4a0f8ea970c2785", licenses = ["notice"], jar_urls = ["http://repo1.maven.org/maven2/org/onosproject/openflowj/3.2.1.onos/openflowj-3.2.1.onos.jar"], ) - if "org_apache_felix_framework_security" not in native.existing_rules(): + if "org_osgi_util_function" not in native.existing_rules(): java_import_external( - name = "org_apache_felix_framework_security", - jar_sha256 = "53e1333f563b8b00dfb953802ebbc1b91e4bfe2278b79ebdc0e561d46ccb50db", + name = "org_osgi_util_function", + jar_sha256 = "83d52d198f8bdd4cd9a02ecb7f05e01e0d59d1c960256db6dccd16962f79d7c5", licenses = ["notice"], - jar_urls = ["http://repo1.maven.org/maven2/org/onosproject/org.apache.felix.framework.security/2.2.0.onos/org.apache.felix.framework.security-2.2.0.onos.jar"], ) - if "org_apache_felix_scr" not in native.existing_rules(): + jar_urls = ["http://repo1.maven.org/maven2/org/osgi/org.osgi.util.function/1.1.0/org.osgi.util.function-1.1.0.jar"], ) + if "org_osgi_util_promise" not in native.existing_rules(): java_import_external( - name = "org_apache_felix_scr", - jar_sha256 = "19d395d8800d5546397211edc209e2e42d0ee500c93aca9d04ce69e4288f41d9", + name = "org_osgi_util_promise", + jar_sha256 = "a679e25688e84e1739831e8716a2cc7acbf8348e22f1136d1988e34472e43756", licenses = ["notice"], - jar_urls = ["http://repo1.maven.org/maven2/org/apache/felix/org.apache.felix.scr/1.8.2/org.apache.felix.scr-1.8.2.jar"], ) - if "org_apache_felix_scr_annotations" not in native.existing_rules(): + jar_urls = ["http://repo1.maven.org/maven2/org/osgi/org.osgi.util.promise/1.1.0/org.osgi.util.promise-1.1.0.jar"], ) + if "org_osgi_service_component" not in native.existing_rules(): java_import_external( - name = "org_apache_felix_scr_annotations", - jar_sha256 = "c1d6895b5f45351dfbc4290698aeab00ad013339067abfbe73c047b795e72c47", + name = "org_osgi_service_component", + jar_sha256 = "607b85148c03e9385b91dd355200aeda3cbfaa6374edba737a9460aac5d576e1", licenses = ["notice"], - jar_urls = ["http://repo1.maven.org/maven2/org/apache/felix/org.apache.felix.scr.annotations/1.9.12/org.apache.felix.scr.annotations-1.9.12.jar"], ) + jar_urls = ["http://repo1.maven.org/maven2/org/osgi/org.osgi.service.component/1.4.0/org.osgi.service.component-1.4.0.jar"], ) + if "org_osgi_service_component_annotations" not in native.existing_rules(): + java_import_external( + name = "org_osgi_service_component_annotations", + jar_sha256 = "8de7c6753f00edc81df24059dcd2efd67fedcd9b020bbcc6aaa170f4a34c010c", + licenses = ["notice"], + jar_urls = ["http://repo1.maven.org/maven2/org/osgi/org.osgi.service.component.annotations/1.4.0/org.osgi.service.component.annotations-1.4.0.jar"], ) + if "org_osgi_service_metatype_annotations" not in native.existing_rules(): + java_import_external( + name = "org_osgi_service_metatype_annotations", + jar_sha256 = "c768e569389a25ce0ef2ce32ce9de05624ec093f2f275ce430da573aba554bcb", + licenses = ["notice"], + jar_urls = ["http://repo1.maven.org/maven2/org/osgi/org.osgi.service.metatype.annotations/1.4.0/org.osgi.service.metatype.annotations-1.4.0.jar"], ) + if "org_osgi_service_cm" not in native.existing_rules(): + java_import_external( + name = "org_osgi_service_cm", + jar_sha256 = "c1768352603abdeb18ca160ac8c712768f88d2e418fe4c5cf50845e783154233", + licenses = ["notice"], + jar_urls = ["http://repo1.maven.org/maven2/org/osgi/org.osgi.service.cm/1.6.0/org.osgi.service.cm-1.6.0.jar"], ) + if "org_apache_felix_scr_bnd" not in native.existing_rules(): + java_import_external( + name = "org_apache_felix_scr_bnd", + jar_sha256 = "fee253dd67f87481c1d29f5ba6e6158604f722eac8b35bce868e3693ee00ccac", + licenses = ["notice"], + jar_urls = ["http://repo1.maven.org/maven2/org/apache/felix/org.apache.felix.scr.bnd/1.9.0/org.apache.felix.scr.bnd-1.9.0.jar"], ) if "org_apache_karaf_features_core" not in native.existing_rules(): java_import_external( name = "org_apache_karaf_features_core", - jar_sha256 = "d958d6bdf747576d5a8a878196aabf75dff00d47ccd8eaaa083685ba4394e86d", + jar_sha256 = "c659659cd095c6c7026d4f99ebbc5fa946f0177f750e33fca0410cf83d657137", licenses = ["notice"], - jar_urls = ["http://repo1.maven.org/maven2/org/apache/karaf/features/org.apache.karaf.features.core/3.0.8/org.apache.karaf.features.core-3.0.8.jar"], ) + jar_urls = ["http://repo1.maven.org/maven2/org/apache/karaf/features/org.apache.karaf.features.core/4.2.1/org.apache.karaf.features.core-4.2.1.jar"], ) if "org_apache_karaf_shell_console" not in native.existing_rules(): java_import_external( name = "org_apache_karaf_shell_console", - jar_sha256 = "fbaf38c8dcc5a86116c01c863f0360cab025fbc6b40a08e6823c969c959da716", + jar_sha256 = "c87ef5c61745456ded1b2c7652071c83f45de6f3af95b7e290eebafb10870aa3", licenses = ["notice"], - jar_urls = ["http://repo1.maven.org/maven2/org/apache/karaf/shell/org.apache.karaf.shell.console/3.0.8/org.apache.karaf.shell.console-3.0.8.jar"], ) + jar_urls = ["http://repo1.maven.org/maven2/org/apache/karaf/shell/org.apache.karaf.shell.console/4.2.1/org.apache.karaf.shell.console-4.2.1.jar"], ) + if "org_apache_karaf_shell_core" not in native.existing_rules(): + java_import_external( + name = "org_apache_karaf_shell_core", + jar_sha256 = "7da0d63b450c24c221280be764eae9d117f296c1b5a7e10d424ba14c32f733c8", + licenses = ["notice"], + jar_urls = ["http://repo1.maven.org/maven2/org/apache/karaf/shell/org.apache.karaf.shell.core/4.2.1/org.apache.karaf.shell.core-4.2.1.jar"], ) if "org_apache_httpcomponents_httpasyncclient_osgi" not in native.existing_rules(): java_import_external( name = "org_apache_httpcomponents_httpasyncclient_osgi", @@ -804,15 +835,15 @@ def generated_maven_jars(): if "org_apache_karaf_jaas" not in native.existing_rules(): java_import_external( name = "org_apache_karaf_jaas", - jar_sha256 = "c9a0ceba8661947b4f16b3b5d2e9582d75678b315aabd91956d5fdfc3d83b021", + jar_sha256 = "86da483352205879822cc014884cf29a54dccc7f9eb19d9c4513b43e1ed7cf25", licenses = ["notice"], - jar_urls = ["http://repo1.maven.org/maven2/org/apache/karaf/jaas/org.apache.karaf.jaas.modules/3.0.8/org.apache.karaf.jaas.modules-3.0.8.jar"], ) + jar_urls = ["http://repo1.maven.org/maven2/org/apache/karaf/jaas/org.apache.karaf.jaas.modules/4.2.1/org.apache.karaf.jaas.modules-4.2.1.jar"], ) if "org_apache_karaf_system_core" not in native.existing_rules(): java_import_external( name = "org_apache_karaf_system_core", - jar_sha256 = "3e1397c8b09a90ddb591e0815371ffd962d244747c3ddd2dc475f312610cc21b", + jar_sha256 = "13a1eafe91f5fd731f0f691b2a9557b7246d5f39d5cfe1ad0913199295efcefe", licenses = ["notice"], - jar_urls = ["http://repo1.maven.org/maven2/org/apache/karaf/system/org.apache.karaf.system.core/3.0.8/org.apache.karaf.system.core-3.0.8.jar"], ) + jar_urls = ["http://repo1.maven.org/maven2/org/apache/karaf/system/org.apache.karaf.system.core/4.2.1/org.apache.karaf.system.core-4.2.1.jar"], ) if "org_apache_servicemix_bundles_snmp4j" not in native.existing_rules(): java_import_external( name = "org_apache_servicemix_bundles_snmp4j", @@ -825,6 +856,12 @@ def generated_maven_jars(): jar_sha256 = "f1ef32cc1530f4e66aac606c24363b627ace4780a7737b045bfb3b908d801bcd", licenses = ["notice"], jar_urls = ["http://repo1.maven.org/maven2/org/osgi/org.osgi.compendium/5.0.0/org.osgi.compendium-5.0.0.jar"], ) + if "org_osgi_cmpn" not in native.existing_rules(): + java_import_external( + name = "org_osgi_cmpn", + jar_sha256 = "8e6445afe1abb3dcd43c60c8cd6c0f15b052a8f4228812559ba521c5ce91db34", + licenses = ["notice"], + jar_urls = ["http://repo1.maven.org/maven2/org/osgi/osgi.cmpn/7.0.0/osgi.cmpn-7.0.0.jar"], ) if "osgi_core" not in native.existing_rules(): java_import_external( name = "osgi_core", @@ -834,9 +871,9 @@ def generated_maven_jars(): if "reflectasm" not in native.existing_rules(): java_import_external( name = "reflectasm", - jar_sha256 = "eef46e43a6861cdbb3356295644341a48d9a4c1cf753eb5f03cf7bff3a07d180", + jar_sha256 = "7cd978191b9ff6159810a8ab4646a3e696388c5c41ce25ffcc554d4ec77f3a93", licenses = ["notice"], - jar_urls = ["http://repo1.maven.org/maven2/com/esotericsoftware/reflectasm/1.11.0/reflectasm-1.11.0.jar"], ) + jar_urls = ["http://repo1.maven.org/maven2/com/esotericsoftware/reflectasm/1.11.7/reflectasm-1.11.7.jar"], ) if "remotetea_oncrpc" not in native.existing_rules(): java_import_external( name = "remotetea_oncrpc", @@ -939,12 +976,6 @@ def generated_maven_jars(): jar_sha256 = "5753628390f7ac1665f813bf610b708cc489f3347b9813389e6c052346527cca", licenses = ["notice"], jar_urls = ["http://repo1.maven.org/maven2/com/thoughtworks/qdox/qdox/2.0-M3/qdox-2.0-M3.jar"], ) - if "org_apache_felix_scr_bnd" not in native.existing_rules(): - java_import_external( - name = "org_apache_felix_scr_bnd", - jar_sha256 = "acd4ffafbeb517774b7445c6d38a46af982bb81ae631156ce5817979950a24a6", - licenses = ["notice"], - jar_urls = ["https://oss.sonatype.org/content/repositories/snapshots/org/onosproject/org.apache.felix.scr.bnd/1.4.1-SNAPSHOT/org.apache.felix.scr.bnd-1.4.1-20160328.235003-2.jar"], ) if "snmp_core" not in native.existing_rules(): java_import_external( name = "snmp_core", @@ -1326,7 +1357,7 @@ def generated_maven_jars(): artifact_map = {} artifact_map["@aopalliance_repackaged//:aopalliance_repackaged"] = "mvn:org.glassfish.hk2.external:aopalliance-repackaged:jar:2.5.0-b42" artifact_map["@amqp_client//:amqp_client"] = "mvn:com.rabbitmq:amqp-client:jar:3.6.1" -artifact_map["@asm//:asm"] = "mvn:org.ow2.asm:asm:jar:5.0.4" +artifact_map["@asm//:asm"] = "mvn:org.ow2.asm:asm:jar:5.2" artifact_map["@atomix//:atomix"] = "mvn:io.atomix:atomix:jar:3.0.5" artifact_map["@atomix_cluster//:atomix_cluster"] = "mvn:io.atomix:atomix-cluster:jar:3.0.5" artifact_map["@atomix_gossip//:atomix_gossip"] = "mvn:io.atomix:atomix-gossip:jar:3.0.5" @@ -1341,7 +1372,6 @@ artifact_map["@commons_cli//:commons_cli"] = "mvn:commons-cli:commons-cli:jar:1. artifact_map["@commons_collections//:commons_collections"] = "mvn:commons-collections:commons-collections:jar:3.2.2" artifact_map["@commons_configuration//:commons_configuration"] = "mvn:commons-configuration:commons-configuration:jar:1.10" artifact_map["@commons_io//:commons_io"] = "mvn:commons-io:commons-io:jar:2.6" -artifact_map["@commons_jxpath//:commons_jxpath"] = "mvn:commons-jxpath:commons-jxpath:jar:1.3" artifact_map["@commons_beanutils//:commons_beanutils"] = "mvn:commons-beanutils:commons-beanutils:jar:1.9.3" artifact_map["@fast_classpath_scanner//:fast_classpath_scanner"] = "mvn:io.github.lukehutch:fast-classpath-scanner:jar:2.21" artifact_map["@jdom//:jdom"] = "mvn:jdom:jdom:jar:NON-OSGI:1.0" @@ -1392,12 +1422,13 @@ artifact_map["@jersey_server//:jersey_server"] = "mvn:org.glassfish.jersey.core: artifact_map["@jersey_hk2//:jersey_hk2"] = "mvn:org.glassfish.jersey.inject:jersey-hk2:jar:2.26" artifact_map["@jersey_test_framework_core//:jersey_test_framework_core"] = "mvn:org.glassfish.jersey.test-framework:jersey-test-framework-core:jar:NON-OSGI:2.26" artifact_map["@jersey_test_framework_jetty//:jersey_test_framework_jetty"] = "mvn:org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-jetty:jar:NON-OSGI:2.26" -artifact_map["@jetty_util//:jetty_util"] = "mvn:org.eclipse.jetty:jetty-util:jar:9.2.21.v20170120" -artifact_map["@jetty_websocket//:jetty_websocket"] = "mvn:org.eclipse.jetty:jetty-websocket:jar:8.1.19.v20160209" -artifact_map["@jetty_server//:jetty_server"] = "mvn:org.eclipse.jetty:jetty-server:jar:9.2.21.v20170120" -artifact_map["@jetty_continuation//:jetty_continuation"] = "mvn:org.eclipse.jetty:jetty-continuation:jar:9.2.21.v20170120" -artifact_map["@jetty_http//:jetty_http"] = "mvn:org.eclipse.jetty:jetty-http:jar:9.2.21.v20170120" -artifact_map["@jetty_io//:jetty_io"] = "mvn:org.eclipse.jetty:jetty-io:jar:9.2.21.v20170120" +artifact_map["@jetty_util//:jetty_util"] = "mvn:org.eclipse.jetty:jetty-util:jar:9.4.11.v20180605" +artifact_map["@jetty_websocket_api//:jetty_websocket_api"] = "mvn:org.eclipse.jetty.websocket:websocket-api:jar:9.4.11.v20180605" +artifact_map["@jetty_websocket//:jetty_websocket"] = "mvn:org.eclipse.jetty.websocket:websocket-servlet:jar:9.4.11.v20180605" +artifact_map["@jetty_server//:jetty_server"] = "mvn:org.eclipse.jetty:jetty-server:jar:9.4.11.v20180605" +artifact_map["@jetty_continuation//:jetty_continuation"] = "mvn:org.eclipse.jetty:jetty-continuation:jar:9.4.11.v20180605" +artifact_map["@jetty_http//:jetty_http"] = "mvn:org.eclipse.jetty:jetty-http:jar:9.4.11.v20180605" +artifact_map["@jetty_io//:jetty_io"] = "mvn:org.eclipse.jetty:jetty-io:jar:9.4.11.v20180605" artifact_map["@javax_servlet_api//:javax_servlet_api"] = "mvn:javax.servlet:javax.servlet-api:jar:3.1.0" artifact_map["@joda_time//:joda_time"] = "mvn:joda-time:joda-time:jar:2.9.3" artifact_map["@jsch//:jsch"] = "mvn:com.jcraft:jsch:jar:NON-OSGI:0.1.53" @@ -1428,19 +1459,25 @@ artifact_map["@io_netty_netty_codec_http//:io_netty_netty_codec_http"] = "mvn:io artifact_map["@io_netty_netty_codec_socks//:io_netty_netty_codec_socks"] = "mvn:io.netty:netty-codec-socks:jar:4.1.27.Final" artifact_map["@objenesis//:objenesis"] = "mvn:org.objenesis:objenesis:jar:2.6" artifact_map["@openflowj//:openflowj"] = "mvn:org.onosproject:openflowj:jar:3.2.1.onos" -artifact_map["@org_apache_felix_framework_security//:org_apache_felix_framework_security"] = "mvn:org.onosproject:org.apache.felix.framework.security:jar:2.2.0.onos" -artifact_map["@org_apache_felix_scr//:org_apache_felix_scr"] = "mvn:org.apache.felix:org.apache.felix.scr:jar:1.8.2" -artifact_map["@org_apache_felix_scr_annotations//:org_apache_felix_scr_annotations"] = "mvn:org.apache.felix:org.apache.felix.scr.annotations:jar:NON-OSGI:1.9.12" -artifact_map["@org_apache_karaf_features_core//:org_apache_karaf_features_core"] = "mvn:org.apache.karaf.features:org.apache.karaf.features.core:jar:3.0.8" -artifact_map["@org_apache_karaf_shell_console//:org_apache_karaf_shell_console"] = "mvn:org.apache.karaf.shell:org.apache.karaf.shell.console:jar:3.0.8" +artifact_map["@org_osgi_util_function//:org_osgi_util_function"] = "mvn:org.osgi:org.osgi.util.function:jar:1.1.0" +artifact_map["@org_osgi_util_promise//:org_osgi_util_promise"] = "mvn:org.osgi:org.osgi.util.promise:jar:1.1.0" +artifact_map["@org_osgi_service_component//:org_osgi_service_component"] = "mvn:org.osgi:org.osgi.service.component:jar:1.4.0" +artifact_map["@org_osgi_service_component_annotations//:org_osgi_service_component_annotations"] = "mvn:org.osgi:org.osgi.service.component.annotations:jar:1.4.0" +artifact_map["@org_osgi_service_metatype_annotations//:org_osgi_service_metatype_annotations"] = "mvn:org.osgi:org.osgi.service.metatype.annotations:jar:1.4.0" +artifact_map["@org_osgi_service_cm//:org_osgi_service_cm"] = "mvn:org.osgi:org.osgi.service.cm:jar:1.6.0" +artifact_map["@org_apache_felix_scr_bnd//:org_apache_felix_scr_bnd"] = "mvn:org.apache.felix:org.apache.felix.scr.bnd:jar:NON-OSGI:1.9.0" +artifact_map["@org_apache_karaf_features_core//:org_apache_karaf_features_core"] = "mvn:org.apache.karaf.features:org.apache.karaf.features.core:jar:4.2.1" +artifact_map["@org_apache_karaf_shell_console//:org_apache_karaf_shell_console"] = "mvn:org.apache.karaf.shell:org.apache.karaf.shell.console:jar:4.2.1" +artifact_map["@org_apache_karaf_shell_core//:org_apache_karaf_shell_core"] = "mvn:org.apache.karaf.shell:org.apache.karaf.shell.core:jar:4.2.1" artifact_map["@org_apache_httpcomponents_httpasyncclient_osgi//:org_apache_httpcomponents_httpasyncclient_osgi"] = "mvn:org.apache.httpcomponents:httpasyncclient-osgi:jar:4.1.2" artifact_map["@org_apache_httpcomponents_httpcore_nio//:org_apache_httpcomponents_httpcore_nio"] = "mvn:org.apache.httpcomponents:httpcore-nio:jar:NON-OSGI:4.4.4" -artifact_map["@org_apache_karaf_jaas//:org_apache_karaf_jaas"] = "mvn:org.apache.karaf.jaas:org.apache.karaf.jaas.modules:jar:3.0.8" -artifact_map["@org_apache_karaf_system_core//:org_apache_karaf_system_core"] = "mvn:org.apache.karaf.system:org.apache.karaf.system.core:jar:3.0.8" +artifact_map["@org_apache_karaf_jaas//:org_apache_karaf_jaas"] = "mvn:org.apache.karaf.jaas:org.apache.karaf.jaas.modules:jar:4.2.1" +artifact_map["@org_apache_karaf_system_core//:org_apache_karaf_system_core"] = "mvn:org.apache.karaf.system:org.apache.karaf.system.core:jar:4.2.1" artifact_map["@org_apache_servicemix_bundles_snmp4j//:org_apache_servicemix_bundles_snmp4j"] = "mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.snmp4j:jar:2.3.4_1" artifact_map["@org_osgi_compendium//:org_osgi_compendium"] = "mvn:org.osgi:org.osgi.compendium:jar:5.0.0" +artifact_map["@org_osgi_cmpn//:org_osgi_cmpn"] = "mvn:org.osgi:osgi.cmpn:jar:7.0.0" artifact_map["@osgi_core//:osgi_core"] = "mvn:org.osgi:org.osgi.core:jar:5.0.0" -artifact_map["@reflectasm//:reflectasm"] = "mvn:com.esotericsoftware:reflectasm:jar:1.11.0" +artifact_map["@reflectasm//:reflectasm"] = "mvn:com.esotericsoftware:reflectasm:jar:1.11.7" artifact_map["@remotetea_oncrpc//:remotetea_oncrpc"] = "mvn:org.acplt.remotetea:remotetea-oncrpc:jar:1.1.3" artifact_map["@rrd4j//:rrd4j"] = "mvn:org.rrd4j:rrd4j:jar:NON-OSGI:3.1" artifact_map["@javassist//:javassist"] = "mvn:org.javassist:javassist:jar:3.22.0-GA" @@ -1458,7 +1495,6 @@ artifact_map["@bndlib//:bndlib"] = "mvn:biz.aQute.bnd:biz.aQute.bndlib:jar:4.0.0 artifact_map["@bndexe//:bndexe"] = "mvn:biz.aQute.bnd:biz.aQute.bnd:jar:4.0.0" artifact_map["@libthrift//:libthrift"] = "mvn:org.apache.thrift:libthrift:jar:0.9.3" artifact_map["@qdox//:qdox"] = "mvn:com.thoughtworks.qdox:qdox:jar:NON-OSGI:2.0-M3" -artifact_map["@org_apache_felix_scr_bnd//:org_apache_felix_scr_bnd"] = "https://oss.sonatype.org/content/repositories/snapshots/org/onosproject/org.apache.felix.scr.bnd/1.4.1-SNAPSHOT/org.apache.felix.scr.bnd-1.4.1-20160328.235003-2.jar" artifact_map["@snmp_core//:snmp_core"] = "mvn:org.onosproject:snmp-core:jar:1.3-20161021.1" artifact_map["@mibs_net_snmp//:mibs_net_snmp"] = "mvn:org.onosproject:mibbler-mibs-net-snmp:jar:1.0-20151221.1" artifact_map["@mibs_rfc//:mibs_rfc"] = "mvn:org.onosproject:mibbler-mibs-rfc:jar:1.0-20151221.1" diff --git a/tools/build/bazel/osgi_features.bzl b/tools/build/bazel/osgi_features.bzl index d2c8a1ea37..30f00a86d3 100644 --- a/tools/build/bazel/osgi_features.bzl +++ b/tools/build/bazel/osgi_features.bzl @@ -102,7 +102,7 @@ FEATURES_HEADER = '''\ - mvn:org.apache.karaf.features/standard/3.0.8/xml/features + mvn:org.apache.karaf.features/standard/4.2.1/xml/features ''' % ONOS_VERSION FEATURES_FOOTER = "" diff --git a/tools/build/bazel/osgi_java_library.bzl b/tools/build/bazel/osgi_java_library.bzl index bd68a30bf0..91ecc8500f 100644 --- a/tools/build/bazel/osgi_java_library.bzl +++ b/tools/build/bazel/osgi_java_library.bzl @@ -83,6 +83,7 @@ def _bnd_impl(ctx): web_context = "NONE" web_xml = ctx.attr.web_xml dynamicimportPackages = "" + karaf_commands = ctx.attr.karaf_commands cp = "" inputDependencies = [input_file] @@ -119,6 +120,7 @@ def _bnd_impl(ctx): dynamicimportPackages, "classes", bundle_classpath, + karaf_commands, ] ctx.actions.run( @@ -151,6 +153,7 @@ _bnd = rule( "web_context": attr.string(), "web_xml": attr.label_list(allow_files = True), "include_resources": attr.string(), + "karaf_commands": attr.string(), "_bnd_exe": attr.label( executable = True, cfg = "host", @@ -384,7 +387,8 @@ def osgi_jar_with_tests( api_description = "", api_package = "", import_packages = None, - bundle_classpath = ""): + bundle_classpath = "", + karaf_command_packages = []): if name == None: name = _auto_name() if srcs == None: @@ -410,7 +414,7 @@ def osgi_jar_with_tests( native_srcs = srcs native_resources = resources - if web_context != None and api_title != "" and len(resources) != 0: + if web_context != None and api_title != "" and len(resources) != 0 and 1 == 0: # generate Swagger files if needed _swagger_java( name = name + "_swagger_java", @@ -465,6 +469,7 @@ def osgi_jar_with_tests( javacopts = javacopts, ) + karaf_command_packages_string = ",".join(karaf_command_packages) _bnd( name = name, source = name + "-native", @@ -477,6 +482,7 @@ def osgi_jar_with_tests( web_context = web_context, web_xml = web_xml, include_resources = _include_resources_to_string(include_resources), + karaf_commands = karaf_command_packages_string, ) # rule for generating pom file for publishing @@ -564,7 +570,8 @@ def osgi_jar( api_version = "", api_description = "", api_package = "", - bundle_classpath = ""): + bundle_classpath = "", + karaf_command_packages = []): if srcs == None: srcs = _all_java_sources() if deps == None: @@ -594,6 +601,7 @@ def osgi_jar( api_package = api_package, web_context = web_context, bundle_classpath = bundle_classpath, + karaf_command_packages = karaf_command_packages, ) """ @@ -637,7 +645,8 @@ def osgi_proto_jar( deps = [], group = "org.onosproject", visibility = ["//visibility:public"], - version = ONOS_VERSION): + version = ONOS_VERSION, + karaf_command_packages = []): if name == None: name = _auto_name() native.java_proto_library( @@ -679,4 +688,5 @@ def osgi_proto_jar( suppress_errorprone = True, suppress_checkstyle = True, suppress_javadocs = True, + karaf_command_packages = karaf_command_packages, ) diff --git a/tools/build/onos-lib-gen b/tools/build/onos-lib-gen index 3a083f8c0a..82ddc5f5e8 100755 --- a/tools/build/onos-lib-gen +++ b/tools/build/onos-lib-gen @@ -21,5 +21,4 @@ if [ ! -f $JAR ]; then [ -f $JAR ] && printf "Done.\n" fi -[ -z "$1" -o "$1" = "bazel" ] && java -jar $JAR lib/deps.json tools/build/bazel/generate_workspace.bzl --bazel -[ -z "$1" -o "$1" = "buck" ] && java -jar $JAR lib/deps.json lib/BUCK +[ -z "$1" -o "$1" = "bazel" ] && java -jar $JAR lib/deps.json tools/build/bazel/generate_workspace.bzl --bazel \ No newline at end of file diff --git a/tools/build/publish-target-list b/tools/build/publish-target-list index ca03dec32b..bf8607cd2d 100644 --- a/tools/build/publish-target-list +++ b/tools/build/publish-target-list @@ -12,6 +12,8 @@ //core/store/dist:onos-core-dist //core/store/persistence:onos-core-persistence //core/store/serializers:onos-core-serializers + //drivers/utilities:onos-drivers-utilities + //drivers/nettconf:onos-drivers-netconf //incubator/api:onos-incubator-api //incubator/net:onos-incubator-net //incubator/rpc:onos-incubator-rpc diff --git a/tools/package/archetypes/bundle/src/main/resources/archetype-resources/src/main/java/AppComponent.java b/tools/package/archetypes/bundle/src/main/resources/archetype-resources/src/main/java/AppComponent.java index 047561b8c4..6ccc181d22 100644 --- a/tools/package/archetypes/bundle/src/main/resources/archetype-resources/src/main/java/AppComponent.java +++ b/tools/package/archetypes/bundle/src/main/resources/archetype-resources/src/main/java/AppComponent.java @@ -18,10 +18,10 @@ */ package ${package}; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Service; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/java/AppUiComponent.java b/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/java/AppUiComponent.java index c59fb64c83..452269233d 100644 --- a/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/java/AppUiComponent.java +++ b/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/java/AppUiComponent.java @@ -19,11 +19,11 @@ package ${package}; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.ui.UiExtension; import org.onosproject.ui.UiExtensionService; import org.onosproject.ui.UiMessageHandlerFactory; @@ -44,7 +44,7 @@ public class AppUiComponent { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UiExtensionService uiExtensionService; // List of application views diff --git a/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiTableComponent.java b/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiTableComponent.java index 2e82cb6450..655fd03a91 100644 --- a/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiTableComponent.java +++ b/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiTableComponent.java @@ -19,11 +19,11 @@ package ${package}; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.ui.UiExtension; import org.onosproject.ui.UiExtensionService; import org.onosproject.ui.UiMessageHandlerFactory; @@ -44,7 +44,7 @@ public class AppUiTableComponent { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UiExtensionService uiExtensionService; // List of application views diff --git a/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovComponent.java b/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovComponent.java index 55b1e6fcc8..193e41f951 100644 --- a/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovComponent.java +++ b/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovComponent.java @@ -19,11 +19,11 @@ package ${package}; import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.ui.UiExtension; import org.onosproject.ui.UiExtensionService; import org.onosproject.ui.UiMessageHandlerFactory; @@ -46,7 +46,7 @@ public class AppUiTopovComponent { private final Logger log = LoggerFactory.getLogger(getClass()); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected UiExtensionService uiExtensionService; // List of application views diff --git a/tools/package/bin/onos-service b/tools/package/bin/onos-service index d3717acd56..467a04a494 100755 --- a/tools/package/bin/onos-service +++ b/tools/package/bin/onos-service @@ -19,7 +19,7 @@ set -u # exit on undefined variable # If ONOS_HOME is not set (e.g. in the init or service environment), # set it based on this script's path. ONOS_HOME=${ONOS_HOME:-$(cd $(dirname $0)/.. >/dev/null 2>&1 && pwd)} -KARAF_ARGS= +KARAF_ARGS=server SYS_APPS=drivers ONOS_APPS=${ONOS_APPS:-} # Empty means don't activate any new apps @@ -52,4 +52,6 @@ for app in ${SYS_APPS//,/ } ${ONOS_APPS//,/ }; do fi done +KARAF_ARGS+=" server" + exec ${ONOS_HOME}/apache-karaf-$KARAF_VERSION/bin/karaf $KARAF_ARGS diff --git a/tools/package/branding/src/main/resources/org/apache/karaf/branding/branding.properties b/tools/package/branding/src/main/resources/org/apache/karaf/branding/branding.properties index 69a74ba0d6..e04d3277ed 100644 --- a/tools/package/branding/src/main/resources/org/apache/karaf/branding/branding.properties +++ b/tools/package/branding/src/main/resources/org/apache/karaf/branding/branding.properties @@ -27,5 +27,4 @@ Come help out! Find out how at: contribute.onosproject.org \r\n\ \r\n\ Hit '\u001B[1m\u001B[0m' for a list of available commands\r\n\ and '\u001B[1m[cmd] --help\u001B[0m' for help on a specific command.\r\n\ - Hit '\u001B[1m\u001B[0m' or type '\u001B[1msystem:shutdown\u001B[0m' or '\u001B[1mlogout\u001B[0m' to shutdown ONOS.\r\n -prompt = \u001B[32monos> \u001B[0m + Hit '\u001B[1m\u001B[0m' or type '\u001B[1mlogout\u001B[0m' to exit ONOS session.\r\n diff --git a/tools/package/etc/keys.properties b/tools/package/etc/keys.properties new file mode 100644 index 0000000000..463a0bb288 --- /dev/null +++ b/tools/package/etc/keys.properties @@ -0,0 +1,35 @@ +################################################################################ +# +# 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. +# +################################################################################ + +# +# This file contains the valid users who can log into Karaf. Each line have to be of +# the format: +# +# USER=KEY,ROLE1,ROLE2,... +# +# All users and roles entered in this file are available after Karaf startup +# and modifiable via the JAAS command group. These users reside in a JAAS domain +# with the name "karaf".. +# + +# +# For security reason, the default auto-signed key is disabled. +# The user guide describes how to generate/update the key. +# +_g_\:admingroup = group,admin,manager,viewer,systembundles,ssh diff --git a/tools/package/etc/org.apache.karaf.features.cfg b/tools/package/etc/org.apache.karaf.features.cfg new file mode 100644 index 0000000000..d986a5749d --- /dev/null +++ b/tools/package/etc/org.apache.karaf.features.cfg @@ -0,0 +1,107 @@ +################################################################################ +# +# 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. +# +################################################################################ + +# +# Comma separated list of features repositories to register by default +# +featuresRepositories = \ + mvn:org.apache.karaf.features/standard/4.2.1/xml/features, \ + mvn:org.onosproject/onos-features/$ONOS_VERSION/xml/features, \ + mvn:org.apache.karaf.features/enterprise/4.2.1/xml/features, \ + mvn:org.apache.karaf.features/spring/4.2.1/xml/features, \ + mvn:org.apache.karaf.features/standard/4.2.1/xml/features, \ + mvn:org.apache.karaf.features/framework/4.2.1/xml/features + +# +# Comma separated list of features to install at startup +# +featuresBoot = \ + instance/4.2.1, \ + package/4.2.1, \ + log/4.2.1, \ + ssh/4.2.1, \ + framework/4.2.1, \ + system/4.2.1, \ + eventadmin/4.2.1, \ + feature/4.2.1, \ + shell/4.2.1, \ + management/4.2.1, \ + service/4.2.1, \ + jaas/4.2.1, \ + deployer/4.2.1, \ + diagnostic/4.2.1, \ + (wrap/2.5.4), \ + bundle/4.2.1, \ + config/4.2.1, \ + kar/4.2.1, \ + webconsole/4.2.1, \ + scr/4.2.1, \ + war/4.2.1, \ + onos-api, \ + onos-core, \ + onos-incubator + #onos-cli, + #onos-gui, + #onos-rest + + +# +# Resource repositories (OBR) that the features resolver can use +# to resolve requirements/capabilities +# +# The format of the resourceRepositories is +# resourceRepositories=[xml:url|json:url],... +# for Instance: +# +#resourceRepositories=xml:http://host/path/to/index.xml +# or +#resourceRepositories=json:http://host/path/to/index.json +# + +# +# Defines if the boot features are started in asynchronous mode (in a dedicated thread) +# +featuresBootAsynchronous=false + +# +# Service requirements enforcement +# +# By default, the feature resolver checks the service requirements/capabilities of +# bundles for new features (xml schema >= 1.3.0) in order to automatically installs +# the required bundles. +# The following flag can have those values: +# - disable: service requirements are completely ignored +# - default: service requirements are ignored for old features +# - enforce: service requirements are always verified +# +#serviceRequirements=default + +# +# Store cfg file for config element in feature +# +#configCfgStore=true + +# +# Configuration of features processing mechanism (overrides, blacklisting, modification of features) +# XML file defines instructions related to features processing +# versions.properties may declare properties to resolve placeholders in XML file +# both files are relative to ${karaf.etc} +# +#featureProcessing=org.apache.karaf.features.xml +#featureProcessingVersions=versions.properties diff --git a/tools/package/etc/shell.init.script b/tools/package/etc/shell.init.script new file mode 100644 index 0000000000..ac55755d0d --- /dev/null +++ b/tools/package/etc/shell.init.script @@ -0,0 +1,65 @@ +// +// 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. +// +// This script is run each time a shell is created. +// You can define here closures or variables that will be available +// in each session. +// +ld = { log:display $args } ; +lde = { log:exception-display $args } ; +la = { bundle:list -t 0 $args } ; +ls = { service:list $args } ; +cl = { config:list "(service.pid=$args)" } ; +halt = { system:shutdown -h -f $args } ; +help = { *:help $args | more } ; +man = { help $args } ; +log:list = { log:get ALL } ; +service:get = { $.context getService ($.context getServiceReference $args) }; + +env = { shell:set $args } +edit = { shell:nano $args } +more = { shell:less -F $args } + +\#prompt = { "${USER}@${APPLICATION} ${SUBSHELL}> "?}; + +__load_class = { + (($.reader class) classLoader) loadClass $1 +} + +// make sure that we catch exceptions +// as they do occur if the session is headless / non-interactive +jlineReader = $.reader +if { %(jlineReader != null) } { + + # On 256 colors terminal, add a right prompt + max_colors = ($.jline.terminal getNumericCapability max_colors) + if { %(max_colors >= 256) } { + __rprompt_formatter = (((__load_class java.text.SimpleDateFormat) getConstructor (__load_class java.lang.String)) newInstance \'$'\u001B\[90m'\'HH:mm:ss) + __date_class = (__load_class java.util.Date) + \#rprompt = { $__rprompt_formatter format ($__date_class newInstance) } + } + + setopt group + setopt auto-fresh-line + unsetopt insert-tab + keymap "^[OA" up-line-or-search + keymap "^[[A" up-line-or-search + keymap "^[OB" down-line-or-search + keymap "^[[B" down-line-or-search + +} diff --git a/tools/package/etc/users.properties b/tools/package/etc/users.properties index 95a97bc1a9..cacc254586 100644 --- a/tools/package/etc/users.properties +++ b/tools/package/etc/users.properties @@ -28,10 +28,11 @@ # All users, groups, and roles entered in this file are available after Karaf startup # and modifiable via the JAAS command group. These users reside in a JAAS domain # with the name "karaf". -# karaf = karaf,_g_:admingroup onos = rocks,_g_:admingroup guest = guest,_g_:guestgroup -_g_\:admingroup = group,admin,manager,viewer,webconsole + +_g_\:admingroup = group,admin,manager,viewer,systembundles,ssh,webconsole _g_\:guestgroup = group,viewer + diff --git a/tools/package/features/BUILD b/tools/package/features/BUILD index f8355c065b..d9ae32b29f 100644 --- a/tools/package/features/BUILD +++ b/tools/package/features/BUILD @@ -45,10 +45,11 @@ osgi_feature( "@mapdb//jar", "@bcpkix_jdk15on//jar", "@bcprov_jdk15on//jar", - "@commons_jxpath//jar", "@commons_beanutils//jar", "@jdom//jar", "@sigar//jar", + "@org_osgi_util_function//jar", + "@org_osgi_util_promise//jar", ], required_features = [], visibility = ["//visibility:public"], @@ -153,6 +154,16 @@ osgi_feature( visibility = ["//visibility:public"], ) +osgi_feature( + name = "onos-cli2", + description = "stripped down ONOS admin command console components", + included_bundles = [ + "//cli2:onos-cli2", + ], + required_features = ["onos-api"], + visibility = ["//visibility:public"], +) + osgi_feature( name = "onos-gui", description = "ONOS GUI console components", diff --git a/tools/package/onos-prep-karaf b/tools/package/onos-prep-karaf index 1cc21e2483..b77d7e6127 100755 --- a/tools/package/onos-prep-karaf +++ b/tools/package/onos-prep-karaf @@ -3,17 +3,17 @@ # Packages ONOS distributable into onos.tar.gz, onos.zip or a deb file # ----------------------------------------------------------------------------- -set -e +set -eu -o pipefail OUT=$1 -KARAF_TAR=$2 +#export HOME=/Users/tom +KARAF_TAR="$HOME/Downloads/apache-karaf-4.2.1.tar.gz" ONOS_VERSION=$3 BRANDING=$4 KARAF_PATCHES=$5 SANDBOX=${6:-.} -#FIXME karaf version -KARAF_VERSION="3.0.8" +KARAF_VERSION="4.2.1" ONOS_SECURITY_MODE="false" PREFIX="onos-$ONOS_VERSION" @@ -22,9 +22,9 @@ PREFIX="onos-$ONOS_VERSION" tar xf $KARAF_TAR # rename path name to match what was distributed with vicci -mv "$(ls -d apache*)" "apache-karaf-$KARAF_VERSION" || true +# mv "$(ls -d apache*)" "apache-karaf-$KARAF_VERSION" || true -tar xf $KARAF_PATCHES +#tar xf $KARAF_PATCHES # Unroll the Apache Karaf bits, prune them and make ONOS top-level directories. KARAF_DIR=$(ls -d apache*) @@ -43,17 +43,6 @@ sed -i.bk "s/apache-karaf-\$KARAF_VERSION/$KARAF_DIR/g" $SANDBOX/bin/onos rm -f bin/*.bk chmod a+x $SANDBOX/bin/onos-service $SANDBOX/bin/onos -export BOOT_FEATURES="standard,ssh,scr,war,webconsole,onos-api,onos-core,onos-incubator,onos-cli,onos-rest,onos-gui" - -# Patch the Apache Karaf distribution file to add ONOS features repository -perl -pi.old -e "s|^(featuresRepositories=).*|\1mvn:org.apache.karaf.features/standard/$KARAF_VERSION/xml/features,mvn:org.onosproject/onos-features/$ONOS_VERSION/xml/features|" \ - $KARAF_DIR/etc/org.apache.karaf.features.cfg - -# Patch the Apache Karaf distribution file to load default ONOS boot features -perl -pi.old -e "s|^(featuresBoot ?= ?).*|\1$BOOT_FEATURES|" \ - $KARAF_DIR/etc/org.apache.karaf.features.cfg - - # Patch the Apache Karaf distribution with ONOS branding bundle cp $BRANDING $KARAF_DIR/lib/onos-tools-package-branding.jar @@ -67,6 +56,9 @@ cp -r $SANDBOX/runtime/bin/* $PREFIX/bin/ cp -r $SANDBOX/init $PREFIX cp -r $SANDBOX/etc/* $PREFIX/$KARAF_DIR/etc/ +# Fix the onos version string in the features config +sed -i".VERBACK" -E "s/.ONOS_VERSION/${ONOS_VERSION}/" $PREFIX/$KARAF_DIR/etc/org.apache.karaf.features.cfg + if [ "$ONOS_SECURITY_MODE" = true ] then # ONOS Patching ---------------------------------------------------------------- diff --git a/tools/package/onos-run-karaf b/tools/package/onos-run-karaf index b0c371f170..7068802beb 100755 --- a/tools/package/onos-run-karaf +++ b/tools/package/onos-run-karaf @@ -7,8 +7,14 @@ ONOS_TAR= [ -f $ONOS_TAR ] || (echo "$ONOS_TAR not found" && exit 1) + +function killServer() { + echo "Killing ONOS server..." + ps -e | grep apache.karaf.main.Main | grep -v grep | cut -d\ -f1 | xargs kill -9 &>/dev/null +} + # Kill any running instances -[ -f /tmp/onos.pid ] && kill -9 $(cat /tmp/onos.pid) &>/dev/null +killServer ONOS_DIR=/tmp/$(tar tf $ONOS_TAR | head -n 1 | cut -d/ -f1) ONOS_MD5=$ONOS_DIR/CHECKSUM @@ -75,15 +81,15 @@ fi cd $ONOS_DIR export ONOS_HOME=$PWD +# FIXME +#export HOME=/Users/tom +cp $HOME/Downloads/reflectasm-1.11.7.jar \ + $ONOS_DIR/apache-karaf-4.2.1/system/com/esotericsoftware/reflectasm/1.11.7/reflectasm-1.11.7.jar + # Start ONOS as a server, but include any specified options ./bin/onos-service server "$@" &>onos.log & echo "$!" > /tmp/onos.pid -function killServer() { - echo "Killing ONOS server..." - cat /tmp/onos.pid | xargs kill -9 -} - # Hang-on a bit and then start tailing the ONOS log output MAX_RETRY=30 echo "Waiting for karaf.log" diff --git a/tools/package/onos_stage.py b/tools/package/onos_stage.py index a9f519fedd..a6b46d428e 100755 --- a/tools/package/onos_stage.py +++ b/tools/package/onos_stage.py @@ -27,6 +27,8 @@ import subprocess written_files = set() now = time.time() +karaf_version = "4.2.1" +karaf_system = "apache-karaf-" + karaf_version + "/system/" def addFile(tar, dest, file, file_size): if dest not in written_files: @@ -69,7 +71,7 @@ def stageOnos(output, version, files=[]): for f in zip_part.infolist(): dest = f.filename if base not in dest: - dest = base + 'apache-karaf-3.0.8/system/' + f.filename + dest = base + karaf_system + f.filename addFile(output, dest, zip_part.open(f), f.file_size) elif '.oar' in file: with ZipFile(file, 'r') as oar: @@ -82,12 +84,12 @@ def stageOnos(output, version, files=[]): for f in oar.infolist(): filename = f.filename if 'm2' in filename: - dest = base + 'apache-karaf-3.0.8/system/' + filename[3:] + dest = base + karaf_system + filename[3:] if dest not in written_files: addFile(output, dest, oar.open(f), f.file_size) written_files.add(dest) elif 'features.xml' in file: - dest = base + 'apache-karaf-3.0.8/system/org/onosproject/onos-features/%s/' % version + dest = base + karaf_system + 'org/onosproject/onos-features/%s/' % version dest += 'onos-features-%s-features.xml' % version with open(file, 'rb') as f: addFile(output, dest, f, os.stat(file).st_size) diff --git a/tools/test/bin/onos-secure-ssh b/tools/test/bin/onos-secure-ssh index 45f0401364..e62e5dd730 100755 --- a/tools/test/bin/onos-secure-ssh +++ b/tools/test/bin/onos-secure-ssh @@ -23,10 +23,11 @@ nodes=${1:-$(env | sort | egrep "^OC[0-9]+" | cut -d= -f2)} # ensure known_hosts file exist (umask 077; touch "$HOME/.ssh/known_hosts") - +set -x for node in $nodes; do # Setup passwordless login for the local user on the remote node ssh $ONOS_USER@$node " + set -x [ ! -f ~/.ssh/id_rsa.pub ] && ssh-keygen -t rsa -f ~/.ssh/id_rsa -P '' -q $ONOS_INSTALL_DIR/bin/onos-user-key \$(id -un) \$(cut -d\\ -f2 ~/.ssh/id_rsa.pub) $ONOS_INSTALL_DIR/bin/onos-user-password $user $password diff --git a/utils/osgiwrap/src/main/java/org/onlab/osgiwrap/OSGiWrapper.java b/utils/osgiwrap/src/main/java/org/onlab/osgiwrap/OSGiWrapper.java index 821bf40aae..b57dab5b34 100644 --- a/utils/osgiwrap/src/main/java/org/onlab/osgiwrap/OSGiWrapper.java +++ b/utils/osgiwrap/src/main/java/org/onlab/osgiwrap/OSGiWrapper.java @@ -84,6 +84,7 @@ public class OSGiWrapper { private String destdir; private String bundleClasspath; + private String karafCommands; // FIXME should consider using Commons CLI, etc. public static void main(String[] args) { @@ -107,6 +108,7 @@ public class OSGiWrapper { String dynamicimportPackages = args[12]; String destdir = args[13]; String bundleClasspath = args[14]; + String karafCommands = args[15]; String desc = Joiner.on(' ').join(Arrays.copyOfRange(args, 12, args.length)); OSGiWrapper wrapper = new OSGiWrapper(jar, output, cp, @@ -119,7 +121,8 @@ public class OSGiWrapper { dynamicimportPackages, desc, destdir, - bundleClasspath); + bundleClasspath, + karafCommands); wrapper.log(wrapper + "\n"); if (!wrapper.execute()) { System.err.printf("Error generating %s\n", name); @@ -143,7 +146,8 @@ public class OSGiWrapper { String dynamicimportPackages, String bundleDescription, String destdir, - String bundleClasspath) { + String bundleClasspath, + String karafCommands) { this.inputJar = inputJar; this.classpath = Lists.newArrayList(classpath.split(":")); if (!this.classpath.contains(inputJar)) { @@ -174,6 +178,7 @@ public class OSGiWrapper { this.destdir = destdir; this.bundleClasspath = bundleClasspath; + this.karafCommands = karafCommands; } private void setProperties(Analyzer analyzer) { @@ -189,6 +194,7 @@ public class OSGiWrapper { //analyzer.setProperty("-consumer-policy", "${range;[===,==+)}"); analyzer.setProperty(Analyzer.DYNAMICIMPORT_PACKAGE, dynamicimportPackages); + analyzer.setProperty(Analyzer.DSANNOTATIONS_OPTIONS, "inherit"); // TODO include version in export, but not in import analyzer.setProperty(Analyzer.EXPORT_PACKAGE, exportPackages); @@ -207,6 +213,7 @@ public class OSGiWrapper { analyzer.setProperty(Analyzer.IMPORT_PACKAGE, importPackages + ",org.glassfish.jersey.servlet,org.jvnet.mimepull\n"); } + analyzer.setProperty("Karaf-Commands", karafCommands); } public boolean execute() { @@ -230,14 +237,14 @@ public class OSGiWrapper { // Analyze the target JAR first analyzer.analyze(); - // Scan the JAR for Felix SCR annotations and generate XML files - Map properties = Maps.newHashMap(); - // destdir hack - properties.put("destdir", destdir); - SCRDescriptorBndPlugin scrDescriptorBndPlugin = new SCRDescriptorBndPlugin(); - scrDescriptorBndPlugin.setProperties(properties); - scrDescriptorBndPlugin.setReporter(analyzer); - scrDescriptorBndPlugin.analyzeJar(analyzer); + //// Scan the JAR for Felix SCR annotations and generate XML files + //Map properties = Maps.newHashMap(); + //// destdir hack + //properties.put("destdir", destdir); + //SCRDescriptorBndPlugin scrDescriptorBndPlugin = new SCRDescriptorBndPlugin(); + //scrDescriptorBndPlugin.setProperties(properties); + //scrDescriptorBndPlugin.setReporter(analyzer); + //scrDescriptorBndPlugin.analyzeJar(analyzer); if (includeResources != null) { doIncludeResources(analyzer); diff --git a/web/api/src/main/java/org/onosproject/rest/impl/ApiDocManager.java b/web/api/src/main/java/org/onosproject/rest/impl/ApiDocManager.java index 753f640fe5..f9dd678f0c 100644 --- a/web/api/src/main/java/org/onosproject/rest/impl/ApiDocManager.java +++ b/web/api/src/main/java/org/onosproject/rest/impl/ApiDocManager.java @@ -17,12 +17,11 @@ package org.onosproject.rest.impl; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; import org.onosproject.rest.ApiDocProvider; import org.onosproject.rest.ApiDocService; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -32,8 +31,7 @@ import java.util.Set; /** * Implementation of the REST API documentation tracker. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = ApiDocService.class) public class ApiDocManager implements ApiDocService { private final Logger log = LoggerFactory.getLogger(getClass()); diff --git a/web/gui/BUILD b/web/gui/BUILD index be8e3f3fe6..87316296a2 100644 --- a/web/gui/BUILD +++ b/web/gui/BUILD @@ -32,9 +32,10 @@ COMPILE_DEPS = CORE_DEPS + JACKSON + KRYO + [ "@javax_ws_rs_api//jar", "@servlet_api//jar", "@jetty_websocket//jar", + "@jetty_websocket_api//jar", "@jetty_util//jar", "@jersey_media_multipart//jar", - "@org_apache_karaf_shell_console//jar", + "@org_apache_karaf_shell_core//jar", "@jersey_server//jar", "//cli:onos-cli", "//incubator/api:onos-incubator-api", diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/UiExtensionManager.java b/web/gui/src/main/java/org/onosproject/ui/impl/UiExtensionManager.java index bb24c89f4f..c776fb3546 100644 --- a/web/gui/src/main/java/org/onosproject/ui/impl/UiExtensionManager.java +++ b/web/gui/src/main/java/org/onosproject/ui/impl/UiExtensionManager.java @@ -32,12 +32,6 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onlab.util.Tools; import org.onosproject.mastership.MastershipService; import org.onosproject.store.serializers.KryoNamespaces; @@ -66,6 +60,11 @@ import org.onosproject.ui.impl.topo.Traffic2Overlay; import org.onosproject.ui.impl.topo.model.UiSharedTopologyModel; import org.onosproject.ui.lion.LionBundle; import org.onosproject.ui.lion.LionUtils; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -82,10 +81,10 @@ import java.util.concurrent.Executors; import static com.google.common.collect.ImmutableList.of; import static java.util.stream.Collectors.toSet; import static org.onosproject.security.AppGuard.checkPermission; -import static org.onosproject.security.AppPermission.Type.UI_READ; -import static org.onosproject.security.AppPermission.Type.UI_WRITE; import static org.onosproject.security.AppPermission.Type.GLYPH_READ; import static org.onosproject.security.AppPermission.Type.GLYPH_WRITE; +import static org.onosproject.security.AppPermission.Type.UI_READ; +import static org.onosproject.security.AppPermission.Type.UI_WRITE; import static org.onosproject.ui.UiView.Category.NETWORK; import static org.onosproject.ui.UiView.Category.PLATFORM; import static org.onosproject.ui.impl.lion.BundleStitcher.generateBundles; @@ -93,8 +92,8 @@ import static org.onosproject.ui.impl.lion.BundleStitcher.generateBundles; /** * Manages the user interface extensions. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = { UiExtensionService.class, UiPreferencesService.class, SpriteService.class, + UiTokenService.class }) public class UiExtensionManager implements UiExtensionService, UiPreferencesService, SpriteService, UiTokenService { @@ -148,13 +147,13 @@ public class UiExtensionManager // Core views & core extension private final UiExtension core = createCoreExtension(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private UiSharedTopologyModel sharedModel; // User preferences diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocket.java b/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocket.java index e53a00756b..bb07de11ff 100644 --- a/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocket.java +++ b/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocket.java @@ -18,7 +18,11 @@ package org.onosproject.ui.impl; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ObjectNode; -import org.eclipse.jetty.websocket.WebSocket; +import org.eclipse.jetty.websocket.api.Session; +import org.eclipse.jetty.websocket.api.annotations.OnWebSocketClose; +import org.eclipse.jetty.websocket.api.annotations.OnWebSocketConnect; +import org.eclipse.jetty.websocket.api.annotations.OnWebSocketMessage; +import org.eclipse.jetty.websocket.api.annotations.WebSocket; import org.onlab.osgi.ServiceDirectory; import org.onlab.osgi.ServiceNotFoundException; import org.onosproject.cluster.ClusterService; @@ -54,8 +58,10 @@ import java.util.Map; /** * Web socket capable of interacting with the Web UI. */ + +@WebSocket public class UiWebSocket - implements UiConnection, WebSocket.OnTextMessage, WebSocket.OnControl { + implements UiConnection { private static final Logger log = LoggerFactory.getLogger(UiWebSocket.class); @@ -90,8 +96,8 @@ public class UiWebSocket private final ServiceDirectory directory; private final UiTopoSession topoSession; - private Connection connection; - private FrameConnection control; + private Session session; + //private FrameConnection control; private String userName; private String currentView; @@ -173,8 +179,8 @@ public class UiWebSocket */ synchronized void close() { destroyHandlersAndOverlays(); - if (connection.isOpen()) { - connection.close(); + if (session.isOpen()) { + session.close(); } } @@ -186,23 +192,23 @@ public class UiWebSocket synchronized boolean isIdle() { long quietFor = System.currentTimeMillis() - lastActive; boolean idle = quietFor > MAX_AGE_MS; - if (idle || (connection != null && !connection.isOpen())) { + if (idle || (session != null && !session.isOpen())) { log.debug("IDLE (or closed) websocket [{} ms]", quietFor); return true; - } else if (connection != null) { - try { - control.sendControl(PING, PING_DATA, 0, PING_DATA.length); - } catch (IOException e) { - log.warn("Unable to send ping message due to: ", e); - } + //} else if (session != null) { + // try { + // control.sendControl(PING, PING_DATA, 0, PING_DATA.length); + // } catch (IOException e) { + // log.warn("Unable to send ping message due to: ", e); + // } } return false; } - @Override - public synchronized void onOpen(Connection connection) { - this.connection = connection; - this.control = (FrameConnection) connection; + @OnWebSocketConnect + public synchronized void onOpen(Session session) { + this.session = session; + //this.control = (FrameConnection) connection; try { topoSession.init(); createHandlersAndOverlays(); @@ -212,13 +218,13 @@ public class UiWebSocket } catch (ServiceNotFoundException e) { log.warn("Unable to open GUI connection; services have been shut-down", e); - this.connection.close(); - this.connection = null; - this.control = null; + this.session.close(); + this.session = null; + //this.control = null; } } - @Override + @OnWebSocketClose public synchronized void onClose(int closeCode, String message) { try { try { @@ -238,13 +244,7 @@ public class UiWebSocket closeCode, message); } - @Override - public boolean onControl(byte controlCode, byte[] data, int offset, int length) { - lastActive = System.currentTimeMillis(); - return true; - } - - @Override + @OnWebSocketMessage public void onMessage(String data) { lastActive = System.currentTimeMillis(); try { @@ -272,8 +272,8 @@ public class UiWebSocket @Override public synchronized void sendMessage(ObjectNode message) { try { - if (connection.isOpen()) { - connection.sendMessage(message.toString()); + if (session.isOpen()) { + session.getRemote().sendString(message.toString()); log.debug("TX message: {}", message); } } catch (IOException e) { diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocketServlet.java b/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocketServlet.java index 650f7273da..4faae280b5 100644 --- a/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocketServlet.java +++ b/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocketServlet.java @@ -18,13 +18,15 @@ package org.onosproject.ui.impl; import com.fasterxml.jackson.databind.node.ObjectNode; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; -import org.eclipse.jetty.websocket.WebSocket; -import org.eclipse.jetty.websocket.WebSocketServlet; +import org.eclipse.jetty.websocket.servlet.WebSocketServlet; +import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory; import org.onlab.osgi.DefaultServiceDirectory; import org.onlab.osgi.ServiceDirectory; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.security.Principal; import java.util.Set; import java.util.Timer; @@ -47,6 +49,11 @@ public class UiWebSocketServlet extends WebSocketServlet { private final TimerTask pruner = new Pruner(); private static boolean isStopped = false; + @Override + public void configure(WebSocketServletFactory webSocketServletFactory) { + + } + /** * Closes all currently open UI web-sockets. */ @@ -72,9 +79,11 @@ public class UiWebSocketServlet extends WebSocketServlet { } @Override - public WebSocket doWebSocketConnect(HttpServletRequest request, String protocol) { + public void service(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + super.service(request, response); if (isStopped) { - return null; + return; } // FIXME: Replace this with globally shared opaque token to allow secure failover @@ -83,7 +92,6 @@ public class UiWebSocketServlet extends WebSocketServlet { UiWebSocket socket = new UiWebSocket(directory, userName); sockets.add(socket); - return socket; } // FIXME: This should not be necessary diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/cli/UiPreferencesListCommand.java b/web/gui/src/main/java/org/onosproject/ui/impl/cli/UiPreferencesListCommand.java index b79a116337..eea1348d21 100644 --- a/web/gui/src/main/java/org/onosproject/ui/impl/cli/UiPreferencesListCommand.java +++ b/web/gui/src/main/java/org/onosproject/ui/impl/cli/UiPreferencesListCommand.java @@ -17,7 +17,7 @@ package org.onosproject.ui.impl.cli; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.ui.UiPreferencesService; @@ -29,7 +29,7 @@ import org.onosproject.ui.UiPreferencesService; public class UiPreferencesListCommand extends AbstractShellCommand { @Override - protected void execute() { + protected void doExecute() { UiPreferencesService service = get(UiPreferencesService.class); ObjectMapper mapper = new ObjectMapper(); ObjectNode root = mapper.createObjectNode(); diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/cli/UiViewListCommand.java b/web/gui/src/main/java/org/onosproject/ui/impl/cli/UiViewListCommand.java index cea67a0d3a..b72210c984 100644 --- a/web/gui/src/main/java/org/onosproject/ui/impl/cli/UiViewListCommand.java +++ b/web/gui/src/main/java/org/onosproject/ui/impl/cli/UiViewListCommand.java @@ -18,7 +18,7 @@ package org.onosproject.ui.impl.cli; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.ui.UiExtension; import org.onosproject.ui.UiExtensionService; @@ -35,7 +35,7 @@ public class UiViewListCommand extends AbstractShellCommand { private static final String FMT = "id=%s, category=%s, label=%s, icon=%s"; @Override - protected void execute() { + protected void doExecute() { UiExtensionService service = get(UiExtensionService.class); if (outputJson()) { print("%s", json(service.getExtensions())); diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/topo/UiTopoLayoutManager.java b/web/gui/src/main/java/org/onosproject/ui/impl/topo/UiTopoLayoutManager.java index d2ab2a792e..7441672eb5 100644 --- a/web/gui/src/main/java/org/onosproject/ui/impl/topo/UiTopoLayoutManager.java +++ b/web/gui/src/main/java/org/onosproject/ui/impl/topo/UiTopoLayoutManager.java @@ -17,12 +17,6 @@ package org.onosproject.ui.impl.topo; import com.google.common.collect.ImmutableSet; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.net.config.NetworkConfigEvent; import org.onosproject.net.config.NetworkConfigListener; import org.onosproject.net.config.NetworkConfigRegistry; @@ -32,6 +26,11 @@ import org.onosproject.ui.UiTopoLayoutService; import org.onosproject.ui.model.topo.UiRegion; import org.onosproject.ui.model.topo.UiTopoLayout; import org.onosproject.ui.model.topo.UiTopoLayoutId; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -50,8 +49,7 @@ import static org.onosproject.ui.model.topo.UiTopoLayoutId.DEFAULT_ID; * Manages the user interface topology layouts. * Note that these layouts are persisted and distributed across the cluster. */ -@Component(immediate = true) -@Service +@Component(immediate = true, service = UiTopoLayoutService.class) public class UiTopoLayoutManager implements UiTopoLayoutService { private static final String ID_NULL = "Layout ID cannot be null"; @@ -62,7 +60,7 @@ public class UiTopoLayoutManager implements UiTopoLayoutService { private final InternalConfigListener cfgListener = new InternalConfigListener(); private final Map layoutMap = new HashMap<>(); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) protected NetworkConfigRegistry cfgService; diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiCacheDevicesCommand.java b/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiCacheDevicesCommand.java index 612dfacdd5..138a979147 100644 --- a/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiCacheDevicesCommand.java +++ b/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiCacheDevicesCommand.java @@ -16,7 +16,7 @@ package org.onosproject.ui.impl.topo.cli; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; import org.onosproject.ui.impl.topo.model.UiSharedTopologyModel; /** @@ -27,7 +27,7 @@ import org.onosproject.ui.impl.topo.model.UiSharedTopologyModel; public class UiCacheDevicesCommand extends AbstractUiCacheElementCommand { @Override - protected void execute() { + protected void doExecute() { UiSharedTopologyModel model = get(UiSharedTopologyModel.class); sorted(model.getDevices()).forEach(d -> print("%s", d)); } diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiCacheHostsCommand.java b/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiCacheHostsCommand.java index f2ec7110bf..99a0360ec2 100644 --- a/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiCacheHostsCommand.java +++ b/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiCacheHostsCommand.java @@ -16,7 +16,7 @@ package org.onosproject.ui.impl.topo.cli; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; import org.onosproject.ui.impl.topo.model.UiSharedTopologyModel; /** @@ -27,7 +27,7 @@ import org.onosproject.ui.impl.topo.model.UiSharedTopologyModel; public class UiCacheHostsCommand extends AbstractUiCacheElementCommand { @Override - protected void execute() { + protected void doExecute() { UiSharedTopologyModel model = get(UiSharedTopologyModel.class); sorted(model.getHosts()).forEach(h -> print("%s", h)); } diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiCacheLinksCommand.java b/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiCacheLinksCommand.java index 30fbe4bdd7..929da23208 100644 --- a/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiCacheLinksCommand.java +++ b/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiCacheLinksCommand.java @@ -16,7 +16,7 @@ package org.onosproject.ui.impl.topo.cli; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; import org.onosproject.ui.impl.topo.model.UiSharedTopologyModel; /** @@ -27,7 +27,7 @@ import org.onosproject.ui.impl.topo.model.UiSharedTopologyModel; public class UiCacheLinksCommand extends AbstractUiCacheElementCommand { @Override - protected void execute() { + protected void doExecute() { UiSharedTopologyModel model = get(UiSharedTopologyModel.class); sorted(model.getDeviceLinks()).forEach(l -> print("%s", l)); } diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiCacheMembersCommand.java b/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiCacheMembersCommand.java index d54a750c09..6db4e25842 100644 --- a/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiCacheMembersCommand.java +++ b/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiCacheMembersCommand.java @@ -16,7 +16,7 @@ package org.onosproject.ui.impl.topo.cli; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; import org.onosproject.ui.impl.topo.model.UiSharedTopologyModel; /** @@ -27,7 +27,7 @@ import org.onosproject.ui.impl.topo.model.UiSharedTopologyModel; public class UiCacheMembersCommand extends AbstractUiCacheElementCommand { @Override - protected void execute() { + protected void doExecute() { UiSharedTopologyModel model = get(UiSharedTopologyModel.class); // note: getClusterMembers() returns an already sorted list... model.getClusterMembers().forEach(m -> print("%s", m)); diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiCacheRegionsCommand.java b/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiCacheRegionsCommand.java index 5fef5ff4a7..c35af78291 100644 --- a/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiCacheRegionsCommand.java +++ b/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiCacheRegionsCommand.java @@ -16,7 +16,7 @@ package org.onosproject.ui.impl.topo.cli; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; import org.onosproject.ui.impl.topo.model.UiSharedTopologyModel; /** @@ -27,7 +27,7 @@ import org.onosproject.ui.impl.topo.model.UiSharedTopologyModel; public class UiCacheRegionsCommand extends AbstractUiCacheElementCommand { @Override - protected void execute() { + protected void doExecute() { UiSharedTopologyModel model = get(UiSharedTopologyModel.class); print("%s", model.getNullRegion()); sorted(model.getRegions()).forEach(r -> print("%s", r)); diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiClearMetaCommand.java b/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiClearMetaCommand.java index ecbd82acfd..22b096a968 100644 --- a/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiClearMetaCommand.java +++ b/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiClearMetaCommand.java @@ -17,7 +17,7 @@ package org.onosproject.ui.impl.topo.cli; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.ui.impl.TopologyViewMessageHandlerBase; @@ -29,7 +29,7 @@ import org.onosproject.ui.impl.TopologyViewMessageHandlerBase; public class UiClearMetaCommand extends AbstractShellCommand { @Override - protected void execute() { + protected void doExecute() { TopologyViewMessageHandlerBase.clearMetaUi(); } } diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiGeoMapListCommand.java b/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiGeoMapListCommand.java index 8134a62975..107a7da190 100644 --- a/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiGeoMapListCommand.java +++ b/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiGeoMapListCommand.java @@ -17,7 +17,7 @@ package org.onosproject.ui.impl.topo.cli; -import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.api.action.Command; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.ui.UiExtensionService; import org.onosproject.ui.UiTopoMapFactory; @@ -31,7 +31,7 @@ import org.onosproject.ui.UiTopoMapFactory; public class UiGeoMapListCommand extends AbstractShellCommand { @Override - protected void execute() { + protected void doExecute() { UiExtensionService uxs = get(UiExtensionService.class); uxs.getExtensions().forEach(ext -> { UiTopoMapFactory mapFactory = ext.topoMapFactory(); diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/topo/model/UiSharedTopologyModel.java b/web/gui/src/main/java/org/onosproject/ui/impl/topo/model/UiSharedTopologyModel.java index 14d29ac36f..d70ecf651a 100644 --- a/web/gui/src/main/java/org/onosproject/ui/impl/topo/model/UiSharedTopologyModel.java +++ b/web/gui/src/main/java/org/onosproject/ui/impl/topo/model/UiSharedTopologyModel.java @@ -16,12 +16,6 @@ package org.onosproject.ui.impl.topo.model; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; import org.onosproject.cluster.ClusterEvent; import org.onosproject.cluster.ClusterEventListener; import org.onosproject.cluster.ClusterService; @@ -71,6 +65,11 @@ import org.onosproject.ui.model.topo.UiLinkId; import org.onosproject.ui.model.topo.UiModelEvent; import org.onosproject.ui.model.topo.UiRegion; import org.onosproject.ui.model.topo.UiSynthLink; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -85,41 +84,40 @@ import static org.onlab.util.Tools.groupedThreads; /** * Service that creates and maintains the UI-model of the network topology. */ -@Component(immediate = true, enabled = true) -@Service(value = UiSharedTopologyModel.class) +@Component(immediate = true, service = UiSharedTopologyModel.class) public final class UiSharedTopologyModel extends AbstractListenerManager { private static final Logger log = LoggerFactory.getLogger(UiSharedTopologyModel.class); - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private UiTopoLayoutService layoutService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private ClusterService clusterService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private MastershipService mastershipService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private RegionService regionService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private LinkService linkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private IntentService intentService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private FlowRuleService flowService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private StatisticService flowStatsService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private PortStatisticsService portStatsService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private TopologyService topologyService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + @Reference(cardinality = ReferenceCardinality.MANDATORY) private TunnelService tunnelService; private final ClusterEventListener clusterListener =