Exemplo n.º 1
0
  public static void main(String[] args) throws IOException {
    // get the information of table address
    DatabaseCatalog databaseCatalog = DatabaseCatalog.getInstance();
    databaseCatalog.autogetTableInfo();
    Schema schema = Schema.getInstance();
    schema.getSchemaInfor("/Users/hanwenwang/Desktop/samples/input/db/schema.txt");
    Aliases aliases = Aliases.getInstance();
    //		aliases.addaliase("S", "Sailors");
    //		ScanOperator scanOperator = new ScanOperator("S");
    //		scanOperator.dump();

    try {
      CCJSqlParser parser =
          new CCJSqlParser(new FileReader("/Users/hanwenwang/Desktop/queries 5.sql"));
      Statement statement;
      while ((statement = parser.Statement()) != null) {
        Select select = (Select) statement;
        System.out.println("Select body is " + select.getSelectBody());
        PlainSelect plainSelect = (PlainSelect) select.getSelectBody();
        String aliasName = ((Table) plainSelect.getFromItem()).getAlias();
        String tableName = ((Table) plainSelect.getFromItem()).getName();
        aliases.addaliase(aliasName, tableName);
        ScanOperator scanOperator1 = new ScanOperator(aliasName);
        //				ProjectOperator projectOperator = new
        // ProjectOperator(scanOperator1,plainSelect.getSelectItems());
        System.out.println(plainSelect.getWhere().toString());
        SelectOperator selectOperator = new SelectOperator(scanOperator1, plainSelect.getWhere());
        selectOperator.dump();
      }
    } catch (Exception e) {
      System.err.println("Exception occurred during parsing");
      e.printStackTrace();
    }
  }
Exemplo n.º 2
0
  static TupleMRConfig parse(JsonNode node) throws IOException {
    try {
      TupleMRConfig result = new TupleMRConfig();
      Iterator<JsonNode> sources = node.get("sourceSchemas").getElements();
      while (sources.hasNext()) {
        JsonNode sourceNode = sources.next();
        result.addIntermediateSchema(Schema.parse(sourceNode));
      }
      Iterator<String> schemaNames = node.get("fieldAliases").getFieldNames();
      while (schemaNames.hasNext()) {
        String schemaName = schemaNames.next();
        JsonNode aliasNode = node.get("fieldAliases").get(schemaName);
        Aliases aliases = Aliases.parse(aliasNode);
        result.schemaFieldAliases.put(schemaName, aliases.getAliases());
      }

      result.schemaFieldAliases = Collections.unmodifiableMap(result.schemaFieldAliases);

      Iterator<JsonNode> groupFieldsNode = node.get("groupByFields").getElements();
      List<String> groupFields = new ArrayList<String>();
      while (groupFieldsNode.hasNext()) {
        groupFields.add(groupFieldsNode.next().getTextValue());
      }
      result.groupByFields = Collections.unmodifiableList(groupFields);

      if (node.get("rollupFrom") != null) {
        result.rollupFrom = node.get("rollupFrom").getTextValue();
      }

      if (node.get("customPartitionFields") != null) {
        Iterator<JsonNode> partitionNodes = node.get("customPartitionFields").getElements();
        List<String> partitionFields = new ArrayList<String>();
        while (partitionNodes.hasNext()) {
          partitionFields.add(partitionNodes.next().getTextValue());
        }
        result.customPartitionFields = partitionFields;
      }

      JsonNode commonSortByNode = node.get("commonOrderBy");
      result.commonCriteria = Criteria.parse(commonSortByNode);
      result.schemasOrder = Order.valueOf(node.get("schemasOrder").getTextValue());

      Iterator<JsonNode> specificNode = node.get("specificOrderBys").getElements();
      result.specificCriterias = new ArrayList<Criteria>();
      while (specificNode.hasNext()) {
        JsonNode n = specificNode.next();
        result.specificCriterias.add(n.isNull() ? null : Criteria.parse(n));
      }

      return result;
    } catch (TupleMRException e) {
      throw new IOException(e);
    }
  }
Exemplo n.º 3
0
  @Test
  public void testAliases1() throws TupleMRException {
    TupleMRConfigBuilder b = new TupleMRConfigBuilder();
    b.addIntermediateSchema(
        new Schema("schema1", Fields.parse("ax:int,bx:string,cx:string,blablax:string,p2:string")));
    b.addIntermediateSchema(
        new Schema("schema2", Fields.parse("ay:int,cy:string,by:string,blobloy:string,p:string")));
    {
      Aliases aliases1 = new Aliases();
      aliases1.add("a", "ax");
      aliases1.add("b", "bx");
      aliases1.add("c", "cx");
      aliases1.add("blabla", "blablax");
      aliases1.add("p", "p2");
      b.setFieldAliases("schema1", aliases1);
    }
    {
      Aliases aliases2 = new Aliases();
      aliases2.add("a", "ay");
      aliases2.add("b", "by");
      aliases2.add("c", "cy");
      aliases2.add("bloblo", "blobloy");
      b.setFieldAliases("schema2", aliases2);
    }

    b.setGroupByFields("c", "b");
    b.setOrderBy(
        new OrderBy()
            .add("b", Order.ASC)
            .add("c", Order.DESC)
            .addSchemaOrder(Order.DESC)
            .add("a", Order.DESC));
    b.setSpecificOrderBy("schema1", new OrderBy().add("blabla", Order.DESC));
    b.setCustomPartitionFields("p");
    TupleMRConfig config = b.buildConf();
    SerializationInfo serInfo = config.getSerializationInfo();
    System.out.println(serInfo.getCommonSchema());
    System.out.println(serInfo.getPartitionFieldsIndexes());

    {
      List<SortElement> expectedCommon = new ArrayList<SortElement>();
      expectedCommon.add(new SortElement("b", Order.ASC, Criteria.NullOrder.NULL_SMALLEST));
      expectedCommon.add(new SortElement("c", Order.DESC, Criteria.NullOrder.NULL_SMALLEST));
      Assert.assertEquals(new Criteria(expectedCommon), config.getCommonCriteria());
    }
    {
      List<SortElement> expectedSchema1 = new ArrayList<SortElement>();
      expectedSchema1.add(new SortElement("a", Order.DESC, Criteria.NullOrder.NULL_SMALLEST));
      expectedSchema1.add(new SortElement("blabla", Order.DESC, Criteria.NullOrder.NULL_SMALLEST));
      Assert.assertEquals(new Criteria(expectedSchema1), config.getSpecificOrderBys().get(0));
    }
    {
      List<SortElement> expectedSchema2 = new ArrayList<SortElement>();
      expectedSchema2.add(new SortElement("a", Order.DESC, Criteria.NullOrder.NULL_SMALLEST));
      Assert.assertEquals(new Criteria(expectedSchema2), config.getSpecificOrderBys().get(1));
    }
  }
