Skip to content

Commit

Permalink
removed unused service
Browse files Browse the repository at this point in the history
  • Loading branch information
marcos-lg committed Aug 2, 2023
1 parent 0a8c62c commit ca380ec
Show file tree
Hide file tree
Showing 7 changed files with 1 addition and 235 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,19 @@

import org.gbif.api.model.common.paging.PagingRequest;
import org.gbif.api.model.common.paging.PagingResponse;
import org.gbif.api.model.registry.Contact;
import org.gbif.api.model.registry.Dataset;
import org.gbif.api.model.registry.Identifier;
import org.gbif.api.model.registry.Installation;
import org.gbif.api.model.registry.MachineTag;
import org.gbif.api.model.registry.Network;
import org.gbif.api.model.registry.Node;
import org.gbif.api.model.registry.Organization;
import org.gbif.api.model.registry.search.ContactsSearchParams;
import org.gbif.api.model.registry.search.OrganizationRequestSearchParams;
import org.gbif.api.model.registry.view.OrganizationContactView;
import org.gbif.api.service.registry.NetworkService;
import org.gbif.api.service.registry.NodeService;
import org.gbif.api.service.registry.OrganizationService;
import org.gbif.api.util.Range;
import org.gbif.api.vocabulary.ContactType;
import org.gbif.api.vocabulary.Country;
import org.gbif.api.vocabulary.GbifRegion;
import org.gbif.api.vocabulary.IdentifierType;
import org.gbif.registry.search.test.EsManageServer;
import org.gbif.registry.test.TestDataFactory;
Expand Down Expand Up @@ -271,57 +266,6 @@ public void testList(ServiceType serviceType) {
assertResultsOfSize(service.listDeleted(searchParams), 1);
}

@ParameterizedTest
@EnumSource(ServiceType.class)
public void testSearchOrganizationContacts(ServiceType serviceType) {
OrganizationService service = (OrganizationService) getService(serviceType);
Node node = testDataFactory.newNode();
UUID nodeKey = nodeResource.create(node);

Organization o1 = testDataFactory.newOrganization(nodeKey);
o1.setCountry(Country.UNITED_STATES);
UUID o1Key = service.create(o1);

Organization o2 = testDataFactory.newOrganization(nodeKey);
o2.setCountry(Country.SPAIN);
UUID o2Key = service.create(o2);

Contact c1 = testDataFactory.newContact();
c1.setType(ContactType.TECHNICAL_POINT_OF_CONTACT);
Integer key1 = organizationResource.addContact(o1Key, c1);

Contact c2 = testDataFactory.newContact();
c2.setType(ContactType.ADMINISTRATIVE_POINT_OF_CONTACT);
Integer key2 = organizationResource.addContact(o2Key, c2);

ContactsSearchParams params = new ContactsSearchParams();
params.getCountry().add(Country.SPAIN);
PagingResponse<OrganizationContactView> results = service.searchContacts(params);
assertEquals(1, results.getCount());
assertEquals(o2Key, results.getResults().get(0).getOrganizationKey());

params.getGbifRegion().add(GbifRegion.NORTH_AMERICA);
assertEquals(2, service.searchContacts(params).getCount());

params = new ContactsSearchParams();
params.getGbifRegion().add(GbifRegion.NORTH_AMERICA);
results = service.searchContacts(params);
assertEquals(1, results.getCount());
assertEquals(o1Key, results.getResults().get(0).getOrganizationKey());

params.getGbifRegion().add(GbifRegion.EUROPE);
assertEquals(2, service.searchContacts(params).getCount());

params = new ContactsSearchParams();
params.getType().add(ContactType.ADMINISTRATIVE_POINT_OF_CONTACT);
results = service.searchContacts(params);
assertEquals(1, results.getCount());
assertEquals(o2Key, results.getResults().get(0).getOrganizationKey());

params.getType().add(ContactType.TECHNICAL_POINT_OF_CONTACT);
assertEquals(2, service.searchContacts(params).getCount());
}

