gluu
公開メンバ関数 | 変数 | 非公開メンバ関数 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.gluu.oxtrust.ldap.service.ImageRepository クラス
org.gluu.oxtrust.ldap.service.ImageRepository 連携図
Collaboration graph

公開メンバ関数

void init () throws Exception
 
void initFileTypesMap () throws Exception
 
boolean createRepositoryImageFiles (GluuImage image, int thumbWidth, int thumbHeight) throws Exception
 
boolean addThumbnail (GluuImage image, int thumbWidth, int thumbHeight) throws Exception
 
void moveImageToPersistentStore (GluuImage image) throws Exception
 
void moveLogoImageToPersistentStore (GluuImage image) throws IOException
 
File getThumbFile (GluuImage image)
 
File getSourceFile (GluuImage image)
 
byte [] getThumbImageData (GluuImage image) throws Exception
 
byte [] getSourceImageData (GluuImage image) throws Exception
 
void deleteImage (GluuImage image)
 
byte [] getBlankImage ()
 
byte [] getBlankPhoto ()
 
byte [] getBlankIcon ()
 
boolean createRepositoryFaviconImageFiles (GluuImage image) throws Exception
 
boolean isIconImage (GluuImage image)
 

変数

String thumbHome
 
String tmpThumbHome
 
String removedThumbHome
 
byte [] blankPhoto
 
byte [] blankIcon
 

非公開メンバ関数

void moveImageToPersistentStore (GluuImage image, boolean saveThumb, String destSourceFilePath, String destThumbFilePath) throws IOException
 
void setGeneratedImagePathes (GluuImage image, String thumbExt) throws Exception
 
boolean deleteFile (File file, boolean removeEmptyfoldersTree)
 
void removeEmptyfoldersTree (File folder, int remainLevels)
 
void createFoldersTree (File folder)
 
void createImagePathes (GluuImage image) throws Exception
 
void prepareBlankImage ()
 
void prepareBlankPhoto ()
 
void prepareBlankIcon ()
 

非公開変数類

Logger log
 
AppConfiguration appConfiguration
 
String sourceHome
 
String tmpSourceHome
 
String removedSourceHome
 
File photoRepositoryRootDirFile
 
byte [] blankImage
 
int countLevels
 
int countFoldersPerLevel
 
FileTypeMap fileTypeMap
 

静的非公開変数類

static final String TEMP_FOLDER = "tmp"
 
static final String REMOVED_FOLDER = "removed"
 
static boolean createBackupDuringRemoval = true
 

詳解

Manage images in photo repository

著者
Yuriy Movchan Date: 11.03.2010

関数詳解

◆ addThumbnail()

boolean org.gluu.oxtrust.ldap.service.ImageRepository.addThumbnail ( GluuImage  image,
int  thumbWidth,
int  thumbHeight 
) throws Exception
inline
153  {
154  if (!image.getSourceContentType().matches("image/(gif|png|jpeg|jpg|bmp)")) {
155  return false;
156  }
157 
158  // Load source image
159  BufferedImage bufferedImage = ImageIO.read(new ByteArrayInputStream(image.getData()));
160  if (bufferedImage == null) {
161  throw new IOException("The image data is empty");
162  }
163 
164  // Set source image size
165  image.setWidth(bufferedImage.getWidth());
166  image.setHeight(bufferedImage.getHeight());
167 
168  BufferedImage bi = ImageTransformationUtility.scaleImage(bufferedImage, thumbWidth, thumbHeight);
169 
170  // Set thumb properties
171  image.setThumbWidth(bi.getWidth());
172  image.setThumbHeight(bi.getHeight());
173 
174  image.setThumbContentType(MediaType.PNG.toString());
175 
176  // Store thumb image
177  ByteArrayOutputStream bos = new ByteArrayOutputStream();
178  try {
179  ImageIO.write(bufferedImage, "png", bos);
180  image.setThumbData(bos.toByteArray());
181  } finally {
182  bos.close();
183  }
184 
185  return true;
186  }

◆ createFoldersTree()

void org.gluu.oxtrust.ldap.service.ImageRepository.createFoldersTree ( File  folder)
inlineprivate
321  {
322  if (folder != null && folder.mkdirs()) {
323  // findbugs: probably needs to do something here
324  }
325  }

◆ createImagePathes()