Exemplo n.º 4
0
  protected List<String> buildShardList(CloudSolrClient cloudSolrServer) {
    ZkStateReader zkStateReader = cloudSolrServer.getZkStateReader();

    ClusterState clusterState = zkStateReader.getClusterState();

    String[] collections = null;
    if (clusterState.hasCollection(collection)) {
      collections = new String[] {collection};
    } else {
      // might be a collection alias?
      Aliases aliases = zkStateReader.getAliases();
      String aliasedCollections = aliases.getCollectionAlias(collection);
      if (aliasedCollections == null)
        throw new IllegalArgumentException("Collection " + collection + " not found!");
      collections = aliasedCollections.split(",");
    }

    Set<String> liveNodes = clusterState.getLiveNodes();
    Random random = new Random(5150);

    List<String> shards = new ArrayList<String>();
    for (String coll : collections) {
      for (Slice slice : clusterState.getSlices(coll)) {
        List<String> replicas = new ArrayList<String>();
        for (Replica r : slice.getReplicas()) {
          ZkCoreNodeProps replicaCoreProps = new ZkCoreNodeProps(r);
          if (liveNodes.contains(replicaCoreProps.getNodeName()))
            replicas.add(replicaCoreProps.getCoreUrl());
        }
        int numReplicas = replicas.size();
        if (numReplicas == 0)
          throw new IllegalStateException(
              "Shard " + slice.getName() + " does not have any active replicas!");

        String replicaUrl =
            (numReplicas == 1) ? replicas.get(0) : replicas.get(random.nextInt(replicas.size()));
        shards.add(replicaUrl);
      }
    }
    return shards;
  }
  public Request<UpdateDistributionRequest> marshall(
      UpdateDistributionRequest updateDistributionRequest) {

    if (updateDistributionRequest == null) {
      throw new AmazonClientException("Invalid argument passed to marshall(...)");
    }

    Request<UpdateDistributionRequest> request =
        new DefaultRequest<UpdateDistributionRequest>(
            updateDistributionRequest, "AmazonCloudFront");
    request.setHttpMethod(HttpMethodName.PUT);
    if (updateDistributionRequest.getIfMatch() != null)
      request.addHeader("If-Match", StringUtils.fromString(updateDistributionRequest.getIfMatch()));

    String uriResourcePath = RESOURCE_PATH_TEMPLATE;

    if (DYNAMIC_QUERY_PARAMS.containsKey("Id")) {
      String name = DYNAMIC_QUERY_PARAMS.get("Id");
      String value =
          (updateDistributionRequest.getId() == null)
              ? null
              : StringUtils.fromString(updateDistributionRequest.getId());

      if (!(value == null || value.isEmpty())) {
        request.addParameter(name, value);
      }
    } else {
      uriResourcePath =
          uriResourcePath.replace(
              "{Id}",
              (updateDistributionRequest.getId() == null)
                  ? ""
                  : StringUtils.fromString(updateDistributionRequest.getId()));
    }

    request.setResourcePath(uriResourcePath.replaceAll("//", "/"));

    for (Map.Entry<String, String> entry : STATIC_QUERY_PARAMS.entrySet()) {
      request.addParameter(entry.getKey(), entry.getValue());
    }

    StringWriter stringWriter = new StringWriter();
    XMLWriter xmlWriter =
        new XMLWriter(stringWriter, "http://cloudfront.amazonaws.com/doc/2015-04-17/");

    if (updateDistributionRequest != null) {
      DistributionConfig distributionConfigDistributionConfig =
          updateDistributionRequest.getDistributionConfig();
      if (distributionConfigDistributionConfig != null) {
        xmlWriter.startElement("DistributionConfig");
        if (distributionConfigDistributionConfig.getCallerReference() != null) {
          xmlWriter
              .startElement("CallerReference")
              .value(distributionConfigDistributionConfig.getCallerReference())
              .endElement();
        }
        if (distributionConfigDistributionConfig != null) {
          Aliases aliasesAliases = distributionConfigDistributionConfig.getAliases();
          if (aliasesAliases != null) {
            xmlWriter.startElement("Aliases");
            if (aliasesAliases.getQuantity() != null) {
              xmlWriter.startElement("Quantity").value(aliasesAliases.getQuantity()).endElement();
            }

            if (aliasesAliases != null) {
              java.util.List<String> aliasesAliasesitemsList = aliasesAliases.getItems();
              if (aliasesAliasesitemsList != null && aliasesAliasesitemsList.size() > 0) {
                int aliasesAliasesitemsListIndex = 1;
                xmlWriter.startElement("Items");
                for (String aliasesAliasesitemsListValue : aliasesAliasesitemsList) {

                  xmlWriter.startElement("CNAME");
                  xmlWriter.value(aliasesAliasesitemsListValue);
                  xmlWriter.endElement();

                  aliasesAliasesitemsListIndex++;
                }
                xmlWriter.endElement();
              }
            }
            xmlWriter.endElement();
          }
        }
        if (distributionConfigDistributionConfig.getDefaultRootObject() != null) {
          xmlWriter
              .startElement("DefaultRootObject")
              .value(distributionConfigDistributionConfig.getDefaultRootObject())
              .endElement();
        }
        if (distributionConfigDistributionConfig != null) {
          Origins originsOrigins = distributionConfigDistributionConfig.getOrigins();
          if (originsOrigins != null) {
            xmlWriter.startElement("Origins");
            if (originsOrigins.getQuantity() != null) {
              xmlWriter.startElement("Quantity").value(originsOrigins.getQuantity()).endElement();
            }

            if (originsOrigins != null) {
              java.util.List<Origin> originsOriginsitemsList = originsOrigins.getItems();
              if (originsOriginsitemsList != null && originsOriginsitemsList.size() > 0) {
                int originsOriginsitemsListIndex = 1;
                xmlWriter.startElement("Items");
                for (Origin originsOriginsitemsListValue : originsOriginsitemsList) {

                  xmlWriter.startElement("Origin");
                  if (originsOriginsitemsListValue.getId() != null) {
                    xmlWriter
                        .startElement("Id")
                        .value(originsOriginsitemsListValue.getId())
                        .endElement();
                  }
                  if (originsOriginsitemsListValue.getDomainName() != null) {
                    xmlWriter
                        .startElement("DomainName")
                        .value(originsOriginsitemsListValue.getDomainName())
                        .endElement();
                  }
                  if (originsOriginsitemsListValue.getOriginPath() != null) {
                    xmlWriter
                        .startElement("OriginPath")
                        .value(originsOriginsitemsListValue.getOriginPath())
                        .endElement();
                  }
                  if (originsOriginsitemsListValue != null) {
                    S3OriginConfig s3OriginConfigS3OriginConfig =
                        originsOriginsitemsListValue.getS3OriginConfig();
                    if (s3OriginConfigS3OriginConfig != null) {
                      xmlWriter.startElement("S3OriginConfig");
                      if (s3OriginConfigS3OriginConfig.getOriginAccessIdentity() != null) {
                        xmlWriter
                            .startElement("OriginAccessIdentity")
                            .value(s3OriginConfigS3OriginConfig.getOriginAccessIdentity())
                            .endElement();
                      }
                      xmlWriter.endElement();
                    }
                  }
                  if (originsOriginsitemsListValue != null) {
                    CustomOriginConfig customOriginConfigCustomOriginConfig =
                        originsOriginsitemsListValue.getCustomOriginConfig();
                    if (customOriginConfigCustomOriginConfig != null) {
                      xmlWriter.startElement("CustomOriginConfig");
                      if (customOriginConfigCustomOriginConfig.getHTTPPort() != null) {
                        xmlWriter
                            .startElement("HTTPPort")
                            .value(customOriginConfigCustomOriginConfig.getHTTPPort())
                            .endElement();
                      }
                      if (customOriginConfigCustomOriginConfig.getHTTPSPort() != null) {
                        xmlWriter
                            .startElement("HTTPSPort")
                            .value(customOriginConfigCustomOriginConfig.getHTTPSPort())
                            .endElement();
                      }
                      if (customOriginConfigCustomOriginConfig.getOriginProtocolPolicy() != null) {
                        xmlWriter
                            .startElement("OriginProtocolPolicy")
                            .value(customOriginConfigCustomOriginConfig.getOriginProtocolPolicy())
                            .endElement();
                      }
                      xmlWriter.endElement();
                    }
                  }
                  xmlWriter.endElement();

                  originsOriginsitemsListIndex++;
                }
                xmlWriter.endElement();
              }
            }
            xmlWriter.endElement();
          }
        }
        if (distributionConfigDistributionConfig != null) {
          DefaultCacheBehavior defaultCacheBehaviorDefaultCacheBehavior =
              distributionConfigDistributionConfig.getDefaultCacheBehavior();
          if (defaultCacheBehaviorDefaultCacheBehavior != null) {
            xmlWriter.startElement("DefaultCacheBehavior");
            if (defaultCacheBehaviorDefaultCacheBehavior.getTargetOriginId() != null) {
              xmlWriter
                  .startElement("TargetOriginId")
                  .value(defaultCacheBehaviorDefaultCacheBehavior.getTargetOriginId())
                  .endElement();
            }
            if (defaultCacheBehaviorDefaultCacheBehavior != null) {
              ForwardedValues forwardedValuesForwardedValues =
                  defaultCacheBehaviorDefaultCacheBehavior.getForwardedValues();
              if (forwardedValuesForwardedValues != null) {
                xmlWriter.startElement("ForwardedValues");
                if (forwardedValuesForwardedValues.isQueryString() != null) {
                  xmlWriter
                      .startElement("QueryString")
                      .value(forwardedValuesForwardedValues.isQueryString())
                      .endElement();
                }
                if (forwardedValuesForwardedValues != null) {
                  CookiePreference cookiePreferenceCookies =
                      forwardedValuesForwardedValues.getCookies();
                  if (cookiePreferenceCookies != null) {
                    xmlWriter.startElement("Cookies");
                    if (cookiePreferenceCookies.getForward() != null) {
                      xmlWriter
                          .startElement("Forward")
                          .value(cookiePreferenceCookies.getForward())
                          .endElement();
                    }
                    if (cookiePreferenceCookies != null) {
                      CookieNames cookieNamesWhitelistedNames =
                          cookiePreferenceCookies.getWhitelistedNames();
                      if (cookieNamesWhitelistedNames != null) {
                        xmlWriter.startElement("WhitelistedNames");
                        if (cookieNamesWhitelistedNames.getQuantity() != null) {
                          xmlWriter
                              .startElement("Quantity")
                              .value(cookieNamesWhitelistedNames.getQuantity())
                              .endElement();
                        }

                        if (cookieNamesWhitelistedNames != null) {
                          java.util.List<String> cookieNamesWhitelistedNamesitemsList =
                              cookieNamesWhitelistedNames.getItems();
                          if (cookieNamesWhitelistedNamesitemsList != null
                              && cookieNamesWhitelistedNamesitemsList.size() > 0) {
                            int cookieNamesWhitelistedNamesitemsListIndex = 1;
                            xmlWriter.startElement("Items");
                            for (String cookieNamesWhitelistedNamesitemsListValue :
                                cookieNamesWhitelistedNamesitemsList) {

                              xmlWriter.startElement("Name");
                              xmlWriter.value(cookieNamesWhitelistedNamesitemsListValue);
                              xmlWriter.endElement();

                              cookieNamesWhitelistedNamesitemsListIndex++;
                            }
                            xmlWriter.endElement();
                          }
                        }
                        xmlWriter.endElement();
                      }
                    }
                    xmlWriter.endElement();
                  }
                }
                if (forwardedValuesForwardedValues != null) {
                  Headers headersHeaders = forwardedValuesForwardedValues.getHeaders();
                  if (headersHeaders != null) {
                    xmlWriter.startElement("Headers");
                    if (headersHeaders.getQuantity() != null) {
                      xmlWriter
                          .startElement("Quantity")
                          .value(headersHeaders.getQuantity())
                          .endElement();
                    }

                    if (headersHeaders != null) {
                      java.util.List<String> headersHeadersitemsList = headersHeaders.getItems();
                      if (headersHeadersitemsList != null && headersHeadersitemsList.size() > 0) {
                        int headersHeadersitemsListIndex = 1;
                        xmlWriter.startElement("Items");
                        for (String headersHeadersitemsListValue : headersHeadersitemsList) {

                          xmlWriter.startElement("Name");
                          xmlWriter.value(headersHeadersitemsListValue);
                          xmlWriter.endElement();

                          headersHeadersitemsListIndex++;
                        }
                        xmlWriter.endElement();
                      }
                    }
                    xmlWriter.endElement();
                  }
                }
                xmlWriter.endElement();
              }
            }
            if (defaultCacheBehaviorDefaultCacheBehavior != null) {
              TrustedSigners trustedSignersTrustedSigners =
                  defaultCacheBehaviorDefaultCacheBehavior.getTrustedSigners();
              if (trustedSignersTrustedSigners != null) {
                xmlWriter.startElement("TrustedSigners");
                if (trustedSignersTrustedSigners.isEnabled() != null) {
                  xmlWriter
                      .startElement("Enabled")
                      .value(trustedSignersTrustedSigners.isEnabled())
                      .endElement();
                }
                if (trustedSignersTrustedSigners.getQuantity() != null) {
                  xmlWriter
                      .startElement("Quantity")
                      .value(trustedSignersTrustedSigners.getQuantity())
                      .endElement();
                }

                if (trustedSignersTrustedSigners != null) {
                  java.util.List<String> trustedSignersTrustedSignersitemsList =
                      trustedSignersTrustedSigners.getItems();
                  if (trustedSignersTrustedSignersitemsList != null
                      && trustedSignersTrustedSignersitemsList.size() > 0) {
                    int trustedSignersTrustedSignersitemsListIndex = 1;
                    xmlWriter.startElement("Items");
                    for (String trustedSignersTrustedSignersitemsListValue :
                        trustedSignersTrustedSignersitemsList) {

                      xmlWriter.startElement("AwsAccountNumber");
                      xmlWriter.value(trustedSignersTrustedSignersitemsListValue);
                      xmlWriter.endElement();

                      trustedSignersTrustedSignersitemsListIndex++;
                    }
                    xmlWriter.endElement();
                  }
                }
                xmlWriter.endElement();
              }
            }
            if (defaultCacheBehaviorDefaultCacheBehavior.getViewerProtocolPolicy() != null) {
              xmlWriter
                  .startElement("ViewerProtocolPolicy")
                  .value(defaultCacheBehaviorDefaultCacheBehavior.getViewerProtocolPolicy())
                  .endElement();
            }
            if (defaultCacheBehaviorDefaultCacheBehavior.getMinTTL() != null) {
              xmlWriter
                  .startElement("MinTTL")
                  .value(defaultCacheBehaviorDefaultCacheBehavior.getMinTTL())
                  .endElement();
            }
            if (defaultCacheBehaviorDefaultCacheBehavior != null) {
              AllowedMethods allowedMethodsAllowedMethods =
                  defaultCacheBehaviorDefaultCacheBehavior.getAllowedMethods();
              if (allowedMethodsAllowedMethods != null) {
                xmlWriter.startElement("AllowedMethods");
                if (allowedMethodsAllowedMethods.getQuantity() != null) {
                  xmlWriter
                      .startElement("Quantity")
                      .value(allowedMethodsAllowedMethods.getQuantity())
                      .endElement();
                }

                if (allowedMethodsAllowedMethods != null) {
                  java.util.List<String> allowedMethodsAllowedMethodsitemsList =
                      allowedMethodsAllowedMethods.getItems();
                  if (allowedMethodsAllowedMethodsitemsList != null
                      && allowedMethodsAllowedMethodsitemsList.size() > 0) {
                    int allowedMethodsAllowedMethodsitemsListIndex = 1;
                    xmlWriter.startElement("Items");
                    for (String allowedMethodsAllowedMethodsitemsListValue :
                        allowedMethodsAllowedMethodsitemsList) {

                      xmlWriter.startElement("Method");
                      xmlWriter.value(allowedMethodsAllowedMethodsitemsListValue);
                      xmlWriter.endElement();

                      allowedMethodsAllowedMethodsitemsListIndex++;
                    }
                    xmlWriter.endElement();
                  }
                }
                if (allowedMethodsAllowedMethods != null) {
                  CachedMethods cachedMethodsCachedMethods =
                      allowedMethodsAllowedMethods.getCachedMethods();
                  if (cachedMethodsCachedMethods != null) {
                    xmlWriter.startElement("CachedMethods");
                    if (cachedMethodsCachedMethods.getQuantity() != null) {
                      xmlWriter
                          .startElement("Quantity")
                          .value(cachedMethodsCachedMethods.getQuantity())
                          .endElement();
                    }

                    if (cachedMethodsCachedMethods != null) {
                      java.util.List<String> cachedMethodsCachedMethodsitemsList =
                          cachedMethodsCachedMethods.getItems();
                      if (cachedMethodsCachedMethodsitemsList != null
                          && cachedMethodsCachedMethodsitemsList.size() > 0) {
                        int cachedMethodsCachedMethodsitemsListIndex = 1;
                        xmlWriter.startElement("Items");
                        for (String cachedMethodsCachedMethodsitemsListValue :
                            cachedMethodsCachedMethodsitemsList) {

                          xmlWriter.startElement("Method");
                          xmlWriter.value(cachedMethodsCachedMethodsitemsListValue);
                          xmlWriter.endElement();

                          cachedMethodsCachedMethodsitemsListIndex++;
                        }
                        xmlWriter.endElement();
                      }
                    }
                    xmlWriter.endElement();
                  }
                }
                xmlWriter.endElement();
              }
            }
            if (defaultCacheBehaviorDefaultCacheBehavior.isSmoothStreaming() != null) {
              xmlWriter
                  .startElement("SmoothStreaming")
                  .value(defaultCacheBehaviorDefaultCacheBehavior.isSmoothStreaming())
                  .endElement();
            }
            if (defaultCacheBehaviorDefaultCacheBehavior.getDefaultTTL() != null) {
              xmlWriter
                  .startElement("DefaultTTL")
                  .value(defaultCacheBehaviorDefaultCacheBehavior.getDefaultTTL())
                  .endElement();
            }
            if (defaultCacheBehaviorDefaultCacheBehavior.getMaxTTL() != null) {
              xmlWriter
                  .startElement("MaxTTL")
                  .value(defaultCacheBehaviorDefaultCacheBehavior.getMaxTTL())
                  .endElement();
            }
            xmlWriter.endElement();
          }
        }
        if (distributionConfigDistributionConfig != null) {
          CacheBehaviors cacheBehaviorsCacheBehaviors =
              distributionConfigDistributionConfig.getCacheBehaviors();
          if (cacheBehaviorsCacheBehaviors != null) {
            xmlWriter.startElement("CacheBehaviors");
            if (cacheBehaviorsCacheBehaviors.getQuantity() != null) {
              xmlWriter
                  .startElement("Quantity")
                  .value(cacheBehaviorsCacheBehaviors.getQuantity())
                  .endElement();
            }

            if (cacheBehaviorsCacheBehaviors != null) {
              java.util.List<CacheBehavior> cacheBehaviorsCacheBehaviorsitemsList =
                  cacheBehaviorsCacheBehaviors.getItems();
              if (cacheBehaviorsCacheBehaviorsitemsList != null
                  && cacheBehaviorsCacheBehaviorsitemsList.size() > 0) {
                int cacheBehaviorsCacheBehaviorsitemsListIndex = 1;
                xmlWriter.startElement("Items");
                for (CacheBehavior cacheBehaviorsCacheBehaviorsitemsListValue :
                    cacheBehaviorsCacheBehaviorsitemsList) {

                  xmlWriter.startElement("CacheBehavior");
                  if (cacheBehaviorsCacheBehaviorsitemsListValue.getPathPattern() != null) {
                    xmlWriter
                        .startElement("PathPattern")
                        .value(cacheBehaviorsCacheBehaviorsitemsListValue.getPathPattern())
                        .endElement();
                  }
                  if (cacheBehaviorsCacheBehaviorsitemsListValue.getTargetOriginId() != null) {
                    xmlWriter
                        .startElement("TargetOriginId")
                        .value(cacheBehaviorsCacheBehaviorsitemsListValue.getTargetOriginId())
                        .endElement();
                  }
                  if (cacheBehaviorsCacheBehaviorsitemsListValue != null) {
                    ForwardedValues forwardedValuesForwardedValues =
                        cacheBehaviorsCacheBehaviorsitemsListValue.getForwardedValues();
                    if (forwardedValuesForwardedValues != null) {
                      xmlWriter.startElement("ForwardedValues");
                      if (forwardedValuesForwardedValues.isQueryString() != null) {
                        xmlWriter
                            .startElement("QueryString")
                            .value(forwardedValuesForwardedValues.isQueryString())
                            .endElement();
                      }
                      if (forwardedValuesForwardedValues != null) {
                        CookiePreference cookiePreferenceCookies =
                            forwardedValuesForwardedValues.getCookies();
                        if (cookiePreferenceCookies != null) {
                          xmlWriter.startElement("Cookies");
                          if (cookiePreferenceCookies.getForward() != null) {
                            xmlWriter
                                .startElement("Forward")
                                .value(cookiePreferenceCookies.getForward())
                                .endElement();
                          }
                          if (cookiePreferenceCookies != null) {
                            CookieNames cookieNamesWhitelistedNames =
                                cookiePreferenceCookies.getWhitelistedNames();
                            if (cookieNamesWhitelistedNames != null) {
                              xmlWriter.startElement("WhitelistedNames");
                              if (cookieNamesWhitelistedNames.getQuantity() != null) {
                                xmlWriter
                                    .startElement("Quantity")
                                    .value(cookieNamesWhitelistedNames.getQuantity())
                                    .endElement();
                              }

                              if (cookieNamesWhitelistedNames != null) {
                                java.util.List<String> cookieNamesWhitelistedNamesitemsList =
                                    cookieNamesWhitelistedNames.getItems();
                                if (cookieNamesWhitelistedNamesitemsList != null
                                    && cookieNamesWhitelistedNamesitemsList.size() > 0) {
                                  int cookieNamesWhitelistedNamesitemsListIndex = 1;
                                  xmlWriter.startElement("Items");
                                  for (String cookieNamesWhitelistedNamesitemsListValue :
                                      cookieNamesWhitelistedNamesitemsList) {

                                    xmlWriter.startElement("Name");
                                    xmlWriter.value(cookieNamesWhitelistedNamesitemsListValue);
                                    xmlWriter.endElement();

                                    cookieNamesWhitelistedNamesitemsListIndex++;
                                  }
                                  xmlWriter.endElement();
                                }
                              }
                              xmlWriter.endElement();
                            }
                          }
                          xmlWriter.endElement();
                        }
                      }
                      if (forwardedValuesForwardedValues != null) {
                        Headers headersHeaders = forwardedValuesForwardedValues.getHeaders();
                        if (headersHeaders != null) {
                          xmlWriter.startElement("Headers");
                          if (headersHeaders.getQuantity() != null) {
                            xmlWriter
                                .startElement("Quantity")
                                .value(headersHeaders.getQuantity())
                                .endElement();
                          }

                          if (headersHeaders != null) {
                            java.util.List<String> headersHeadersitemsList =
                                headersHeaders.getItems();
                            if (headersHeadersitemsList != null
                                && headersHeadersitemsList.size() > 0) {
                              int headersHeadersitemsListIndex = 1;
                              xmlWriter.startElement("Items");
                              for (String headersHeadersitemsListValue : headersHeadersitemsList) {

                                xmlWriter.startElement("Name");
                                xmlWriter.value(headersHeadersitemsListValue);
                                xmlWriter.endElement();

                                headersHeadersitemsListIndex++;
                              }
                              xmlWriter.endElement();
                            }
                          }
                          xmlWriter.endElement();
                        }
                      }
                      xmlWriter.endElement();
                    }
                  }
                  if (cacheBehaviorsCacheBehaviorsitemsListValue != null) {
                    TrustedSigners trustedSignersTrustedSigners =
                        cacheBehaviorsCacheBehaviorsitemsListValue.getTrustedSigners();
                    if (trustedSignersTrustedSigners != null) {
                      xmlWriter.startElement("TrustedSigners");
                      if (trustedSignersTrustedSigners.isEnabled() != null) {
                        xmlWriter
                            .startElement("Enabled")
                            .value(trustedSignersTrustedSigners.isEnabled())
                            .endElement();
                      }
                      if (trustedSignersTrustedSigners.getQuantity() != null) {
                        xmlWriter
                            .startElement("Quantity")
                            .value(trustedSignersTrustedSigners.getQuantity())
                            .endElement();
                      }

                      if (trustedSignersTrustedSigners != null) {
                        java.util.List<String> trustedSignersTrustedSignersitemsList =
                            trustedSignersTrustedSigners.getItems();
                        if (trustedSignersTrustedSignersitemsList != null
                            && trustedSignersTrustedSignersitemsList.size() > 0) {
                          int trustedSignersTrustedSignersitemsListIndex = 1;
                          xmlWriter.startElement("Items");
                          for (String trustedSignersTrustedSignersitemsListValue :
                              trustedSignersTrustedSignersitemsList) {

                            xmlWriter.startElement("AwsAccountNumber");
                            xmlWriter.value(trustedSignersTrustedSignersitemsListValue);
                            xmlWriter.endElement();

                            trustedSignersTrustedSignersitemsListIndex++;
                          }
                          xmlWriter.endElement();
                        }
                      }
                      xmlWriter.endElement();
                    }
                  }
                  if (cacheBehaviorsCacheBehaviorsitemsListValue.getViewerProtocolPolicy()
                      != null) {
                    xmlWriter
                        .startElement("ViewerProtocolPolicy")
                        .value(cacheBehaviorsCacheBehaviorsitemsListValue.getViewerProtocolPolicy())
                        .endElement();
                  }
                  if (cacheBehaviorsCacheBehaviorsitemsListValue.getMinTTL() != null) {
                    xmlWriter
                        .startElement("MinTTL")
                        .value(cacheBehaviorsCacheBehaviorsitemsListValue.getMinTTL())
                        .endElement();
                  }
                  if (cacheBehaviorsCacheBehaviorsitemsListValue != null) {
                    AllowedMethods allowedMethodsAllowedMethods =
                        cacheBehaviorsCacheBehaviorsitemsListValue.getAllowedMethods();
                    if (allowedMethodsAllowedMethods != null) {
                      xmlWriter.startElement("AllowedMethods");
                      if (allowedMethodsAllowedMethods.getQuantity() != null) {
                        xmlWriter
                            .startElement("Quantity")
                            .value(allowedMethodsAllowedMethods.getQuantity())
                            .endElement();
                      }

                      if (allowedMethodsAllowedMethods != null) {
                        java.util.List<String> allowedMethodsAllowedMethodsitemsList =
                            allowedMethodsAllowedMethods.getItems();
                        if (allowedMethodsAllowedMethodsitemsList != null
                            && allowedMethodsAllowedMethodsitemsList.size() > 0) {
                          int allowedMethodsAllowedMethodsitemsListIndex = 1;
                          xmlWriter.startElement("Items");
                          for (String allowedMethodsAllowedMethodsitemsListValue :
                              allowedMethodsAllowedMethodsitemsList) {

                            xmlWriter.startElement("Method");
                            xmlWriter.value(allowedMethodsAllowedMethodsitemsListValue);
                            xmlWriter.endElement();

                            allowedMethodsAllowedMethodsitemsListIndex++;
                          }
                          xmlWriter.endElement();
                        }
                      }
                      if (allowedMethodsAllowedMethods != null) {
                        CachedMethods cachedMethodsCachedMethods =
                            allowedMethodsAllowedMethods.getCachedMethods();
                        if (cachedMethodsCachedMethods != null) {
                          xmlWriter.startElement("CachedMethods");
                          if (cachedMethodsCachedMethods.getQuantity() != null) {
                            xmlWriter
                                .startElement("Quantity")
                                .value(cachedMethodsCachedMethods.getQuantity())
                                .endElement();
                          }

                          if (cachedMethodsCachedMethods != null) {
                            java.util.List<String> cachedMethodsCachedMethodsitemsList =
                                cachedMethodsCachedMethods.getItems();
                            if (cachedMethodsCachedMethodsitemsList != null
                                && cachedMethodsCachedMethodsitemsList.size() > 0) {
                              int cachedMethodsCachedMethodsitemsListIndex = 1;
                              xmlWriter.startElement("Items");
                              for (String cachedMethodsCachedMethodsitemsListValue :
                                  cachedMethodsCachedMethodsitemsList) {

                                xmlWriter.startElement("Method");
                                xmlWriter.value(cachedMethodsCachedMethodsitemsListValue);
                                xmlWriter.endElement();

                                cachedMethodsCachedMethodsitemsListIndex++;
                              }
                              xmlWriter.endElement();
                            }
                          }
                          xmlWriter.endElement();
                        }
                      }
                      xmlWriter.endElement();
                    }
                  }
                  if (cacheBehaviorsCacheBehaviorsitemsListValue.isSmoothStreaming() != null) {
                    xmlWriter
                        .startElement("SmoothStreaming")
                        .value(cacheBehaviorsCacheBehaviorsitemsListValue.isSmoothStreaming())
                        .endElement();
                  }
                  if (cacheBehaviorsCacheBehaviorsitemsListValue.getDefaultTTL() != null) {
                    xmlWriter
                        .startElement("DefaultTTL")
                        .value(cacheBehaviorsCacheBehaviorsitemsListValue.getDefaultTTL())
                        .endElement();
                  }
                  if (cacheBehaviorsCacheBehaviorsitemsListValue.getMaxTTL() != null) {
                    xmlWriter
                        .startElement("MaxTTL")
                        .value(cacheBehaviorsCacheBehaviorsitemsListValue.getMaxTTL())
                        .endElement();
                  }
                  xmlWriter.endElement();

                  cacheBehaviorsCacheBehaviorsitemsListIndex++;
                }
                xmlWriter.endElement();
              }
            }
            xmlWriter.endElement();
          }
        }
        if (distributionConfigDistributionConfig != null) {
          CustomErrorResponses customErrorResponsesCustomErrorResponses =
              distributionConfigDistributionConfig.getCustomErrorResponses();
          if (customErrorResponsesCustomErrorResponses != null) {
            xmlWriter.startElement("CustomErrorResponses");
            if (customErrorResponsesCustomErrorResponses.getQuantity() != null) {
              xmlWriter
                  .startElement("Quantity")
                  .value(customErrorResponsesCustomErrorResponses.getQuantity())
                  .endElement();
            }

            if (customErrorResponsesCustomErrorResponses != null) {
              java.util.List<CustomErrorResponse>
                  customErrorResponsesCustomErrorResponsesitemsList =
                      customErrorResponsesCustomErrorResponses.getItems();
              if (customErrorResponsesCustomErrorResponsesitemsList != null
                  && customErrorResponsesCustomErrorResponsesitemsList.size() > 0) {
                int customErrorResponsesCustomErrorResponsesitemsListIndex = 1;
                xmlWriter.startElement("Items");
                for (CustomErrorResponse customErrorResponsesCustomErrorResponsesitemsListValue :
                    customErrorResponsesCustomErrorResponsesitemsList) {

                  xmlWriter.startElement("CustomErrorResponse");
                  if (customErrorResponsesCustomErrorResponsesitemsListValue.getErrorCode()
                      != null) {
                    xmlWriter
                        .startElement("ErrorCode")
                        .value(
                            customErrorResponsesCustomErrorResponsesitemsListValue.getErrorCode())
                        .endElement();
                  }
                  if (customErrorResponsesCustomErrorResponsesitemsListValue.getResponsePagePath()
                      != null) {
                    xmlWriter
                        .startElement("ResponsePagePath")
                        .value(
                            customErrorResponsesCustomErrorResponsesitemsListValue
                                .getResponsePagePath())
                        .endElement();
                  }
                  if (customErrorResponsesCustomErrorResponsesitemsListValue.getResponseCode()
                      != null) {
                    xmlWriter
                        .startElement("ResponseCode")
                        .value(
                            customErrorResponsesCustomErrorResponsesitemsListValue
                                .getResponseCode())
                        .endElement();
                  }
                  if (customErrorResponsesCustomErrorResponsesitemsListValue.getErrorCachingMinTTL()
                      != null) {
                    xmlWriter
                        .startElement("ErrorCachingMinTTL")
                        .value(
                            customErrorResponsesCustomErrorResponsesitemsListValue
                                .getErrorCachingMinTTL())
                        .endElement();
                  }
                  xmlWriter.endElement();

                  customErrorResponsesCustomErrorResponsesitemsListIndex++;
                }
                xmlWriter.endElement();
              }
            }
            xmlWriter.endElement();
          }
        }
        if (distributionConfigDistributionConfig.getComment() != null) {
          xmlWriter
              .startElement("Comment")
              .value(distributionConfigDistributionConfig.getComment())
              .endElement();
        }
        if (distributionConfigDistributionConfig != null) {
          LoggingConfig loggingConfigLogging = distributionConfigDistributionConfig.getLogging();
          if (loggingConfigLogging != null) {
            xmlWriter.startElement("Logging");
            if (loggingConfigLogging.isEnabled() != null) {
              xmlWriter
                  .startElement("Enabled")
                  .value(loggingConfigLogging.isEnabled())
                  .endElement();
            }
            if (loggingConfigLogging.isIncludeCookies() != null) {
              xmlWriter
                  .startElement("IncludeCookies")
                  .value(loggingConfigLogging.isIncludeCookies())
                  .endElement();
            }
            if (loggingConfigLogging.getBucket() != null) {
              xmlWriter.startElement("Bucket").value(loggingConfigLogging.getBucket()).endElement();
            }
            if (loggingConfigLogging.getPrefix() != null) {
              xmlWriter.startElement("Prefix").value(loggingConfigLogging.getPrefix()).endElement();
            }
            xmlWriter.endElement();
          }
        }
        if (distributionConfigDistributionConfig.getPriceClass() != null) {
          xmlWriter
              .startElement("PriceClass")
              .value(distributionConfigDistributionConfig.getPriceClass())
              .endElement();
        }
        if (distributionConfigDistributionConfig.isEnabled() != null) {
          xmlWriter
              .startElement("Enabled")
              .value(distributionConfigDistributionConfig.isEnabled())
              .endElement();
        }
        if (distributionConfigDistributionConfig != null) {
          ViewerCertificate viewerCertificateViewerCertificate =
              distributionConfigDistributionConfig.getViewerCertificate();
          if (viewerCertificateViewerCertificate != null) {
            xmlWriter.startElement("ViewerCertificate");
            if (viewerCertificateViewerCertificate.getIAMCertificateId() != null) {
              xmlWriter
                  .startElement("IAMCertificateId")
                  .value(viewerCertificateViewerCertificate.getIAMCertificateId())
                  .endElement();
            }
            if (viewerCertificateViewerCertificate.isCloudFrontDefaultCertificate() != null) {
              xmlWriter
                  .startElement("CloudFrontDefaultCertificate")
                  .value(viewerCertificateViewerCertificate.isCloudFrontDefaultCertificate())
                  .endElement();
            }
            if (viewerCertificateViewerCertificate.getSSLSupportMethod() != null) {
              xmlWriter
                  .startElement("SSLSupportMethod")
                  .value(viewerCertificateViewerCertificate.getSSLSupportMethod())
                  .endElement();
            }
            if (viewerCertificateViewerCertificate.getMinimumProtocolVersion() != null) {
              xmlWriter
                  .startElement("MinimumProtocolVersion")
                  .value(viewerCertificateViewerCertificate.getMinimumProtocolVersion())
                  .endElement();
            }
            xmlWriter.endElement();
          }
        }
        if (distributionConfigDistributionConfig != null) {
          Restrictions restrictionsRestrictions =
              distributionConfigDistributionConfig.getRestrictions();
          if (restrictionsRestrictions != null) {
            xmlWriter.startElement("Restrictions");
            if (restrictionsRestrictions != null) {
              GeoRestriction geoRestrictionGeoRestriction =
                  restrictionsRestrictions.getGeoRestriction();
              if (geoRestrictionGeoRestriction != null) {
                xmlWriter.startElement("GeoRestriction");
                if (geoRestrictionGeoRestriction.getRestrictionType() != null) {
                  xmlWriter
                      .startElement("RestrictionType")
                      .value(geoRestrictionGeoRestriction.getRestrictionType())
                      .endElement();
                }
                if (geoRestrictionGeoRestriction.getQuantity() != null) {
                  xmlWriter
                      .startElement("Quantity")
                      .value(geoRestrictionGeoRestriction.getQuantity())
                      .endElement();
                }

                if (geoRestrictionGeoRestriction != null) {
                  java.util.List<String> geoRestrictionGeoRestrictionitemsList =
                      geoRestrictionGeoRestriction.getItems();
                  if (geoRestrictionGeoRestrictionitemsList != null
                      && geoRestrictionGeoRestrictionitemsList.size() > 0) {
                    int geoRestrictionGeoRestrictionitemsListIndex = 1;
                    xmlWriter.startElement("Items");
                    for (String geoRestrictionGeoRestrictionitemsListValue :
                        geoRestrictionGeoRestrictionitemsList) {

                      xmlWriter.startElement("Location");
                      xmlWriter.value(geoRestrictionGeoRestrictionitemsListValue);
                      xmlWriter.endElement();

                      geoRestrictionGeoRestrictionitemsListIndex++;
                    }
                    xmlWriter.endElement();
                  }
                }
                xmlWriter.endElement();
              }
            }
            xmlWriter.endElement();
          }
        }
        xmlWriter.endElement();
      }
    }

    try {
      request.setContent(new StringInputStream(stringWriter.getBuffer().toString()));
      request.addHeader(
          "Content-Length",
          Integer.toString(stringWriter.getBuffer().toString().getBytes(UTF8).length));
      request.addHeader("Content-Type", "application/xml");
    } catch (UnsupportedEncodingException e) {
      throw new AmazonClientException("Unable to marshall request to XML", e);
    }

    return request;
  }
