Improving code

This commit is contained in:
Luca Frosini 2022-10-17 15:56:00 +02:00
parent 5d3f42ae6d
commit 7c9021f0be
2 changed files with 28 additions and 7 deletions

View File

@ -17,7 +17,6 @@ import javax.ws.rs.InternalServerErrorException;
import javax.ws.rs.NotAllowedException; import javax.ws.rs.NotAllowedException;
import javax.ws.rs.WebApplicationException; import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.MultivaluedMap; import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.UriInfo;
import org.apache.http.MethodNotSupportedException; import org.apache.http.MethodNotSupportedException;
import org.gcube.com.fasterxml.jackson.databind.JsonNode; import org.gcube.com.fasterxml.jackson.databind.JsonNode;
@ -169,7 +168,8 @@ public class CKANPackage extends CKAN implements Moderated {
} }
protected CKANOrganization checkGotOrganization(String gotOrganization) throws ForbiddenException { //protected CKANOrganization checkGotOrganization(String gotOrganization) throws ForbiddenException {
protected void checkGotOrganization(String gotOrganization) throws ForbiddenException {
if(!configuration.getSupportedOrganizations().contains(gotOrganization)) { if(!configuration.getSupportedOrganizations().contains(gotOrganization)) {
String error = String.format( String error = String.format(
"IS Configuration does not allow to publish in %s organizations. Allowed organization are: %s", "IS Configuration does not allow to publish in %s organizations. Allowed organization are: %s",
@ -177,13 +177,20 @@ public class CKANPackage extends CKAN implements Moderated {
throw new ForbiddenException(error); throw new ForbiddenException(error);
} }
CKANOrganization ckanOrganization = new CKANOrganization(); /*
ckanOrganization.setName(gotOrganization); * It seem not needed. Add a cache if we want this check
ckanOrganization.read(); *
* CKANOrganization ckanOrganization = new CKANOrganization();
* ckanOrganization.setName(gotOrganization);
* ckanOrganization.read();
*
* return ckanOrganization;
*
*/
return ckanOrganization;
} }
/*
protected CKANOrganization getPublishingOrganization(ObjectNode objectNode) throws ForbiddenException { protected CKANOrganization getPublishingOrganization(ObjectNode objectNode) throws ForbiddenException {
CKANOrganization ckanOrganization = null; CKANOrganization ckanOrganization = null;
if(objectNode.has(OWNER_ORG_KEY)) { if(objectNode.has(OWNER_ORG_KEY)) {
@ -200,6 +207,18 @@ public class CKANPackage extends CKAN implements Moderated {
return ckanOrganization; return ckanOrganization;
} }
*/
protected void getPublishingOrganization(ObjectNode objectNode) throws ForbiddenException {
if(objectNode.has(OWNER_ORG_KEY)) {
String gotOrganizationName = objectNode.get(OWNER_ORG_KEY).asText();
checkGotOrganization(gotOrganizationName);
}else {
String organizationFromContext = configuration.getDefaultOrganization();
checkGotOrganization(organizationFromContext);
objectNode.put(OWNER_ORG_KEY, organizationFromContext);
}
}
public ObjectNode checkBaseInformation(String json) throws Exception { public ObjectNode checkBaseInformation(String json) throws Exception {
return checkBaseInformation(json, false); return checkBaseInformation(json, false);
@ -631,6 +650,7 @@ public class CKANPackage extends CKAN implements Moderated {
* I need to investigate better this part. * I need to investigate better this part.
* *
int i=1; int i=1;
stringWriter.append("(");
for(String organizationName : configuration.getSupportedOrganizations()) { for(String organizationName : configuration.getSupportedOrganizations()) {
stringWriter.append(String.format(GCatConstants.ORGANIZATION_FILTER_TEMPLATE, organizationName)); stringWriter.append(String.format(GCatConstants.ORGANIZATION_FILTER_TEMPLATE, organizationName));
if(i!=configuration.getSupportedOrganizations().size()) { if(i!=configuration.getSupportedOrganizations().size()) {
@ -640,6 +660,7 @@ public class CKANPackage extends CKAN implements Moderated {
} }
i++; i++;
} }
stringWriter.append(")");
*/ */
return stringWriter.toString(); return stringWriter.toString();

View File

@ -63,7 +63,7 @@ public class CKANPackageTest extends ContextTest {
CKANPackage ckanPackage = new CKANPackage(); CKANPackage ckanPackage = new CKANPackage();
MultivaluedMap<String, String> mvm = new MultivaluedHashMap<String,String>(); MultivaluedMap<String, String> mvm = new MultivaluedHashMap<String,String>();
mvm.add(Moderated.CM_ITEM_STATUS_QUERY_PARAMETER, CMItemStatus.PENDING.getValue()); // mvm.add(Moderated.CM_ITEM_STATUS_QUERY_PARAMETER, CMItemStatus.PENDING.getValue());
UriInfo uriInfo = getUriInfo(mvm); UriInfo uriInfo = getUriInfo(mvm);
ckanPackage.setUriInfo(uriInfo); ckanPackage.setUriInfo(uriInfo);