Some bugfixes for the image asset.
parent
c21fc6ec0f
commit
204c2ee39d
|
|
@ -89,11 +89,12 @@ public class ImageService {
|
||||||
imageReader = readers.next();
|
imageReader = readers.next();
|
||||||
} else {
|
} else {
|
||||||
LOGGER.error(
|
LOGGER.error(
|
||||||
"No image reader suitable image reader available");
|
"No suitable image reader available"
|
||||||
|
);
|
||||||
throw new UnexpectedErrorException();
|
throw new UnexpectedErrorException();
|
||||||
}
|
}
|
||||||
imageReader.setInput(imageInputStream);
|
imageReader.setInput(imageInputStream);
|
||||||
bufferedImage = imageReader.read(0);
|
bufferedImage = imageReader.read(imageReader.getMinIndex());
|
||||||
imageFormat = imageReader.getFormatName();
|
imageFormat = imageReader.getFormatName();
|
||||||
} catch (IOException ex) {
|
} catch (IOException ex) {
|
||||||
LOGGER.error("Failed to load image.");
|
LOGGER.error("Failed to load image.");
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ import javax.inject.Named;
|
||||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
*/
|
*/
|
||||||
@RequestScoped
|
@RequestScoped
|
||||||
@Named("CmsImageCreatStep")
|
@Named("CmsImageCreateStep")
|
||||||
public class ImageCreateStep extends AbstractMvcAssetCreateStep<Image> {
|
public class ImageCreateStep extends AbstractMvcAssetCreateStep<Image> {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,7 @@ import javax.enterprise.context.RequestScoped;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.mvc.Controller;
|
import javax.mvc.Controller;
|
||||||
import javax.mvc.Models;
|
import javax.mvc.Models;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.transaction.Transactional;
|
import javax.transaction.Transactional;
|
||||||
import javax.ws.rs.Consumes;
|
import javax.ws.rs.Consumes;
|
||||||
import javax.ws.rs.FormParam;
|
import javax.ws.rs.FormParam;
|
||||||
|
|
@ -56,6 +57,7 @@ import javax.ws.rs.GET;
|
||||||
import javax.ws.rs.POST;
|
import javax.ws.rs.POST;
|
||||||
import javax.ws.rs.Path;
|
import javax.ws.rs.Path;
|
||||||
import javax.ws.rs.PathParam;
|
import javax.ws.rs.PathParam;
|
||||||
|
import javax.ws.rs.core.Context;
|
||||||
import javax.ws.rs.core.MediaType;
|
import javax.ws.rs.core.MediaType;
|
||||||
import javax.ws.rs.core.MultivaluedMap;
|
import javax.ws.rs.core.MultivaluedMap;
|
||||||
|
|
||||||
|
|
@ -78,6 +80,9 @@ public class ImageEditStep extends AbstractMvcAssetEditStep {
|
||||||
ImageEditStep.class
|
ImageEditStep.class
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@Context
|
||||||
|
private HttpServletRequest request;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private AssetStepsDefaultMessagesBundle messageBundle;
|
private AssetStepsDefaultMessagesBundle messageBundle;
|
||||||
|
|
||||||
|
|
@ -171,6 +176,17 @@ public class ImageEditStep extends AbstractMvcAssetEditStep {
|
||||||
editStepModel.setWidth(getImage().getWidth());
|
editStepModel.setWidth(getImage().getWidth());
|
||||||
|
|
||||||
editStepModel.setLegalMetadata(getImage().getLegalMetadata());
|
editStepModel.setLegalMetadata(getImage().getLegalMetadata());
|
||||||
|
|
||||||
|
final StringBuilder baseUrlBuilder = new StringBuilder();
|
||||||
|
editStepModel.setBaseUrl(
|
||||||
|
baseUrlBuilder
|
||||||
|
.append(request.getScheme())
|
||||||
|
.append("://")
|
||||||
|
.append(request.getServerName())
|
||||||
|
.append(addServerPortToBaseUrl())
|
||||||
|
.append(addContextPathToBaseUrl())
|
||||||
|
.toString()
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
throw new AssetNotFoundException(
|
throw new AssetNotFoundException(
|
||||||
assetUi.showAssetNotFound(
|
assetUi.showAssetNotFound(
|
||||||
|
|
@ -486,4 +502,21 @@ public class ImageEditStep extends AbstractMvcAssetEditStep {
|
||||||
return headers.getFirst("Content-Type");
|
return headers.getFirst("Content-Type");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String addServerPortToBaseUrl() {
|
||||||
|
if (request.getServerPort() == 80 || request.getServerPort() == 443) {
|
||||||
|
return "";
|
||||||
|
} else {
|
||||||
|
return String.format(":%d", request.getServerPort());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private String addContextPathToBaseUrl() {
|
||||||
|
if (request.getServletContext().getContextPath() == null
|
||||||
|
|| request.getServletContext().getContextPath().isEmpty()) {
|
||||||
|
return "/";
|
||||||
|
} else {
|
||||||
|
return request.getServletContext().getContextPath();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,8 @@ import javax.inject.Named;
|
||||||
@Named("CmsImageEditStepModel")
|
@Named("CmsImageEditStepModel")
|
||||||
public class ImageEditStepModel {
|
public class ImageEditStepModel {
|
||||||
|
|
||||||
|
private String baseUrl;
|
||||||
|
|
||||||
private Map<String, String> descriptionValues;
|
private Map<String, String> descriptionValues;
|
||||||
|
|
||||||
private List<String> unusedDescriptionLocales;
|
private List<String> unusedDescriptionLocales;
|
||||||
|
|
@ -55,6 +57,14 @@ public class ImageEditStepModel {
|
||||||
|
|
||||||
private LegalMetadata legalMetadata;
|
private LegalMetadata legalMetadata;
|
||||||
|
|
||||||
|
public String getBaseUrl() {
|
||||||
|
return baseUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void setBaseUrl(final String baseUrl) {
|
||||||
|
this.baseUrl = baseUrl;
|
||||||
|
}
|
||||||
|
|
||||||
public Map<String, String> getDescriptionValues() {
|
public Map<String, String> getDescriptionValues() {
|
||||||
return Collections.unmodifiableMap(descriptionValues);
|
return Collections.unmodifiableMap(descriptionValues);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -139,6 +139,16 @@
|
||||||
</c:choose>
|
</c:choose>
|
||||||
|
|
||||||
<h3>#{CmsAssetsStepsDefaultMessagesBundle['image.editstep.legalmetadata.title']}</h3>
|
<h3>#{CmsAssetsStepsDefaultMessagesBundle['image.editstep.legalmetadata.title']}</h3>
|
||||||
|
<librecms:assetPicker
|
||||||
|
actionUrl="#{actionBaseUrl}/legalmetadata"
|
||||||
|
assetType="#{CmsImageEditStepModel.legalMetadataType}"
|
||||||
|
assetPickerId="legalmetadata-picker"
|
||||||
|
baseUrl="#{CmsImageEditStepModel.baseUrl}"
|
||||||
|
contentSection="#{ContentSectionModel.sectionName}"
|
||||||
|
formParamName="legalMetadataIdentifier"
|
||||||
|
|
||||||
|
/>
|
||||||
|
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="#{CmsImageEditStepModel.legalMetadata == null}">
|
<c:when test="#{CmsImageEditStepModel.legalMetadata == null}">
|
||||||
<div class="text-right">
|
<div class="text-right">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue