import mir.media.MediaHelper;\r
import mir.media.MirMedia;\r
import mir.util.RewindableIterator;\r
+import mir.log.LoggerWrapper;\r
import mircoders.entity.EntityUploadedMedia;\r
import mircoders.global.MirGlobal;\r
import mircoders.localizer.MirAdminInterfaceLocalizer;\r
\r
public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {\r
private EntityAdapterModel model;\r
+ protected LoggerWrapper logger;\r
\r
public MirBasicDataModelLocalizer() {\r
}\r
\r
public EntityAdapterModel adapterModel() throws MirLocalizerFailure {\r
+ logger = new LoggerWrapper("Localizer.Basic");\r
+\r
if (model==null)\r
model = buildModel();\r
\r
anEntityAdapterDefinition.addCalculatedField("description_parsed", new FilteredField("description"));\r
anEntityAdapterDefinition.addCalculatedField("content_data_parsed", new FilteredField("content_data"));\r
\r
+ anEntityAdapterDefinition.addCalculatedField("children", new ContentToChildrenField());\r
+ anEntityAdapterDefinition.addCalculatedField("parent", new ContentToParentField());\r
+\r
anEntityAdapterDefinition.addCalculatedField("operations",\r
new EntityToSimpleOperationsField(MirGlobal.localizer().adminInterface().simpleArticleOperations()));\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