cleanup
[cdmlib.git] / cdmlib-model / src / main / java / eu / etaxonomy / cdm / strategy / cache / media / MediaDefaultCacheStrategy.java
index 4b9b812e636a4e6a8460c197204b00349e64b2f2..d365409a071fc62d07d8124959bb013c0ae4eeca 100644 (file)
@@ -5,7 +5,7 @@
 *\r
 * The contents of this file are subject to the Mozilla Public License Version 1.1\r
 * See LICENSE.TXT at the top of this package for the full license terms.\r
-*/ \r
+*/\r
 \r
 package eu.etaxonomy.cdm.strategy.cache.media;\r
 \r
@@ -27,7 +27,9 @@ import eu.etaxonomy.cdm.strategy.StrategyBase;
 import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;\r
 \r
 public class MediaDefaultCacheStrategy extends StrategyBase implements IIdentifiableEntityCacheStrategy<Media> {\r
-       protected static final  Logger logger = Logger.getLogger(MediaDefaultCacheStrategy.class);\r
+    private static final long serialVersionUID = 7246846028810250751L;\r
+\r
+    protected static final  Logger logger = Logger.getLogger(MediaDefaultCacheStrategy.class);\r
 \r
        final static UUID uuid = UUID.fromString("0517ae48-597d-4d6b-9f18-8752d689720d");\r
 \r
@@ -35,36 +37,40 @@ public class MediaDefaultCacheStrategy extends StrategyBase implements IIdentifi
        public static MediaDefaultCacheStrategy NewInstance() {\r
                return new MediaDefaultCacheStrategy();\r
        }\r
-       \r
+\r
        @Override\r
        protected UUID getUuid() {\r
                return uuid;\r
        }\r
-       \r
-       \r
-       public String getTitleCache(Media media) {\r
-               media = (Media) HibernateProxyHelper.deproxy(media, Media.class);\r
+\r
+\r
+       @Override\r
+    public String getTitleCache(Media media) {\r
+               media = HibernateProxyHelper.deproxy(media, Media.class);\r
                return getTitleCacheByLanguage(media, Language.DEFAULT());\r
        }\r
-       \r
+\r
        public String getTitleCacheByLanguage(Media media, Language lang) {\r
                String result;\r
                List<Language> languages = Arrays.asList(new Language[]{lang});\r
                LanguageString languageString = MultilanguageTextHelper.getPreferredLanguageString(media.getAllTitles(), languages);\r
                result = (languageString != null ? languageString.getText() : "");\r
-               \r
+\r
                //get first image uri\r
                if (StringUtils.isBlank(result)){\r
                        for (MediaRepresentation mediaRepresentation : media.getRepresentations()){\r
                                for (MediaRepresentationPart part : mediaRepresentation.getParts()){\r
-                                       result = part.getUri();\r
+                                       result = (part == null || part.getUri() == null) ? null : part.getUri().toString();\r
+                                       if (StringUtils.isBlank(result)){\r
+                                               continue;\r
+                                       }\r
                                        int lastSlashPos = result.lastIndexOf("/");\r
                                        if (lastSlashPos != -1 && lastSlashPos + 1 < result.length()){\r
                                                result = result.substring(lastSlashPos + 1);\r
                                        }\r
                                        break;\r
                                }\r
-                               if (StringUtils.isBlank(result)){\r
+                               if (StringUtils.isBlank(result)){\r
                                        break;\r
                                }\r
                        }\r
@@ -76,5 +82,5 @@ public class MediaDefaultCacheStrategy extends StrategyBase implements IIdentifi
        }\r
 \r
 \r
-       \r
+\r
 }\r