dnet-applications/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/common/ISClient.java

61 lines
1.8 KiB
Java

package eu.dnetlib.openaire.common;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import eu.dnetlib.enabling.datasources.common.DsmException;
import eu.dnetlib.enabling.datasources.common.DsmForbiddenException;
import eu.dnetlib.openaire.context.Context;
import eu.dnetlib.openaire.dsm.dao.utils.IndexDsInfo;
import eu.dnetlib.openaire.dsm.domain.ApiDetails;
import eu.dnetlib.openaire.dsm.domain.DatasourceDetails;
public interface ISClient {
IndexDsInfo calculateCurrentIndexDsInfo() throws DsmException;
String getObjectStoreId(String dsId) throws DsmException;
Map<String, Context> getFunderContextMap() throws IOException;
Map<String, Context> getCommunityContextMap() throws IOException;
Map<String, Context> getContextMap(final List<String> type) throws IOException;
void updateContextParam(String id, String name, String value);
void updateContextAttribute(String id, String name, String value);
void addConcept(String id, String categoryId, String data);
void removeConcept(String id, String categoryId, String conceptId);
void updateDatasourceFields(String dsId, Map<String, String> changes);
void addAPIAttribute(String dsId, String apiId, Map<String, String> changes);
void updateAPIField(String dsId, String apiId, Map<String, String> changes);
void registerDS(DatasourceDetails d);
void registerAPI(ApiDetails api);
void removeAPI(String apiId) throws DsmForbiddenException;
void dropCache();
/**
*
* @param id id of the concept to be updated (i.e. ni::projects::2)
* @param name name of the attribute to be updated
* @param value new value for the attribute
*/
void updateConceptAttribute(String id, String name, String value);
void updateConceptParam(String id, String name, String value);
void updateConceptParamNoEscape(String id, String name, String value);
}