void org.gluu.oxtrust.ldap.service.ImageRepository.createImagePathes ( GluuImage  image) throws Exception
inlineprivate
327  {
328  createFoldersTree(getSourceFile(image).getParentFile());
329  createFoldersTree(getThumbFile(image).getParentFile());
330  }
File getThumbFile(GluuImage image)
Definition: ImageRepository.java:244
File getSourceFile(GluuImage image)
Definition: ImageRepository.java:253
void createFoldersTree(File folder)
Definition: ImageRepository.java:321

◆ createRepositoryFaviconImageFiles()

boolean org.gluu.oxtrust.ldap.service.ImageRepository.createRepositoryFaviconImageFiles ( GluuImage  image) throws Exception
inline
392  {
393  if (!isIconImage(image)) {
394  return false;
395  }
396 
397  // Generate paths
398  setGeneratedImagePathes(image, null);
399 
400  // Create folders tree
401  createImagePathes(image);
402 
403  // Set source image size
404  image.setWidth(16);
405  image.setHeight(16);
406 
407  byte[] data = image.getData();
408  FileUtils.writeByteArrayToFile(getThumbFile(image), data);
409 
410  // Save source image
411  FileUtils.writeByteArrayToFile(getSourceFile(image), data);
412 
413  return true;
414  }
File getThumbFile(GluuImage image)
Definition: ImageRepository.java:244
void setGeneratedImagePathes(GluuImage image, String thumbExt)
Definition: ImageRepository.java:230
File getSourceFile(GluuImage image)
Definition: ImageRepository.java:253
boolean isIconImage(GluuImage image)
Definition: ImageRepository.java:416
void createImagePathes(GluuImage image)
Definition: ImageRepository.java:327

◆ createRepositoryImageFiles()

boolean org.gluu.oxtrust.ldap.service.ImageRepository.createRepositoryImageFiles ( GluuImage  image,
int  thumbWidth,
int  thumbHeight 
) throws Exception
inline

Creates image in repository

引数
imageimage file
戻り値
true if image was added successfully, false otherwise
例外
Exception
129  {
130  if (image.getSourceContentType().equals("application/octet-stream")) {
131  image.setSourceContentType(fileTypeMap.getContentType(image.getSourceName()));
132  }
133 
134  if (!addThumbnail(image, thumbWidth, thumbHeight)) {
135  return false;
136  }
137 
138  // Generate paths
139  setGeneratedImagePathes(image, ".jpg");
140 
141  // Create folders tree
142  createImagePathes(image);
143 
144  // Save thumb image
145  FileUtils.writeByteArrayToFile(getThumbFile(image), image.getThumbData());
146 
147  // Save source image
148  FileUtils.writeByteArrayToFile(getSourceFile(image), image.getData());
149 
150  return true;
151  }
File getThumbFile(GluuImage image)
Definition: ImageRepository.java:244
void setGeneratedImagePathes(GluuImage image, String thumbExt)
Definition: ImageRepository.java:230
boolean addThumbnail(GluuImage image, int thumbWidth, int thumbHeight)
Definition: ImageRepository.java:153
FileTypeMap fileTypeMap
Definition: ImageRepository.java:66
File getSourceFile(GluuImage image)
Definition: ImageRepository.java:253
void createImagePathes(GluuImage image)
Definition: ImageRepository.java:327

◆ deleteFile()

boolean org.gluu.oxtrust.ldap.service.ImageRepository.deleteFile ( File  file,
boolean  removeEmptyfoldersTree 
)
inlineprivate
291  {
292  boolean result = true;
293 
294  if (file.exists()) {
295  result = file.delete();
297  removeEmptyfoldersTree(file.getParentFile(), countLevels);
298  }
299  }
300 
301  return result;
302  }
int countLevels
Definition: ImageRepository.java:63
void removeEmptyfoldersTree(File folder, int remainLevels)
Definition: ImageRepository.java:304

◆ deleteImage()

