/*
 * 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.
 */
package org.apache.shindig.gadgets.rewrite;

import com.google.inject.Inject;
import org.apache.shindig.common.uri.Uri;
import org.apache.shindig.gadgets.Gadget;
import org.apache.shindig.gadgets.uri.ProxyUriManager;

import java.util.Arrays;
import java.util.List;

/**
 * Rewriter that replaces urls (@import + background) in
 * &lt;style&gt; ... &lt;/style&gt; with their proxied versions.
 *
 * @since 2.0.0
 */
public class StyleTagProxyEmbeddedUrlsRewriter extends DomWalker.Rewriter {
  private final ContentRewriterFeature.Factory featureConfigFactory;
  private final ProxyUriManager proxyUriManager;
  private final CssResponseRewriter cssRewriter;

  @Inject
  public StyleTagProxyEmbeddedUrlsRewriter(ContentRewriterFeature.Factory featureConfigFactory,
                                           ProxyUriManager proxyUriManager,
                                           CssResponseRewriter cssRewriter) {
    this.featureConfigFactory = featureConfigFactory;
    this.proxyUriManager = proxyUriManager;
    this.cssRewriter = cssRewriter;
  }

  @Override
  protected List<DomWalker.Visitor> makeVisitors(Gadget context, Uri gadgetUri) {
    ContentRewriterFeature.Config config = featureConfigFactory.get(gadgetUri);
    return Arrays.<DomWalker.Visitor>asList(
        new StyleTagProxyEmbeddedUrlsVisitor(config, proxyUriManager,
                                             cssRewriter));
  }
}

@@ -879,16 +879,17 @@
 Inject;%0A
+%0A
 import o
@@ -1337,36 +1337,21 @@
 ure.
-Factory featureConfigFactory
+Config config
 ;%0A  
@@ -1527,36 +1527,28 @@
 ure.
-Factory featureConfigFactory
+DefaultConfig config
 ,%0A  
@@ -1712,51 +1712,23 @@
 his.
-featureConfigFactory = featureConfigFactory
+config = config
 ;%0A  
@@ -1822,16 +1822,16 @@
 verride%0A
+
   protec
@@ -1908,88 +1908,8 @@
 ) %7B%0A
-    ContentRewriterFeature.Config config = featureConfigFactory.get(gadgetUri);%0A
     

Patch by gagan.goku | Issue 2770041: Refactoring StyleTagProxyEmbeddedUrlsRewriter to use DefaultConfig instead | http://codereview.appspot.com/2770041/