* Diese Klasse enth?lt die Daten eines MetaObjekts
*
* @author RK, mh, mir-coders
- * @version $Id: EntityImages.java,v 1.21.2.1 2003/10/23 14:55:28 rk Exp $
+ * @version $Id: EntityImages.java,v 1.21.2.2 2003/11/28 21:21:33 rk Exp $
*/
update();
}
catch (Exception e) {
- throwStorageObjectFailure(e, "settimage :: setImage gescheitert: ");
+ throwStorageObjectFailure(e, "settimage :: setImage failed: ");
}
finally {
try {
anEntityAdapterDefinition.addCalculatedField("commentcount", new ContentCommentCountField(" and is_published='1'"));
anEntityAdapterDefinition.addCalculatedField("fullcommentcount", new ContentCommentCountField(""));
- anEntityAdapterDefinition.addCalculatedField("to_uploaded_media", new ContentToMediaField( "uploadedMedia" ));
+
+ anEntityAdapterDefinition.addCalculatedField("mediacount", new ContentMediaCountField("uploadedMedia", true));
+ anEntityAdapterDefinition.addCalculatedField("fullmediacount", new ContentMediaCountField("uploadedMedia", false));
+
anEntityAdapterDefinition.addCalculatedField("to_media_images", new ContentToMediaField( "image" ));
anEntityAdapterDefinition.addCalculatedField("to_media_audio", new ContentToMediaField( "audio" ));
anEntityAdapterDefinition.addCalculatedField("to_media_video", new ContentToMediaField( "video" ));
topicOrder = aTopicOrder;
}
- // TODO rewrite as relational select
- // take care of topic-condition
public Object getValue(EntityAdapter anEntityAdapter) {
try {
- String condition = "exists (select * from content_x_topic where content_id="+anEntityAdapter.get("id")+" and topic_id=id)";
+
+ Vector extraTable = new Vector();
+ extraTable.add("content_x_topic cxt");
+ String condition = "cxt.content_id"+anEntityAdapter.get("id")+
+ " and cxt.topic_id=t.id";
+
if (topicCondition!=null && topicCondition.length()>0)
condition = "(" + topicCondition + ") and " + condition;
- return anEntityAdapter.getRelation(
- condition,
- topicOrder,
- "topic" );
+ return anEntityAdapter.getComplexRelation("t", extraTable,
+ condition, topicOrder, "topic" );
}
catch (Throwable t) {
throw new RuntimeException(t.getMessage());
}
public Object getValue(EntityAdapter anEntityAdapter) {
- try {
- // TODO rewrite as relational select / very expensive
- String subQuery = "select * from "+table+" where id = media_id";
+ try {
+ Vector extraTable = new Vector();
+ extraTable.add(table+" m");
+ String selectSql = "cxm.media_id=m.id";
if (published)
- subQuery = subQuery + " and is_published='t'";
+ selectSql+= " and m.is_published='t'";
return Integer.toString(
DatabaseContentToMedia.getInstance().getSize(
- "exists ("+subQuery+")"));
+ "cxm", extraTable, selectSql));
}
catch (Throwable t) {
throw new RuntimeException(t.getMessage());