Exemplo n.º 6
0
 static {
   Aliases.inheritanceAOwner();
   queries = new InheritanceAOwnerQueries();
 }
Exemplo n.º 7
0
@SuppressWarnings("all")
public abstract class InheritanceAOwnerCodegen extends AbstractDomainObject {

  public static final InheritanceAOwnerQueries queries;
  private Long id = null;
  private String name = null;
  private Long version = null;
  private final ForeignKeyListHolder<InheritanceAOwner, InheritanceABase> inheritanceABases =
      new ForeignKeyListHolder<InheritanceAOwner, InheritanceABase>(
          (InheritanceAOwner) this,
          Aliases.inheritanceABase(),
          Aliases.inheritanceABase().inheritanceAOwner,
          new InheritanceABasesListDelegate());
  protected Changed changed;

  static {
    Aliases.inheritanceAOwner();
    queries = new InheritanceAOwnerQueries();
  }

  protected InheritanceAOwnerCodegen() {
    this.addExtraRules();
  }

  private void addExtraRules() {
    this.addRule(new NotNull<InheritanceAOwner>(Shims.name));
    this.addRule(new MaxLength<InheritanceAOwner>(Shims.name, 100));
    this.addRule(new NotEmpty<InheritanceAOwner>(Shims.name));
  }

