Ugh, autoformatting in IntelliJ. Thought I had reverted, also I moved that
file by mistake :( Fixing now.

On Tue, Jul 29, 2008 at 3:05 PM, Kevin Brown <[EMAIL PROTECTED]> wrote:

> On Tue, Jul 29, 2008 at 2:59 PM, <[EMAIL PROTECTED]> wrote:
>
> > Author: lryan
> > Date: Tue Jul 29 14:59:32 2008
> > New Revision: 680856
> >
> > URL: http://svn.apache.org/viewvc?rev=680856&view=rev
> > Log:
> > Fix problem with non-inline JS being included out-of-order
> >
> > Added:
> >
> >
>  
> incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/RestfulRequestItemTest.java
> >      - copied, changed from r679466,
> >
> incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/RequestItemTest.java
>
>
> What do these changes have to do with your commit message?
>
>
> >
> > Modified:
> >
> >
>  
> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetRenderingTask.java
> >
> > Modified:
> >
> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetRenderingTask.java
> > URL:
> >
> http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetRenderingTask.java?rev=680856&r1=680855&r2=680856&view=diff
> >
> >
> ==============================================================================
> > ---
> >
> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetRenderingTask.java
> > (original)
> > +++
> >
> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetRenderingTask.java
> > Tue Jul 29 14:59:32 2008
> > @@ -19,6 +19,8 @@
> >
> >  package org.apache.shindig.gadgets.servlet;
> >
> > +import com.google.inject.Inject;
> > +
> >  import org.apache.shindig.common.ContainerConfig;
> >  import org.apache.shindig.common.SecurityToken;
> >  import org.apache.shindig.common.SecurityTokenDecoder;
> > @@ -40,9 +42,6 @@
> >  import org.apache.shindig.gadgets.spec.ModulePrefs;
> >  import org.apache.shindig.gadgets.spec.Preload;
> >  import org.apache.shindig.gadgets.spec.View;
> > -
> > -import com.google.inject.Inject;
> > -
> >  import org.json.JSONArray;
> >  import org.json.JSONException;
> >  import org.json.JSONObject;
> > @@ -70,30 +69,45 @@
> >  * Represents a single rendering task
> >  */
> >  public class GadgetRenderingTask {
> > +
> >   protected static final int DEFAULT_CACHE_TTL = 60 * 5;
> > +
> >   protected static final String CAJA_PARAM = "caja";
> > +
> >   protected static final String LIBS_PARAM_NAME = "libs";
> > +
> >   protected static final Logger logger
> >       = Logger.getLogger("org.apache.shindig.gadgets");
> > -  protected static final String STRICT_MODE_DOCTYPE = "<!DOCTYPE HTML
> > PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"
> > http://www.w3.org/TR/html4/strict.dtd\<http://www.w3.org/TR/html4/strict.dtd%5C>
> <http://www.w3.org/TR/html4/strict.dtd%5C>
> > ">";
> > +
> > +  protected static final String STRICT_MODE_DOCTYPE
> > +      = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"
> > http://www.w3.org/TR/html4/strict.dtd\<http://www.w3.org/TR/html4/strict.dtd%5C>
> <http://www.w3.org/TR/html4/strict.dtd%5C>
> > ">";
> >
> >   private HttpServletRequest request;
> > +
> >   private HttpServletResponse response;
> > +
> >   private final GadgetServer server;
> > +
> >   private final MessageBundleFactory messageBundleFactory;
> > +
> >   private final GadgetFeatureRegistry registry;
> > +
> >   private final ContainerConfig containerConfig;
> > +
> >   private final UrlGenerator urlGenerator;
> > +
> >   private final SecurityTokenDecoder tokenDecoder;
> > +
> >   private GadgetContext context;
> > +
> >   private final List<GadgetContentFilter> filters;
> > +
> >   private final LockedDomainService domainLocker;
> > +
> >   private String container = null;
> >
> >   /**
> >    * Processes a single rendering request and produces output html or
> > errors.
> > -   *
> > -   * @throws IOException
> >    */
> >   public void process(HttpServletRequest request, HttpServletResponse
> > response)
> >       throws IOException {
> > @@ -111,7 +125,7 @@
> >
> >     if (!"http".equals(url.getScheme()) &&
> > !"https".equals(url.getScheme())) {
> >       response.sendError(HttpServletResponse.SC_BAD_REQUEST,
> > -                         "Unsupported scheme (must be http or https).");
> > +          "Unsupported scheme (must be http or https).");
> >       return;
> >     }
> >
> > @@ -140,18 +154,14 @@
> >
> >   /**
> >    * Renders a successfully processed gadget.
> > -   *
> > -   * @param gadget
> > -   * @throws IOException
> > -   * @throws GadgetException
> >    */
> >   private void outputGadget(Gadget gadget) throws IOException,
> > GadgetException {
> >     View view = gadget.getView(containerConfig);
> >     if (view == null) {
> > -        throw new
> > GadgetException(GadgetException.Code.UNKNOWN_VIEW_SPECIFIED,
> > -            "No appropriate view could be found for gadget: " +
> > gadget.getSpec().getUrl());
> > +      throw new
> > GadgetException(GadgetException.Code.UNKNOWN_VIEW_SPECIFIED,
> > +          "No appropriate view could be found for gadget: " +
> > gadget.getSpec().getUrl());
> >     }
> > -    switch(view.getType()) {
> > +    switch (view.getType()) {
> >       case HTML:
> >         outputHtmlGadget(gadget, view);
> >         break;
> > @@ -164,9 +174,7 @@
> >   /**
> >    * Redirect a type=html gadget to a locked domain if necessary.
> >    *
> > -   * @param gadget
> >    * @return true if the request was handled, false if the request can
> > proceed
> > -   * @throws IOException
> >    */
> >   private boolean mustRedirectToLockedDomain(Gadget gadget)
> >       throws IOException {
> > @@ -183,9 +191,9 @@
> >         gadgetUrl, container);
> >     String redir =
> >         request.getScheme() + "://" +
> > -        required +
> > -        request.getServletPath() + '?' +
> > -        request.getQueryString();
> > +            required +
> > +            request.getServletPath() + '?' +
> > +            request.getQueryString();
> >     logger.info("Redirecting gadget " + context.getUrl() + " from domain
> "
> > +
> >         host + " to domain " + redir);
> >     response.sendRedirect(redir);
> > @@ -195,11 +203,6 @@
> >
> >   /**
> >    * Handles type=html gadget output.
> > -   *
> > -   * @param gadget
> > -   * @param view
> > -   * @throws IOException
> > -   * @throws GadgetException
> >    */
> >   private void outputHtmlGadget(Gadget gadget, View view)
> >       throws IOException, GadgetException {
> > @@ -217,11 +220,11 @@
> >     // TODO: Substitute gadgets.skins values in here.
> >     String boilerPlate
> >         = "<html><head><style type=\"text/css\">" +
> > -          "body,td,div,span,p{font-family:arial,sans-serif;}" +
> > -          "a {color:#0000cc;}a:visited {color:#551a8b;}" +
> > -          "a:active {color:#ff0000;}" +
> > -          "body{margin: 0px;padding: 0px;background-color:white;}" +
> > -          "</style></head>";
> > +        "body,td,div,span,p{font-family:arial,sans-serif;}" +
> > +        "a {color:#0000cc;}a:visited {color:#551a8b;}" +
> > +        "a:active {color:#ff0000;}" +
> > +        "body{margin: 0px;padding: 0px;background-color:white;}" +
> > +        "</style></head>";
> >     markup.append(boilerPlate);
> >     LocaleSpec localeSpec = gadget.getSpec().getModulePrefs().getLocale(
> >         gadget.getContext().getLocale());
> > @@ -229,11 +232,10 @@
> >       markup.append("<body>");
> >     } else {
> >       markup.append("<body dir=\"")
> > -            .append(localeSpec.getLanguageDirection())
> > -            .append("\">");
> > +          .append(localeSpec.getLanguageDirection())
> > +          .append("\">");
> >     }
> >
> > -    StringBuilder externJs = new StringBuilder();
> >     StringBuilder inlineJs = new StringBuilder();
> >     String externFmt = "<script src=\"%s\"></script>";
> >     String forcedLibs = request.getParameter("libs");
> > @@ -262,7 +264,12 @@
> >     // Inline any libs that weren't forced
> >     for (JsLibrary library : gadget.getJsLibraries()) {
> >       if (library.getType().equals(JsLibrary.Type.URL)) {
> > -        externJs.append(String.format(externFmt, library.getContent()));
> > +        if (inlineJs.length() > 0) {
> > +          markup.append("<script><!--\n").append(inlineJs)
> > +              .append("\n-->\n</script>");
> > +          inlineJs.setLength(0);
> > +        }
> > +        markup.append(String.format(externFmt, library.getContent()));
> >       } else {
> >         if (!libs.contains(library.getFeature())) {
> >           // already pulled this file in from the shared contents.
> > @@ -293,11 +300,7 @@
> >
> >     if (inlineJs.length() > 0) {
> >       markup.append("<script><!--\n").append(inlineJs)
> > -            .append("\n-->\n</script>");
> > -    }
> > -
> > -    if (externJs.length() > 0) {
> > -      markup.append(externJs);
> > +          .append("\n-->\n</script>");
> >     }
> >
> >     String content = view.getContent();
> > @@ -306,8 +309,8 @@
> >     }
> >
> >     markup.append(content)
> > -          .append("<script>gadgets.util.runOnLoadHandlers();</script>")
> > -          .append("</body></html>");
> > +        .append("<script>gadgets.util.runOnLoadHandlers();</script>")
> > +        .append("</body></html>");
> >     if (context.getIgnoreCache()) {
> >       HttpUtil.setCachingHeaders(response, 0);
> >     } else if (request.getParameter("v") != null) {
> > @@ -323,12 +326,8 @@
> >
> >   /**
> >    * Outputs a url type gadget by redirecting.
> > -   *
> > -   * @param gadget
> > -   * @param view
> > -   * @throws IOException
> >    */
> > -  private void outputUrlGadget(Gadget gadget,  View view) throws
> > IOException {
> > +  private void outputUrlGadget(Gadget gadget, View view) throws
> > IOException {
> >     // TODO: generalize this as injectedArgs on Gadget object
> >
> >     // Preserve existing query string parameters.
> > @@ -344,20 +343,20 @@
> >
> >     try {
> >       href = new URI(href.getScheme(),
> > -                     href.getUserInfo(),
> > -                     href.getHost(),
> > -                     href.getPort(),
> > -                     href.getPath(),
> > -                     null,
> > -                     null);
> > +          href.getUserInfo(),
> > +          href.getHost(),
> > +          href.getPort(),
> > +          href.getPath(),
> > +          null,
> > +          null);
> >     } catch (URISyntaxException e) {
> >       // Not really ever going to happen; input values are already OK.
> >       response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
> > -                         e.getMessage());
> > +          e.getMessage());
> >     }
> >     // Necessary to avoid double-URL-encoding of the JavaScript bundle
> > portion of the query.
> >     StringBuilder redirectHref = new StringBuilder(href.toString());
> > -    if (query.toString() != null ) {
> > +    if (query.toString() != null) {
> >       redirectHref.append('?');
> >       redirectHref.append(query.toString());
> >     }
> > @@ -369,12 +368,8 @@
> >   }
> >
> >   /**
> > -   * Displays errors for failed GadgetRendering.
> > -   * Also sets the caching headers to insure that our server
> > -   * is not hurt by failing backends when nocache is not set.
> > -   *
> > -   * @param error
> > -   * @throws IOException
> > +   * Displays errors for failed GadgetRendering. Also sets the caching
> > headers to insure that our
> > +   * server is not hurt by failing backends when nocache is not set.
> >    */
> >   private void outputErrors(GadgetException error) throws IOException {
> >     // Log the errors here for now. We might want different severity
> levels
> > @@ -396,18 +391,15 @@
> >
> >   /**
> >    * Appends libs to the query string.
> > -   * @param libs
> > -   * @param query
> >    */
> >   private void appendLibsToQuery(Set<String> libs, StringBuilder query) {
> >     query.append('&')
> > -         .append(LIBS_PARAM_NAME)
> > -         .append('=')
> > -
> .append(Utf8UrlCoder.encode(urlGenerator.getBundledJsParam(libs,
> > context)));
> > +        .append(LIBS_PARAM_NAME)
> > +        .append('=')
> > +        .append(Utf8UrlCoder.encode(urlGenerator.getBundledJsParam(libs,
> > context)));
> >   }
> >
> >   /**
> > -   * @param req
> >    * @return Whether or not to use caja.
> >    */
> >   protected boolean getUseCaja(HttpServletRequest req) {
> > @@ -418,17 +410,16 @@
> >   /**
> >    * Appends javascript configuration to the bottom of an existing script
> > block.
> >    *
> > -   * Appends special configuration for gadgets.util.hasFeature and
> > -   * gadgets.util.getFeatureParams to the output js.
> > +   * Appends special configuration for gadgets.util.hasFeature and
> > gadgets.util.getFeatureParams to
> > +   * the output js.
> >    *
> > -   * This can't be handled via the normal configuration mechanism
> because
> > it is
> > -   * something that varies per request.
> > +   * This can't be handled via the normal configuration mechanism
> because
> > it is something that
> > +   * varies per request.
> >    *
> >    * Only explicitly <Require>'d and <Optional> features will be added.
> >    *
> > -   * @param gadget
> >    * @param reqs The features you require.
> > -   * @param js Existing js, to which the configuration will be appended.
> > +   * @param js   Existing js, to which the configuration will be
> appended.
> >    * @throws GadgetException if there is a problem with the gadget auth
> > token
> >    */
> >   private void appendJsConfig(Gadget gadget, Set<String> reqs,
> > @@ -467,11 +458,7 @@
> >   }
> >
> >   /**
> > -   * Appends data from <Preload> elements to make them available to
> > -   * gadgets.io.
> > -   *
> > -   * @param gadget
> > -   * @param inlineJs
> > +   * Appends data from <Preload> elements to make them available to
> > gadgets.io.
> >    */
> >   private void appendPreloads(Gadget gadget, StringBuilder inlineJs) {
> >     // Output preloads. We will allow the gadget render to continue
> > @@ -485,11 +472,11 @@
> >         // Use raw param as key as URL may have to be decoded
> >         JSONObject jsonEntry = new JSONObject();
> >         jsonEntry.put("body", response.getResponseAsString())
> > -                 .put("rc", response.getHttpStatusCode());
> > +            .put("rc", response.getHttpStatusCode());
> >         resp.put(entry.getKey().getHref().toString(), jsonEntry);
> >       } catch (JSONException e) {
> >         logger.log(
> > -            Level.INFO,"Error outputting preload for " +
> > preload.getHref(), e);
> > +            Level.INFO, "Error outputting preload for " +
> > preload.getHref(), e);
> >       } catch (InterruptedException e) {
> >         logger.log(
> >             Level.INFO, "Error scheduling preload for " +
> > preload.getHref(), e);
> > @@ -499,10 +486,12 @@
> >       }
> >     }
> >     inlineJs.append("gadgets.io.preloaded_ = ").append(resp.toString())
> > -            .append(";\n");
> > +        .append(";\n");
> >   }
> >
> > -  /** Gets the container for the current request. */
> > +  /**
> > +   * Gets the container for the current request.
> > +   */
> >   private String getContainerForRequest() {
> >     if (container != null) {
> >       return container;
> > @@ -521,8 +510,7 @@
> >   /**
> >    * Validates that the parent parameter was acceptable.
> >    *
> > -   * @return True if the parent parameter is valid for the current
> > -   *     container.
> > +   * @return True if the parent parameter is valid for the current
> > container.
> >    */
> >   private boolean validateParent() {
> >     String container = getContainerForRequest();
> > @@ -559,12 +547,12 @@
> >
> >   @Inject
> >   public GadgetRenderingTask(GadgetServer server,
> > -                             MessageBundleFactory messageBundleFactory,
> > -                             GadgetFeatureRegistry registry,
> > -                             ContainerConfig containerConfig,
> > -                             UrlGenerator urlGenerator,
> > -                             SecurityTokenDecoder tokenDecoder,
> > -                             LockedDomainService lockedDomainService) {
> > +      MessageBundleFactory messageBundleFactory,
> > +      GadgetFeatureRegistry registry,
> > +      ContainerConfig containerConfig,
> > +      UrlGenerator urlGenerator,
> > +      SecurityTokenDecoder tokenDecoder,
> > +      LockedDomainService lockedDomainService) {
> >     this.server = server;
> >     this.messageBundleFactory = messageBundleFactory;
> >     this.registry = registry;
> >
> > Copied:
> >
> incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/RestfulRequestItemTest.java
> > (from r679466,
> >
> incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/RequestItemTest.java)
> > URL:
> >
> http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/RestfulRequestItemTest.java?p2=incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/RestfulRequestItemTest.java&p1=incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/RequestItemTest.java&r1=679466&r2=680856&rev=680856&view=diff
> >
> >
> ==============================================================================
> > ---
> >
> incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/RequestItemTest.java
> > (original)
> > +++
> >
> incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/RestfulRequestItemTest.java
> > Tue Jul 29 14:59:32 2008
> > @@ -17,25 +17,25 @@
> >  */
> >  package org.apache.shindig.social.opensocial.service;
> >
> > +import com.google.common.collect.Maps;
> > +import com.google.common.collect.Sets;
> > +
> > +import junit.framework.TestCase;
> > +
> >  import org.apache.shindig.common.SecurityToken;
> >  import org.apache.shindig.common.testing.FakeGadgetToken;
> > -import org.apache.shindig.social.opensocial.service.RequestItem;
> >  import org.apache.shindig.social.opensocial.spi.GroupId;
> >  import org.apache.shindig.social.opensocial.spi.PersonService;
> >  import org.apache.shindig.social.opensocial.spi.UserId;
> >
> > -import com.google.common.collect.Maps;
> > -import com.google.common.collect.Sets;
> > -import junit.framework.TestCase;
> > -
> >  import java.util.Map;
> >
> > -public class RequestItemTest extends TestCase {
> > +public class RestfulRequestItemTest extends TestCase {
> >
> >   public void testParseUrl() throws Exception {
> >     String path = "/people/john.doe/@self";
> >
> > -    RequestItem request = new RequestItem();
> > +    RestfulRequestItem request = new RestfulRequestItem();
> >     request.setUrl(path + "?fields=huey,dewey,louie");
> >
> >     request.putUrlParamsIntoParameters();
> > @@ -44,7 +44,7 @@
> >     assertEquals("huey,dewey,louie",
> > request.getParameters().get("fields"));
> >
> >     // Try it without any params
> > -    request = new RequestItem();
> > +    request = new RestfulRequestItem();
> >     request.setUrl(path);
> >
> >     request.putUrlParamsIntoParameters();
> > @@ -58,7 +58,7 @@
> >     Map<String, String> params = Maps.newHashMap();
> >     SecurityToken token = null;
> >     String method = "method";
> > -    RequestItem request = new RequestItem();
> > +    RestfulRequestItem request = new RestfulRequestItem();
> >
> >     request.setUrl(url);
> >     assertEquals(url, request.getUrl());
> > @@ -74,7 +74,7 @@
> >   }
> >
> >   public void testGetAppId() throws Exception {
> > -    RequestItem request = new RequestItem();
> > +    RestfulRequestItem request = new RestfulRequestItem();
> >
> >     request.setParameters(Maps.immutableMap("appId", "100"));
> >     assertEquals("100", request.getAppId());
> > @@ -86,21 +86,21 @@
> >   }
> >
> >   public void testGetUser() throws Exception {
> > -    RequestItem request = new RequestItem();
> > +    RestfulRequestItem request = new RestfulRequestItem();
> >
> >     request.setParameters(Maps.immutableMap("userId", "@owner"));
> >     assertEquals(UserId.Type.owner, request.getUser().getType());
> >   }
> >
> >   public void testGetGroup() throws Exception {
> > -    RequestItem request = new RequestItem();
> > +    RestfulRequestItem request = new RestfulRequestItem();
> >
> >     request.setParameters(Maps.immutableMap("groupId", "@self"));
> >     assertEquals(GroupId.Type.self, request.getGroup().getType());
> >   }
> >
> >   public void testStartIndex() throws Exception {
> > -    RequestItem request = new RequestItem();
> > +    RestfulRequestItem request = new RestfulRequestItem();
> >
> >     request.setParameters(Maps.<String, String>immutableMap("startIndex",
> > null));
> >     assertEquals(0, request.getStartIndex());
> > @@ -110,7 +110,7 @@
> >   }
> >
> >   public void testCount() throws Exception {
> > -    RequestItem request = new RequestItem();
> > +    RestfulRequestItem request = new RestfulRequestItem();
> >
> >     request.setParameters(Maps.<String, String>immutableMap("count",
> > null));
> >     assertEquals(20, request.getCount());
> > @@ -120,7 +120,7 @@
> >   }
> >
> >   public void testOrderBy() throws Exception {
> > -    RequestItem request = new RequestItem();
> > +    RestfulRequestItem request = new RestfulRequestItem();
> >
> >     request.setParameters(Maps.<String, String>immutableMap("orderBy",
> > null));
> >     assertEquals(PersonService.SortOrder.topFriends,
> request.getOrderBy());
> > @@ -130,7 +130,7 @@
> >   }
> >
> >   public void testFilterBy() throws Exception {
> > -    RequestItem request = new RequestItem();
> > +    RestfulRequestItem request = new RestfulRequestItem();
> >
> >     request.setParameters(Maps.<String, String>immutableMap("filterBy",
> > null));
> >     assertEquals(PersonService.FilterType.all, request.getFilterBy());
> > @@ -140,7 +140,7 @@
> >   }
> >
> >   public void testFields() throws Exception {
> > -    RequestItem request = new RequestItem();
> > +    RestfulRequestItem request = new RestfulRequestItem();
> >
> >     request.setParameters(Maps.<String, String>immutableMap("fields",
> > null));
> >     assertEquals(Sets.<String>newHashSet(), request.getFields());
> > @@ -149,4 +149,10 @@
> >     assertEquals(Sets.newHashSet("happy", "sad", "grumpy"),
> > request.getFields());
> >   }
> >
> > +  public void testRouteFromParameter() throws Exception {
> > +    assertEquals("path",
> RestfulRequestItem.getServiceFromPath("/path"));
> > +    assertEquals("path",
> > RestfulRequestItem.getServiceFromPath("/path/fun"));
> > +    assertEquals("path",
> > RestfulRequestItem.getServiceFromPath("/path/fun/yes"));
> > +  }
> > +
> >  }
> > \ No newline at end of file
> >
> >
> >
>

Reply via email to