void org.gluu.oxtrust.ldap.service.ImageRepository.deleteImage ( GluuImage  image)
inline
270  {
271  File thumbFile = getThumbFile(image);
272  File sourceFile = getSourceFile(image);
273 
274  if (!image.isStoreTemporary() && createBackupDuringRemoval) {
275  File reovedThumbFile = new File(removedThumbHome + File.separator + image.getThumbFilePath());
276  File removedSourceFile = new File(removedSourceHome + File.separator + image.getSourceFilePath());
277 
278  try {
279  FileUtils.copyFile(thumbFile, reovedThumbFile);
280  FileUtils.copyFile(sourceFile, removedSourceFile);
281  } catch (IOException ex) {
282  log.error("Failed to create backup for photo {} before removal", image, ex);
283  }
284  }
285 
286  // Delete thumb and source files
287  deleteFile(thumbFile, true);
288  deleteFile(sourceFile, true);
289  }
String removedSourceHome
Definition: ImageRepository.java:57
File getThumbFile(GluuImage image)
Definition: ImageRepository.java:244
Logger log
Definition: ImageRepository.java:46
boolean deleteFile(File file, boolean removeEmptyfoldersTree)
Definition: ImageRepository.java:291
String removedThumbHome
Definition: ImageRepository.java:57
File getSourceFile(GluuImage image)
Definition: ImageRepository.java:253
static boolean createBackupDuringRemoval
Definition: ImageRepository.java:53

◆ getBlankIcon()

byte [] org.gluu.oxtrust.ldap.service.ImageRepository.getBlankIcon ( )
inline
342  {
343  return ArrayUtils.clone(blankIcon);
344  }
byte [] blankIcon
Definition: ImageRepository.java:61

◆ getBlankImage()

byte [] org.gluu.oxtrust.ldap.service.ImageRepository.getBlankImage ( )
inline
332  {
333  // findbugs: copy on return to not expose internal representation
334  return ArrayUtils.clone(blankImage);
335  }
byte [] blankImage
Definition: ImageRepository.java:61

◆ getBlankPhoto()

byte [] org.gluu.oxtrust.ldap.service.ImageRepository.getBlankPhoto ( )
inline
337  {
338  // findbugs: copy on return to not expose internal representation
339  return ArrayUtils.clone(blankPhoto);
340  }
byte [] blankPhoto
Definition: ImageRepository.java:61

◆ getSourceFile()

File org.gluu.oxtrust.ldap.service.ImageRepository.getSourceFile ( GluuImage  image)
inline
253  {
254  if (image.isLogo() && !image.isStoreTemporary()) {
255  return new File(appConfiguration.getLogoLocation() + File.separator + image.getSourceFilePath());
256  }
257 
258  String parentFolder = image.isStoreTemporary() ? tmpSourceHome : sourceHome;
259  return new File(parentFolder + File.separator + image.getSourceFilePath());
260  }
String sourceHome
Definition: ImageRepository.java:55
AppConfiguration appConfiguration
Definition: ImageRepository.java:49
String tmpSourceHome
Definition: ImageRepository.java:56

◆ getSourceImageData()

byte [] org.gluu.oxtrust.ldap.service.ImageRepository.getSourceImageData ( GluuImage  image) throws Exception
inline
266  {
267  return FileUtils.readFileToByteArray(getSourceFile(image));
268  }
File getSourceFile(GluuImage image)
Definition: ImageRepository.java:253

◆ getThumbFile()

File org.gluu.oxtrust.ldap.service.ImageRepository.getThumbFile ( GluuImage  image)
inline
244  {
245  if (image.isLogo() && !image.isStoreTemporary()) {
246  return new File(appConfiguration.getLogoLocation() + File.separator + image.getThumbFilePath());
247  }
248 
249  String parentFolder = image.isStoreTemporary() ? tmpThumbHome : thumbHome;
250  return new File(parentFolder + File.separator + image.getThumbFilePath());
251  }
String thumbHome
Definition: ImageRepository.java:55
String tmpThumbHome
Definition: ImageRepository.java:56
AppConfiguration appConfiguration
Definition: ImageRepository.java:49

◆ getThumbImageData()

byte [] org.gluu.oxtrust.ldap.service.ImageRepository.getThumbImageData ( GluuImage  image) throws Exception
inline
262  {
263  return FileUtils.readFileToByteArray(getThumbFile(image));
264  }
File getThumbFile(GluuImage image)
Definition: ImageRepository.java:244

◆ init()