  public Long getId() {
    return this.id;
  }

  public void setId(Long id) {
    if (this.id != null) {
      throw new IllegalStateException(this + " id cannot be changed");
    }
    this.getChanged().record("id", this.id, id);
    this.id = id;
    if (UoW.isOpen()) {
      UoW.getIdentityMap().store(this);
    }
  }

  public String getName() {
    return this.name;
  }

  public void setName(String name) {
    this.getChanged().record("name", this.name, name);
    this.name = name;
  }

  protected void defaultName(String name) {
    this.name = name;
  }

  public Long getVersion() {
    return this.version;
  }

  public List<InheritanceABase> getInheritanceABases() {
    return this.inheritanceABases.get();
  }

  public void setInheritanceABases(List<InheritanceABase> inheritanceABases) {
    ListDiff<InheritanceABase> diff = ListDiff.of(this.getInheritanceABases(), inheritanceABases);
    for (InheritanceABase o : diff.removed) {
      this.removeInheritanceABase(o);
    }
    for (InheritanceABase o : diff.added) {
      this.addInheritanceABase(o);
    }
    this.inheritanceABases.set(inheritanceABases);
  }

  public void addInheritanceABase(InheritanceABase o) {
    if (o.getInheritanceAOwner() == this) {
      return;
    }
    o.setInheritanceAOwnerWithoutPercolation((InheritanceAOwner) this);
    this.addInheritanceABaseWithoutPercolation(o);
  }

