blob: 48121436a61cd973b063788417f9a8c1a892073e [file] [log] [blame]
/*******************************************************************************
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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 org.apache.ofbiz.widget.renderer.html;
import java.io.IOException;
import java.io.StringWriter;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.ofbiz.base.util.Debug;
import org.apache.ofbiz.base.util.UtilValidate;
import org.apache.ofbiz.entity.Delegator;
import org.apache.ofbiz.entity.GenericEntityException;
import org.apache.ofbiz.entity.GenericValue;
import org.apache.ofbiz.widget.content.WidgetContentWorker;
import org.apache.ofbiz.widget.model.ModelMenuItem;
/**
* Widget Library - HTML Menu Renderer implementation
*/
public class HtmlMenuRendererImage extends HtmlMenuRenderer {
protected HtmlMenuRendererImage() {}
public HtmlMenuRendererImage(HttpServletRequest request, HttpServletResponse response) {
super(request, response);
}
public String buildDivStr(ModelMenuItem menuItem, Map<String, Object> context) throws IOException {
StringBuilder imgStr = new StringBuilder("<img src=\"");
String contentId = menuItem.getAssociatedContentId(context);
Delegator delegator = (Delegator)request.getAttribute("delegator");
GenericValue webSitePublishPoint = null;
//Debug.logInfo("in HtmlMenuRendererImage, contentId:" + contentId,"");
try {
if (WidgetContentWorker.getContentWorker() != null) {
webSitePublishPoint = WidgetContentWorker.getContentWorker().getWebSitePublishPointExt(delegator, contentId, false);
} else {
Debug.logError("Not rendering image because can't get WebSitePublishPoint, not ContentWorker found.", module);
}
} catch (GenericEntityException e) {
//Debug.logInfo("in HtmlMenuRendererImage, GEException:" + e.getMessage(),"");
throw new RuntimeException(e.getMessage());
}
String medallionLogoStr = webSitePublishPoint.getString("medallionLogo");
StringWriter buf = new StringWriter();
appendContentUrl(buf, medallionLogoStr);
imgStr.append(buf.toString());
//Debug.logInfo("in HtmlMenuRendererImage, imgStr:" + imgStr,"");
String cellWidth = menuItem.getCellWidth();
imgStr.append("\"");
if (UtilValidate.isNotEmpty(cellWidth))
imgStr.append(" width=\"").append(cellWidth).append("\" ");
imgStr.append(" border=\"0\" />");
return imgStr.toString();
}
}