+ protected class StructuredContentField implements EntityAdapterDefinition.CalculatedField {\r
+ private String expression;\r
+\r
+ public StructuredContentField(String anExpression) {\r
+ expression = anExpression;\r
+ }\r
+\r
+ public Object getValue(EntityAdapter anEntityAdapter) {\r
+ try {\r
+ return StructuredContentParser.parse(ParameterExpander.evaluateStringExpression(anEntityAdapter, expression));\r
+ }\r
+ catch (Throwable t) {\r
+ throw new RuntimeException(t.getMessage());\r
+ }\r
+ }\r
+ }\r
+\r
+ protected class ExpandedField implements EntityAdapterDefinition.CalculatedField {\r
+ private String expression;\r
+\r
+ public ExpandedField(String anExpression) {\r
+ expression = anExpression;\r
+ }\r
+\r
+ public Object getValue(EntityAdapter anEntityAdapter) {\r
+ try {\r
+ return ParameterExpander.expandExpression(anEntityAdapter, expression);\r
+ }\r
+ catch (Throwable t) {\r
+ throw new RuntimeException(t.getMessage());\r
+ }\r
+ }\r
+ }\r
+\r
+ protected class EvaluatedField implements EntityAdapterDefinition.CalculatedField {\r
+ private String expression;\r
+\r
+ public EvaluatedField(String anExpression) {\r
+ expression = anExpression;\r
+ }\r
+\r
+ public Object getValue(EntityAdapter anEntityAdapter) {\r
+ try {\r
+ return ParameterExpander.evaluateExpression(anEntityAdapter, expression);\r
+ }\r
+ catch (Throwable t) {\r
+ throw new RuntimeException(t.getMessage());\r
+ }\r
+ }\r
+ }\r
+\r
+ protected class ContentToParentField implements EntityAdapterDefinition.CalculatedField {\r
+ public Object getValue(EntityAdapter anEntityAdapter) {\r
+ try {\r
+ logger.debug("ContentToParentField.getValue");\r
+ return anEntityAdapter.getToOneRelation(\r
+ "id="+anEntityAdapter.get("to_content"),\r
+ "id",\r
+ "content" );\r
+ }\r
+ catch (Throwable t) {\r
+ throw new RuntimeException(t.getMessage());\r
+ }\r
+ }\r
+ }\r
+\r
+ protected class ContentToChildrenField implements EntityAdapterDefinition.CalculatedField {\r
+ public Object getValue(EntityAdapter anEntityAdapter) {\r
+ try {\r
+ return anEntityAdapter.getRelation(\r
+ "to_content="+anEntityAdapter.get("id"),\r
+ "id",\r
+ "content" );\r
+ }\r
+ catch (Throwable t) {\r
+ throw new RuntimeException(t.getMessage());\r
+ }\r
+ }\r
+ }\r
+\r
+ protected class ContentToLanguageField implements EntityAdapterDefinition.CalculatedField {\r
+ public Object getValue(EntityAdapter anEntityAdapter) {\r
+ try {\r
+ return anEntityAdapter.getToOneRelation(\r
+ "id="+anEntityAdapter.get("to_language"),\r
+ "id",\r
+ "language" );\r
+ }\r
+ catch (Throwable t) {\r
+ throw new RuntimeException(t.getMessage());\r
+ }\r
+ }\r
+ }\r
+\r
+ protected class ContentToArticleTypeField implements EntityAdapterDefinition.CalculatedField {\r
+ public Object getValue(EntityAdapter anEntityAdapter) {\r
+ try {\r
+ return anEntityAdapter.getToOneRelation(\r
+ "id="+anEntityAdapter.get("to_article_type"),\r
+ "id",\r
+ "articleType" );\r
+ }\r
+ catch (Throwable t) {\r
+ throw new RuntimeException(t.getMessage());\r
+ }\r
+ }\r
+ }\r
+\r
+ protected class MediaToMediaFolderField implements EntityAdapterDefinition.CalculatedField {\r
+ public Object getValue(EntityAdapter anEntityAdapter) {\r
+ try {\r
+ return anEntityAdapter.getToOneRelation(\r
+ "id="+anEntityAdapter.get("to_media_folder"),\r
+ "id",\r
+ "mediaFolder" );\r
+ }\r
+ catch (Throwable t) {\r
+ throw new RuntimeException(t.getMessage());\r
+ }\r
+ }\r
+ }\r
+\r
+ public static class MediaInfo {\r
+ private MediaHandler mediaHandler;\r
+\r
+ public MediaInfo(MediaHandler aHandler) {\r
+ mediaHandler = aHandler;\r
+ }\r
+ public String getBigIcon() {\r
+ if (mediaHandler == null)\r
+ return "bla";\r
+ else\r
+ return mediaHandler.getBigIconName();\r
+ }\r
+\r
+ public String getSmallIcon() {\r
+ if (mediaHandler == null)\r
+ return "bla";\r
+ else\r
+ return mediaHandler.getTinyIconName();\r
+ }\r
+\r
+ public String getMediaType() {\r
+ return "";\r
+ }\r
+ }\r
+\r
+ protected class MediaToMediaInfoField implements EntityAdapterDefinition.CalculatedField {\r
+ public Object getValue(EntityAdapter anEntityAdapter) {\r
+ try {\r
+ MediaHandler mediaHandler = MediaHelper.getHandler(((EntityUploadedMedia) anEntityAdapter.getEntity()).getMediaType());\r
+\r
+ return new MediaInfo(mediaHandler);\r
+ }\r
+ catch (Throwable t) {\r
+ throw new RuntimeException(t.getMessage());\r
+ }\r
+ }\r
+ }\r
+\r
+ protected class MediaToBigIconField implements EntityAdapterDefinition.CalculatedField {\r
+ public Object getValue(EntityAdapter anEntityAdapter) {\r
+ try {\r
+ return MediaHelper.getHandler(((EntityUploadedMedia) anEntityAdapter.getEntity()).getMediaType()).getBigIconName();\r
+ }\r
+ catch (Throwable t) {\r
+ throw new RuntimeException(t.getMessage());\r
+ }\r
+ }\r
+ }\r
+\r