  public void removeInheritanceABase(InheritanceABase o) {
    if (o.getInheritanceAOwner() != this) {
      return;
    }
    o.setInheritanceAOwnerWithoutPercolation(null);
    this.removeInheritanceABaseWithoutPercolation(o);
  }

  protected void addInheritanceABaseWithoutPercolation(InheritanceABase o) {
    this.getChanged().record("inheritanceABases");
    this.inheritanceABases.add(o);
  }

  protected void removeInheritanceABaseWithoutPercolation(InheritanceABase o) {
    this.getChanged().record("inheritanceABases");
    this.inheritanceABases.remove(o);
  }

  public InheritanceAOwnerChanged getChanged() {
    if (this.changed == null) {
      this.changed = new InheritanceAOwnerChanged((InheritanceAOwner) this);
    }
    return (InheritanceAOwnerChanged) this.changed;
  }

  @Override
  public void clearAssociations() {
    super.clearAssociations();
    for (InheritanceABase o : Copy.list(this.getInheritanceABases())) {
      removeInheritanceABase(o);
    }
  }

  static class Shims {
    protected static final Shim<InheritanceAOwner, Long> id =
        new Shim<InheritanceAOwner, Long>() {
          public void set(InheritanceAOwner instance, Long id) {
            ((InheritanceAOwnerCodegen) instance).id = id;
          }

          public Long get(InheritanceAOwner instance) {
            return ((InheritanceAOwnerCodegen) instance).id;
          }

          public String getName() {
            return "id";
          }
        };
    protected static final Shim<InheritanceAOwner, String> name =
        new Shim<InheritanceAOwner, String>() {
          public void set(InheritanceAOwner instance, String name) {
            ((InheritanceAOwnerCodegen) instance).name = name;
          }

          public String get(InheritanceAOwner instance) {
            return ((InheritanceAOwnerCodegen) instance).name;
          }

          public String getName() {
            return "name";
          }
        };
    protected static final Shim<InheritanceAOwner, Long> version =
        new Shim<InheritanceAOwner, Long>() {
          public void set(InheritanceAOwner instance, Long version) {
            ((InheritanceAOwnerCodegen) instance).version = version;
          }

          public Long get(InheritanceAOwner instance) {
            return ((InheritanceAOwnerCodegen) instance).version;
          }

          public String getName() {
            return "version";
          }
        };
  }

  private class InheritanceABasesListDelegate implements ListProxy.Delegate<InheritanceABase> {
    public void doAdd(InheritanceABase e) {
      addInheritanceABase(e);
    }

    public void doRemove(InheritanceABase e) {
      removeInheritanceABase(e);
    }
  }

  public static class InheritanceAOwnerChanged extends AbstractChanged {
    public InheritanceAOwnerChanged(InheritanceAOwner instance) {
      super(instance);
    }

    public boolean hasId() {
      return this.contains("id");
    }

    public Long getOriginalId() {
      return (Long) this.getOriginal("id");
    }

    public boolean hasName() {
      return this.contains("name");
    }

    public String getOriginalName() {
      return (java.lang.String) this.getOriginal("name");
    }

    public boolean hasVersion() {
      return this.contains("version");
    }

    public Long getOriginalVersion() {
      return (Long) this.getOriginal("version");
    }