private void createOrgs(UUID nodeKey, ServiceType serviceType, Country... countries) {
OrganizationService service = (OrganizationService) getService(serviceType);
for (Country c : countries) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@
import org.gbif.registry.persistence.mapper.collections.external.IDigBioCollectionDto;
import org.gbif.registry.persistence.mapper.collections.external.IdentifierDto;
import org.gbif.registry.persistence.mapper.collections.external.MachineTagDto;
import org.gbif.registry.persistence.mapper.dto.OrganizationContactDto;
import org.gbif.registry.persistence.mapper.handler.CollectionContentTypeArrayTypeHandler;
import org.gbif.registry.persistence.mapper.handler.DOITypeHandler;
import org.gbif.registry.persistence.mapper.handler.DisciplineArrayTypeHandler;
Expand Down Expand Up @@ -169,9 +168,6 @@ ConfigurationCustomizer mybatisConfigCustomizer() {
configuration
.getTypeAliasRegistry()
.registerAlias("MasterSourceOrganizationDto", MasterSourceOrganizationDto.class);
configuration
.getTypeAliasRegistry()
.registerAlias("OrganizationContactDto", OrganizationContactDto.class);

configuration.getTypeAliasRegistry().registerAlias("UriTypeHandler", UriTypeHandler.class);
configuration.getTypeAliasRegistry().registerAlias("UuidTypeHandler", UuidTypeHandler.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,31 +14,20 @@
package org.gbif.registry.persistence.mapper;

import org.gbif.api.model.common.paging.Pageable;
import org.gbif.api.model.registry.Contact;
import org.gbif.api.model.registry.Dataset;
import org.gbif.api.model.registry.EndorsementStatus;
import org.gbif.api.model.registry.Organization;
import org.gbif.api.model.registry.search.KeyTitleResult;
import org.gbif.api.vocabulary.ContactType;
import org.gbif.api.vocabulary.Country;
import org.gbif.api.vocabulary.InstallationType;
import org.gbif.registry.domain.ws.LegacyOrganizationBriefResponse;
import org.gbif.registry.persistence.ChallengeCodeSupportMapper;
import org.gbif.registry.persistence.mapper.params.OrganizationListParams;

import java.util.List;
import java.util.UUID;

import javax.annotation.Nullable;
import javax.validation.constraints.Null;

import org.apache.ibatis.annotations.Param;

import org.gbif.registry.persistence.mapper.dto.OrganizationContactDto;


import org.gbif.registry.persistence.mapper.params.DatasetListParams;
import org.gbif.registry.persistence.mapper.params.OrganizationListParams;

import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;

Expand Down Expand Up @@ -93,14 +82,5 @@ List<Organization> hostingInstallationsOf(
/** A simple suggest by title service. */
List<KeyTitleResult> suggest(@Nullable @Param("q") String q);

List<OrganizationContactDto> searchContacts(
@Nullable @Param("country") List<Country> countries,
@Nullable @Param("type") List<ContactType> types,
@Nullable @Param("page") Pageable page);

long countContacts(
@Nullable @Param("country") List<Country> countries,
@Nullable @Param("type") List<ContactType> types);

Organization getLightweight(@Param("key") UUID key);
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,6 @@
<result property="language" column="language" typeHandler="org.gbif.mybatis.type.LanguageTypeHandler" />
</resultMap>

<resultMap id="ORG_CONTACT_DTO_MAP" type="OrganizationContactDto" autoMapping="true">
<association property="contact" resultMap="org.gbif.registry.persistence.mapper.ContactMapper.CONTACT_MAP" />
</resultMap>

<sql id="WRITABLE_ORGANIZATION_FIELDS">
key,endorsing_node_key,password,title,abbreviation,description,language,email,
phone,homepage,logo_url,address,city,province,country,postal_code,latitude,longitude,created,created_by,
Expand Down Expand Up @@ -509,52 +505,4 @@
) t1 LIMIT 25
</select>

<select id="searchContacts" resultMap="ORG_CONTACT_DTO_MAP">
SELECT c.key,oc.type,oc.is_primary AS primary,c.user_id,c.first_name,c.last_name,c.description,c.position,c.email,
c.phone,c.homepage,c.organization,c.address,c.city,c.province,c.country,c.postal_code,c.created,c.created_by,c.modified,c.modified_by,
o.key AS organizationKey, o.country AS organizationCountry, o.title AS organizationTitle
FROM contact c
INNER JOIN organization_contact oc ON oc.contact_key = c.key
INNER JOIN organization o ON o.key = oc.organization_key
<where>
<if test="country != null and country.size > 0">
o.country IN
<foreach item="item" collection="country" open="(" separator="," close=")">
#{item,jdbcType=VARCHAR}
</foreach>
</if>
<if test="type != null and type.size > 0">
AND oc.type IN
<foreach item="item" collection="type" open="(" separator="," close=")">
#{item,jdbcType=OTHER}
</foreach>
</if>
</where>
ORDER BY created DESC
<if test="page != null">
LIMIT #{page.limit} OFFSET #{page.offset}
</if>
</select>

<select id="countContacts" resultType="Long">
SELECT COUNT(*)
FROM contact c
INNER JOIN organization_contact oc ON oc.contact_key = c.key
INNER JOIN organization o ON o.key = oc.organization_key
<where>
<if test="country != null and country.size > 0">
o.country IN
<foreach item="item" collection="country" open="(" separator="," close=")">
#{item,jdbcType=VARCHAR}
</foreach>
</if>
<if test="type != null and type.size > 0">
AND oc.type IN
<foreach item="item" collection="type" open="(" separator="," close=")">
#{item,jdbcType=OTHER}
</foreach>
</if>
</where>
</select>

</mapper>
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,7 @@
import org.gbif.api.model.registry.Dataset;
import org.gbif.api.model.registry.Installation;
import org.gbif.api.model.registry.Organization;
import org.gbif.api.model.registry.search.ContactsSearchParams;
import org.gbif.api.model.registry.search.DatasetRequestSearchParams;
import org.gbif.api.model.registry.search.KeyTitleResult;
import org.gbif.api.model.registry.view.OrganizationContactView;
import org.gbif.api.model.registry.search.OrganizationRequestSearchParams;
import org.gbif.api.service.registry.OrganizationService;
import org.gbif.api.vocabulary.Country;
Expand All @@ -32,7 +29,6 @@
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
Expand Down Expand Up @@ -126,13 +122,4 @@ boolean confirmEndorsement(
@ResponseBody
@Override
PagingResponse<Organization> list(@SpringQueryMap OrganizationRequestSearchParams searchParams);

@RequestMapping(
method = RequestMethod.GET,
value = "contacts",
produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
@Override
PagingResponse<OrganizationContactView> searchContacts(
@SpringQueryMap ContactsSearchParams searchParams);
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,19 +25,14 @@
import org.gbif.api.model.registry.Organization;
import org.gbif.api.model.registry.PostPersist;
import org.gbif.api.model.registry.PrePersist;
import org.gbif.api.model.registry.search.ContactsSearchParams;
import org.gbif.api.model.registry.search.KeyTitleResult;
import org.gbif.api.model.registry.search.OrganizationRequestSearchParams;
import org.gbif.api.model.registry.view.OrganizationContactView;
import org.gbif.api.service.registry.OrganizationService;
import org.gbif.api.vocabulary.ContactType;
import org.gbif.api.vocabulary.Country;
import org.gbif.api.vocabulary.GbifRegion;
import org.gbif.registry.events.EventManager;
import org.gbif.registry.persistence.mapper.DatasetMapper;
import org.gbif.registry.persistence.mapper.InstallationMapper;
import org.gbif.registry.persistence.mapper.OrganizationMapper;
import org.gbif.registry.persistence.mapper.dto.OrganizationContactDto;
import org.gbif.registry.persistence.mapper.params.BaseListParams;
import org.gbif.registry.persistence.mapper.params.DatasetListParams;
import org.gbif.registry.persistence.mapper.params.InstallationListParams;
Expand All @@ -48,12 +43,10 @@
import org.gbif.registry.service.WithMyBatis;
import org.gbif.registry.ws.surety.OrganizationEndorsementService;

import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.Random;
import java.util.UUID;
import java.util.stream.Collectors;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
Expand Down Expand Up @@ -85,7 +78,6 @@
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.enums.Explode;
import io.swagger.v3.oas.annotations.enums.ParameterIn;
import io.swagger.v3.oas.annotations.extensions.Extension;
import io.swagger.v3.oas.annotations.extensions.ExtensionProperty;
Expand Down Expand Up @@ -652,68 +644,4 @@ public ResponseEntity<Void> userAllowedToEndorseOrganization(

return ResponseEntity.status(HttpStatus.NO_CONTENT).build();
}

@Operation(
operationId = "searchOrganizationsContacts",
summary = "Searches contacts among all organizations",
description = "Lists all contacts that meet the filter parameters",
extensions =
@Extension(
name = "Order",
properties = @ExtensionProperty(name = "Order", value = "0100")))
@Parameters(
value = {
@Parameter(
name = "country",
description = "Country of the organization",
schema = @Schema(implementation = Country.class),
in = ParameterIn.QUERY,
explode = Explode.TRUE),
@Parameter(
name = "type",
description = "Contact type",
schema = @Schema(implementation = ContactType.class),
in = ParameterIn.QUERY,
explode = Explode.TRUE),
@Parameter(
name = "gbifRegion",
description = "GBIF region",
schema = @Schema(implementation = GbifRegion.class),
in = ParameterIn.QUERY,
explode = Explode.TRUE)
})
@Pageable.OffsetLimitParameters
@ApiResponse(responseCode = "200", description = "Contacts search successful")
@ApiResponse(responseCode = "400", description = "Invalid search query provided")
@GetMapping("contacts")
@Override
public PagingResponse<OrganizationContactView> searchContacts(ContactsSearchParams params) {
if (params.getGbifRegion() != null && !params.getGbifRegion().isEmpty()) {
params
.getCountry()
.addAll(
Arrays.stream(Country.values())
.filter(c -> params.getGbifRegion().contains(c.getGbifRegion()))
.collect(Collectors.toList()));
}

List<OrganizationContactDto> dtos =
organizationMapper.searchContacts(params.getCountry(), params.getType(), params.getPage());

List<OrganizationContactView> views =
dtos.stream()
.map(
dto ->
new OrganizationContactView(
dto.getContact(),
dto.getOrganizationKey(),
dto.getOrganizationCountry(),
dto.getOrganizationTitle()))
.collect(Collectors.toList());

return pagingResponse(
params.getPage(),
organizationMapper.countContacts(params.getCountry(), params.getType()),
views);
}
}

0 comments on commit ca380ec

Please sign in to comment.