Skip to content
This repository has been archived by the owner on Aug 20, 2021. It is now read-only.

Commit

Permalink
feat: Allows to search and filter APIs
Browse files Browse the repository at this point in the history
  • Loading branch information
aelamrani committed Jun 20, 2018
1 parent a2b75b2 commit cebbd1d
Show file tree
Hide file tree
Showing 66 changed files with 549 additions and 238 deletions.
Expand Up @@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.gravitee.management.model;
package io.gravitee.management.model.api;

import com.fasterxml.jackson.annotation.JsonFilter;
import com.fasterxml.jackson.annotation.JsonProperty;
Expand All @@ -23,6 +23,9 @@
import io.gravitee.definition.model.Proxy;
import io.gravitee.definition.model.plugins.resources.Resource;
import io.gravitee.definition.model.services.Services;
import io.gravitee.management.model.DeploymentRequired;
import io.gravitee.management.model.PrimaryOwnerEntity;
import io.gravitee.management.model.Visibility;

import javax.validation.constraints.NotNull;
import java.util.*;
Expand Down
Expand Up @@ -13,10 +13,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.gravitee.management.model;
package io.gravitee.management.model.api;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.gravitee.common.component.Lifecycle;
import io.gravitee.management.model.PrimaryOwnerEntity;
import io.gravitee.management.model.Visibility;

