Commit daa699e5 authored by Martin Lowe's avatar Martin Lowe 🇨🇦
Browse files

Fix image service to use get instead of ref (proxies aren't ever null)

parent 0a2e1315
...@@ -39,10 +39,12 @@ import javax.imageio.stream.ImageOutputStream; ...@@ -39,10 +39,12 @@ import javax.imageio.stream.ImageOutputStream;
import javax.inject.Inject; import javax.inject.Inject;
import javax.ws.rs.BadRequestException; import javax.ws.rs.BadRequestException;
import javax.ws.rs.ServerErrorException; import javax.ws.rs.ServerErrorException;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response; import javax.ws.rs.core.Response;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.eclipsefoundation.core.model.RequestWrapper; import org.eclipsefoundation.core.model.RequestWrapper;
import org.eclipsefoundation.core.namespace.DefaultUrlParameterNames;
import org.eclipsefoundation.eclipsedb.dao.EclipseDBPersistenceDAO; import org.eclipsefoundation.eclipsedb.dao.EclipseDBPersistenceDAO;
import org.eclipsefoundation.eclipsedb.dto.OrganizationInformation; import org.eclipsefoundation.eclipsedb.dto.OrganizationInformation;
import org.eclipsefoundation.persistence.model.RDBMSQuery; import org.eclipsefoundation.persistence.model.RDBMSQuery;
...@@ -50,6 +52,7 @@ import org.eclipsefoundation.persistence.service.FilterService; ...@@ -50,6 +52,7 @@ import org.eclipsefoundation.persistence.service.FilterService;
import org.eclipsefoundation.react.helper.ImageFileHelper; import org.eclipsefoundation.react.helper.ImageFileHelper;
import org.eclipsefoundation.react.namespace.ImageStoreFormat; import org.eclipsefoundation.react.namespace.ImageStoreFormat;
import org.eclipsefoundation.react.service.ImageStoreService; import org.eclipsefoundation.react.service.ImageStoreService;
import org.jboss.resteasy.specimpl.MultivaluedMapImpl;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -159,11 +162,19 @@ public class DefaultImageStoreService implements ImageStoreService { ...@@ -159,11 +162,19 @@ public class DefaultImageStoreService implements ImageStoreService {
if (config.persistToDb() && format.isPresent() if (config.persistToDb() && format.isPresent()
&& ImageStoreFormat.ImageStoreFormats.WEB.equals(format.get()) && StringUtils.isNumeric(fileName)) { && ImageStoreFormat.ImageStoreFormats.WEB.equals(format.get()) && StringUtils.isNumeric(fileName)) {
// get a ref to the given organization information object // get a ref to the given organization information object
OrganizationInformation oi = dao.getReference(Integer.valueOf(fileName), OrganizationInformation.class); // get ref and update the object
// if the entry doesn't exist, create one MultivaluedMap<String, String> params = new MultivaluedMapImpl<>();
if (oi == null) { params.add(DefaultUrlParameterNames.ID.getName(), fileName);
List<OrganizationInformation> infoRefs = dao
.get(new RDBMSQuery<>(new RequestWrapper(), filters.get(OrganizationInformation.class), params));
// if ref doesn't exist, create one
OrganizationInformation oi;
if (infoRefs.isEmpty()) {
oi = new OrganizationInformation(); oi = new OrganizationInformation();
oi.setOrganizationID(Integer.valueOf(fileName)); oi.setOrganizationID(Integer.valueOf(fileName));
oi.setCompanyUrl("");
} else {
oi = infoRefs.get(0);
} }
oi.setLargeLogo(bytes); oi.setLargeLogo(bytes);
oi.setSmallLogo(bytes); oi.setSmallLogo(bytes);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment