gluu
限定公開メンバ関数 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.gluu.oxtrust.servlet.LogoImageServlet クラス
org.gluu.oxtrust.servlet.LogoImageServlet の継承関係図
Inheritance graph
org.gluu.oxtrust.servlet.LogoImageServlet 連携図
Collaboration graph

限定公開メンバ関数

void doGet (HttpServletRequest httpServletRequest, HttpServletResponse response)
 

非公開変数類

OrganizationService organizationService
 
ImageService imageService
 

静的非公開変数類

static final long serialVersionUID = 5445488800130871634L
 
static final Logger log = LoggerFactory.getLogger(LogoImageServlet.class)
 

詳解

Servlet to upload organization logo

著者
Yuriy Movchan Date: 11.16.2010

関数詳解

◆ doGet()

void org.gluu.oxtrust.servlet.LogoImageServlet.doGet ( HttpServletRequest  httpServletRequest,
HttpServletResponse  response 
)
inlineprotected
52  {
53  log.debug("Starting organization logo upload");
54  try {
55  GluuOrganization organization = organizationService.getOrganization();
56  GluuImage image = imageService.getGluuImageFromXML(organization.getLogoImage());
57  if (image != null) {
58  image.setLogo(true);
59  }
60 
61  OutputStream os = null;
62  InputStream is = null;
63  try {
64  DownloadWrapper downloadWrapper = null;
65 
66  // Send customized organization logo
67  if (image != null) {
68  File file = imageService.getSourceFile(image);
69  try {
70  is = FileUtils.openInputStream(file);
71  downloadWrapper = new DownloadWrapper(is, image.getSourceName(), image.getSourceContentType(),
72  image.getCreationDate(), (int) file.length());
73  } catch (IOException ex) {
74  log.error("Organization logo image doesn't exist", ex);
75  FileDownloader.sendError(response);
76  return;
77  }
78  } else {
79  // If customized logo doesn't exist then send default
80  // organization logo
81  String defaultLogoFileName = "/WEB-INF/static/images/default_logo.png";
82  is = getServletContext().getResourceAsStream(defaultLogoFileName);
83  if (is == null) {
84  log.error("Default organization logo image doesn't exist");
85  FileDownloader.sendError(response);
86  return;
87  }
88 
89  // Calculate default logo size
90  long contentLength;
91  try {
92  contentLength = is.skip(Long.MAX_VALUE);
93  } catch (IOException ex) {
94  log.error("Failed to calculate default organization logo image size", ex);
95  FileDownloader.sendError(response);
96  return;
97  } finally {
98  IOUtils.closeQuietly(is);
99  }
100 
101  is = getServletContext().getResourceAsStream(defaultLogoFileName);
102  downloadWrapper = new DownloadWrapper(is, "default_logo.png", "image/png", new Date(), (int) contentLength);
103  }
104 
105  try {
106  int logoSize = FileDownloader.writeOutput(downloadWrapper, ContentDisposition.INLINE, response);
107  response.getOutputStream().flush();
108  log.debug("Successfully send organization logo with size", logoSize);
109  } catch (IOException ex) {
110  log.error("Failed to send organization logo", ex);
111  FileDownloader.sendError(response);
112  }
113  } finally {
114  IOUtils.closeQuietly(is);
115  IOUtils.closeQuietly(os);
116  }
117  } catch (Exception ex) {
118  log.error("Failed to send organization logo", ex);
119  }
120  }
GluuImage getGluuImageFromXML(String xml)
Definition: ImageService.java:54
static final Logger log
Definition: LogoImageServlet.java:43
File getSourceFile(GluuImage image)
Definition: ImageService.java:214
GluuOrganization getOrganization()
Definition: OrganizationService.java:84
ImageService imageService
Definition: LogoImageServlet.java:49
OrganizationService organizationService
Definition: LogoImageServlet.java:46

メンバ詳解

◆ imageService

ImageService org.gluu.oxtrust.servlet.LogoImageServlet.imageService
private

◆ log

final Logger org.gluu.oxtrust.servlet.LogoImageServlet.log = LoggerFactory.getLogger(LogoImageServlet.class)
staticprivate

◆ organizationService

OrganizationService org.gluu.oxtrust.servlet.LogoImageServlet.organizationService
private

◆ serialVersionUID

final long org.gluu.oxtrust.servlet.LogoImageServlet.serialVersionUID = 5445488800130871634L
staticprivate

このクラス詳解は次のファイルから抽出されました: