/** * Copyright (c) Codice Foundation * * This is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser * General Public License as published by the Free Software Foundation, either version 3 of the * License, or any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. A copy of the GNU Lesser General Public License * is distributed along with this program and can be found at * <http://www.gnu.org/licenses/lgpl.html>. * **/ package org.codice.ddf.spatial.ogc.csw.catalog.common; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import ddf.catalog.data.Metacard; /** * Domain object to encapsulate the configuration of an instance of a {@link CswSource}. CSW * converters, readers, etc. will access this object to determine the latest configuration of the * {@link CswSource} they are working on. * */ public class CswSourceConfiguration { private String cswUrl; private String id; private String username; private String password; private boolean disableCnCheck = false; private Map<String, String> metacardCswMappings = new HashMap<String, String>(); private String resourceUriMapping; private String thumbnailMapping; private boolean isLonLatOrder; private boolean usePosList; private Integer pollIntervalMinutes; private Integer connectionTimeout; private Integer receiveTimeout; private boolean isCqlForced; private String outputSchema; private String queryTypeQName; private String queryTypePrefix; public String getCswUrl() { return cswUrl; } public void setCswUrl(String cswUrl) { this.cswUrl = cswUrl; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getEffectiveDateMapping() { return metacardCswMappings.get(Metacard.EFFECTIVE); } public void setEffectiveDateMapping(String effectiveDateMapping) { metacardCswMappings.put(Metacard.EFFECTIVE, effectiveDateMapping); } public String getCreatedDateMapping() { return metacardCswMappings.get(Metacard.CREATED); } public void setCreatedDateMapping(String createdDateMapping) { metacardCswMappings.put(Metacard.CREATED, createdDateMapping); } public String getModifiedDateMapping() { return metacardCswMappings.get(Metacard.MODIFIED); } public void setModifiedDateMapping(String modifiedDateMapping) { metacardCswMappings.put(Metacard.MODIFIED, modifiedDateMapping); } public String getResourceUriMapping() { return resourceUriMapping; } public void setResourceUriMapping(String resourceUriMapping) { this.resourceUriMapping = resourceUriMapping; } public String getContentTypeMapping() { return metacardCswMappings.get(Metacard.CONTENT_TYPE); } public void setContentTypeMapping(String contentTypeMapping) { metacardCswMappings.put(Metacard.CONTENT_TYPE, contentTypeMapping); } public String getThumbnailMapping() { return thumbnailMapping; } public void setThumbnailMapping(String thumbnailMapping) { this.thumbnailMapping = thumbnailMapping; } public boolean getDisableCnCheck() { return disableCnCheck; } public void setDisableCnCheck(boolean disableCnCheck) { this.disableCnCheck = disableCnCheck; } public Map<String, String> getMetacardCswMappings() { Map<String, String> newMap = new HashMap<>(); for (Entry<String, String> entry : metacardCswMappings.entrySet()) { newMap.put(entry.getValue(), entry.getKey()); } return newMap; } public void setMetacardCswMappings(Map<String, String> metacardCswMappings) { this.metacardCswMappings = metacardCswMappings; } public void setIsLonLatOrder(boolean isLonLatOrder) { this.isLonLatOrder = isLonLatOrder; } public boolean isLonLatOrder() { return this.isLonLatOrder; } public boolean isSetUsePosList() { return usePosList; } public void setUsePosList(boolean usePosList) { this.usePosList = usePosList; } public Integer getPollIntervalMinutes() { return pollIntervalMinutes; } public void setPollIntervalMinutes(Integer pollIntervalMinutes) { this.pollIntervalMinutes = pollIntervalMinutes; } public Integer getConnectionTimeout() { return connectionTimeout; } public void setConnectionTimeout(Integer connectionTimeout) { this.connectionTimeout = connectionTimeout; } public Integer getReceiveTimeout() { return receiveTimeout; } public void setReceiveTimeout(Integer receiveTimeout) { this.receiveTimeout = receiveTimeout; } public void setIsCqlForced(boolean isForceCql) { this.isCqlForced = isForceCql; } public boolean isCqlForced() { return this.isCqlForced; } public String getOutputSchema() { return outputSchema; } public void setOutputSchema(String outputSchema) { this.outputSchema = outputSchema; } public String getQueryTypeQName() { return queryTypeQName; } public void setQueryTypeQName(String queryTypeQName) { this.queryTypeQName = queryTypeQName; } public String getQueryTypePrefix() { return queryTypePrefix; } public void setQueryTypePrefix(String queryTypePrefix) { this.queryTypePrefix = queryTypePrefix; } public String getIdentifierMapping() { return metacardCswMappings.get(Metacard.ID); } public void setIdentifierMapping(String identifierMapping) { metacardCswMappings.put(Metacard.ID, identifierMapping); } }