Package org.apache.hadoop.gateway.filter.rewrite.impl

Examples of org.apache.hadoop.gateway.filter.rewrite.impl.UrlRewriteStepProcessorHolder


  }

  @Override
  public Template rewrite( Resolver resolver, Template inputUri, Direction direction, String ruleName ) {
    Template outputUri = inputUri;
    UrlRewriteStepProcessorHolder stepHolder = null;
    String effectiveRuleName = null;
    if( ruleName == null || "*".equals( ruleName ) ) {
      ruleName = null; // Used for logging later.
      Matcher<UrlRewriteRuleProcessorHolder>.Match match = null;
      switch( direction ) {
        case IN:
          match = inbound.match( outputUri );
          break;
        case OUT:
          match = outbound.match( outputUri );
          break;
      }
      if( match != null ) {
        stepHolder = match.getValue();
        effectiveRuleName = match.getValue().getRuleName();
      }
    } else if( !ruleName.isEmpty() ) {
      stepHolder = rules.get( ruleName );
      effectiveRuleName = ruleName;
    }
    if( stepHolder != null ) {
      UrlRewriteContext context = new UrlRewriteContextImpl( environment, resolver, functions, direction, inputUri );
      try {
        UrlRewriteStepStatus stepStatus = stepHolder.process( context );
        if( UrlRewriteStepStatus.SUCCESS == stepStatus ) {
          outputUri = context.getCurrentUrl();
          if( ruleName == null ) {
            LOG.rewroteUrlViaImplicitRule( inputUri, direction, effectiveRuleName, outputUri );
          } else {
View Full Code Here


  }

  private void initializeRules( UrlRewriteRulesDescriptor descriptor ) {
    for( UrlRewriteRuleDescriptor ruleDescriptor : descriptor.getRules() ) {
      try {
        UrlRewriteStepProcessorHolder ruleProcessor = new UrlRewriteStepProcessorHolder();
        ruleProcessor.initialize( environment, ruleDescriptor );
        Template template = ruleDescriptor.template();
        rules.add( ruleProcessor );
        EnumSet<Direction> directions = ruleDescriptor.directions();
        if( directions == null || directions.isEmpty() ) {
          inbound.add( template, ruleProcessor );
View Full Code Here

    }
    if( match != null ) {
      UrlRewriteFunctionResolver function = new UrlRewriteFunctionResolver( functions, resolver );
      UrlRewriteContext context = new UrlRewriteContextImpl( environment, function, direction, inputUri );
      try {
        UrlRewriteStepProcessorHolder stepHolder = match.getValue();
        UrlRewriteStepStatus stepStatus = stepHolder.process( context );
        if( UrlRewriteStepStatus.SUCCESS == stepStatus ) {
          outputUri = context.getCurrentUrl();
        } else {
          outputUri = null;
        }
View Full Code Here

TOP

Related Classes of org.apache.hadoop.gateway.filter.rewrite.impl.UrlRewriteStepProcessorHolder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.