import java.util.Date;
import java.util.List;
Expand Down
@@ -0,0 +1,122 @@
/**
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
*
* Licensed 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 io.gravitee.management.model.api;

import io.gravitee.management.model.Visibility;

/**
* @author Azize ELAMRANI (azize.elamrani at graviteesource.com)
* @author GraviteeSource Team
*/
public class ApiQuery {

private String view;
private String group;
private String contextPath;
private String label;
private String state;
private Visibility visibility;
private String version;
private String name;
private String tag;

public String getView() {
return view;
}

public void setView(String view) {
this.view = view;
}

public String getGroup() {
return group;
}

public void setGroup(String group) {
this.group = group;
}

public String getContextPath() {
return contextPath;
}

public void setContextPath(String contextPath) {
this.contextPath = contextPath;
}

public String getLabel() {
return label;
}

public void setLabel(String label) {
this.label = label;
}

public String getState() {
return state;
}

public void setState(String state) {
this.state = state;
}

public Visibility getVisibility() {
return visibility;
}

public void setVisibility(Visibility visibility) {
this.visibility = visibility;
}

public String getVersion() {
return version;
}

public void setVersion(String version) {
this.version = version;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getTag() {
return tag;
}

public void setTag(String tag) {
this.tag = tag;
}

@Override
public String toString() {
return "ApiQuery{" +
"view='" + view + '\'' +
", group='" + group + '\'' +
", contextPath='" + contextPath + '\'' +
", label='" + label + '\'' +
", state='" + state + '\'' +
", visibility='" + visibility + '\'' +
", version='" + version + '\'' +
", name='" + name + '\'' +
", tag='" + tag + '\'' +
'}';
}
}
Expand Up @@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.gravitee.management.model;
package io.gravitee.management.model.api;

import javax.validation.constraints.NotNull;
import java.util.List;
Expand Down
Expand Up @@ -13,14 +13,15 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.gravitee.management.model;
package io.gravitee.management.model.api;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.gravitee.definition.model.Path;
import io.gravitee.definition.model.Properties;
import io.gravitee.definition.model.Proxy;
import io.gravitee.definition.model.plugins.resources.Resource;
import io.gravitee.definition.model.services.Services;
import io.gravitee.management.model.Visibility;

import javax.validation.constraints.NotNull;
import java.util.*;
Expand Down
Expand Up @@ -15,16 +15,17 @@
*/
package io.gravitee.management.repository.proxy;

import io.gravitee.common.data.domain.Page;
import io.gravitee.repository.exceptions.TechnicalException;
import io.gravitee.repository.management.api.ApiRepository;
import io.gravitee.repository.management.api.search.ApiCriteria;
import io.gravitee.repository.management.api.search.ApiFieldExclusionFilter;
import io.gravitee.repository.management.api.search.Pageable;
import io.gravitee.repository.management.model.Api;
import io.gravitee.repository.management.model.Visibility;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;

/**
* @author David BRASSELY (david.brassely at graviteesource.com)
Expand All @@ -34,11 +35,6 @@
@Component
public class ApiRepositoryProxy extends AbstractProxy<ApiRepository> implements ApiRepository {

@Override
public Set<Api> findAll() throws TechnicalException {
return target.findAll();
}

@Override
public Api create(Api api) throws TechnicalException {
return target.create(api);
Expand All @@ -60,18 +56,17 @@ public Api update(Api api) throws TechnicalException {
}

@Override
public Set<Api> findByVisibility(Visibility visibility) throws TechnicalException {
return target.findByVisibility(visibility);
public Page<Api> search(ApiCriteria apiCriteria, Pageable pageable) {
return target.search(apiCriteria, pageable);
}

@Override
public Set<Api> findByIds(List<String> ids) throws TechnicalException {
return target.findByIds(ids);
public List<Api> search(ApiCriteria apiCriteria) {
return target.search(apiCriteria);
}

@Override
public Set<Api> findByGroups(List<String> groupIds) throws TechnicalException {
return target.findByGroups(groupIds);
public List<Api> search(ApiCriteria apiCriteria, ApiFieldExclusionFilter apiFieldExclusionFilter) {
return target.search(apiCriteria, apiFieldExclusionFilter);
}

}
Expand Up @@ -15,7 +15,7 @@
*/
package io.gravitee.management.rest.enhancer;

import io.gravitee.management.model.ApiEntity;
import io.gravitee.management.model.api.ApiEntity;
import io.gravitee.management.model.ViewEntity;
import io.gravitee.repository.management.model.View;
import org.springframework.stereotype.Component;
Expand Down
Expand Up @@ -15,7 +15,7 @@
*/
package io.gravitee.management.rest.filter;

import io.gravitee.management.model.ApiEntity;
import io.gravitee.management.model.api.ApiEntity;
import io.gravitee.management.model.ApplicationEntity;
import io.gravitee.management.model.GroupEntity;
import io.gravitee.management.model.RoleEntity;
Expand Down
Expand Up @@ -16,14 +16,13 @@
package io.gravitee.management.rest.resource;

import io.gravitee.common.http.MediaType;
import io.gravitee.management.model.ApiEntity;
import io.gravitee.management.model.api.ApiEntity;
import io.gravitee.management.model.MemberEntity;
import io.gravitee.management.model.MembershipListItem;
import io.gravitee.management.model.permissions.ApiPermission;
import io.gravitee.management.model.permissions.RolePermission;
import io.gravitee.management.model.permissions.RolePermissionAction;
import io.gravitee.management.rest.model.ApiMembership;
import io.gravitee.management.rest.model.RoleEntity;
import io.gravitee.management.rest.model.TransferOwnership;
import io.gravitee.management.rest.security.Permission;
import io.gravitee.management.rest.security.Permissions;
Expand Down
Expand Up @@ -17,6 +17,7 @@

import io.gravitee.common.http.MediaType;
import io.gravitee.management.model.*;
import io.gravitee.management.model.api.ApiEntity;
import io.gravitee.management.model.permissions.RolePermission;
import io.gravitee.management.model.permissions.RolePermissionAction;
import io.gravitee.management.rest.security.Permission;
Expand Down
Expand Up @@ -17,6 +17,7 @@

import io.gravitee.common.http.MediaType;
import io.gravitee.management.model.*;
import io.gravitee.management.model.api.ApiEntity;
import io.gravitee.management.rest.resource.param.PlanStatusParam;
import io.gravitee.management.rest.security.Permission;
import io.gravitee.management.rest.security.Permissions;
Expand Down
Expand Up @@ -18,6 +18,7 @@
import io.gravitee.common.data.domain.Page;
import io.gravitee.common.http.MediaType;
import io.gravitee.management.model.*;
import io.gravitee.management.model.api.ApiEntity;
import io.gravitee.management.model.permissions.RolePermission;
import io.gravitee.management.model.permissions.RolePermissionAction;
import io.gravitee.management.rest.security.Permission;
Expand Down
Expand Up @@ -17,6 +17,8 @@

import io.gravitee.common.http.MediaType;
import io.gravitee.management.model.*;
import io.gravitee.management.model.api.ApiEntity;
import io.gravitee.management.model.api.UpdateApiEntity;
import io.gravitee.management.model.notification.NotifierEntity;
import io.gravitee.management.model.permissions.RolePermission;
import io.gravitee.management.model.permissions.RolePermissionAction;
Expand Down

0 comments on commit cebbd1d

Please sign in to comment.