    public boolean hasInheritanceABases() {
      return this.contains("inheritanceABases");
    }
  }
}
  public Request<CreateDistributionRequest> marshall(
      CreateDistributionRequest createDistributionRequest) {
    if (createDistributionRequest == null) {
      throw new AmazonClientException("Invalid argument passed to marshall(...)");
    }

    Request<CreateDistributionRequest> request =
        new DefaultRequest<CreateDistributionRequest>(
            createDistributionRequest, "AmazonCloudFront");
    request.setHttpMethod(HttpMethodName.POST);

    String uriResourcePath = "2013-09-27/distribution";

    if (uriResourcePath.contains("?")) {
      String queryString = uriResourcePath.substring(uriResourcePath.indexOf("?") + 1);
      uriResourcePath = uriResourcePath.substring(0, uriResourcePath.indexOf("?"));

      for (String s : queryString.split("[;&]")) {
        String[] nameValuePair = s.split("=");
        if (nameValuePair.length == 2) {
          request.addParameter(nameValuePair[0], nameValuePair[1]);
        } else {
          request.addParameter(s, null);
        }
      }
    }

    request.setResourcePath(uriResourcePath);

    StringWriter stringWriter = new StringWriter();
    XMLWriter xmlWriter =
        new XMLWriter(stringWriter, "http://cloudfront.amazonaws.com/doc/2013-09-27/");

    if (createDistributionRequest != null) {
      DistributionConfig distributionConfigDistributionConfig =
          createDistributionRequest.getDistributionConfig();
      if (distributionConfigDistributionConfig != null) {
        xmlWriter.startElement("DistributionConfig");
        if (distributionConfigDistributionConfig.getCallerReference() != null) {
          xmlWriter
              .startElement("CallerReference")
              .value(distributionConfigDistributionConfig.getCallerReference())
              .endElement();
        }
        if (distributionConfigDistributionConfig != null) {
          Aliases aliasesAliases = distributionConfigDistributionConfig.getAliases();
          if (aliasesAliases != null) {
            xmlWriter.startElement("Aliases");
            if (aliasesAliases.getQuantity() != null) {
              xmlWriter.startElement("Quantity").value(aliasesAliases.getQuantity()).endElement();
            }

            if (aliasesAliases != null) {
              java.util.List<String> aliasesAliasesitemsList = aliasesAliases.getItems();
              if (aliasesAliasesitemsList != null && aliasesAliasesitemsList.size() > 0) {
                int aliasesAliasesitemsListIndex = 1;
                xmlWriter.startElement("Items");
                for (String aliasesAliasesitemsListValue : aliasesAliasesitemsList) {

                  xmlWriter.startElement("CNAME");
                  xmlWriter.value(aliasesAliasesitemsListValue);
                  xmlWriter.endElement();

                  aliasesAliasesitemsListIndex++;
                }
                xmlWriter.endElement();
              }
            }
            xmlWriter.endElement();
          }
        }
        if (distributionConfigDistributionConfig.getDefaultRootObject() != null) {
          xmlWriter
              .startElement("DefaultRootObject")
              .value(distributionConfigDistributionConfig.getDefaultRootObject())
              .endElement();
        }
        if (distributionConfigDistributionConfig != null) {
          Origins originsOrigins = distributionConfigDistributionConfig.getOrigins();
          if (originsOrigins != null) {
            xmlWriter.startElement("Origins");
            if (originsOrigins.getQuantity() != null) {
              xmlWriter.startElement("Quantity").value(originsOrigins.getQuantity()).endElement();
            }

            if (originsOrigins != null) {
              java.util.List<Origin> originsOriginsitemsList = originsOrigins.getItems();
              if (originsOriginsitemsList != null && originsOriginsitemsList.size() > 0) {
                int originsOriginsitemsListIndex = 1;
                xmlWriter.startElement("Items");
                for (Origin originsOriginsitemsListValue : originsOriginsitemsList) {

                  xmlWriter.startElement("Origin");
                  if (originsOriginsitemsListValue.getId() != null) {
                    xmlWriter
                        .startElement("Id")
                        .value(originsOriginsitemsListValue.getId())
                        .endElement();
                  }
                  if (originsOriginsitemsListValue.getDomainName() != null) {
                    xmlWriter
                        .startElement("DomainName")
                        .value(originsOriginsitemsListValue.getDomainName())
                        .endElement();
                  }
                  if (originsOriginsitemsListValue != null) {
                    S3OriginConfig s3OriginConfigS3OriginConfig =
                        originsOriginsitemsListValue.getS3OriginConfig();
                    if (s3OriginConfigS3OriginConfig != null) {
                      xmlWriter.startElement("S3OriginConfig");
                      if (s3OriginConfigS3OriginConfig.getOriginAccessIdentity() != null) {
                        xmlWriter
                            .startElement("OriginAccessIdentity")
                            .value(s3OriginConfigS3OriginConfig.getOriginAccessIdentity())
                            .endElement();
                      }
                      xmlWriter.endElement();
                    }
                  }
                  if (originsOriginsitemsListValue != null) {
                    CustomOriginConfig customOriginConfigCustomOriginConfig =
                        originsOriginsitemsListValue.getCustomOriginConfig();
                    if (customOriginConfigCustomOriginConfig != null) {
                      xmlWriter.startElement("CustomOriginConfig");
                      if (customOriginConfigCustomOriginConfig.getHTTPPort() != null) {
                        xmlWriter
                            .startElement("HTTPPort")
                            .value(customOriginConfigCustomOriginConfig.getHTTPPort())
                            .endElement();
                      }
                      if (customOriginConfigCustomOriginConfig.getHTTPSPort() != null) {
                        xmlWriter
                            .startElement("HTTPSPort")
                            .value(customOriginConfigCustomOriginConfig.getHTTPSPort())
                            .endElement();
                      }
                      if (customOriginConfigCustomOriginConfig.getOriginProtocolPolicy() != null) {
                        xmlWriter
                            .startElement("OriginProtocolPolicy")
                            .value(customOriginConfigCustomOriginConfig.getOriginProtocolPolicy())
                            .endElement();
                      }
                      xmlWriter.endElement();
                    }
                  }
                  xmlWriter.endElement();

                  originsOriginsitemsListIndex++;
                }
                xmlWriter.endElement();
              }
            }
            xmlWriter.endElement();
          }
        }
        if (distributionConfigDistributionConfig != null) {
          DefaultCacheBehavior defaultCacheBehaviorDefaultCacheBehavior =
              distributionConfigDistributionConfig.getDefaultCacheBehavior();
          if (defaultCacheBehaviorDefaultCacheBehavior != null) {
            xmlWriter.startElement("DefaultCacheBehavior");
            if (defaultCacheBehaviorDefaultCacheBehavior.getTargetOriginId() != null) {
              xmlWriter
                  .startElement("TargetOriginId")
                  .value(defaultCacheBehaviorDefaultCacheBehavior.getTargetOriginId())
                  .endElement();
            }
            if (defaultCacheBehaviorDefaultCacheBehavior != null) {
              ForwardedValues forwardedValuesForwardedValues =
                  defaultCacheBehaviorDefaultCacheBehavior.getForwardedValues();
              if (forwardedValuesForwardedValues != null) {
                xmlWriter.startElement("ForwardedValues");
                if (forwardedValuesForwardedValues.isQueryString() != null) {
                  xmlWriter
                      .startElement("QueryString")
                      .value(forwardedValuesForwardedValues.isQueryString())
                      .endElement();
                }
                if (forwardedValuesForwardedValues != null) {
                  CookiePreference cookiePreferenceCookies =
                      forwardedValuesForwardedValues.getCookies();
                  if (cookiePreferenceCookies != null) {
                    xmlWriter.startElement("Cookies");
                    if (cookiePreferenceCookies.getForward() != null) {
                      xmlWriter
                          .startElement("Forward")
                          .value(cookiePreferenceCookies.getForward())
                          .endElement();
                    }
                    if (cookiePreferenceCookies != null) {
                      CookieNames cookieNamesWhitelistedNames =
                          cookiePreferenceCookies.getWhitelistedNames();
                      if (cookieNamesWhitelistedNames != null) {
                        xmlWriter.startElement("WhitelistedNames");
                        if (cookieNamesWhitelistedNames.getQuantity() != null) {
                          xmlWriter
                              .startElement("Quantity")
                              .value(cookieNamesWhitelistedNames.getQuantity())
                              .endElement();
                        }

                        if (cookieNamesWhitelistedNames != null) {
                          java.util.List<String> cookieNamesWhitelistedNamesitemsList =
                              cookieNamesWhitelistedNames.getItems();
                          if (cookieNamesWhitelistedNamesitemsList != null
                              && cookieNamesWhitelistedNamesitemsList.size() > 0) {
                            int cookieNamesWhitelistedNamesitemsListIndex = 1;
                            xmlWriter.startElement("Items");
                            for (String cookieNamesWhitelistedNamesitemsListValue :
                                cookieNamesWhitelistedNamesitemsList) {

                              xmlWriter.startElement("Name");
                              xmlWriter.value(cookieNamesWhitelistedNamesitemsListValue);
                              xmlWriter.endElement();

                              cookieNamesWhitelistedNamesitemsListIndex++;
                            }
                            xmlWriter.endElement();
                          }
                        }
                        xmlWriter.endElement();
                      }
                    }
                    xmlWriter.endElement();
                  }
                }
                xmlWriter.endElement();
              }
            }
            if (defaultCacheBehaviorDefaultCacheBehavior != null) {
              TrustedSigners trustedSignersTrustedSigners =
                  defaultCacheBehaviorDefaultCacheBehavior.getTrustedSigners();
              if (trustedSignersTrustedSigners != null) {
                xmlWriter.startElement("TrustedSigners");
                if (trustedSignersTrustedSigners.isEnabled() != null) {
                  xmlWriter
                      .startElement("Enabled")
                      .value(trustedSignersTrustedSigners.isEnabled())
                      .endElement();
                }
                if (trustedSignersTrustedSigners.getQuantity() != null) {
                  xmlWriter
                      .startElement("Quantity")
                      .value(trustedSignersTrustedSigners.getQuantity())
                      .endElement();
                }

                if (trustedSignersTrustedSigners != null) {
                  java.util.List<String> trustedSignersTrustedSignersitemsList =
                      trustedSignersTrustedSigners.getItems();
                  if (trustedSignersTrustedSignersitemsList != null
                      && trustedSignersTrustedSignersitemsList.size() > 0) {
                    int trustedSignersTrustedSignersitemsListIndex = 1;
                    xmlWriter.startElement("Items");
                    for (String trustedSignersTrustedSignersitemsListValue :
                        trustedSignersTrustedSignersitemsList) {

                      xmlWriter.startElement("AwsAccountNumber");
                      xmlWriter.value(trustedSignersTrustedSignersitemsListValue);
                      xmlWriter.endElement();

                      trustedSignersTrustedSignersitemsListIndex++;
                    }
                    xmlWriter.endElement();
                  }
                }
                xmlWriter.endElement();
              }
            }
            if (defaultCacheBehaviorDefaultCacheBehavior.getViewerProtocolPolicy() != null) {
              xmlWriter
                  .startElement("ViewerProtocolPolicy")
                  .value(defaultCacheBehaviorDefaultCacheBehavior.getViewerProtocolPolicy())
                  .endElement();
            }
            if (defaultCacheBehaviorDefaultCacheBehavior.getMinTTL() != null) {
              xmlWriter
                  .startElement("MinTTL")
                  .value(defaultCacheBehaviorDefaultCacheBehavior.getMinTTL())
                  .endElement();
            }
            if (defaultCacheBehaviorDefaultCacheBehavior != null) {
              AllowedMethods allowedMethodsAllowedMethods =
                  defaultCacheBehaviorDefaultCacheBehavior.getAllowedMethods();
              if (allowedMethodsAllowedMethods != null) {
                xmlWriter.startElement("AllowedMethods");
                if (allowedMethodsAllowedMethods.getQuantity() != null) {
                  xmlWriter
                      .startElement("Quantity")
                      .value(allowedMethodsAllowedMethods.getQuantity())
                      .endElement();
                }

                if (allowedMethodsAllowedMethods != null) {
                  java.util.List<String> allowedMethodsAllowedMethodsitemsList =
                      allowedMethodsAllowedMethods.getItems();
                  if (allowedMethodsAllowedMethodsitemsList != null
                      && allowedMethodsAllowedMethodsitemsList.size() > 0) {
                    int allowedMethodsAllowedMethodsitemsListIndex = 1;
                    xmlWriter.startElement("Items");
                    for (String allowedMethodsAllowedMethodsitemsListValue :
                        allowedMethodsAllowedMethodsitemsList) {

                      xmlWriter.startElement("Method");
                      xmlWriter.value(allowedMethodsAllowedMethodsitemsListValue);
                      xmlWriter.endElement();

                      allowedMethodsAllowedMethodsitemsListIndex++;
                    }
                    xmlWriter.endElement();
                  }
                }
                xmlWriter.endElement();
              }
            }
            xmlWriter.endElement();
          }
        }
        if (distributionConfigDistributionConfig != null) {
          CacheBehaviors cacheBehaviorsCacheBehaviors =
              distributionConfigDistributionConfig.getCacheBehaviors();
          if (cacheBehaviorsCacheBehaviors != null) {
            xmlWriter.startElement("CacheBehaviors");
            if (cacheBehaviorsCacheBehaviors.getQuantity() != null) {
              xmlWriter
                  .startElement("Quantity")
                  .value(cacheBehaviorsCacheBehaviors.getQuantity())
                  .endElement();
            }

            if (cacheBehaviorsCacheBehaviors != null) {
              java.util.List<CacheBehavior> cacheBehaviorsCacheBehaviorsitemsList =
                  cacheBehaviorsCacheBehaviors.getItems();
              if (cacheBehaviorsCacheBehaviorsitemsList != null
                  && cacheBehaviorsCacheBehaviorsitemsList.size() > 0) {
                int cacheBehaviorsCacheBehaviorsitemsListIndex = 1;
                xmlWriter.startElement("Items");
                for (CacheBehavior cacheBehaviorsCacheBehaviorsitemsListValue :
                    cacheBehaviorsCacheBehaviorsitemsList) {

                  xmlWriter.startElement("CacheBehavior");
                  if (cacheBehaviorsCacheBehaviorsitemsListValue.getPathPattern() != null) {
                    xmlWriter
                        .startElement("PathPattern")
                        .value(cacheBehaviorsCacheBehaviorsitemsListValue.getPathPattern())
                        .endElement();
                  }
                  if (cacheBehaviorsCacheBehaviorsitemsListValue.getTargetOriginId() != null) {
                    xmlWriter
                        .startElement("TargetOriginId")
                        .value(cacheBehaviorsCacheBehaviorsitemsListValue.getTargetOriginId())
                        .endElement();
                  }
                  if (cacheBehaviorsCacheBehaviorsitemsListValue != null) {
                    ForwardedValues forwardedValuesForwardedValues =
                        cacheBehaviorsCacheBehaviorsitemsListValue.getForwardedValues();
                    if (forwardedValuesForwardedValues != null) {
                      xmlWriter.startElement("ForwardedValues");
                      if (forwardedValuesForwardedValues.isQueryString() != null) {
                        xmlWriter
                            .startElement("QueryString")
                            .value(forwardedValuesForwardedValues.isQueryString())
                            .endElement();
                      }
                      if (forwardedValuesForwardedValues != null) {
                        CookiePreference cookiePreferenceCookies =
                            forwardedValuesForwardedValues.getCookies();
                        if (cookiePreferenceCookies != null) {
                          xmlWriter.startElement("Cookies");
                          if (cookiePreferenceCookies.getForward() != null) {
                            xmlWriter
                                .startElement("Forward")
                                .value(cookiePreferenceCookies.getForward())
                                .endElement();
                          }
                          if (cookiePreferenceCookies != null) {
                            CookieNames cookieNamesWhitelistedNames =
                                cookiePreferenceCookies.getWhitelistedNames();
                            if (cookieNamesWhitelistedNames != null) {
                              xmlWriter.startElement("WhitelistedNames");
                              if (cookieNamesWhitelistedNames.getQuantity() != null) {
                                xmlWriter
                                    .startElement("Quantity")
                                    .value(cookieNamesWhitelistedNames.getQuantity())
                                    .endElement();
                              }

                              if (cookieNamesWhitelistedNames != null) {
                                java.util.List<String> cookieNamesWhitelistedNamesitemsList =
                                    cookieNamesWhitelistedNames.getItems();
                                if (cookieNamesWhitelistedNamesitemsList != null
                                    && cookieNamesWhitelistedNamesitemsList.size() > 0) {
                                  int cookieNamesWhitelistedNamesitemsListIndex = 1;
                                  xmlWriter.startElement("Items");
                                  for (String cookieNamesWhitelistedNamesitemsListValue :
                                      cookieNamesWhitelistedNamesitemsList) {

                                    xmlWriter.startElement("Name");
                                    xmlWriter.value(cookieNamesWhitelistedNamesitemsListValue);
                                    xmlWriter.endElement();

                                    cookieNamesWhitelistedNamesitemsListIndex++;
                                  }
                                  xmlWriter.endElement();
                                }
                              }
                              xmlWriter.endElement();
                            }
                          }
                          xmlWriter.endElement();
                        }
                      }
                      xmlWriter.endElement();
                    }
                  }
                  if (cacheBehaviorsCacheBehaviorsitemsListValue != null) {
                    TrustedSigners trustedSignersTrustedSigners =
                        cacheBehaviorsCacheBehaviorsitemsListValue.getTrustedSigners();
                    if (trustedSignersTrustedSigners != null) {
                      xmlWriter.startElement("TrustedSigners");
                      if (trustedSignersTrustedSigners.isEnabled() != null) {
                        xmlWriter
                            .startElement("Enabled")
                            .value(trustedSignersTrustedSigners.isEnabled())
                            .endElement();
                      }
                      if (trustedSignersTrustedSigners.getQuantity() != null) {
                        xmlWriter
                            .startElement("Quantity")
                            .value(trustedSignersTrustedSigners.getQuantity())
                            .endElement();
                      }

                      if (trustedSignersTrustedSigners != null) {
                        java.util.List<String> trustedSignersTrustedSignersitemsList =
                            trustedSignersTrustedSigners.getItems();
                        if (trustedSignersTrustedSignersitemsList != null
                            && trustedSignersTrustedSignersitemsList.size() > 0) {
                          int trustedSignersTrustedSignersitemsListIndex = 1;
                          xmlWriter.startElement("Items");
                          for (String trustedSignersTrustedSignersitemsListValue :
                              trustedSignersTrustedSignersitemsList) {

                            xmlWriter.startElement("AwsAccountNumber");
                            xmlWriter.value(trustedSignersTrustedSignersitemsListValue);
                            xmlWriter.endElement();

                            trustedSignersTrustedSignersitemsListIndex++;
                          }
                          xmlWriter.endElement();
                        }
                      }
                      xmlWriter.endElement();
                    }
                  }
                  if (cacheBehaviorsCacheBehaviorsitemsListValue.getViewerProtocolPolicy()
                      != null) {
                    xmlWriter
                        .startElement("ViewerProtocolPolicy")
                        .value(cacheBehaviorsCacheBehaviorsitemsListValue.getViewerProtocolPolicy())
                        .endElement();
                  }
                  if (cacheBehaviorsCacheBehaviorsitemsListValue.getMinTTL() != null) {
                    xmlWriter
                        .startElement("MinTTL")
                        .value(cacheBehaviorsCacheBehaviorsitemsListValue.getMinTTL())
                        .endElement();
                  }
                  if (cacheBehaviorsCacheBehaviorsitemsListValue != null) {
                    AllowedMethods allowedMethodsAllowedMethods =
                        cacheBehaviorsCacheBehaviorsitemsListValue.getAllowedMethods();
                    if (allowedMethodsAllowedMethods != null) {
                      xmlWriter.startElement("AllowedMethods");
                      if (allowedMethodsAllowedMethods.getQuantity() != null) {
                        xmlWriter
                            .startElement("Quantity")
                            .value(allowedMethodsAllowedMethods.getQuantity())
                            .endElement();
                      }

                      if (allowedMethodsAllowedMethods != null) {
                        java.util.List<String> allowedMethodsAllowedMethodsitemsList =
                            allowedMethodsAllowedMethods.getItems();
                        if (allowedMethodsAllowedMethodsitemsList != null
                            && allowedMethodsAllowedMethodsitemsList.size() > 0) {
                          int allowedMethodsAllowedMethodsitemsListIndex = 1;
                          xmlWriter.startElement("Items");
                          for (String allowedMethodsAllowedMethodsitemsListValue :
                              allowedMethodsAllowedMethodsitemsList) {

                            xmlWriter.startElement("Method");
                            xmlWriter.value(allowedMethodsAllowedMethodsitemsListValue);
                            xmlWriter.endElement();

                            allowedMethodsAllowedMethodsitemsListIndex++;
                          }
                          xmlWriter.endElement();
                        }
                      }
                      xmlWriter.endElement();
                    }
                  }
                  xmlWriter.endElement();

                  cacheBehaviorsCacheBehaviorsitemsListIndex++;
                }
                xmlWriter.endElement();
              }
            }
            xmlWriter.endElement();
          }
        }
        if (distributionConfigDistributionConfig != null) {
          CustomErrorResponses customErrorResponsesCustomErrorResponses =
              distributionConfigDistributionConfig.getCustomErrorResponses();
          if (customErrorResponsesCustomErrorResponses != null) {
            xmlWriter.startElement("CustomErrorResponses");
            if (customErrorResponsesCustomErrorResponses.getQuantity() != null) {
              xmlWriter
                  .startElement("Quantity")
                  .value(customErrorResponsesCustomErrorResponses.getQuantity())
                  .endElement();
            }

            if (customErrorResponsesCustomErrorResponses != null) {
              java.util.List<CustomErrorResponse>
                  customErrorResponsesCustomErrorResponsesitemsList =
                      customErrorResponsesCustomErrorResponses.getItems();
              if (customErrorResponsesCustomErrorResponsesitemsList != null
                  && customErrorResponsesCustomErrorResponsesitemsList.size() > 0) {
                int customErrorResponsesCustomErrorResponsesitemsListIndex = 1;
                xmlWriter.startElement("Items");
                for (CustomErrorResponse customErrorResponsesCustomErrorResponsesitemsListValue :
                    customErrorResponsesCustomErrorResponsesitemsList) {

                  xmlWriter.startElement("CustomErrorResponse");
                  if (customErrorResponsesCustomErrorResponsesitemsListValue.getErrorCode()
                      != null) {
                    xmlWriter
                        .startElement("ErrorCode")
                        .value(
                            customErrorResponsesCustomErrorResponsesitemsListValue.getErrorCode())
                        .endElement();
                  }
                  if (customErrorResponsesCustomErrorResponsesitemsListValue.getResponsePagePath()
                      != null) {
                    xmlWriter
                        .startElement("ResponsePagePath")
                        .value(
                            customErrorResponsesCustomErrorResponsesitemsListValue
                                .getResponsePagePath())
                        .endElement();
                  }
                  if (customErrorResponsesCustomErrorResponsesitemsListValue.getResponseCode()
                      != null) {
                    xmlWriter
                        .startElement("ResponseCode")
                        .value(
                            customErrorResponsesCustomErrorResponsesitemsListValue
                                .getResponseCode())
                        .endElement();
                  }
                  if (customErrorResponsesCustomErrorResponsesitemsListValue.getErrorCachingMinTTL()
                      != null) {
                    xmlWriter
                        .startElement("ErrorCachingMinTTL")
                        .value(
                            customErrorResponsesCustomErrorResponsesitemsListValue
                                .getErrorCachingMinTTL())
                        .endElement();
                  }
                  xmlWriter.endElement();

                  customErrorResponsesCustomErrorResponsesitemsListIndex++;
                }
                xmlWriter.endElement();
              }
            }
            xmlWriter.endElement();
          }
        }
        if (distributionConfigDistributionConfig.getComment() != null) {
          xmlWriter
              .startElement("Comment")
              .value(distributionConfigDistributionConfig.getComment())
              .endElement();
        }
        if (distributionConfigDistributionConfig != null) {
          LoggingConfig loggingConfigLogging = distributionConfigDistributionConfig.getLogging();
          if (loggingConfigLogging != null) {
            xmlWriter.startElement("Logging");
            if (loggingConfigLogging.isEnabled() != null) {
              xmlWriter
                  .startElement("Enabled")
                  .value(loggingConfigLogging.isEnabled())
                  .endElement();
            }
            if (loggingConfigLogging.isIncludeCookies() != null) {
              xmlWriter
                  .startElement("IncludeCookies")
                  .value(loggingConfigLogging.isIncludeCookies())
                  .endElement();
            }
            if (loggingConfigLogging.getBucket() != null) {
              xmlWriter.startElement("Bucket").value(loggingConfigLogging.getBucket()).endElement();
            }
            if (loggingConfigLogging.getPrefix() != null) {
              xmlWriter.startElement("Prefix").value(loggingConfigLogging.getPrefix()).endElement();
            }
            xmlWriter.endElement();
          }
        }
        if (distributionConfigDistributionConfig.getPriceClass() != null) {
          xmlWriter
              .startElement("PriceClass")
              .value(distributionConfigDistributionConfig.getPriceClass())
              .endElement();
        }
        if (distributionConfigDistributionConfig.isEnabled() != null) {
          xmlWriter
              .startElement("Enabled")
              .value(distributionConfigDistributionConfig.isEnabled())
              .endElement();
        }
        if (distributionConfigDistributionConfig != null) {
          ViewerCertificate viewerCertificateViewerCertificate =
              distributionConfigDistributionConfig.getViewerCertificate();
          if (viewerCertificateViewerCertificate != null) {
            xmlWriter.startElement("ViewerCertificate");
            if (viewerCertificateViewerCertificate.getIAMCertificateId() != null) {
              xmlWriter
                  .startElement("IAMCertificateId")
                  .value(viewerCertificateViewerCertificate.getIAMCertificateId())
                  .endElement();
            }
            if (viewerCertificateViewerCertificate.isCloudFrontDefaultCertificate() != null) {
              xmlWriter
                  .startElement("CloudFrontDefaultCertificate")
                  .value(viewerCertificateViewerCertificate.isCloudFrontDefaultCertificate())
                  .endElement();
            }
            xmlWriter.endElement();
          }
        }
        xmlWriter.endElement();
      }
    }

    try {
      request.setContent(new StringInputStream(stringWriter.getBuffer().toString()));
      request.addHeader(
          "Content-Length",
          Integer.toString(stringWriter.getBuffer().toString().getBytes("UTF-8").length));
      request.addHeader("Content-Type", "application/xml");
    } catch (UnsupportedEncodingException e) {
      throw new AmazonClientException("Unable to marshall request to XML", e);
    }

    return request;
  }
  public Request<CreateStreamingDistributionRequest> marshall(
      CreateStreamingDistributionRequest createStreamingDistributionRequest) {
    if (createStreamingDistributionRequest == null) {
      throw new AmazonClientException("Invalid argument passed to marshall(...)");
    }

    Request<CreateStreamingDistributionRequest> request =
        new DefaultRequest<CreateStreamingDistributionRequest>(
            createStreamingDistributionRequest, "AmazonCloudFront");
    request.setHttpMethod(HttpMethodName.POST);

    String uriResourcePath = "2014-05-31/streaming-distribution";

    if (uriResourcePath.contains("?")) {
      String queryString = uriResourcePath.substring(uriResourcePath.indexOf("?") + 1);
      uriResourcePath = uriResourcePath.substring(0, uriResourcePath.indexOf("?"));

      for (String s : queryString.split("[;&]")) {
        String[] nameValuePair = s.split("=");
        if (nameValuePair.length == 2) {
          request.addParameter(nameValuePair[0], nameValuePair[1]);
        } else {
          request.addParameter(s, null);
        }
      }
    }

    request.setResourcePath(uriResourcePath);

    StringWriter stringWriter = new StringWriter();
    XMLWriter xmlWriter =
        new XMLWriter(stringWriter, "http://cloudfront.amazonaws.com/doc/2014-05-31/");

    if (createStreamingDistributionRequest != null) {
      StreamingDistributionConfig streamingDistributionConfigStreamingDistributionConfig =
          createStreamingDistributionRequest.getStreamingDistributionConfig();
      if (streamingDistributionConfigStreamingDistributionConfig != null) {
        xmlWriter.startElement("StreamingDistributionConfig");
        if (streamingDistributionConfigStreamingDistributionConfig.getCallerReference() != null) {
          xmlWriter
              .startElement("CallerReference")
              .value(streamingDistributionConfigStreamingDistributionConfig.getCallerReference())
              .endElement();
        }
        if (streamingDistributionConfigStreamingDistributionConfig != null) {
          S3Origin s3OriginS3Origin =
              streamingDistributionConfigStreamingDistributionConfig.getS3Origin();
          if (s3OriginS3Origin != null) {
            xmlWriter.startElement("S3Origin");
            if (s3OriginS3Origin.getDomainName() != null) {
              xmlWriter
                  .startElement("DomainName")
                  .value(s3OriginS3Origin.getDomainName())
                  .endElement();
            }
            if (s3OriginS3Origin.getOriginAccessIdentity() != null) {
              xmlWriter
                  .startElement("OriginAccessIdentity")
                  .value(s3OriginS3Origin.getOriginAccessIdentity())
                  .endElement();
            }
            xmlWriter.endElement();
          }
        }
        if (streamingDistributionConfigStreamingDistributionConfig != null) {
          Aliases aliasesAliases =
              streamingDistributionConfigStreamingDistributionConfig.getAliases();
          if (aliasesAliases != null) {
            xmlWriter.startElement("Aliases");
            if (aliasesAliases.getQuantity() != null) {
              xmlWriter.startElement("Quantity").value(aliasesAliases.getQuantity()).endElement();
            }

            if (aliasesAliases != null) {
              java.util.List<String> aliasesAliasesitemsList = aliasesAliases.getItems();
              if (aliasesAliasesitemsList != null && aliasesAliasesitemsList.size() > 0) {
                int aliasesAliasesitemsListIndex = 1;
                xmlWriter.startElement("Items");
                for (String aliasesAliasesitemsListValue : aliasesAliasesitemsList) {

                  xmlWriter.startElement("CNAME");
                  xmlWriter.value(aliasesAliasesitemsListValue);
                  xmlWriter.endElement();

                  aliasesAliasesitemsListIndex++;
                }
                xmlWriter.endElement();
              }
            }
            xmlWriter.endElement();
          }
        }
        if (streamingDistributionConfigStreamingDistributionConfig.getComment() != null) {
          xmlWriter
              .startElement("Comment")
              .value(streamingDistributionConfigStreamingDistributionConfig.getComment())
              .endElement();
        }
        if (streamingDistributionConfigStreamingDistributionConfig != null) {
          StreamingLoggingConfig streamingLoggingConfigLogging =
              streamingDistributionConfigStreamingDistributionConfig.getLogging();
          if (streamingLoggingConfigLogging != null) {
            xmlWriter.startElement("Logging");
            if (streamingLoggingConfigLogging.isEnabled() != null) {
              xmlWriter
                  .startElement("Enabled")
                  .value(streamingLoggingConfigLogging.isEnabled())
                  .endElement();
            }
            if (streamingLoggingConfigLogging.getBucket() != null) {
              xmlWriter
                  .startElement("Bucket")
                  .value(streamingLoggingConfigLogging.getBucket())
                  .endElement();
            }
            if (streamingLoggingConfigLogging.getPrefix() != null) {
              xmlWriter
                  .startElement("Prefix")
                  .value(streamingLoggingConfigLogging.getPrefix())
                  .endElement();
            }
            xmlWriter.endElement();
          }
        }
        if (streamingDistributionConfigStreamingDistributionConfig != null) {
          TrustedSigners trustedSignersTrustedSigners =
              streamingDistributionConfigStreamingDistributionConfig.getTrustedSigners();
          if (trustedSignersTrustedSigners != null) {
            xmlWriter.startElement("TrustedSigners");
            if (trustedSignersTrustedSigners.isEnabled() != null) {
              xmlWriter
                  .startElement("Enabled")
                  .value(trustedSignersTrustedSigners.isEnabled())
                  .endElement();
            }
            if (trustedSignersTrustedSigners.getQuantity() != null) {
              xmlWriter
                  .startElement("Quantity")
                  .value(trustedSignersTrustedSigners.getQuantity())
                  .endElement();
            }

            if (trustedSignersTrustedSigners != null) {
              java.util.List<String> trustedSignersTrustedSignersitemsList =
                  trustedSignersTrustedSigners.getItems();
              if (trustedSignersTrustedSignersitemsList != null
                  && trustedSignersTrustedSignersitemsList.size() > 0) {
                int trustedSignersTrustedSignersitemsListIndex = 1;
                xmlWriter.startElement("Items");
                for (String trustedSignersTrustedSignersitemsListValue :
                    trustedSignersTrustedSignersitemsList) {

                  xmlWriter.startElement("AwsAccountNumber");
                  xmlWriter.value(trustedSignersTrustedSignersitemsListValue);
                  xmlWriter.endElement();

                  trustedSignersTrustedSignersitemsListIndex++;
                }
                xmlWriter.endElement();
              }
            }
            xmlWriter.endElement();
          }
        }
        if (streamingDistributionConfigStreamingDistributionConfig.getPriceClass() != null) {
          xmlWriter
              .startElement("PriceClass")
              .value(streamingDistributionConfigStreamingDistributionConfig.getPriceClass())
              .endElement();
        }
        if (streamingDistributionConfigStreamingDistributionConfig.isEnabled() != null) {
          xmlWriter
              .startElement("Enabled")
              .value(streamingDistributionConfigStreamingDistributionConfig.isEnabled())
              .endElement();
        }
        xmlWriter.endElement();
      }
    }

    try {
      request.setContent(new StringInputStream(stringWriter.getBuffer().toString()));
      request.addHeader(
          "Content-Length",
          Integer.toString(stringWriter.getBuffer().toString().getBytes(UTF8).length));
      request.addHeader("Content-Type", "application/xml");
    } catch (UnsupportedEncodingException e) {
      throw new AmazonClientException("Unable to marshall request to XML", e);
    }

    return request;
  }