void org.gluu.oxtrust.ldap.service.ImageRepository.init ( ) throws Exception
inline
69  {
70  countLevels = appConfiguration.getPhotoRepositoryCountLeveles();
71  countFoldersPerLevel = appConfiguration.getPhotoRepositoryCountFoldersPerLevel();
72 
73  String photoRepositoryRootDir = appConfiguration.getPhotoRepositoryRootDir();
74  photoRepositoryRootDirFile = new File(photoRepositoryRootDir);
75 
76  // Create folders for persistent images
77  sourceHome = photoRepositoryRootDir + File.separator + "source";
78  thumbHome = photoRepositoryRootDir + File.separator + "thumb";
79 
80  createFoldersTree(new File(sourceHome));
81  createFoldersTree(new File(thumbHome));
82 
83  // Create folders for temporary images
84  tmpSourceHome = photoRepositoryRootDir + File.separator + TEMP_FOLDER + File.separator + "source";
85  tmpThumbHome = photoRepositoryRootDir + File.separator + TEMP_FOLDER + File.separator + "thumb";
86 
89 
90  // Create folders for removed images
92  removedSourceHome = photoRepositoryRootDir + File.separator + REMOVED_FOLDER + File.separator + "source";
93  removedThumbHome = photoRepositoryRootDir + File.separator + REMOVED_FOLDER + File.separator + "thumb";
94 
97  }
98 
102 
104  }
String removedSourceHome
Definition: ImageRepository.java:57
int countLevels
Definition: ImageRepository.java:63
File photoRepositoryRootDirFile
Definition: ImageRepository.java:59
int countFoldersPerLevel
Definition: ImageRepository.java:64
void initFileTypesMap()
Definition: ImageRepository.java:106
String removedThumbHome
Definition: ImageRepository.java:57
void prepareBlankPhoto()
Definition: ImageRepository.java:361
String thumbHome
Definition: ImageRepository.java:55
static final String TEMP_FOLDER
Definition: ImageRepository.java:51
String tmpThumbHome
Definition: ImageRepository.java:56
String sourceHome
Definition: ImageRepository.java:55
AppConfiguration appConfiguration
Definition: ImageRepository.java:49
void createFoldersTree(File folder)
Definition: ImageRepository.java:321
static boolean createBackupDuringRemoval
Definition: ImageRepository.java:53
String tmpSourceHome
Definition: ImageRepository.java:56
static final String REMOVED_FOLDER
Definition: ImageRepository.java:52
void prepareBlankIcon()
Definition: ImageRepository.java:376
void prepareBlankImage()
Definition: ImageRepository.java:346

◆ initFileTypesMap()

void org.gluu.oxtrust.ldap.service.ImageRepository.initFileTypesMap ( ) throws Exception
inline
106  {
107  fileTypeMap = MimetypesFileTypeMap.getDefaultFileTypeMap();
108  InputStream is = ImageRepository.class.getClassLoader().getResourceAsStream("META-INF/mimetypes-gluu.default");
109  try {
110  if (is != null) {
111  fileTypeMap = new MimetypesFileTypeMap(is);
112  }
113  } catch (Exception ex) {
114  log.error("Failed to load file types map. Using default one.", ex);
115  fileTypeMap = new MimetypesFileTypeMap();
116  } finally {
117  IOUtils.closeQuietly(is);
118  }
119  }
Logger log
Definition: ImageRepository.java:46
FileTypeMap fileTypeMap
Definition: ImageRepository.java:66

◆ isIconImage()

boolean org.gluu.oxtrust.ldap.service.ImageRepository.isIconImage ( GluuImage  image)
inline
416  {
417  if (image.getSourceContentType().equals("application/octet-stream")) {
418  image.setSourceContentType(fileTypeMap.getContentType(image.getSourceName()));
419  }
420 
421  return image.getSourceContentType().matches("image/(x-icon|x-ico|jpeg|jpg|vnd.microsoft.icon)");
422  }
FileTypeMap fileTypeMap
Definition: ImageRepository.java:66

◆ moveImageToPersistentStore() [1/2]

