@@ -23,7 +23,6 @@ import com.google.common.annotations.VisibleForTesting; | |||
import java.util.List; | |||
import javax.annotation.CheckForNull; | |||
import org.sonar.api.config.EmailSettings; | |||
import org.sonar.api.issue.action.Actions; | |||
import org.sonar.api.profiles.AnnotationProfileParser; | |||
import org.sonar.api.profiles.XMLProfileParser; | |||
import org.sonar.api.profiles.XMLProfileSerializer; | |||
@@ -428,7 +427,7 @@ public class ComputeEngineContainerImpl implements ComputeEngineContainer { | |||
// InternalRubyIssueService.class, indirectly used only in Web Services | |||
// IssueChangelogService.class, indirectly used only in Web Services | |||
// ActionService.class, indirectly used only in Web Services | |||
Actions.class, | |||
// Actions.class, long time deprecated and does not make sense to use it in any Component loaded in the CE | |||
// IssueBulkChangeService.class, indirectly used only in Web Services | |||
// WsResponseCommonFormat.class, indirectly used only in Web Services | |||
// IssueWsModule.class, no Web Service in CE |
@@ -79,7 +79,7 @@ public class ComputeEngineContainerImplTest { | |||
assertThat(picoContainer.getComponentAdapters()) | |||
.hasSize( | |||
CONTAINER_ITSELF | |||
+ 78 // level 4 | |||
+ 77 // level 4 | |||
+ 5 // content of CeModule | |||
+ 7 // content of CeQueueModule | |||
+ 4 // content of ReportProcessingModule |
@@ -30,7 +30,7 @@ import java.util.Set; | |||
import java.util.concurrent.atomic.AtomicBoolean; | |||
import javax.annotation.Nonnull; | |||
import javax.annotation.Nullable; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.core.util.UuidFactory; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
@@ -43,7 +43,7 @@ import static com.google.common.base.Predicates.notNull; | |||
import static com.google.common.collect.FluentIterable.from; | |||
import static org.sonar.db.component.ComponentDtoFunctions.toUuid; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class CeQueueImpl implements CeQueue { | |||
private final DbClient dbClient; |
@@ -28,12 +28,12 @@ import org.apache.commons.io.FileUtils; | |||
import org.apache.commons.io.FilenameUtils; | |||
import org.apache.commons.io.IOUtils; | |||
import org.sonar.api.config.Settings; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.process.ProcessProperties; | |||
import static java.lang.String.format; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class ReportFiles { | |||
private static final String ZIP_EXTENSION = "zip"; |
@@ -23,21 +23,21 @@ import java.io.InputStream; | |||
import javax.annotation.Nullable; | |||
import org.apache.commons.lang.StringUtils; | |||
import org.sonar.api.resources.Qualifiers; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.ce.queue.CeQueue; | |||
import org.sonar.ce.queue.CeTask; | |||
import org.sonar.ce.queue.CeTaskSubmit; | |||
import org.sonar.core.component.ComponentKeys; | |||
import org.sonar.db.ce.CeTaskTypes; | |||
import org.sonar.db.component.ComponentDto; | |||
import org.sonar.server.component.ComponentService; | |||
import org.sonar.server.component.NewComponent; | |||
import org.sonar.ce.queue.CeQueue; | |||
import org.sonar.ce.queue.CeTask; | |||
import org.sonar.ce.queue.CeTaskSubmit; | |||
import org.sonar.server.permission.PermissionService; | |||
import org.sonar.server.user.UserSession; | |||
import static org.sonar.core.permission.GlobalPermissions.SCAN_EXECUTION; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class ReportSubmitter { | |||
private final CeQueue queue; |
@@ -23,6 +23,7 @@ import java.util.List; | |||
import org.sonar.api.resources.ResourceType; | |||
import org.sonar.api.resources.ResourceTypes; | |||
import org.sonar.api.resources.Scopes; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
@@ -33,6 +34,7 @@ import org.sonar.server.issue.index.IssueIndexer; | |||
import org.sonar.server.test.index.TestIndexer; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class ComponentCleanerService { | |||
private final DbClient dbClient; |
@@ -33,6 +33,7 @@ import javax.annotation.CheckForNull; | |||
import javax.annotation.Nullable; | |||
import org.sonar.api.i18n.I18n; | |||
import org.sonar.api.resources.Scopes; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.System2; | |||
import org.sonar.api.web.UserRole; | |||
@@ -50,6 +51,7 @@ import static com.google.common.collect.Lists.newArrayList; | |||
import static org.sonar.db.component.ComponentDtoFunctions.toKey; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class ComponentService { | |||
private final DbClient dbClient; |
@@ -23,6 +23,7 @@ import java.util.Date; | |||
import javax.annotation.Nullable; | |||
import org.sonar.api.CoreProperties; | |||
import org.sonar.api.config.Settings; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.TimeUtils; | |||
import org.sonar.api.utils.log.Logger; | |||
@@ -39,6 +40,7 @@ import org.sonar.server.issue.index.IssueIndex; | |||
import static org.sonar.db.purge.PurgeConfiguration.newDefaultPurgeConfiguration; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class ProjectCleaner { | |||
private static final Logger LOG = Loggers.get(ProjectCleaner.class); | |||
@@ -22,7 +22,7 @@ package org.sonar.server.computation.queue; | |||
import java.util.HashSet; | |||
import java.util.Set; | |||
import org.sonar.api.platform.ServerUpgradeStatus; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.utils.log.Logger; | |||
import org.sonar.api.utils.log.Loggers; | |||
import org.sonar.ce.queue.report.ReportFiles; | |||
@@ -35,7 +35,7 @@ import org.sonar.db.ce.CeTaskTypes; | |||
* Cleans-up the Compute Engine queue and resets the JMX counters. | |||
* CE workers must not be started before execution of this class. | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class CeQueueCleaner { | |||
private static final Logger LOGGER = Loggers.get(CeQueueCleaner.class); |
@@ -21,7 +21,8 @@ package org.sonar.server.computation.queue; | |||
import org.sonar.api.platform.Server; | |||
import org.sonar.api.platform.ServerStartHandler; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.ce.monitoring.CEQueueStatus; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.server.computation.taskprocessor.CeProcessingScheduler; | |||
@@ -31,7 +32,7 @@ import org.sonar.server.computation.taskprocessor.CeProcessingScheduler; | |||
* the execution of workers. That allows to not prevent workers | |||
* from peeking the queue before it's ready. | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class CeQueueInitializer implements ServerStartHandler { | |||
private final DbClient dbClient; |
@@ -22,7 +22,7 @@ package org.sonar.server.computation.queue; | |||
import com.google.common.base.Optional; | |||
import java.util.concurrent.atomic.AtomicBoolean; | |||
import javax.annotation.Nullable; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.utils.System2; | |||
import org.sonar.ce.monitoring.CEQueueStatus; | |||
import org.sonar.ce.queue.CeQueueImpl; | |||
@@ -37,7 +37,7 @@ import org.sonar.db.ce.CeQueueDto; | |||
import static java.lang.String.format; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class InternalCeQueueImpl extends CeQueueImpl implements InternalCeQueue { | |||
private final System2 system2; |
@@ -23,17 +23,17 @@ import java.util.Calendar; | |||
import java.util.List; | |||
import org.sonar.api.platform.Server; | |||
import org.sonar.api.platform.ServerStartHandler; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.utils.System2; | |||
import org.sonar.api.utils.log.Logger; | |||
import org.sonar.api.utils.log.Loggers; | |||
import org.sonar.ce.log.CeLogging; | |||
import org.sonar.ce.log.LogFileRef; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.ce.CeActivityDto; | |||
import org.sonar.ce.log.CeLogging; | |||
import org.sonar.ce.log.LogFileRef; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class PurgeCeActivities implements ServerStartHandler { | |||
private static final Logger LOGGER = Loggers.get(PurgeCeActivities.class); |
@@ -29,7 +29,7 @@ import java.util.Collections; | |||
import java.util.Map; | |||
import org.picocontainer.Startable; | |||
import org.sonar.api.Plugin; | |||
import org.sonar.api.SonarPlugin; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.core.platform.PluginInfo; | |||
import org.sonar.core.platform.PluginRepository; | |||
@@ -45,6 +45,7 @@ import static com.google.common.collect.Lists.newArrayList; | |||
* </p> | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class DebtModelPluginRepository implements Startable { | |||
public static final String DEFAULT_MODEL = "technical-debt"; |
@@ -37,6 +37,7 @@ import org.codehaus.staxmate.SMInputFactory; | |||
import org.codehaus.staxmate.in.SMHierarchicCursor; | |||
import org.codehaus.staxmate.in.SMInputCursor; | |||
import org.sonar.api.rule.RuleKey; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.Duration; | |||
import org.sonar.api.utils.ValidationMessages; | |||
@@ -68,6 +69,7 @@ import static org.sonar.server.debt.DebtModelXMLExporter.RULE_KEY; | |||
* Import rules debt definitions from an XML | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class DebtRulesXMLImporter { | |||
public List<RuleDebt> importXML(String xml, ValidationMessages validationMessages) { |
@@ -19,9 +19,11 @@ | |||
*/ | |||
package org.sonar.server.es; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public abstract class BaseIndex { | |||
public static final String SORT_SUFFIX = "sort"; |
@@ -22,6 +22,7 @@ package org.sonar.server.issue; | |||
import java.util.Collection; | |||
import java.util.List; | |||
import org.sonar.api.issue.Issue; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.user.User; | |||
import org.sonar.api.user.UserFinder; | |||
@@ -34,6 +35,7 @@ import static com.google.common.collect.Lists.newArrayList; | |||
* @since 3.6 | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class IssueChangelogService { | |||
private final IssueChangeDao changeDao; |
@@ -41,6 +41,7 @@ import org.joda.time.DateTime; | |||
import org.joda.time.format.ISOPeriodFormat; | |||
import org.sonar.api.resources.Qualifiers; | |||
import org.sonar.api.rule.RuleKey; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.DateUtils; | |||
import org.sonar.api.utils.SonarException; | |||
@@ -74,6 +75,7 @@ import static org.sonarqube.ws.client.issue.IssueFilterParameters.SINCE_LEAK_PER | |||
* This component is used to create an IssueQuery, in order to transform the component and component roots keys into uuid. | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class IssueQueryService { | |||
public static final String LOGIN_MYSELF = "__me__"; |
@@ -36,6 +36,7 @@ import org.sonar.api.rule.RuleKey; | |||
import org.sonar.api.rule.RuleStatus; | |||
import org.sonar.api.rule.Severity; | |||
import org.sonar.api.rules.RuleType; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.user.User; | |||
import org.sonar.api.user.UserFinder; | |||
@@ -61,6 +62,7 @@ import org.sonar.server.user.index.UserDoc; | |||
import org.sonar.server.user.index.UserIndex; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class IssueService { | |||
private final DbClient dbClient; |
@@ -33,6 +33,7 @@ import javax.annotation.Nullable; | |||
import org.apache.commons.lang.StringUtils; | |||
import org.apache.commons.lang.time.DateUtils; | |||
import org.sonar.api.rules.RuleType; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.server.rule.RuleTagFormat; | |||
import org.sonar.api.user.User; | |||
@@ -48,6 +49,7 @@ import static com.google.common.base.Strings.isNullOrEmpty; | |||
* Updates issue fields and chooses if changes must be kept in history. | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class IssueUpdater { | |||
public static final String UNUSED = ""; |
@@ -19,12 +19,14 @@ | |||
*/ | |||
package org.sonar.server.issue.notification; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.Durations; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.server.user.index.UserIndex; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class NewIssuesNotificationFactory { | |||
private final UserIndex userIndex; | |||
private final DbClient dbClient; |
@@ -21,6 +21,7 @@ package org.sonar.server.issue.workflow; | |||
import javax.annotation.Nullable; | |||
import org.sonar.api.issue.Issue; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.user.User; | |||
import org.sonar.core.issue.DefaultIssue; | |||
@@ -28,6 +29,7 @@ import org.sonar.core.issue.IssueChangeContext; | |||
import org.sonar.server.issue.IssueUpdater; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class FunctionExecutor { | |||
private final IssueUpdater updater; |
@@ -25,6 +25,7 @@ import org.sonar.api.issue.DefaultTransitions; | |||
import org.sonar.api.issue.Issue; | |||
import org.sonar.api.issue.condition.HasResolution; | |||
import org.sonar.api.issue.condition.NotCondition; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.web.UserRole; | |||
import org.sonar.core.issue.DefaultIssue; | |||
@@ -32,6 +33,7 @@ import org.sonar.core.issue.IssueChangeContext; | |||
import org.sonar.server.issue.IssueUpdater; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class IssueWorkflow implements Startable { | |||
public static final String AUTOMATIC_CLOSE_TRANSITION = "automaticclose"; |
@@ -23,6 +23,7 @@ import org.apache.commons.lang.StringUtils; | |||
import org.sonar.api.ExtensionPoint; | |||
import org.sonar.api.notifications.Notification; | |||
import org.sonar.api.notifications.NotificationChannel; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
@@ -39,6 +40,7 @@ import org.sonar.api.server.ServerSide; | |||
* </ul> | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
@ExtensionPoint | |||
public abstract class NotificationDispatcher { | |||
@@ -21,6 +21,7 @@ package org.sonar.server.notification; | |||
import com.google.common.collect.Maps; | |||
import java.util.Map; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
@@ -31,6 +32,7 @@ import org.sonar.api.server.ServerSide; | |||
* Instances of these classes must be declared by {@link org.sonar.api.Plugin}. | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
public final class NotificationDispatcherMetadata { | |||
public static final String GLOBAL_NOTIFICATION = "globalNotification"; |
@@ -40,6 +40,7 @@ import org.sonar.api.Property; | |||
import org.sonar.api.config.Settings; | |||
import org.sonar.api.notifications.Notification; | |||
import org.sonar.api.notifications.NotificationChannel; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.log.Logger; | |||
import org.sonar.api.utils.log.Loggers; | |||
@@ -60,6 +61,7 @@ import org.sonar.db.DbClient; | |||
global = false) | |||
}) | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class NotificationService implements Startable { | |||
private static final String THREAD_NAME_PREFIX = "sq-notification-service-"; | |||
@@ -27,6 +27,7 @@ import java.io.File; | |||
import java.util.Set; | |||
import org.slf4j.LoggerFactory; | |||
import org.sonar.api.config.Settings; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.log.LoggerLevel; | |||
import org.sonar.api.utils.log.Loggers; | |||
@@ -34,6 +35,7 @@ import org.sonar.process.LogbackHelper; | |||
import org.sonar.process.ProcessProperties; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class ServerLogging { | |||
public static final Set<LoggerLevel> ALLOWED_ROOT_LOG_LEVELS = Sets.immutableEnumSet(LoggerLevel.TRACE, LoggerLevel.DEBUG, LoggerLevel.INFO); |
@@ -21,6 +21,7 @@ package org.sonar.server.platform.monitoring; | |||
import com.google.common.base.Optional; | |||
import java.util.Map; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.server.platform.ws.InfoAction; | |||
@@ -28,6 +29,7 @@ import org.sonar.server.platform.ws.InfoAction; | |||
* Any component that is involved in the information returned by the web service api/system/info | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
public interface Monitor { | |||
/** | |||
* Name of section in System Info page |
@@ -21,6 +21,7 @@ package org.sonar.server.plugins; | |||
import java.io.File; | |||
import org.apache.commons.io.FileUtils; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.ZipUtils; | |||
import org.sonar.core.platform.ExplodedPlugin; | |||
@@ -31,6 +32,7 @@ import org.sonar.server.platform.DefaultServerFileSystem; | |||
import static org.apache.commons.io.FileUtils.forceMkdir; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class ServerPluginJarExploder extends PluginJarExploder { | |||
private final DefaultServerFileSystem fs; |
@@ -21,11 +21,13 @@ package org.sonar.server.properties; | |||
import java.util.List; | |||
import org.sonar.api.config.Settings; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.db.property.PropertiesDao; | |||
import org.sonar.db.property.PropertyDto; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class ProjectSettingsFactory { | |||
private final PropertiesDao dao; |
@@ -21,9 +21,9 @@ package org.sonar.server.qualityprofile; | |||
import com.google.common.collect.ArrayListMultimap; | |||
import com.google.common.collect.Multimap; | |||
import org.sonar.api.server.ServerSide; | |||
import java.util.Collection; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
* Used to list default profile names. | |||
@@ -32,6 +32,7 @@ import java.util.Collection; | |||
* just to get the profile names is too slow (see {@link org.sonar.api.profiles.ProfileDefinition}). | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class BuiltInProfiles { | |||
// built-in profile names grouped by language |
@@ -31,6 +31,7 @@ import java.util.Map; | |||
import java.util.Set; | |||
import javax.annotation.Nonnull; | |||
import org.sonar.api.rule.RuleKey; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
@@ -39,6 +40,7 @@ import org.sonar.db.qualityprofile.ActiveRuleParamDto; | |||
import org.sonar.db.qualityprofile.QualityProfileDto; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class QProfileComparison { | |||
private final DbClient dbClient; |
@@ -24,6 +24,7 @@ import com.google.common.collect.Iterables; | |||
import java.util.List; | |||
import javax.annotation.CheckForNull; | |||
import javax.annotation.Nonnull; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
@@ -32,6 +33,7 @@ import org.sonar.db.qualityprofile.QualityProfileDto; | |||
import static com.google.common.collect.Lists.newArrayList; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class QProfileLookup { | |||
private final DbClient db; |
@@ -19,25 +19,24 @@ | |||
*/ | |||
package org.sonar.server.qualityprofile; | |||
import com.google.common.collect.Lists; | |||
import com.google.common.collect.Maps; | |||
import java.util.Collection; | |||
import java.util.List; | |||
import java.util.Map; | |||
import javax.annotation.CheckForNull; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.component.Component; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.web.UserRole; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.MyBatis; | |||
import org.sonar.db.qualityprofile.QualityProfileDto; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.server.user.UserSession; | |||
import com.google.common.collect.Lists; | |||
import com.google.common.collect.Maps; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class QProfileProjectLookup { | |||
private final DbClient db; |
@@ -19,6 +19,7 @@ | |||
*/ | |||
package org.sonar.server.qualityprofile; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.web.UserRole; | |||
import org.sonar.core.permission.GlobalPermissions; | |||
@@ -35,6 +36,7 @@ import org.sonar.server.user.UserSession; | |||
* Permission checks should also be done in the upper service. | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class QProfileProjectOperations { | |||
private final DbClient db; |
@@ -33,6 +33,7 @@ import org.sonar.api.rule.RuleKey; | |||
import org.sonar.api.rule.RuleStatus; | |||
import org.sonar.api.rules.RuleParam; | |||
import org.sonar.api.rules.RuleRepository; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.server.debt.DebtRemediationFunction; | |||
import org.sonar.api.server.rule.RuleParamType; | |||
@@ -52,6 +53,7 @@ import static com.google.common.collect.Lists.newArrayList; | |||
* Inject deprecated RuleRepository into {@link org.sonar.api.server.rule.RulesDefinition} for backward-compatibility. | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class DeprecatedRulesDefinitionLoader { | |||
private static final Logger LOG = Loggers.get(DeprecatedRulesDefinitionLoader.class); |
@@ -23,15 +23,14 @@ import com.google.common.collect.ImmutableMap; | |||
import com.google.common.collect.ImmutableSetMultimap; | |||
import com.google.common.collect.ImmutableSortedSet; | |||
import com.google.common.collect.SetMultimap; | |||
import org.apache.commons.lang.builder.CompareToBuilder; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.server.rule.RulesDefinition; | |||
import javax.annotation.CheckForNull; | |||
import java.util.Collection; | |||
import java.util.Map; | |||
import java.util.SortedSet; | |||
import javax.annotation.CheckForNull; | |||
import org.apache.commons.lang.builder.CompareToBuilder; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.server.rule.RulesDefinition; | |||
/** | |||
* This component keeps metadata of rule repositories. | |||
@@ -42,6 +41,7 @@ import java.util.SortedSet; | |||
* @since 4.2 | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class RuleRepositories { | |||
public static class Repository implements Comparable<Repository> { |
@@ -20,6 +20,12 @@ | |||
package org.sonar.server.user.index; | |||
import com.google.common.base.Function; | |||
import java.util.ArrayList; | |||
import java.util.Iterator; | |||
import java.util.List; | |||
import java.util.Map; | |||
import javax.annotation.CheckForNull; | |||
import javax.annotation.Nullable; | |||
import org.apache.commons.lang.StringUtils; | |||
import org.elasticsearch.action.get.GetRequestBuilder; | |||
import org.elasticsearch.action.get.GetResponse; | |||
@@ -35,6 +41,7 @@ import org.elasticsearch.index.query.QueryBuilders; | |||
import org.elasticsearch.search.SearchHit; | |||
import org.elasticsearch.search.sort.SortBuilders; | |||
import org.elasticsearch.search.sort.SortOrder; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.core.util.NonNullInputFunction; | |||
import org.sonar.server.es.EsClient; | |||
@@ -43,17 +50,10 @@ import org.sonar.server.es.SearchOptions; | |||
import org.sonar.server.es.SearchResult; | |||
import org.sonar.server.exceptions.NotFoundException; | |||
import javax.annotation.CheckForNull; | |||
import javax.annotation.Nullable; | |||
import java.util.ArrayList; | |||
import java.util.Iterator; | |||
import java.util.List; | |||
import java.util.Map; | |||
import static java.lang.String.format; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class UserIndex { | |||
/** |
@@ -19,6 +19,8 @@ | |||
*/ | |||
package org.sonar.server.view.index; | |||
import java.util.Collection; | |||
import java.util.List; | |||
import org.elasticsearch.action.search.SearchRequestBuilder; | |||
import org.elasticsearch.action.search.SearchResponse; | |||
import org.elasticsearch.action.search.SearchType; | |||
@@ -26,15 +28,14 @@ import org.elasticsearch.common.unit.TimeValue; | |||
import org.elasticsearch.index.query.FilterBuilders; | |||
import org.elasticsearch.index.query.QueryBuilders; | |||
import org.elasticsearch.search.SearchHit; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.server.es.EsClient; | |||
import java.util.Collection; | |||
import java.util.List; | |||
import static com.google.common.collect.Lists.newArrayList; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class ViewIndex { | |||
private static final int SCROLL_TIME_IN_MINUTES = 3; |
@@ -23,10 +23,12 @@ import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.resources.Qualifiers; | |||
import org.sonar.api.resources.ResourceType; | |||
import org.sonar.api.resources.ResourceTypeTree; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
@BatchSide | |||
@ServerSide | |||
@ComputeEngineSide | |||
public final class DefaultResourceTypes { | |||
private static final String SUPPORTS_MEASURE_FILTERS = "supportsMeasureFilters"; |
@@ -43,6 +43,7 @@ import org.apache.commons.io.IOUtils; | |||
import org.picocontainer.Startable; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.i18n.I18n; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.SonarException; | |||
import org.sonar.api.utils.System2; | |||
@@ -53,6 +54,7 @@ import org.sonar.core.platform.PluginRepository; | |||
@BatchSide | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class DefaultI18n implements I18n, Startable { | |||
private static final Logger LOG = Loggers.get(DefaultI18n.class); |
@@ -25,6 +25,7 @@ import org.apache.commons.lang.StringUtils; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.i18n.RuleI18n; | |||
import org.sonar.api.rules.Rule; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
@@ -33,6 +34,7 @@ import org.sonar.api.server.ServerSide; | |||
@Deprecated | |||
@BatchSide | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class RuleI18nManager implements RuleI18n { | |||
private static final String NAME_SUFFIX = ".name"; |
@@ -28,7 +28,7 @@ import javax.annotation.Nullable; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.measures.Metric; | |||
import org.sonar.api.measures.Metrics; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import static com.google.common.collect.FluentIterable.from; | |||
import static java.util.Arrays.asList; | |||
@@ -86,7 +86,7 @@ import static org.sonar.api.measures.CoreMetrics.UNCOVERED_LINES; | |||
* <p/> | |||
* The batch should not send other metrics, and the Compute Engine should not allow other metrics. | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
@BatchSide | |||
public class BatchMetrics { | |||
@@ -38,6 +38,7 @@ import org.picocontainer.lifecycle.ReflectionLifecycleStrategy; | |||
import org.picocontainer.monitors.NullComponentMonitor; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.config.PropertyDefinitions; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.log.Loggers; | |||
import org.sonar.api.utils.log.Profiler; | |||
@@ -47,6 +48,7 @@ import static java.util.Objects.requireNonNull; | |||
@BatchSide | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class ComponentContainer implements ContainerPopulator.Container { | |||
private static final class ExtendedDefaultPicoContainer extends DefaultPicoContainer { |
@@ -27,6 +27,7 @@ import java.util.HashMap; | |||
import java.util.Map; | |||
import org.apache.commons.io.FileUtils; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.TempFolder; | |||
import org.sonar.classloader.ClassloaderBuilder; | |||
@@ -47,6 +48,7 @@ import static org.sonar.classloader.ClassloaderBuilder.LoadingOrder.SELF_FIRST; | |||
*/ | |||
@BatchSide | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class PluginClassloaderFactory { | |||
// underscores are used to not conflict with plugin keys (if someday a plugin key is "api") |
@@ -22,6 +22,7 @@ package org.sonar.core.platform; | |||
import java.util.Collection; | |||
import org.sonar.api.Plugin; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
@@ -29,6 +30,7 @@ import org.sonar.api.server.ServerSide; | |||
*/ | |||
@BatchSide | |||
@ServerSide | |||
@ComputeEngineSide | |||
public interface PluginRepository { | |||
Collection<PluginInfo> getPluginInfos(); |
@@ -25,6 +25,7 @@ import java.util.Collection; | |||
import java.util.List; | |||
import javax.annotation.CheckForNull; | |||
import javax.annotation.Nonnull; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.core.issue.DefaultIssueComment; | |||
import org.sonar.core.issue.FieldDiffs; | |||
@@ -36,6 +37,7 @@ import org.sonar.db.MyBatis; | |||
import static java.util.Arrays.asList; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class IssueChangeDao implements Dao { | |||
private final MyBatis mybatis; |
@@ -24,6 +24,7 @@ import java.util.List; | |||
import javax.annotation.CheckForNull; | |||
import javax.annotation.Nonnull; | |||
import org.apache.ibatis.session.RowBounds; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.db.Dao; | |||
import org.sonar.db.DatabaseUtils; | |||
@@ -31,6 +32,7 @@ import org.sonar.db.DbSession; | |||
import org.sonar.db.RowNotFoundException; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class CustomMeasureDao implements Dao { | |||
public void insert(DbSession session, CustomMeasureDto customMeasureDto) { | |||
mapper(session).insert(customMeasureDto); |
@@ -27,6 +27,7 @@ import javax.annotation.Nullable; | |||
import org.apache.commons.lang.StringUtils; | |||
import org.sonar.api.config.Settings; | |||
import org.sonar.api.security.DefaultGroups; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
@@ -43,6 +44,7 @@ import org.sonar.db.user.UserRoleDto; | |||
* WARNING, this class is called by Deveveloper Cockpit to apply default permission template on new developers | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class PermissionRepository { | |||
private final DbClient dbClient; |
@@ -22,6 +22,7 @@ package org.sonar.db.purge.period; | |||
import com.google.common.annotations.VisibleForTesting; | |||
import java.util.List; | |||
import org.sonar.api.config.Settings; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.DateUtils; | |||
import org.sonar.api.utils.log.Logger; | |||
@@ -33,6 +34,7 @@ import org.sonar.db.purge.PurgeSnapshotQuery; | |||
import org.sonar.db.purge.PurgeableSnapshotDto; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class DefaultPeriodCleaner { | |||
private static final Logger LOG = Loggers.get(DefaultPeriodCleaner.class); |
@@ -27,6 +27,7 @@ import java.util.List; | |||
import java.util.Map; | |||
import javax.annotation.CheckForNull; | |||
import javax.annotation.Nullable; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.System2; | |||
import org.sonar.db.Dao; | |||
@@ -36,6 +37,7 @@ import org.sonar.db.RowNotFoundException; | |||
import org.sonar.db.component.ComponentDto; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class QualityProfileDao implements Dao { | |||
private final MyBatis mybatis; |
@@ -27,6 +27,7 @@ import java.util.List; | |||
import java.util.Map; | |||
import javax.annotation.Nullable; | |||
import org.apache.ibatis.session.SqlSession; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.db.Dao; | |||
import org.sonar.db.DatabaseUtils; | |||
@@ -36,6 +37,7 @@ import org.sonar.db.MyBatis; | |||
import static com.google.common.collect.Maps.newHashMap; | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class AuthorizationDao implements Dao { | |||
private static final String USER_ID_PARAM = "userId"; |
@@ -88,9 +88,11 @@ public interface Plugin { | |||
/** | |||
* Add an extension as : | |||
* <ul> | |||
* <li>a Class that is annotated with {@link org.sonar.api.batch.BatchSide} or {@link org.sonar.api.server.ServerSide}. | |||
* <li>a Class that is annotated with {@link org.sonar.api.batch.BatchSide}, {@link org.sonar.api.server.ServerSide} | |||
* or {@link org.sonar.api.server.ComputeEngineSide}.</li> | |||
* The extension will be instantiated once. Its dependencies are injected through constructor parameters.</li> | |||
* <li>an instance that is annotated with {@link org.sonar.api.batch.BatchSide} or {@link org.sonar.api.server.ServerSide}</li> | |||
* <li>an instance that is annotated with {@link org.sonar.api.batch.BatchSide}, {@link org.sonar.api.server.ServerSide} | |||
* or {@link org.sonar.api.server.ComputeEngineSide}.</li> | |||
* </ul> | |||
* Only a single component can be registered for a class. It's not allowed for example to register: | |||
* <ul> |
@@ -25,7 +25,7 @@ import org.sonar.api.server.ServerSide; | |||
* Same than {@link org.sonar.api.BatchComponent} but for server-side components. | |||
* | |||
* @since 2.2 | |||
* @deprecated since 5.2 use {@link ServerSide} annotation | |||
* @deprecated in 5.2. Use {@link ServerSide} annotation instead. | |||
*/ | |||
@Deprecated | |||
@ServerSide |
@@ -19,13 +19,14 @@ | |||
*/ | |||
package org.sonar.api; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
* Server extension point. | |||
* | |||
* @since 1.10 | |||
* @deprecated since 5.2 replaced by {@link ServerSide} and {@link ExtensionPoint} annotations | |||
* @deprecated since 5.2. Use annotations {@link ServerSide} or {@link ComputeEngineSide} and {@link ExtensionPoint} | |||
*/ | |||
@Deprecated | |||
public interface ServerExtension extends Extension, ServerComponent { |
@@ -21,6 +21,7 @@ package org.sonar.api; | |||
import javax.annotation.concurrent.Immutable; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.Version; | |||
@@ -104,6 +105,7 @@ import static java.util.Objects.requireNonNull; | |||
*/ | |||
@BatchSide | |||
@ServerSide | |||
@ComputeEngineSide | |||
@Immutable | |||
public class SonarQubeVersion { | |||
@@ -24,7 +24,7 @@ import java.util.Set; | |||
import javax.annotation.CheckForNull; | |||
import org.sonar.api.ExtensionPoint; | |||
import org.sonar.api.ce.measure.MeasureComputer.MeasureComputerDefinition.Builder; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
/** | |||
* Define how to compute new measures on some metrics declared by {@link org.sonar.api.measures.Metrics}. | |||
@@ -88,7 +88,7 @@ import org.sonar.api.server.ServerSide; | |||
* | |||
* @since 5.2 | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
@ExtensionPoint | |||
public interface MeasureComputer { | |||
@@ -20,8 +20,9 @@ | |||
package org.sonar.api.config; | |||
import com.google.common.base.Objects; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.CoreProperties; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
@@ -31,6 +32,7 @@ import org.sonar.api.server.ServerSide; | |||
*/ | |||
@BatchSide | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class EmailSettings { | |||
public static final String SMTP_HOST = "email.smtp_host.secured"; | |||
public static final String SMTP_HOST_DEFAULT = ""; |
@@ -23,20 +23,19 @@ import com.google.common.base.Preconditions; | |||
import com.google.common.base.Strings; | |||
import com.google.common.collect.ImmutableList; | |||
import com.google.common.collect.Lists; | |||
import java.util.ArrayList; | |||
import java.util.Arrays; | |||
import java.util.List; | |||
import javax.annotation.Nullable; | |||
import org.apache.commons.lang.StringUtils; | |||
import org.apache.commons.lang.math.NumberUtils; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.ExtensionPoint; | |||
import org.sonar.api.Property; | |||
import org.sonar.api.PropertyType; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.resources.Qualifiers; | |||
import javax.annotation.Nullable; | |||
import java.util.ArrayList; | |||
import java.util.Arrays; | |||
import java.util.List; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
* Declare a plugin property. Values are available at runtime through the component {@link Settings}. | |||
@@ -70,6 +69,7 @@ import java.util.List; | |||
*/ | |||
@BatchSide | |||
@ServerSide | |||
@ComputeEngineSide | |||
@ExtensionPoint | |||
public final class PropertyDefinition { | |||
@@ -20,22 +20,21 @@ | |||
package org.sonar.api.config; | |||
import com.google.common.base.Strings; | |||
import java.util.ArrayList; | |||
import java.util.Arrays; | |||
import java.util.Collection; | |||
import java.util.HashMap; | |||
import java.util.Map; | |||
import javax.annotation.Nullable; | |||
import org.apache.commons.lang.StringUtils; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.CoreProperties; | |||
import org.sonar.api.Properties; | |||
import org.sonar.api.Property; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.AnnotationUtils; | |||
import javax.annotation.Nullable; | |||
import java.util.ArrayList; | |||
import java.util.Arrays; | |||
import java.util.Collection; | |||
import java.util.HashMap; | |||
import java.util.Map; | |||
/** | |||
* Metadata of all the properties declared by plugins | |||
* | |||
@@ -43,6 +42,7 @@ import java.util.Map; | |||
*/ | |||
@BatchSide | |||
@ServerSide | |||
@ComputeEngineSide | |||
public final class PropertyDefinitions { | |||
private final Map<String, PropertyDefinition> definitions = new HashMap<>(); |
@@ -24,21 +24,20 @@ import com.google.common.base.Splitter; | |||
import com.google.common.base.Strings; | |||
import com.google.common.collect.ImmutableMap; | |||
import com.google.common.collect.Maps; | |||
import java.util.ArrayList; | |||
import java.util.Date; | |||
import java.util.List; | |||
import java.util.Map; | |||
import java.util.Properties; | |||
import javax.annotation.CheckForNull; | |||
import javax.annotation.Nullable; | |||
import org.apache.commons.lang.ArrayUtils; | |||
import org.apache.commons.lang.StringUtils; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.DateUtils; | |||
import javax.annotation.Nullable; | |||
import java.util.ArrayList; | |||
import java.util.Date; | |||
import java.util.List; | |||
import java.util.Map; | |||
import java.util.Properties; | |||
/** | |||
* Project settings on batch side, or global settings on server side. This component does not access to database, so | |||
* property changed via setter methods are not persisted. | |||
@@ -88,6 +87,7 @@ import java.util.Properties; | |||
*/ | |||
@BatchSide | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class Settings { | |||
protected Map<String, String> properties; |
@@ -19,13 +19,12 @@ | |||
*/ | |||
package org.sonar.api.i18n; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.server.ServerSide; | |||
import javax.annotation.Nullable; | |||
import java.util.Date; | |||
import java.util.Locale; | |||
import javax.annotation.Nullable; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
* Main component that provides translation facilities. | |||
@@ -34,6 +33,7 @@ import java.util.Locale; | |||
*/ | |||
@BatchSide | |||
@ServerSide | |||
@ComputeEngineSide | |||
public interface I18n { | |||
/** |
@@ -19,13 +19,12 @@ | |||
*/ | |||
package org.sonar.api.i18n; | |||
import java.util.Locale; | |||
import javax.annotation.CheckForNull; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.rules.Rule; | |||
import javax.annotation.CheckForNull; | |||
import java.util.Locale; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
* {@link I18n}-companion component that provides translation facilities for rule names, descriptions and parameter names. | |||
@@ -36,6 +35,7 @@ import java.util.Locale; | |||
@Deprecated | |||
@BatchSide | |||
@ServerSide | |||
@ComputeEngineSide | |||
public interface RuleI18n { | |||
/** |
@@ -31,6 +31,7 @@ import org.apache.commons.lang.builder.ReflectionToStringBuilder; | |||
import org.apache.commons.lang.builder.ToStringStyle; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.batch.InstantiationStrategy; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import static com.google.common.base.Objects.firstNonNull; | |||
@@ -40,6 +41,7 @@ import static org.apache.commons.lang.StringUtils.isNotBlank; | |||
@BatchSide | |||
@InstantiationStrategy(InstantiationStrategy.PER_BATCH) | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class Metric<G extends Serializable> implements Serializable, org.sonar.api.batch.measure.Metric<G> { | |||
/** |
@@ -19,13 +19,12 @@ | |||
*/ | |||
package org.sonar.api.measures; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.server.ServerSide; | |||
import javax.annotation.CheckForNull; | |||
import java.util.Collection; | |||
import java.util.List; | |||
import javax.annotation.CheckForNull; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
* @since 2.5 | |||
@@ -34,6 +33,7 @@ import java.util.List; | |||
@Deprecated | |||
@BatchSide | |||
@ServerSide | |||
@ComputeEngineSide | |||
public interface MetricFinder { | |||
@CheckForNull |
@@ -19,12 +19,12 @@ | |||
*/ | |||
package org.sonar.api.measures; | |||
import org.sonar.api.batch.BatchSide; | |||
import java.util.List; | |||
import org.sonar.api.ExtensionPoint; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.batch.InstantiationStrategy; | |||
import java.util.List; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
* @since 1.10 | |||
@@ -32,6 +32,7 @@ import java.util.List; | |||
@BatchSide | |||
@InstantiationStrategy(InstantiationStrategy.PER_BATCH) | |||
@ServerSide | |||
@ComputeEngineSide | |||
@ExtensionPoint | |||
public interface Metrics { | |||
List<Metric> getMetrics(); |
@@ -20,6 +20,7 @@ | |||
package org.sonar.api.notifications; | |||
import org.sonar.api.ExtensionPoint; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
@@ -36,6 +37,7 @@ import org.sonar.api.server.ServerSide; | |||
* @since 2.10 | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
@ExtensionPoint | |||
public abstract class NotificationChannel { | |||
@@ -23,6 +23,7 @@ import java.io.File; | |||
import java.util.Date; | |||
import javax.annotation.CheckForNull; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
@@ -30,6 +31,7 @@ import org.sonar.api.server.ServerSide; | |||
*/ | |||
@BatchSide | |||
@ServerSide | |||
@ComputeEngineSide | |||
public abstract class Server { | |||
public abstract String getId(); |
@@ -19,15 +19,16 @@ | |||
*/ | |||
package org.sonar.api.platform; | |||
import org.sonar.api.server.ServerSide; | |||
import java.io.File; | |||
import java.util.List; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
* @since 2.3 | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
public interface ServerFileSystem { | |||
File getHomeDir(); |
@@ -20,12 +20,14 @@ | |||
package org.sonar.api.platform; | |||
import org.sonar.api.ExtensionPoint; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
* @since 2.2 | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
@ExtensionPoint | |||
public interface ServerStartHandler { | |||
@@ -20,12 +20,14 @@ | |||
package org.sonar.api.platform; | |||
import org.sonar.api.ExtensionPoint; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
* @since 2.2 | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
@ExtensionPoint | |||
public interface ServerStopHandler { | |||
@@ -19,12 +19,14 @@ | |||
*/ | |||
package org.sonar.api.platform; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
* @since 2.5 | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
public interface ServerUpgradeStatus { | |||
/** |
@@ -19,21 +19,22 @@ | |||
*/ | |||
package org.sonar.api.profiles; | |||
import java.util.Collection; | |||
import org.apache.commons.lang.StringUtils; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.rules.Rule; | |||
import org.sonar.api.rules.RuleAnnotationUtils; | |||
import org.sonar.api.rules.RuleFinder; | |||
import org.sonar.api.rules.RulePriority; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.ValidationMessages; | |||
import org.sonar.check.BelongsToProfile; | |||
import java.util.Collection; | |||
/** | |||
* @since 2.3 | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
public final class AnnotationProfileParser { | |||
private final RuleFinder ruleFinder; |
@@ -19,14 +19,13 @@ | |||
*/ | |||
package org.sonar.api.profiles; | |||
import java.io.Reader; | |||
import org.apache.commons.lang.builder.ToStringBuilder; | |||
import org.apache.commons.lang.builder.ToStringStyle; | |||
import org.sonar.api.ExtensionPoint; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.ValidationMessages; | |||
import java.io.Reader; | |||
/** | |||
* @since 2.3 | |||
*/ |
@@ -35,6 +35,7 @@ import org.sonar.api.rules.ActiveRule; | |||
import org.sonar.api.rules.Rule; | |||
import org.sonar.api.rules.RuleFinder; | |||
import org.sonar.api.rules.RulePriority; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.ValidationMessages; | |||
@@ -42,6 +43,7 @@ import org.sonar.api.utils.ValidationMessages; | |||
* @since 2.3 | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class XMLProfileParser { | |||
private final RuleFinder ruleFinder; |
@@ -19,20 +19,21 @@ | |||
*/ | |||
package org.sonar.api.profiles; | |||
import java.io.IOException; | |||
import java.io.Writer; | |||
import org.apache.commons.lang.StringEscapeUtils; | |||
import org.apache.commons.lang.StringUtils; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.rules.ActiveRule; | |||
import org.sonar.api.rules.ActiveRuleParam; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.SonarException; | |||
import java.io.IOException; | |||
import java.io.Writer; | |||
/** | |||
* @since 2.3 | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class XMLProfileSerializer { | |||
public void write(RulesProfile profile, Writer writer) { |
@@ -19,10 +19,11 @@ | |||
*/ | |||
package org.sonar.api.resources; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.ExtensionPoint; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.batch.InstantiationStrategy; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
* The extension point to define a new language | |||
@@ -34,6 +35,7 @@ import org.sonar.api.batch.InstantiationStrategy; | |||
@BatchSide | |||
@InstantiationStrategy(InstantiationStrategy.PER_BATCH) | |||
@ServerSide | |||
@ComputeEngineSide | |||
@ExtensionPoint | |||
public interface Language { | |||
@@ -20,17 +20,17 @@ | |||
package org.sonar.api.resources; | |||
import com.google.common.collect.Maps; | |||
import org.apache.commons.lang.ArrayUtils; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.log.Logger; | |||
import org.sonar.api.utils.log.Loggers; | |||
import java.util.ArrayList; | |||
import java.util.Arrays; | |||
import java.util.Collection; | |||
import java.util.List; | |||
import java.util.Map; | |||
import org.apache.commons.lang.ArrayUtils; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.log.Logger; | |||
import org.sonar.api.utils.log.Loggers; | |||
/** | |||
* A class to store the list of languages | |||
@@ -39,6 +39,7 @@ import java.util.Map; | |||
*/ | |||
@BatchSide | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class Languages { | |||
private static final Logger LOG = Loggers.get(Languages.class); |
@@ -26,19 +26,20 @@ import com.google.common.collect.Collections2; | |||
import com.google.common.collect.ImmutableList; | |||
import com.google.common.collect.ImmutableListMultimap; | |||
import com.google.common.collect.ListMultimap; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.server.ServerSide; | |||
import java.util.ArrayList; | |||
import java.util.Arrays; | |||
import java.util.Collection; | |||
import java.util.List; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
* @since 2.14 | |||
*/ | |||
@BatchSide | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class ResourceTypeTree { | |||
private final List<ResourceType> types; |
@@ -37,6 +37,7 @@ import java.util.Collections; | |||
import java.util.List; | |||
import java.util.Map; | |||
import javax.annotation.Nullable; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
@@ -44,6 +45,7 @@ import org.sonar.api.server.ServerSide; | |||
*/ | |||
@Beta | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class ResourceTypes { | |||
public static final Predicate<ResourceType> AVAILABLE_FOR_FILTERS = new Predicate<ResourceType>() { |
@@ -24,8 +24,12 @@ import com.google.common.base.Function; | |||
import com.google.common.base.Functions; | |||
import com.google.common.collect.ImmutableMap; | |||
import com.google.common.collect.Lists; | |||
import java.lang.reflect.Field; | |||
import java.util.Collection; | |||
import java.util.List; | |||
import org.apache.commons.lang.StringUtils; | |||
import org.sonar.api.PropertyType; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.AnnotationUtils; | |||
import org.sonar.api.utils.FieldUtils2; | |||
@@ -33,16 +37,13 @@ import org.sonar.api.utils.SonarException; | |||
import org.sonar.api.utils.log.Logger; | |||
import org.sonar.api.utils.log.Loggers; | |||
import java.lang.reflect.Field; | |||
import java.util.Collection; | |||
import java.util.List; | |||
/** | |||
* @since 2.3 | |||
* @deprecated in 4.2. Replaced by {@link org.sonar.api.server.rule.RulesDefinitionAnnotationLoader} | |||
*/ | |||
@Deprecated | |||
@ServerSide | |||
@ComputeEngineSide | |||
public final class AnnotationRuleParser { | |||
private static final Logger LOG = Loggers.get(AnnotationRuleParser.class); |
@@ -19,14 +19,13 @@ | |||
*/ | |||
package org.sonar.api.rules; | |||
import java.util.Collection; | |||
import javax.annotation.CheckForNull; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.batch.rule.ActiveRules; | |||
import org.sonar.api.rule.RuleKey; | |||
import javax.annotation.CheckForNull; | |||
import java.util.Collection; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
* @since 2.3 | |||
@@ -35,6 +34,7 @@ import java.util.Collection; | |||
@Deprecated | |||
@BatchSide | |||
@ServerSide | |||
@ComputeEngineSide | |||
public interface RuleFinder { | |||
/** |
@@ -19,20 +19,21 @@ | |||
*/ | |||
package org.sonar.api.rules; | |||
import java.util.List; | |||
import org.apache.commons.lang.StringUtils; | |||
import org.apache.commons.lang.builder.ToStringBuilder; | |||
import org.apache.commons.lang.builder.ToStringStyle; | |||
import org.sonar.api.ExtensionPoint; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import java.util.List; | |||
/** | |||
* @since 2.3 | |||
* @deprecated in 4.2. Replaced by org.sonar.api.server.rule.RulesDefinition | |||
*/ | |||
@Deprecated | |||
@ServerSide | |||
@ComputeEngineSide | |||
@ExtensionPoint | |||
public abstract class RuleRepository { | |||
@@ -24,6 +24,16 @@ import com.google.common.base.Strings; | |||
import com.google.common.collect.Lists; | |||
import com.google.common.collect.Maps; | |||
import com.google.common.io.Closeables; | |||
import java.io.File; | |||
import java.io.IOException; | |||
import java.io.InputStream; | |||
import java.io.InputStreamReader; | |||
import java.io.Reader; | |||
import java.util.ArrayList; | |||
import java.util.List; | |||
import java.util.Map; | |||
import javax.xml.stream.XMLInputFactory; | |||
import javax.xml.stream.XMLStreamException; | |||
import org.apache.commons.io.FileUtils; | |||
import org.apache.commons.lang.CharEncoding; | |||
import org.apache.commons.lang.StringUtils; | |||
@@ -31,28 +41,18 @@ import org.codehaus.staxmate.SMInputFactory; | |||
import org.codehaus.staxmate.in.SMHierarchicCursor; | |||
import org.codehaus.staxmate.in.SMInputCursor; | |||
import org.sonar.api.PropertyType; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.SonarException; | |||
import org.sonar.check.Cardinality; | |||
import javax.xml.stream.XMLInputFactory; | |||
import javax.xml.stream.XMLStreamException; | |||
import java.io.File; | |||
import java.io.IOException; | |||
import java.io.InputStream; | |||
import java.io.InputStreamReader; | |||
import java.io.Reader; | |||
import java.util.ArrayList; | |||
import java.util.List; | |||
import java.util.Map; | |||
/** | |||
* @since 2.3 | |||
* @deprecated in 4.2. Replaced by org.sonar.api.server.rule.RulesDefinition and org.sonar.api.server.rule.RulesDefinitionXmlLoader | |||
*/ | |||
@Deprecated | |||
@ServerSide | |||
@ComputeEngineSide | |||
public final class XMLRuleParser { | |||
private static final Map<String, String> TYPE_MAP = typeMapWithDeprecatedValues(); | |||
@@ -20,6 +20,7 @@ | |||
package org.sonar.api.security; | |||
import org.sonar.api.database.model.User; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
@@ -28,6 +29,7 @@ import org.sonar.api.server.ServerSide; | |||
*/ | |||
@Deprecated | |||
@ServerSide | |||
@ComputeEngineSide | |||
public interface UserFinder { | |||
User findById(int id); |
@@ -26,7 +26,7 @@ import java.lang.annotation.Target; | |||
import org.sonar.api.batch.BatchSide; | |||
/** | |||
* Same than {@link BatchSide} but for server-side components. | |||
* Same as {@link BatchSide} but for server-side components. | |||
* | |||
* @since 5.2 | |||
*/ |
@@ -19,16 +19,17 @@ | |||
*/ | |||
package org.sonar.api.server.debt; | |||
import java.util.List; | |||
import javax.annotation.CheckForNull; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import java.util.List; | |||
/** | |||
* @since 4.3 | |||
* @deprecated in 5.2. It will be dropped in version 6.0 (see https://jira.sonarsource.com/browse/SONAR-6393) | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
@Deprecated | |||
public interface DebtModel { | |||
@@ -43,6 +43,7 @@ import org.sonar.api.ExtensionPoint; | |||
import org.sonar.api.rule.RuleStatus; | |||
import org.sonar.api.rule.Severity; | |||
import org.sonar.api.rules.RuleType; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.server.debt.DebtRemediationFunction; | |||
import org.sonar.api.utils.log.Loggers; | |||
@@ -147,6 +148,7 @@ import static org.apache.commons.lang.StringUtils.trimToNull; | |||
* @since 4.3 | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
@ExtensionPoint | |||
public interface RulesDefinition { | |||
@@ -20,8 +20,9 @@ | |||
package org.sonar.api.server.rule; | |||
import org.apache.commons.lang.StringUtils; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.i18n.RuleI18n; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
* Loads the English bundles of rules (name, description and parameters) that are | |||
@@ -36,6 +37,7 @@ import org.sonar.api.i18n.RuleI18n; | |||
* @since 4.3 | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class RulesDefinitionI18nLoader { | |||
private final RuleI18n i18n; |
@@ -35,6 +35,7 @@ import org.codehaus.staxmate.in.SMInputCursor; | |||
import org.sonar.api.rule.RuleStatus; | |||
import org.sonar.api.rule.Severity; | |||
import org.sonar.api.rules.RuleType; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.server.debt.DebtRemediationFunction; | |||
import org.sonar.check.Cardinality; | |||
@@ -178,6 +179,7 @@ import static org.apache.commons.lang.StringUtils.trim; | |||
* @since 4.3 | |||
*/ | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class RulesDefinitionXmlLoader { | |||
private enum DescriptionFormat { |
@@ -21,6 +21,7 @@ package org.sonar.api.user; | |||
import java.util.List; | |||
import javax.annotation.CheckForNull; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
@@ -29,6 +30,7 @@ import org.sonar.api.server.ServerSide; | |||
*/ | |||
@Deprecated | |||
@ServerSide | |||
@ComputeEngineSide | |||
public interface UserFinder { | |||
@CheckForNull |
@@ -25,6 +25,7 @@ import org.sonar.api.CoreProperties; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.config.Settings; | |||
import org.sonar.api.i18n.I18n; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
@@ -34,6 +35,7 @@ import org.sonar.api.server.ServerSide; | |||
*/ | |||
@BatchSide | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class Durations { | |||
public enum DurationFormat { |
@@ -27,6 +27,7 @@ import java.util.TimeZone; | |||
import javax.annotation.CheckForNull; | |||
import org.apache.commons.lang.SystemUtils; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
@@ -64,6 +65,7 @@ import org.sonar.api.server.ServerSide; | |||
*/ | |||
@BatchSide | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class System2 { | |||
public static final System2 INSTANCE = new System2(); |
@@ -19,13 +19,12 @@ | |||
*/ | |||
package org.sonar.api.utils; | |||
import java.io.File; | |||
import javax.annotation.Nullable; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
import javax.annotation.Nullable; | |||
import java.io.File; | |||
/** | |||
* Use this component to deal with temp files/folders. Root location of temp files/folders | |||
* depends on situation: | |||
@@ -38,6 +37,7 @@ import java.io.File; | |||
*/ | |||
@BatchSide | |||
@ServerSide | |||
@ComputeEngineSide | |||
public interface TempFolder { | |||
/** |
@@ -25,9 +25,6 @@ import com.google.common.base.Throwables; | |||
import com.google.common.collect.Lists; | |||
import com.google.common.collect.Maps; | |||
import com.google.common.io.Files; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.server.ServerSide; | |||
import java.io.File; | |||
import java.io.IOException; | |||
import java.net.URI; | |||
@@ -35,6 +32,9 @@ import java.nio.charset.Charset; | |||
import java.util.List; | |||
import java.util.Locale; | |||
import java.util.Map; | |||
import org.sonar.api.batch.BatchSide; | |||
import org.sonar.api.ce.ComputeEngineSide; | |||
import org.sonar.api.server.ServerSide; | |||
/** | |||
* Reads different types of URI. Supported schemes are http and file. | |||
@@ -43,6 +43,7 @@ import java.util.Map; | |||
*/ | |||
@BatchSide | |||
@ServerSide | |||
@ComputeEngineSide | |||
public class UriReader { | |||
private final Map<String, SchemeProcessor> processorsByScheme = Maps.newHashMap(); |