Exemplo n.º 10
0
 static {
   Aliases.parentBParent();
   queries = new ParentBParentQueries();
 }
Exemplo n.º 11
0
@SuppressWarnings("all")
public abstract class ParentBParentCodegen extends AbstractDomainObject {

  public static final ParentBParentQueries queries;
  private Long id = null;
  private String name = null;
  private Long version = null;
  private final ForeignKeyListHolder<ParentBParent, ParentBChildBar> parentBChildBars =
      new ForeignKeyListHolder<ParentBParent, ParentBChildBar>(
          (ParentBParent) this,
          Aliases.parentBChildBar(),
          Aliases.parentBChildBar().parentBParent,
          new ParentBChildBarsListDelegate());
  private final ForeignKeyListHolder<ParentBParent, ParentBChildFoo> parentBChildFoos =
      new ForeignKeyListHolder<ParentBParent, ParentBChildFoo>(
          (ParentBParent) this,
          Aliases.parentBChildFoo(),
          Aliases.parentBChildFoo().parentBParent,
          new ParentBChildFoosListDelegate());
  private final ForeignKeyListHolder<ParentBParent, ParentBChildZaz> parentBChildZazs =
      new ForeignKeyListHolder<ParentBParent, ParentBChildZaz>(
          (ParentBParent) this,
          Aliases.parentBChildZaz(),
          Aliases.parentBChildZaz().parentBParent,
          new ParentBChildZazsListDelegate());
  protected Changed changed;

