/**
   * Constructor - takes the services context as argument.
   *
   * @param adminContext - administrative context
   */
  public EPAdministratorImpl(EPAdministratorContext adminContext) {
    this.services = adminContext.getServices();
    this.configurationOperations = adminContext.getConfigurationOperations();
    this.defaultStreamSelector = adminContext.getDefaultStreamSelector();

    ConfigurationEngineDefaults.AlternativeContext alternativeContext =
        adminContext.getServices().getConfigSnapshot().getEngineDefaults().getAlternativeContext();
    StatementIdGenerator statementIdGenerator = null;
    if (alternativeContext != null && alternativeContext.getStatementIdGeneratorFactory() != null) {
      StatementIdGeneratorFactory statementIdGeneratorFactory =
          (StatementIdGeneratorFactory)
              JavaClassHelper.instantiate(
                  StatementIdGeneratorFactory.class,
                  alternativeContext.getStatementIdGeneratorFactory());
      statementIdGenerator =
          statementIdGeneratorFactory.create(
              new StatementIdGeneratorFactoryContext(services.getEngineURI()));
    }
    this.deploymentAdminService =
        new EPDeploymentAdminImpl(
            this,
            adminContext.getServices().getDeploymentStateService(),
            adminContext.getServices().getStatementEventTypeRefService(),
            adminContext.getServices().getEventAdapterService(),
            adminContext.getServices().getStatementIsolationService(),
            statementIdGenerator,
            adminContext.getServices().getFilterService());
  }
 public StatementSpecRaw mapSODAToRaw(EPStatementObjectModel model) {
   return StatementSpecMapper.map(
       model,
       services.getEngineImportService(),
       services.getVariableService(),
       services.getConfigSnapshot(),
       services.getSchedulingService(),
       services.getEngineURI(),
       services.getPatternNodeFactory(),
       services.getNamedWindowService(),
       services.getContextManagementService(),
       services.getExprDeclaredService());
 }