Package com.esri.gpt.control.webharvest.protocol

Source Code of com.esri.gpt.control.webharvest.protocol.ProtocolSerializer

/* See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* Esri Inc. licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License.  You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.esri.gpt.control.webharvest.protocol;

import com.esri.gpt.framework.collection.StringAttribute;
import com.esri.gpt.framework.collection.StringAttributeMap;
import com.esri.gpt.framework.util.Val;
import java.util.List;

/**
* Protocol serializer.
*/
public class ProtocolSerializer {
/**
* Creates xml string representation of the protocol.
* @param protocol protocol
* @return xml string representation of the protocol
*/
public static String toXmlString(Protocol protocol) {
  StringBuilder sb = new StringBuilder();

  sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
  if (protocol!=null) {
    String sDest = getDestinations(protocol);
    sb.append("<protocol type=\"").append(protocol.getKind()).append("\" flags=\"").append(protocol.getFlags()).append("\"").append(sDest!=null? " destinations=\"" +sDest+ "\"": "").append(" adHoc=\"" +protocol.getAdHoc()+ "\"").append(">");

    StringAttributeMap attributes = protocol.extractAttributeMap();
    for (String key : attributes.keySet()) {
      StringAttribute value = attributes.get(key);
      sb.append("<").append(key).append(">").append(value.getValue()).
          append("</").append(key).append(">");
    }

    sb.append("</protocol>");
  } else {
    sb.append("<protocol/>");
  }

  return sb.toString();
}

/**
* Gets destinations as string.
* @param protocol protocol
* @return destinations or <code>null</code> if no destinations
*/
private static String getDestinations(Protocol protocol) {
    List<String> destinations = ProtocolInvoker.getDestinations(protocol);
    String sDest = null;
    if (destinations!=null) {
      StringBuilder sbDest = new StringBuilder();
      for (String dest : destinations) {
        dest = Val.chkStr(dest);
        if (dest.length()>0) {
          if (sbDest.length()>0) {
            sbDest.append(",");
          }
          sbDest.append(dest);
        }
        sDest = sbDest.toString();
      }
    }
    return sDest;
}

}
TOP

Related Classes of com.esri.gpt.control.webharvest.protocol.ProtocolSerializer

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