<!-- media -->
<list article.to_original.to_media_audio as media>
<p>
- <img src="../../../img/${media["big_icon"]}" border="0" alt="">
- <a href="${media["publish_server"]}${media["publish_path"]}">
- ${media["title"]} - ${media["media_descr"]} ${media["human_readable_size"]}
+ <img src="../../../img/${media.big_icon}" border="0" alt="">
+ <a href="${media.publish_server}${media.publish_path}">
+ ${media.title} - ${media.info.description} ${media.human_readable_size}
</a>
</p>
</list>
<list article.to_original.to_media_video as media>
<p>
<img src="../../../img/${media["big_icon"]}" border="0" alt="">
- <a href="${media["publish_server"]}${media["publish_path"]}">
- ${media["title"]} - ${media["media_descr"]} ${media["human_readable_size"]}</a>
+ <a href="${media.publish_server}${media.publish_path}">
+ ${media.title} - ${media.info.Description} ${media.info.bigIcon} ${media.info.description} ${media.human_readable_size}</a>
</p>
</list>
<list article.to_original.to_media_other as media>
<p>
- <img src="../../../img/${media["big_icon"]}" border="0" alt="">
- <a href="${media["publish_server"]}${media["publish_path"]}">
- ${media["title"]} - ${media["media_descr"]} ${media["human_readable_size"]}</a>
+ <img src="../../../img/${media.big_icon}" border="0" alt="">
+ <a href="${media["publish_server"]}${media.publish_path}">
+ ${media.title} - ${media.info.description} ${media.human_readable_size}</a>
</p>
</list>
<list article.to_original.to_media_images as image>
<p>
<img src="${image["publish_server"]}${image["publish_path"]}"
- border="0" width="${image["img_width"]}"
- height="${image["img_height"]}" alt="${image["title"]}">
- <br><i>${image["title"]}</i>
+ border="0" width="${image.img_width}"
+ height="${image.img_height}" alt="${image.title}">
+ <br><i>${image.title}</i>
</p>
</list>
</if>
public class Mir extends AbstractServlet {
private static ModuleUsers usersModule = null;
- private final static Map servletModules = new HashMap();
private static Locale fallbackLocale = null;
private static List loginLanguages = null;
}
public Object getValue(EntityAdapter anEntityAdapter) {
-
Object result = null;
String textValue = anEntityAdapter.getEntity().getFieldValue(fieldName);
Calendar calendar = GregorianCalendar.getInstance();
engine.init();
}
catch (Throwable t) {
- t.printStackTrace(logger.asPrintWriter(LoggerWrapper.ERROR_MESSAGE));
-
logger.error("Failed to set up a VelocityGeneratorLibrary: " + t.toString());
throw new GeneratorFailure(t);
}
/**
* Help methods for number handling.
*
- * @version $Id: NumberUtils.java,v 1.5 2003/04/21 12:42:52 idfx Exp $
+ * @version $Id: NumberUtils.java,v 1.5.2.1 2005/12/23 21:56:27 zapata Exp $
* @author mh, Mir-coders group
*
*/
public final class NumberUtils {
+ private NumberUtils() {
+ }
/*
* Uses a suffix indicating multiples of 1024 (K),
* @return A text representation of the number of bytes,
* abbreviated for larger quantities.
*/
- public static String humanReadableSize(double bytes)
- {
+ public static String humanReadableSize(double aBytes) {
+ double bytes = aBytes;
String suffix;
-
- if( bytes >= 1024 * 1024 * 1024 )
- {
- bytes /= (1024 * 1024 * 1024);
+
+ if ( bytes >= (double) (1024 * 1024 * 1024) ) {
+ bytes /= (double) (1024 * 1024 * 1024);
suffix = "G";
}
- else if( bytes >= 1024 * 1024 )
- {
- bytes /= (1024 * 1024);
+ else if( bytes >= (double) (1024 * 1024) ) {
+ bytes /= (double) (1024 * 1024);
suffix = "M";
}
- else if( bytes >= 1024 )
- {
- bytes /= 1024;
+ else if( bytes >= 1024.0 ) {
+ bytes /= 1024.0;
suffix = "K";
}
- else
- {
+ else {
suffix = "";
}
- int frac = (bytes >= 10 || bytes == 0) ? 0 : 1;
+ int frac = bytes > 9.5 || bytes < 0.05 ? 0 : 1;
+
NumberFormat nf = NumberFormat.getInstance();
nf.setMinimumFractionDigits(frac);
nf.setMaximumFractionDigits(frac);
nf.setGroupingUsed(false);
+
return nf.format(bytes) + suffix;
}
-
}
webdbDate.append(String.valueOf(theDate.get(Calendar.YEAR)));
webdbDate.append(pad2(theDate.get(Calendar.MONTH) + 1));
webdbDate.append(pad2(theDate.get(Calendar.DATE)));
+
return webdbDate.toString();
}
webdbDate.append(pad2(theDate.get(Calendar.DATE)));
webdbDate.append(pad2(theDate.get(Calendar.HOUR)));
webdbDate.append(pad2(theDate.get(Calendar.MINUTE)));
+
return webdbDate.toString();
}
key = aKey;
}
- /** {@inheritDoc} */
+ /** {@inheritDoc} */
public void produce(Map aValueMap, String aVerb, LoggerWrapper aLogger) throws ProducerFailure {
try {
String bundle = ParameterExpander.expandExpression( aValueMap, bundleExpression );
String[] languages = new String[0];
- if (languageExpression!=null)
- languages = new String[] { ParameterExpander.expandExpression( aValueMap, languageExpression ) };
+ if (languageExpression != null) {
+ languages = new String[]{ParameterExpander.expandExpression(aValueMap, languageExpression)};
+ }
- if (MirGlobal.config().getString("Producer.BundleCompatibility", "0").equals("1") &&
+ if ("1".equals(MirGlobal.config().getString("Producer.BundleCompatibility", "0")) &&
bundle.startsWith("bundles.")) {
bundle = "etc/bundles/" + bundle.substring("bundles.".length());
}
public CompositeProducerNode(ProducerNode[] aSubNodes) {
this();
- int i;
-
- for (i=0; i<aSubNodes.length; i++) {
+ for (int i = 0; i<aSubNodes.length; i++) {
addSubNode(aSubNodes[i]);
}
}
}
public void addSubNode(ProducerNode aSubNode) {
- if (aSubNode!=null)
+ if (aSubNode != null) {
subNodes.add(aSubNode);
+ }
}
public void clear() {
}
protected boolean isAborted(ProductionContext aProductionContext) {
- return (
- (aProductionContext.getProducer() instanceof NodedProducer) &&
- ((NodedProducer) aProductionContext.getProducer()).getIsAborted());
+ return aProductionContext.getProducer() instanceof NodedProducer &&
+ ((NodedProducer) aProductionContext.getProducer()).getIsAborted();
}
public void produce(ProductionContext aProductionContext) throws ProducerExc, ProducerFailure {
throw new ProducerExc( entityExpression + " does not evaluate to an entity");
}
catch (Throwable t) {
- aLogger.error("Error while performing entity modification operation: " + t.getMessage());
- t.printStackTrace(aLogger.asPrintWriter(LoggerWrapper.DEBUG_MESSAGE));
+ aLogger.error("Error while performing entity modification operation: " + t.getMessage(), t);
throw new ProducerFailure(t.getMessage(), t);
}
*/
package mir.producer;
-import mir.util.ExceptionRoutines;
import mir.util.ParameterExpander;
-import java.sql.*;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
public class ExternalDbProducerNode extends ProducerNodeDecorator {
private String key;
String expandedPassword = ParameterExpander.expandExpression(aProductionContext.getValueSet(), password);
String expandedQuery = ParameterExpander.expandExpression(aProductionContext.getValueSet(), query);
- if (expandedDriver.equals("postgresql")) {
+ if ("postgresql".equals(expandedDriver)) {
Class.forName("org.postgresql.Driver");
}
- if (expandedDriver.equals("mysql")) {
+ if ("mysql".equals(expandedDriver)) {
Class.forName("com.mysql.jdbc.Driver");
- } else {
+ }
+ else {
throw new Exception("Unsupported DB Driver:" + expandedDriver);
}
ResultSet rs = st.executeQuery(expandedQuery);
ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
- ArrayList fieldNames = new ArrayList(numberOfColumns);
+ List fieldNames = new ArrayList(numberOfColumns);
for (int i = 0; i < numberOfColumns; i++) {
fieldNames.add(rsmd.getColumnName(i + 1));
}
while (rs.next() && !isAborted(aProductionContext)) {
- HashMap result = new HashMap();
+ Map result = new HashMap();
Iterator fields = fieldNames.iterator();
while (fields.hasNext()) {
String field = (String) fields.next();
catch (InvocationTargetException e) {\r
getLogger().error("Error while dispatching: " + e.getTargetException().getMessage(),\r
e.getTargetException());\r
- e.getTargetException().printStackTrace(getLogger().asPrintWriter(LoggerWrapper.DEBUG_MESSAGE));\r
\r
throw new ServletModuleFailure(e.getTargetException().getMessage(), e.getTargetException());\r
}\r
/**
* Implements database access.
*
- * @version $Id: Database.java,v 1.44.2.34 2005/11/09 22:11:06 zapata Exp $
+ * @version $Id: Database.java,v 1.44.2.35 2005/12/23 21:56:27 zapata Exp $
* @author rk
* @author Zapata
*
}
catch (Throwable t) {
logger.warn("Can't close statement", t);
- t.printStackTrace(logger.asPrintWriter(LoggerWrapper.ERROR_MESSAGE));
}
freeConnection(aConnection);
public static final DateFormat INTERNAL_DATE_FORMAT =\r
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");\r
\r
+ private DatabaseHelper() {\r
+ }\r
+\r
static {\r
INTERNAL_DATE_FORMAT.setTimeZone(INTERNAL_TIMEZONE);\r
}\r
\r
- public static final String convertDateToInternalRepresenation(Date aDate) {\r
+ public static String convertDateToInternalRepresenation(Date aDate) {\r
Calendar calendar = new GregorianCalendar();\r
calendar.setTime(aDate);\r
calendar.setTimeZone(INTERNAL_TIMEZONE);\r
int offsethours = offset / (60*60*1000);\r
\r
return INTERNAL_DATE_FORMAT.format(aDate) + (positive?"+":"-") +\r
- StringUtil.zeroPaddingNumber(offsethours, 2, 2);\r
+ StringUtil.zeroPaddingNumber((long) offsethours, 2, 2);\r
}\r
\r
- public static final String getInternalTimeZoneOffset(Date aDate) {\r
+ public static String getInternalTimeZoneOffset(Date aDate) {\r
Calendar calendar = new GregorianCalendar();\r
calendar.setTime(aDate);\r
calendar.setTimeZone(INTERNAL_TIMEZONE);\r
int offsetminutes = ( offset / 60*1000 ) % 60;\r
\r
return (positive?"+":"-") +\r
- StringUtil.zeroPaddingNumber(offsethours, 2, 2) + ":" +\r
- StringUtil.zeroPaddingNumber(offsetminutes, 2, 2);\r
+ StringUtil.zeroPaddingNumber((long) offsethours, 2, 2) + ":" +\r
+ StringUtil.zeroPaddingNumber((long) offsetminutes, 2, 2);\r
}\r
}\r
*/
package mircoders.entity;
-import java.sql.SQLException;
-import java.util.Map;
-
import mir.entity.AbstractEntity;
import mir.entity.Entity;
-import mir.log.LoggerWrapper;
import mir.storage.DatabaseFailure;
import mircoders.storage.DatabaseUploadedMedia;
+import java.sql.SQLException;
+import java.util.Map;
+
/**
*
* @author mh, mir-coders group
- * @version $Id: EntityUploadedMedia.java,v 1.26.2.13 2005/10/30 00:46:58 zapata Exp $
+ * @version $Id: EntityUploadedMedia.java,v 1.26.2.14 2005/12/23 21:56:28 zapata Exp $
*/
public class EntityUploadedMedia extends AbstractEntity {
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.awt.*;
public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
protected LoggerWrapper logger = new LoggerWrapper("Localizer.DataModel");
anEntityAdapterDefinition.addCalculatedField("operations",
new EntityToSimpleOperationsField(MirGlobal.localizer().adminInterface().simpleArticleOperations()));
-
+
anEntityAdapterDefinition.addCalculatedField("languagename", new ContentToLanguageNameField());
anEntityAdapterDefinition.addCalculatedField("is_original", new ContentIsOriginalField());
definition = new EntityAdapterDefinition();
definition.addCalculatedField("mediafolder", new ToOneRelationField("to_media_folder", "mediaFolder", "id"));
- definition.addCalculatedField("human_readable_size", new HumanReadableSizeField("value"));
+ definition.addCalculatedField("human_readable_size", new HumanReadableSizeField("size"));
definition.addDBDateField("creationdate", "webdb_create", configuration.getString("Mir.DefaultTimezone"));
definition.addCalculatedField("info", new MediaToMediaInfoField());
result.addMapping( "uploadedMedia", DatabaseUploadedMedia.getInstance(), definition);
definition = new EntityAdapterDefinition();
definition.addCalculatedField("mediafolder", new ToOneRelationField("to_media_folder", "mediaFolder", "id"));
- definition.addCalculatedField("human_readable_size", new HumanReadableSizeField("value"));
+ definition.addCalculatedField("human_readable_size", new HumanReadableSizeField("size"));
definition.addDBDateField("creationdate", "webdb_create", configuration.getString("Mir.DefaultTimezone"));
definition.addCalculatedField("info", new MediaToMediaInfoField());
definition.addCalculatedField("big_icon", new MediaToBigIconField());
result.addMapping( "image", DatabaseImages.getInstance(), definition);
definition = new EntityAdapterDefinition();
definition.addCalculatedField("mediafolder", new ToOneRelationField("to_media_folder", "mediaFolder", "id"));
- definition.addCalculatedField("human_readable_size", new HumanReadableSizeField("value"));
+ definition.addCalculatedField("human_readable_size", new HumanReadableSizeField("size"));
definition.addDBDateField("creationdate", "webdb_create", configuration.getString("Mir.DefaultTimezone"));
definition.addCalculatedField("info", new MediaToMediaInfoField());
definition.addCalculatedField("big_icon", new MediaToBigIconField());
result.addMapping( "audio", DatabaseAudio.getInstance(), definition);
definition = new EntityAdapterDefinition();
definition.addCalculatedField("mediafolder", new ToOneRelationField("to_media_folder", "mediaFolder", "id"));
- definition.addCalculatedField("human_readable_size", new HumanReadableSizeField("value"));
+ definition.addCalculatedField("human_readable_size", new HumanReadableSizeField("size"));
definition.addDBDateField("creationdate", "webdb_create", configuration.getString("Mir.DefaultTimezone"));
definition.addCalculatedField("info", new MediaToMediaInfoField());
definition.addCalculatedField("big_icon", new MediaToBigIconField());
definition = new EntityAdapterDefinition();
definition.addCalculatedField("mediafolder", new ToOneRelationField("to_media_folder", "mediaFolder", "id"));
- definition.addCalculatedField("human_readable_size", new HumanReadableSizeField("value"));
+ definition.addCalculatedField("human_readable_size", new HumanReadableSizeField("size"));
definition.addDBDateField("creationdate", "webdb_create", configuration.getString("Mir.DefaultTimezone"));
definition.addCalculatedField("info", new MediaToMediaInfoField());
definition.addCalculatedField("big_icon", new MediaToBigIconField());
if (anEntityAdapter.get("is_html")!=null && anEntityAdapter.get("is_html").equals("1")) {
return MirGlobal.localizer().producerAssistant().filterHTMLText((String) anEntityAdapter.get(fieldName));
}
- return MirGlobal.localizer().producerAssistant().filterNonHTMLText((String) anEntityAdapter.get(fieldName));
+ return MirGlobal.localizer().producerAssistant().filterNonHTMLText((String) anEntityAdapter.get(fieldName));
}
catch (Throwable t) {
throw new RuntimeException(t.getMessage());
}
}
}
+
public static class MediaInfo {
private MediaHandler mediaHandler;
+ private Entity mediaType;
- public MediaInfo(MediaHandler aHandler) {
+ public MediaInfo(MediaHandler aHandler, Entity aMediaType) {
mediaHandler = aHandler;
+ mediaType = aMediaType;
}
+
public String getBigIcon() {
- if (mediaHandler == null)
- return "bla";
- return mediaHandler.getBigIconName();
+ return mediaHandler.getBigIconName();
}
public String getSmallIcon() {
- if (mediaHandler == null)
- return "bla";
- return mediaHandler.getTinyIconName();
+ return mediaHandler.getTinyIconName();
}
- public String getMediaType() {
- return "";
+ public String getDescription() {
+ return mediaHandler.getDescr(mediaType);
}
}
- protected class MediaToMediaInfoField implements EntityAdapterDefinition.CalculatedField {
+ protected static class MediaToMediaInfoField implements EntityAdapterDefinition.CalculatedField {
public Object getValue(EntityAdapter anEntityAdapter) {
try {
- MediaHandler mediaHandler = MediaHelper.getHandler(((EntityUploadedMedia) anEntityAdapter.getEntity()).getMediaType());
+ MediaHandler mediaHandler =
+ MediaHelper.getHandler(((EntityUploadedMedia) anEntityAdapter.getEntity()).getMediaType());
- return new MediaInfo(mediaHandler);
+ return new MediaInfo(mediaHandler,
+ ((EntityUploadedMedia) anEntityAdapter.getEntity()).getMediaType());
}
catch (Throwable t) {
- throw new RuntimeException(t.getMessage());
+ throw new Failure(t.getMessage(), t);
}
}
}
- protected class MediaToBigIconField implements EntityAdapterDefinition.CalculatedField {
+ protected static class MediaToBigIconField implements EntityAdapterDefinition.CalculatedField {
public Object getValue(EntityAdapter anEntityAdapter) {
try {
return MediaHelper.getHandler(((EntityUploadedMedia) anEntityAdapter.getEntity()).getMediaType()).getBigIconName();
}
}
- protected class ContentToCommentsField implements EntityAdapterDefinition.CalculatedField {
+ protected static class ContentToCommentsField implements EntityAdapterDefinition.CalculatedField {
private String extracondition;
private String order;
}
}
- protected class ContentToTopicsField implements EntityAdapterDefinition.CalculatedField {
+ protected static class ContentToTopicsField implements EntityAdapterDefinition.CalculatedField {
private String topicCondition;
private String topicOrder;
public Object getValue(EntityAdapter anEntityAdapter) {
try {
-
-
String condition = "cxt.content_id="+anEntityAdapter.get("id")+
" and cxt.topic_id=t.id";
- if (topicCondition!=null && topicCondition.length()>0)
+ if (topicCondition!=null && topicCondition.length()>0) {
condition = "(" + topicCondition + ") and " + condition;
+ }
return anEntityAdapter.getComplexRelation("t", Collections.singletonList("content_x_topic cxt"),
condition, topicOrder, "topic" );
}
}
- protected class ContentToMediaField implements EntityAdapterDefinition.CalculatedField {
+ protected static class ContentToMediaField implements EntityAdapterDefinition.CalculatedField {
private String definition;
private boolean published;
}
}
- protected class ContentToFirstMediaField implements EntityAdapterDefinition.CalculatedField {
+ protected static class ContentToFirstMediaField implements EntityAdapterDefinition.CalculatedField {
private String definition;
private boolean published;
}
}
- protected class CommentToMediaField implements EntityAdapterDefinition.CalculatedField {
+ protected static class CommentToMediaField implements EntityAdapterDefinition.CalculatedField {
private String definition;
private boolean published;
}
}
- protected class ContentToIconField implements EntityAdapterDefinition.CalculatedField {
+ protected static class ContentToIconField implements EntityAdapterDefinition.CalculatedField {
public Object getValue(EntityAdapter anEntityAdapter) {
String tinyIcon;
String iconAlt;
}
}
catch (Throwable t) {
- logger.error("ContentToIconField: ", t);
-
- throw new RuntimeException(t.getMessage());
+ throw new Failure(t.getMessage(), t);
}
Map result = new HashMap();
}
}
- protected class ContentCommentCountField implements EntityAdapterDefinition.CalculatedField {
+ protected static class ContentCommentCountField implements EntityAdapterDefinition.CalculatedField {
private String extraCondition;
public ContentCommentCountField(String anExtraCondition) {
- super();
-
extraCondition = anExtraCondition;
}
}
}
- protected class HumanReadableSizeField implements EntityAdapterDefinition.CalculatedField {
+ protected static class HumanReadableSizeField implements EntityAdapterDefinition.CalculatedField {
private String fieldName;
public HumanReadableSizeField(String aFieldName) {
public Object getValue(EntityAdapter anEntityAdapter) {
try {
String size = (String) anEntityAdapter.get(fieldName);
- if (size!=null)
+ if (size!=null) {
return NumberUtils.humanReadableSize(Double.parseDouble(size));
- return "";
+ }
+ return "";
}
catch (Throwable t) {
throw new RuntimeException(t.getMessage());
try {
if (anEntityAdapter.get("parent")!=null)
return anEntityAdapter.get("parent");
- return anEntityAdapter;
+ return anEntityAdapter;
}
catch (Throwable t) {
throw new MirLocalizerFailure(t);
indexWriter.addDocument(theDoc);
}
catch (Throwable t) {
- aLogger.error("Error while indexing content: " + t.getMessage());
- t.printStackTrace(aLogger.asPrintWriter(LoggerWrapper.DEBUG_MESSAGE));
+ aLogger.error("Error while indexing content: " + t.getMessage(), t);
}
finally {
if (indexWriter != null) {
import mir.entity.Entity;
import mir.entity.adapter.EntityAdapter;
-import mir.log.LoggerWrapper;
import mir.producer.ProducerFailure;
import mir.producer.ProducerNode;
import mir.producer.ProductionContext;
IndexUtil.unindexEntity((EntityContent) entity, indexFile);
}
catch (Throwable t) {
- aProductionContext.getLogger().error("Error while unindexing content: " + t.getMessage());
- t.printStackTrace(aProductionContext.getLogger().asPrintWriter(LoggerWrapper.DEBUG_MESSAGE));
+ aProductionContext.getLogger().error("Error while unindexing content: " + t.getMessage(), t);
}
endTime = System.currentTimeMillis();
import mir.log.LoggerWrapper;
import mir.storage.Database;
import mir.storage.DatabaseFailure;
+import mircoders.entity.EntityUploadedMedia;
public class DatabaseUploadedMedia extends Database {
- private static DatabaseUploadedMedia instance;
+ private static DatabaseUploadedMedia instance;
- public synchronized static DatabaseUploadedMedia getInstance() {
+ public static synchronized DatabaseUploadedMedia getInstance() {
if (instance == null ) {
instance = new DatabaseUploadedMedia();
}
}
private DatabaseUploadedMedia() {
- super();
-
logger = new LoggerWrapper("Database.UploadedMedia");
mainTable="uploaded_media";
- entityClass = mircoders.entity.EntityUploadedMedia.class;
+ entityClass = EntityUploadedMedia.class;
}
* returns the media_type that belongs to the media item (via entityrelation)
* where db-flag is_published is true
*/
- public Entity getMediaType(Entity ent) throws DatabaseFailure {
+ public Entity getMediaType(Entity aMedia) throws DatabaseFailure {
Entity type=null;
try {
- Iterator i = new EntityBrowser(DatabaseMediaType.getInstance(), ent.getFieldValue("to_media_type") + " = id" , "id", 1);
- if (i.hasNext())
+ Iterator i = new EntityBrowser(DatabaseMediaType.getInstance(), aMedia.getFieldValue("to_media_type") + " = id" , "id", 1);
+
+ if (i.hasNext()) {
type = (Entity) i.next();
+ }
}
catch (Throwable t) {
logger.error("DatabaseUploadedMedia :: failed to get media_type: " + t.getMessage());