void org.gluu.oxtrust.ldap.service.ImageRepository.moveImageToPersistentStore ( GluuImage  image,
boolean  saveThumb,
String  destSourceFilePath,
String  destThumbFilePath 
) throws IOException
inlineprivate
189  {
190  if (!image.isStoreTemporary()) {
191  return;
192  }
193 
194  File tmpOrigFile = getSourceFile(image);
195  File tmpThumbFile = getThumbFile(image);
196 
197  image.setStoreTemporary(false);
198 
199  if (!StringHelper.isEmpty(destSourceFilePath)) {
200  image.setSourceFilePath(destSourceFilePath);
201  }
202 
203  if (!StringHelper.isEmpty(destThumbFilePath)) {
204  image.setThumbFilePath(destThumbFilePath);
205  }
206 
207  FileUtils.copyFile(tmpOrigFile, getSourceFile(image));
208  if (saveThumb) {
209  FileUtils.copyFile(tmpThumbFile, getThumbFile(image));
210  }
211 
212  deleteFile(tmpOrigFile, true);
213  deleteFile(tmpThumbFile, true);
214  }
File getThumbFile(GluuImage image)
Definition: ImageRepository.java:244
boolean deleteFile(File file, boolean removeEmptyfoldersTree)
Definition: ImageRepository.java:291
File getSourceFile(GluuImage image)
Definition: ImageRepository.java:253

◆ moveImageToPersistentStore() [2/2]

void org.gluu.oxtrust.ldap.service.ImageRepository.moveImageToPersistentStore ( GluuImage  image) throws Exception
inline
216  {
217  moveImageToPersistentStore(image, true, null, null);
218  }
void moveImageToPersistentStore(GluuImage image, boolean saveThumb, String destSourceFilePath, String destThumbFilePath)
Definition: ImageRepository.java:188

◆ moveLogoImageToPersistentStore()

void org.gluu.oxtrust.ldap.service.ImageRepository.moveLogoImageToPersistentStore ( GluuImage  image) throws IOException
inline
220  {
221  if (!image.isLogo()) {
222  return;
223  }
224 
225  String logoSourceFilePath = "logo" + RepositoryUtility.getFileNameExtension(image.getSourceFilePath());
226  String logoThumbFilePath = "logo_thumb" + RepositoryUtility.getFileNameExtension(image.getSourceFilePath());
227  moveImageToPersistentStore(image, true, logoSourceFilePath, logoThumbFilePath);
228  }
void moveImageToPersistentStore(GluuImage image, boolean saveThumb, String destSourceFilePath, String destThumbFilePath)
Definition: ImageRepository.java:188

◆ prepareBlankIcon()

void org.gluu.oxtrust.ldap.service.ImageRepository.prepareBlankIcon ( )
inlineprivate
376  {
377 
378  InputStream is = getClass().getResourceAsStream("/WEB-INF/static/images/blank_icon.gif");
379  if(is != null){
380  try {
381  this.blankIcon = IOUtils.toByteArray(is);
382  } catch (Exception ex) {
383  log.error("Failed to load blank icon", ex);
384  } finally {
385  IOUtils.closeQuietly(is);
386  }
387  }else{
388  log.error("Failed to load blank icon. ResourceLoader returned null stream.");
389  }
390  }
Logger log
Definition: ImageRepository.java:46
byte [] blankIcon
Definition: ImageRepository.java:61

◆ prepareBlankImage()

void org.gluu.oxtrust.ldap.service.ImageRepository.prepareBlankImage ( )
inlineprivate
346  {
347  InputStream is = getClass().getResourceAsStream("/WEB-INF/static/images/blank_image.gif");
348  if(is != null){
349  try {
350  this.blankImage = IOUtils.toByteArray(is);
351  } catch (Exception ex) {
352  log.error("Failed to load blank image", ex);
353  } finally {
354  IOUtils.closeQuietly(is);
355  }
356  }else{
357  log.error("Failed to load blank image. ResourceLoader returned null stream.");
358  }
359  }
Logger log
Definition: ImageRepository.java:46
byte [] blankImage
Definition: ImageRepository.java:61

◆ prepareBlankPhoto()

void org.gluu.oxtrust.ldap.service.ImageRepository.prepareBlankPhoto ( )
inlineprivate
361  {
362  InputStream is = getClass().getResourceAsStream("/WEB-INF/static/images/anonymous.png");
363  if(is != null){
364  try {
365  this.blankPhoto = IOUtils.toByteArray(is);
366  } catch (Exception ex) {
367  log.error("Failed to load blank photo", ex);
368  } finally {
369  IOUtils.closeQuietly(is);
370  }
371  }else{
372  log.error("Failed to load blank photo. ResourceLoader returned null stream.");
373  }
374  }
Logger log
Definition: ImageRepository.java:46
byte [] blankPhoto
Definition: ImageRepository.java:61

