Package com.esri.gpt.catalog.harvest.protocols

Source Code of com.esri.gpt.catalog.harvest.protocols.HarvestProtocolAgp

/*
* 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.catalog.harvest.protocols;

import com.esri.gpt.catalog.harvest.clients.HRAgpClient;
import com.esri.gpt.catalog.harvest.clients.HRClient;
import com.esri.gpt.control.webharvest.IterationContext;
import com.esri.gpt.control.webharvest.client.agportal.AgpQueryBuilder;
import com.esri.gpt.framework.resource.query.QueryBuilder;
import com.esri.gpt.framework.util.Val;

/**
* ArcGIS Portal protocol.
* NOTE! This is EXPERIMENTAL feature. It might be removed at any time in the future.
*/
public class HarvestProtocolAgp extends AbstractHTTPHarvestProtocol {

// class variables =============================================================

// instance variables ==========================================================
 
// constructors ================================================================

// properties ==================================================================

/**
* Gets protocol type.
* @return protocol type
*/
public final ProtocolType getType() {
  return ProtocolType.AGP;
}

// methods =====================================================================

/**
* Gets harvest client.
* @return harvest client
*/
public HRClient getClient(final String hostUrl) {
  return new HRAgpClient(normalizeUrl(hostUrl));
}

public QueryBuilder newQueryBuilder(IterationContext context, String url) {
  return new AgpQueryBuilder(context, this, url);
}

private String normalizeUrl(String url) {
  return Val.chkStr(url).replaceAll("/+$", "") + "/search?q=*:*&f=pjson&num=10&start=1";
}
TOP

Related Classes of com.esri.gpt.catalog.harvest.protocols.HarvestProtocolAgp

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.