Thank you for your inquiry.  DVSR_Sarma Krovi is no longer with the firm.  For 
immediate assistance, please contact Reception at +1-212-478-0000.

Sincerely,
The D. E. Shaw Group


-- 8< --- CUT HERE -------------------------- CUT HERE --- >8 --

  From:    hsapu...@apache.org
  To:      comm...@shindig.apache.org
  cc:      
  Subject: svn commit: r1203288 - in /shindig/trunk: UPGRADING 
java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ExternalServices.java
 java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/GadgetSpec.java

  Author: hsaputra
  Date: Thu Nov 17 17:26:15 2011
  New Revision: 1203288
  
  URL: http://svn.apache.org/viewvc?rev=1203288&view=rev
  Log:
  Update the UPGRADING file for Paul Lindner checkins upgrade to commons-lang3.
  
  Added:
      
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ExternalServices.java
  Modified:
      shindig/trunk/UPGRADING
      
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/GadgetSpec.java
  
  Modified: shindig/trunk/UPGRADING
  URL: 
http://svn.apache.org/viewvc/shindig/trunk/UPGRADING?rev=1203288&r1=1203287&r2=1203288&view=diff
  ==============================================================================
  --- shindig/trunk/UPGRADING (original)
  +++ shindig/trunk/UPGRADING Thu Nov 17 17:26:15 2011
  @@ -7,8 +7,8 @@ FROM 2.0.x TO 3.0.x
   * guice 2.0->3.0
   * nekohtml 1.9.14->1.9.15
   * htmlunit 2.8->2.9 
  -
   * closure-compiler r1459
  +* commons-lang to commons-lang3 3.1
   
   FROM 1.0.x TO 2.0.x
   ===================
  
  Added: 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ExternalServices.java
  URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ExternalServices.java?rev=1203288&view=auto
  ==============================================================================
  --- 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ExternalServices.java
 (added)
  +++ 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ExternalServices.java
 Thu Nov 17 17:26:15 2011
  @@ -0,0 +1,98 @@
  +/*
  + * 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.spec;
  +
  +import com.google.common.collect.ImmutableMap;
  +import com.google.common.collect.Lists;
  +import com.google.common.collect.Maps;
  +
  +import org.apache.commons.lang.StringUtils;
  +import org.apache.shindig.common.xml.XmlUtil;
  +import org.w3c.dom.Element;
  +import org.w3c.dom.Node;
  +import org.w3c.dom.NodeList;
  +
  +import java.util.Map;
  +
  +/**
  + * Represents the ExternalServices tag in the gadget spec.
  + *
  + * It includes the child ServiceTag and its text element.
  + *
  + * @since 3.0.0
  + */
  +public class ExternalServices {
  +  // The name to be used in the "alias" request parameters.
  +  private static final String ATTR_ALIAS = "alias";
  +
  +  private Map<String, ServiceTag> serviceTags;
  +
  +  public ExternalServices(Element element) {
  +    Map<String, ServiceTag> serviceTagsBuilder = Maps.newLinkedHashMap();
  +    parseServiceTags(element, serviceTagsBuilder);
  +
  +    serviceTags = ImmutableMap.copyOf(serviceTagsBuilder);
  +  }
  +
  +  public Map<String, ServiceTag> getServiceTags() {
  +    return serviceTags;
  +  }
  +
  +  private void parseServiceTags(Element element, Map<String, ServiceTag> 
serviceTagsBuilder) {
  +    NodeList children = element.getChildNodes();
  +    for (int i = 0, j = children.getLength(); i < j; ++i) {
  +      Node child = children.item(i);
  +      String tagName = child.getNodeName();
  +      if (!(child instanceof Element)) continue;
  +
  +      // only process ServiceTag child tags
  +      if(ServiceTag.SERVICE_TAG.equals(tagName)) {
  +        String alias = XmlUtil.getAttribute(child, ATTR_ALIAS, "");
  +        String tag = child.getTextContent();
  +        tag = (tag != null) ? tag.trim() : "";
  +        ServiceTag serviceTag = new ServiceTag(alias, tag);
  +        serviceTagsBuilder.put(alias, serviceTag);
  +      }
  +    }
  +  }
  +
  +  /**
  +   * Represent the ServiceTag tag in the gadget spec.
  +   *
  +   * @since 3.0.0
  +   */
  +  public static class ServiceTag {
  +    public static final String SERVICE_TAG = "ServiceTag";
  +
  +    private final String alias;
  +    private final String tag;
  +
  +    public ServiceTag(String alias, String tag) {
  +      this.alias = alias;
  +      this.tag = tag;
  +    }
  +
  +    public String getAlias() {
  +      return alias;
  +    }
  +
  +    public String getTag() {
  +      return tag;
  +    }
  +  }
  +}
  
  Modified: 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/GadgetSpec.java
  URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/GadgetSpec.java?rev=1203288&r1=1203287&r2=1203288&view=diff
  ==============================================================================
  --- 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/GadgetSpec.java
 (original)
  +++ 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/GadgetSpec.java
 Thu Nov 17 17:26:15 2011
  @@ -107,6 +107,13 @@ public class GadgetSpec {
             viewElements.add(element);
           }
         }
  +      if("ExternalServices".equals(name)) {
  +        // There could be only one ExternalServices tag
  +        if(externalServices != null) {
  +          throw new SpecParserException("Only can have one ExternalServices 
is allowed.");
  +        }
  +        externalServices = new ExternalServices(element);
  +      }
       }
   
       if (modulePrefs == null) {
  @@ -203,6 +210,14 @@ public class GadgetSpec {
     }
   
     /**
  +   * ExternalServices
  +   */
  +  protected ExternalServices externalServices;
  +  public ExternalServices getExternalServices() {
  +    return externalServices;
  +  }
  +
  +  /**
      * Retrieves a single view by name.
      *
      * @param name The name of the view you want to see
  
  

Reply via email to