◆ removeEmptyfoldersTree()

void org.gluu.oxtrust.ldap.service.ImageRepository.removeEmptyfoldersTree ( File  folder,
int  remainLevels 
)
inlineprivate
304  {
305  if (photoRepositoryRootDirFile.equals(folder) || (remainLevels == 0)) {
306  return;
307  }
308 
309  File[] files = folder.listFiles();
310  if (files == null) { // null if security restricted
311  return;
312  }
313 
314  if (files.length == 0) {
315  File parent = folder.getParentFile();
316  deleteFile(folder, false);
317  removeEmptyfoldersTree(parent, --remainLevels);
318  }
319  }
File photoRepositoryRootDirFile
Definition: ImageRepository.java:59
boolean deleteFile(File file, boolean removeEmptyfoldersTree)
Definition: ImageRepository.java:291
void removeEmptyfoldersTree(File folder, int remainLevels)
Definition: ImageRepository.java:304

◆ setGeneratedImagePathes()

void org.gluu.oxtrust.ldap.service.ImageRepository.setGeneratedImagePathes ( GluuImage  image,
String  thumbExt 
) throws Exception
inlineprivate
230  {
231  String uuid = RepositoryUtility.generateUUID();
232  String ext = RepositoryUtility.getFileNameExtension(image.getSourceName());
233  String sourceFileName = uuid + ext;
234  String thumbFileName = uuid + (thumbExt == null ? ext : thumbExt);
235 
236  String sourceFilePath = RepositoryUtility.generateTreeFolderPath(countLevels, countFoldersPerLevel, sourceFileName);
237  String thumbFilePath = RepositoryUtility.generateTreeFolderPath(countLevels, countFoldersPerLevel, thumbFileName);
238 
239  image.setUuid(uuid);
240  image.setSourceFilePath(sourceFilePath);
241  image.setThumbFilePath(thumbFilePath);
242  }
int countLevels
Definition: ImageRepository.java:63
int countFoldersPerLevel
Definition: ImageRepository.java:64

メンバ詳解

◆ appConfiguration

AppConfiguration org.gluu.oxtrust.ldap.service.ImageRepository.appConfiguration
private

◆ blankIcon

byte [] org.gluu.oxtrust.ldap.service.ImageRepository.blankIcon
package

◆ blankImage

byte [] org.gluu.oxtrust.ldap.service.ImageRepository.blankImage
private

◆ blankPhoto

byte [] org.gluu.oxtrust.ldap.service.ImageRepository.blankPhoto
package

◆ countFoldersPerLevel

int org.gluu.oxtrust.ldap.service.ImageRepository.countFoldersPerLevel
private

◆ countLevels

int org.gluu.oxtrust.ldap.service.ImageRepository.countLevels
private

◆ createBackupDuringRemoval

boolean org.gluu.oxtrust.ldap.service.ImageRepository.createBackupDuringRemoval = true
staticprivate

◆ fileTypeMap

FileTypeMap org.gluu.oxtrust.ldap.service.ImageRepository.fileTypeMap
private

◆ log

Logger org.gluu.oxtrust.ldap.service.ImageRepository.log
private

◆ photoRepositoryRootDirFile

File org.gluu.oxtrust.ldap.service.ImageRepository.photoRepositoryRootDirFile
private

◆ REMOVED_FOLDER

final String org.gluu.oxtrust.ldap.service.ImageRepository.REMOVED_FOLDER = "removed"
staticprivate

◆ removedSourceHome

String org.gluu.oxtrust.ldap.service.ImageRepository.removedSourceHome
private

◆ removedThumbHome

String org.gluu.oxtrust.ldap.service.ImageRepository.removedThumbHome
package

◆ sourceHome

String org.gluu.oxtrust.ldap.service.ImageRepository.sourceHome
private

◆ TEMP_FOLDER

final String org.gluu.oxtrust.ldap.service.ImageRepository.TEMP_FOLDER = "tmp"
staticprivate

◆ thumbHome

String org.gluu.oxtrust.ldap.service.ImageRepository.thumbHome
package

◆ tmpSourceHome

String org.gluu.oxtrust.ldap.service.ImageRepository.tmpSourceHome
private

◆ tmpThumbHome

String org.gluu.oxtrust.ldap.service.ImageRepository.tmpThumbHome
package

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