  static {
    Aliases.parentBParent();
    queries = new ParentBParentQueries();
  }

  protected ParentBParentCodegen() {
    this.addExtraRules();
  }

  private void addExtraRules() {
    this.addRule(new NotNull<ParentBParent>(Shims.name));
    this.addRule(new MaxLength<ParentBParent>(Shims.name, 100));
    this.addRule(new NotEmpty<ParentBParent>(Shims.name));
  }

  public Long getId() {
    return this.id;
  }

  public void setId(Long id) {
    if (this.id != null) {
      throw new IllegalStateException(this + " id cannot be changed");
    }
    this.getChanged().record("id", this.id, id);
    this.id = id;
    if (UoW.isOpen()) {
      UoW.getIdentityMap().store(this);
    }
  }

  public String getName() {
    return this.name;
  }

  public void setName(String name) {
    this.getChanged().record("name", this.name, name);
    this.name = name;
  }

  protected void defaultName(String name) {
    this.name = name;
  }

  public Long getVersion() {
    return this.version;
  }

  public List<ParentBChildBar> getParentBChildBars() {
    return this.parentBChildBars.get();
  }

  public void setParentBChildBars(List<ParentBChildBar> parentBChildBars) {
    ListDiff<ParentBChildBar> diff = ListDiff.of(this.getParentBChildBars(), parentBChildBars);
    for (ParentBChildBar o : diff.removed) {
      this.removeParentBChildBar(o);
    }
    for (ParentBChildBar o : diff.added) {
      this.addParentBChildBar(o);
    }
  }

  public void addParentBChildBar(ParentBChildBar o) {
    if (o.getParentBParent() == this) {
      return;
    }
    o.setParentBParentWithoutPercolation((ParentBParent) this);
    this.addParentBChildBarWithoutPercolation(o);
  }

  public void removeParentBChildBar(ParentBChildBar o) {
    if (o.getParentBParent() != this) {
      return;
    }
    o.setParentBParentWithoutPercolation(null);
    this.removeParentBChildBarWithoutPercolation(o);
  }

  protected void addParentBChildBarWithoutPercolation(ParentBChildBar o) {
    this.getChanged().record("parentBChildBars");
    this.parentBChildBars.add(o);
  }

  protected void removeParentBChildBarWithoutPercolation(ParentBChildBar o) {
    this.getChanged().record("parentBChildBars");
    this.parentBChildBars.remove(o);
  }

  public List<ParentBChildFoo> getParentBChildFoos() {
    return this.parentBChildFoos.get();
  }

  public void setParentBChildFoos(List<ParentBChildFoo> parentBChildFoos) {
    ListDiff<ParentBChildFoo> diff = ListDiff.of(this.getParentBChildFoos(), parentBChildFoos);
    for (ParentBChildFoo o : diff.removed) {
      this.removeParentBChildFoo(o);
    }
    for (ParentBChildFoo o : diff.added) {
      this.addParentBChildFoo(o);
    }
  }

  public void addParentBChildFoo(ParentBChildFoo o) {
    if (o.getParentBParent() == this) {
      return;
    }
    o.setParentBParentWithoutPercolation((ParentBParent) this);
    this.addParentBChildFooWithoutPercolation(o);
  }

  public void removeParentBChildFoo(ParentBChildFoo o) {
    if (o.getParentBParent() != this) {
      return;
    }
    o.setParentBParentWithoutPercolation(null);
    this.removeParentBChildFooWithoutPercolation(o);
  }

  protected void addParentBChildFooWithoutPercolation(ParentBChildFoo o) {
    this.getChanged().record("parentBChildFoos");
    this.parentBChildFoos.add(o);
  }

  protected void removeParentBChildFooWithoutPercolation(ParentBChildFoo o) {
    this.getChanged().record("parentBChildFoos");
    this.parentBChildFoos.remove(o);
  }

  public List<ParentBChildZaz> getParentBChildZazs() {
    return this.parentBChildZazs.get();
  }

  public void setParentBChildZazs(List<ParentBChildZaz> parentBChildZazs) {
    ListDiff<ParentBChildZaz> diff = ListDiff.of(this.getParentBChildZazs(), parentBChildZazs);
    for (ParentBChildZaz o : diff.removed) {
      this.removeParentBChildZaz(o);
    }
    for (ParentBChildZaz o : diff.added) {
      this.addParentBChildZaz(o);
    }
  }

  public void addParentBChildZaz(ParentBChildZaz o) {
    if (o.getParentBParent() == this) {
      return;
    }
    o.setParentBParentWithoutPercolation((ParentBParent) this);
    this.addParentBChildZazWithoutPercolation(o);
  }

  public void removeParentBChildZaz(ParentBChildZaz o) {
    if (o.getParentBParent() != this) {
      return;
    }
    o.setParentBParentWithoutPercolation(null);
    this.removeParentBChildZazWithoutPercolation(o);
  }

  protected void addParentBChildZazWithoutPercolation(ParentBChildZaz o) {
    this.getChanged().record("parentBChildZazs");
    this.parentBChildZazs.add(o);
  }

  protected void removeParentBChildZazWithoutPercolation(ParentBChildZaz o) {
    this.getChanged().record("parentBChildZazs");
    this.parentBChildZazs.remove(o);
  }

  public ParentBParentChanged getChanged() {
    if (this.changed == null) {
      this.changed = new ParentBParentChanged((ParentBParent) this);
    }
    return (ParentBParentChanged) this.changed;
  }

  @Override
  public void clearAssociations() {
    super.clearAssociations();
    for (ParentBChildBar o : Copy.list(this.getParentBChildBars())) {
      removeParentBChildBar(o);
    }
    for (ParentBChildFoo o : Copy.list(this.getParentBChildFoos())) {
      removeParentBChildFoo(o);
    }
    for (ParentBChildZaz o : Copy.list(this.getParentBChildZazs())) {
      removeParentBChildZaz(o);
    }
  }

  static class Shims {
    protected static final Shim<ParentBParent, Long> id =
        new Shim<ParentBParent, Long>() {
          public void set(ParentBParent instance, Long id) {
            ((ParentBParentCodegen) instance).id = id;
          }

          public Long get(ParentBParent instance) {
            return ((ParentBParentCodegen) instance).id;
          }

          public String getName() {
            return "id";
          }
        };
    protected static final Shim<ParentBParent, String> name =
        new Shim<ParentBParent, String>() {
          public void set(ParentBParent instance, String name) {
            ((ParentBParentCodegen) instance).name = name;
          }

          public String get(ParentBParent instance) {
            return ((ParentBParentCodegen) instance).name;
          }

          public String getName() {
            return "name";
          }
        };
    protected static final Shim<ParentBParent, Long> version =
        new Shim<ParentBParent, Long>() {
          public void set(ParentBParent instance, Long version) {
            ((ParentBParentCodegen) instance).version = version;
          }

          public Long get(ParentBParent instance) {
            return ((ParentBParentCodegen) instance).version;
          }

          public String getName() {
            return "version";
          }
        };
  }

  private class ParentBChildBarsListDelegate implements ListProxy.Delegate<ParentBChildBar> {
    public void doAdd(ParentBChildBar e) {
      addParentBChildBar(e);
    }

    public void doRemove(ParentBChildBar e) {
      removeParentBChildBar(e);
    }
  }

  private class ParentBChildFoosListDelegate implements ListProxy.Delegate<ParentBChildFoo> {
    public void doAdd(ParentBChildFoo e) {
      addParentBChildFoo(e);
    }

    public void doRemove(ParentBChildFoo e) {
      removeParentBChildFoo(e);
    }
  }

  private class ParentBChildZazsListDelegate implements ListProxy.Delegate<ParentBChildZaz> {
    public void doAdd(ParentBChildZaz e) {
      addParentBChildZaz(e);
    }

    public void doRemove(ParentBChildZaz e) {
      removeParentBChildZaz(e);
    }
  }

  public static class ParentBParentChanged extends AbstractChanged {
    public ParentBParentChanged(ParentBParent instance) {
      super(instance);
    }

    public boolean hasId() {
      return this.contains("id");
    }

    public Long getOriginalId() {
      return (Long) this.getOriginal("id");
    }

    public boolean hasName() {
      return this.contains("name");
    }

    public String getOriginalName() {
      return (java.lang.String) this.getOriginal("name");
    }

    public boolean hasVersion() {
      return this.contains("version");
    }

    public Long getOriginalVersion() {
      return (Long) this.getOriginal("version");
    }

    public boolean hasParentBChildBars() {
      return this.contains("parentBChildBars");
    }

    public boolean hasParentBChildFoos() {
      return this.contains("parentBChildFoos");
    }

    public boolean hasParentBChildZazs() {
      return this.contains("parentBChildZazs");
    }
  }
}