@Override public SortedSet<Version> getAvailableVersions() throws RetryAfterException, IOException { return getAvailableVersions(getEndpoint(getServerURL(), getIdentification())); }
@Override public DownloadHandle getDownloadHandle(Version version, boolean fixPackage) throws RetryAfterException { return getDownloadHandle(getPackageURL(version, fixPackage)); }
@Override public InputStream getInputStream(Version version, boolean fixPackage) throws RetryAfterException, IOException { return getInputStream(getPackageURL(version, fixPackage)); };
@Override public long getSize(Version version, boolean fixPackage) throws RetryAfterException, IOException { return getPackageSize(getPackageURL(version, fixPackage)); }
private URL getPackageURL(Version version, boolean fixPackage) throws RetryAfterException { return getEndpoint(getServerURL(), getIdentification(), fixPackage ? getInstalledVersion() : Version.emptyVersion, version); } }
m_agentContext.setHandler(ConfigurationHandler.class, configurationHandler); m_agentContext.setHandler(ConnectionHandler.class, new ConnectionHandlerImpl()); m_agentContext.setHandler(DeploymentHandler.class, new DeploymentHandlerImpl(deploymentAdmin)); replayTestMocks(); m_agentContext.start();
@Override public void sendEvent(Event event) { getEventsHandler().sendEvent(event.getTopic(), getPayload(event)); invokeExternalEventAdmin("sendEvent", event); }
@Override public Version getInstalledVersion() { Version highestVersion = Version.emptyVersion; String identification = getIdentification(); DeploymentPackage[] installedPackages = m_deploymentAdmin.listDeploymentPackages(); for (DeploymentPackage installedPackage : installedPackages) { String packageId = installedPackage.getName(); Version packageVersion = installedPackage.getVersion(); if (identification.equals(packageId) && packageVersion.compareTo(highestVersion) > 0) { highestVersion = packageVersion; } } return highestVersion; };
/** * Called by our {@link DependencyTrackerImpl} when all dependencies are satisfied. */ public void componentStarted(BundleContext context) throws Exception { final File bundleDataArea = context.getDataFile(""); m_agentContext = new AgentContextImpl(bundleDataArea); m_agentContext.setHandler(LoggingHandler.class, new LoggingHandlerImpl(context)); m_agentContext.setHandler(ConfigurationHandler.class, new ConfigurationHandlerImpl(context)); m_agentContext.setHandler(EventsHandler.class, new EventsHandlerImpl(context)); m_agentContext.setHandler(ScheduledExecutorService.class, m_executorService); m_agentContext.setHandler(DownloadHandler.class, new DownloadHandlerImpl(bundleDataArea)); m_agentContext.setHandler(DeploymentHandler.class, new DeploymentHandlerImpl(context, m_packageAdmin)); m_agentContext.setHandler(AgentUpdateHandler.class, new AgentUpdateHandlerImpl(context)); m_agentContext.setHandler(FeedbackHandler.class, new FeedbackHandlerImpl()); IdentificationHandler identificationHandler = (m_identificationHandler != null) ? m_identificationHandler : new IdentificationHandlerImpl(); m_agentContext.setHandler(IdentificationHandler.class, identificationHandler); DiscoveryHandler discoveryHandler = (m_discoveryHandler != null) ? m_discoveryHandler : new DiscoveryHandlerImpl(); m_agentContext.setHandler(DiscoveryHandler.class, discoveryHandler); ConnectionHandler connectionHandler = (m_connectionHandler != null) ? m_connectionHandler : new ConnectionHandlerImpl(); m_agentContext.setHandler(ConnectionHandler.class, connectionHandler); m_agentContext.addComponent(new EventLoggerImpl(context)); // Lastly, inject the (custom) controller for this agent... m_agentContext.setController(m_controller); m_agentContext.start(); m_agentControlRegistration = context.registerService(AgentControl.class.getName(), new AgentControlImpl(m_agentContext), null); }
@Override public void postEvent(Event event) { getEventsHandler().postEvent(event.getTopic(), getPayload(event)); invokeExternalEventAdmin("postEvent", event); }