|
From: <fg...@us...> - 2008-11-10 15:41:08
|
Revision: 926
http://openutils.svn.sourceforge.net/openutils/?rev=926&view=rev
Author: fgiust
Date: 2008-11-10 15:40:59 +0000 (Mon, 10 Nov 2008)
Log Message:
-----------
mgnlmedia first import - draft
Added Paths:
-----------
trunk/openutils-mgnlmedia/
trunk/openutils-mgnlmedia/pom.xml
trunk/openutils-mgnlmedia/src/
trunk/openutils-mgnlmedia/src/main/
trunk/openutils-mgnlmedia/src/main/java/
trunk/openutils-mgnlmedia/src/main/java/net/
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/commands/
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/commands/MediaActivationCommand.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaConfigurationManager.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaTypeConfiguration.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogCustomSaveHandler.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogFileAudio.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogFileImage.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogFileVideo.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogSelectMedia.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/LayerDialog.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/LayerDialogMVC.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/lifecycle/
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/lifecycle/MediaModuleLifecycle.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaBrowserPage.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderSelectionPage.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaLoadZipFilePage.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaSearchPage.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MessagesTemplatedMVCHandler.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/save/
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/save/MediaCustomSaveHandler.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/MediaModuleVersionHandler.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/RemoveResolutionsNodeTask.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/RenameThumbToImageTask.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tags/
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tags/el/
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tags/el/MediaEl.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tree/
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tree/JcrBrowserWithNodeTypeTreeConfiguration.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tree/MediaModuleTree.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tree/MediaModuleTreeConfiguration.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tree/MediaModuleTreeMVCHandler.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/MediaTypeHandler.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/AudioTypeHandler.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/BaseTypeHandler.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ImageTypeHandler.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/VideoTypeHandler.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/YouTubeVideoTypeHandler.java
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/utils/
trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/utils/ImageUtils.java
trunk/openutils-mgnlmedia/src/main/resources/
trunk/openutils-mgnlmedia/src/main/resources/META-INF/
trunk/openutils-mgnlmedia/src/main/resources/META-INF/magnolia/
trunk/openutils-mgnlmedia/src/main/resources/META-INF/magnolia/media.xml
trunk/openutils-mgnlmedia/src/main/resources/META-INF/media.tld
trunk/openutils-mgnlmedia/src/main/resources/META-INF/tags/
trunk/openutils-mgnlmedia/src/main/resources/META-INF/tags/imageTag.tag
trunk/openutils-mgnlmedia/src/main/resources/dialog/
trunk/openutils-mgnlmedia/src/main/resources/dialog/selectMedia.ftl
trunk/openutils-mgnlmedia/src/main/resources/info/
trunk/openutils-mgnlmedia/src/main/resources/info/magnolia/
trunk/openutils-mgnlmedia/src/main/resources/info/magnolia/cms/
trunk/openutils-mgnlmedia/src/main/resources/info/magnolia/cms/gui/
trunk/openutils-mgnlmedia/src/main/resources/info/magnolia/cms/gui/control/
trunk/openutils-mgnlmedia/src/main/resources/info/magnolia/cms/gui/control/MediaTreeFooter.ftl
trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/
trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/
trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.adminInterface.commands.default.activateMedia.xml
trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.adminInterface.config.menu.media.xml
trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.adminInterface.config.menu.tools.mediaJCR.xml
trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.media.controls.fileAudio.xml
trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.media.controls.fileImage.xml
trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.media.controls.fileVideo.xml
trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.media.controls.mediaSelection.xml
trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.media.dialogs.mediaAudioDlg.xml
trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.media.dialogs.mediaImageDlg.xml
trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.media.dialogs.mediaVideoDlg.xml
trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.media.dialogs.mediaYoutubeDlg.xml
trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.media.mediatypes.audio.xml
trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.media.mediatypes.image.xml
trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.media.mediatypes.video.xml
trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.media.mediatypes.youtube.xml
trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.media.pages.mediaBrowser.xml
trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.media.pages.mediaFolderSelection.xml
trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.media.pages.mediaFolderView.xml
trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.media.trees.media-jcr.xml
trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.media.trees.media.xml
trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.server.URI2RepositoryMapping.mappings.media.xml
trunk/openutils-mgnlmedia/src/main/resources/mgnl-messages/
trunk/openutils-mgnlmedia/src/main/resources/mgnl-messages/media/
trunk/openutils-mgnlmedia/src/main/resources/mgnl-messages/media/messages_en.properties
trunk/openutils-mgnlmedia/src/main/resources/mgnl-messages/media/messages_it.properties
trunk/openutils-mgnlmedia/src/main/resources/mgnl-nodetypes/
trunk/openutils-mgnlmedia/src/main/resources/mgnl-nodetypes/media/
trunk/openutils-mgnlmedia/src/main/resources/mgnl-nodetypes/media/magnolia-nodetypes.xml
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/assets/
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/assets/failed.png
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/assets/file.png
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/assets/progress-bar/
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/assets/progress-bar/bar.gif
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/assets/progress-bar/progress.gif
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/assets/success.png
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/assets/uploading.png
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/bubble.png
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/folderView.css
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/images/
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/images/close.png
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/images/left.png
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/images/leftDisabled.png
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/images/loader.gif
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/images/right.png
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/images/rightDisabled.png
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/multibox.css
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/upload.css
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/icons/
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/icons/arrow_right_green_inactive.gif
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/icons/audio.gif
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/icons/audioThumb.jpg
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/icons/browse16.gif
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/icons/edit.gif
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/icons/edit_inactive.gif
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/icons/film.gif
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/icons/film_inactive.gif
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/icons/folder16.gif
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/icons/icon24.gif
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/icons/image16.gif
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/icons/image16_inactive.gif
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/icons/link_go.gif
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/icons/photo.png
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/icons/screensaver.gif
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/icons/search16.gif
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/icons/wallpaper.gif
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/icons/zip.gif
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/js/
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/js/media.js
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/js/miframe.js
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/js/mootips.js
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/js/mootools-1.2-core.js
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/js/mootools-1.2-more.js
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/js/multibox/
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/js/multibox/multibox.js
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/js/multibox/overlay.js
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/js/swfobject.js
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/js/upload/
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/js/upload/FancyUpload2.js
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/js/upload/Fx.ProgressBar.js
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/js/upload/Swiff.Uploader.js
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/js/upload/Swiff.Uploader.swf
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/players/
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/players/FLVPlayer_Progressive.swf
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/players/flvplayer.swf
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/players/mp3player.swf
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/players/player.swf
trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/players/yt.swf
trunk/openutils-mgnlmedia/src/main/resources/net/
trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/
trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/
trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/
trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/
trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/
trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaBrowserPage.html
trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderSelectionPage.html
trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html
trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaLoadZipFilePage.html
trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaSearchPage.html
trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/UploadZipFilePage.html
trunk/openutils-mgnlmedia/src/test/
trunk/openutils-mgnlmedia/src/test/java/
trunk/openutils-mgnlmedia/src/test/resources/
Property changes on: trunk/openutils-mgnlmedia
___________________________________________________________________
Added: svn:ignore
+
.settings
.checkstyle
.classpath
.project
target
Added: trunk/openutils-mgnlmedia/pom.xml
===================================================================
--- trunk/openutils-mgnlmedia/pom.xml (rev 0)
+++ trunk/openutils-mgnlmedia/pom.xml 2008-11-10 15:40:59 UTC (rev 926)
@@ -0,0 +1,72 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>net.sourceforge.openutils</groupId>
+ <artifactId>openutils</artifactId>
+ <version>10</version>
+ <relativePath>..</relativePath>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <packaging>jar</packaging>
+ <artifactId>openutils-mgnlmedia</artifactId>
+ <name>openutils-mgnlmedia</name>
+ <version>1.0-SNAPSHOT</version>
+ <licenses>
+ <license>
+ <name>GPLv3</name>
+ <url>http://www.gnu.org/licenses/gpl-3.0.txt</url>
+ </license>
+ </licenses>
+ <build>
+ <resources>
+ <resource>
+ <filtering>false</filtering>
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ </resource>
+ <resource>
+ <filtering>true</filtering>
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>META-INF/magnolia/*</include>
+ </includes>
+ </resource>
+ </resources>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>info.magnolia</groupId>
+ <artifactId>magnolia-core</artifactId>
+ <version>3.6.3</version>
+ </dependency>
+ <dependency>
+ <groupId>info.magnolia</groupId>
+ <artifactId>magnolia-module-admininterface</artifactId>
+ <version>3.6.3</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.openutils</groupId>
+ <artifactId>openutils-mgnltasks</artifactId>
+ <version>3.5.5</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.openutils</groupId>
+ <artifactId>openutils-mgnlext</artifactId>
+ <version>2.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.testng</groupId>
+ <artifactId>testng</artifactId>
+ <classifier>jdk15</classifier>
+ <version>5.1</version>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
Property changes on: trunk/openutils-mgnlmedia/pom.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/commands/MediaActivationCommand.java
===================================================================
--- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/commands/MediaActivationCommand.java (rev 0)
+++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/commands/MediaActivationCommand.java 2008-11-10 15:40:59 UTC (rev 926)
@@ -0,0 +1,172 @@
+/**
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package net.sourceforge.openutils.mgnlmedia.media.commands;
+
+import info.magnolia.cms.core.Content;
+import info.magnolia.cms.core.ItemType;
+import info.magnolia.cms.exchange.ExchangeException;
+import info.magnolia.cms.i18n.MessagesManager;
+import info.magnolia.cms.util.AlertUtil;
+import info.magnolia.cms.util.ExclusiveWrite;
+import info.magnolia.context.Context;
+import info.magnolia.module.admininterface.commands.ActivationCommand;
+
+import java.util.Iterator;
+import java.util.List;
+
+import javax.jcr.RepositoryException;
+
+import net.sourceforge.openutils.mgnlmedia.media.configuration.MediaConfigurationManager;
+
+import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ * @author molaschi
+ * @version $Id$
+ */
+public class MediaActivationCommand extends ActivationCommand
+{
+
+ /**
+ * Logger.
+ */
+ private Logger log = LoggerFactory.getLogger(MediaActivationCommand.class);
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean execute(Context ctx)
+ {
+ synchronized (ExclusiveWrite.getInstance())
+ {
+ try
+ {
+ Content thisState = getNode(ctx);
+ String parentPath = StringUtils.substringBeforeLast(thisState.getHandle(), "/");
+ if (StringUtils.isEmpty(parentPath))
+ {
+ parentPath = "/";
+ }
+ // make multiple activations instead of a big bulp
+ if (super.isRecursive())
+ {
+ List versionMap = getVersionMap();
+ if (versionMap == null)
+ {
+ activateRecursive(parentPath, thisState, ctx);
+ }
+ else
+ {
+ activateRecursive(ctx, versionMap);
+ }
+ }
+ else
+ {
+ if (StringUtils.isNotEmpty(getVersion()))
+ {
+ try
+ {
+ thisState = thisState.getVersionedContent(getVersion());
+ }
+ catch (RepositoryException re)
+ {
+ log.error("Failed to get version " + getVersion() + " for " + thisState.getHandle(), re);
+ }
+ }
+ activateRecursiveOneLevel(parentPath, thisState);
+ }
+ }
+ catch (Exception e)
+ {
+ log.error("can't activate", e);
+ AlertUtil.setException(MessagesManager.get("tree.error.activate"), e, ctx);
+ return false;
+ }
+ log.info("exec successfully.");
+ return true;
+ }
+ }
+
+ public void activateRecursiveOneLevel(String parentPath, Content node) throws RepositoryException,
+ ExchangeException
+ {
+ getSyndicator().activate(parentPath, node, getOrderingInfo(node));
+
+ Iterator children = node.getChildren(new Content.ContentFilter()
+ {
+
+ public boolean accept(Content content)
+ {
+ try
+ {
+ return !getRule().isAllowed(content.getNodeTypeName())
+ && !ItemType.CONTENT.getSystemName().equals(content.getNodeTypeName())
+ && !MediaConfigurationManager.RESOLUTIONS.getSystemName().equals(content.getNodeTypeName());
+ }
+ catch (RepositoryException e)
+ {
+ log.error("can't get nodetype", e);
+ return false;
+ }
+ }
+ }).iterator();
+
+ while (children.hasNext())
+ {
+ activateRecursiveOneLevel(node.getHandle(), (Content) children.next());
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected void activateRecursive(String parentPath, Content node, Context ctx) throws ExchangeException,
+ RepositoryException
+ {
+ getSyndicator().activate(parentPath, node, getOrderingInfo(node));
+
+ Iterator children = node.getChildren(new Content.ContentFilter()
+ {
+
+ public boolean accept(Content content)
+ {
+ try
+ {
+ return !getRule().isAllowed(content.getNodeTypeName())
+ && !MediaConfigurationManager.RESOLUTIONS.getSystemName().equals(content.getNodeTypeName());
+ }
+ catch (RepositoryException e)
+ {
+ log.error("can't get nodetype", e);
+ return false;
+ }
+ }
+ }).iterator();
+
+ while (children.hasNext())
+ {
+ this.activateRecursive(node.getHandle(), ((Content) children.next()), ctx);
+ }
+ }
+
+}
Property changes on: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/commands/MediaActivationCommand.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaConfigurationManager.java
===================================================================
--- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaConfigurationManager.java (rev 0)
+++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaConfigurationManager.java 2008-11-10 15:40:59 UTC (rev 926)
@@ -0,0 +1,381 @@
+/**
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package net.sourceforge.openutils.mgnlmedia.media.configuration;
+
+import info.magnolia.cms.beans.config.ContentRepository;
+import info.magnolia.cms.beans.config.ObservedManager;
+import info.magnolia.cms.beans.config.URI2RepositoryManager;
+import info.magnolia.cms.beans.config.URI2RepositoryMapping;
+import info.magnolia.cms.core.Content;
+import info.magnolia.cms.core.ItemType;
+import info.magnolia.cms.core.search.Query;
+import info.magnolia.cms.core.search.QueryManager;
+import info.magnolia.cms.core.search.QueryResult;
+import info.magnolia.cms.util.ContentUtil;
+import info.magnolia.cms.util.FactoryUtil;
+import info.magnolia.cms.util.NodeDataUtil;
+import info.magnolia.context.MgnlContext;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.jcr.RepositoryException;
+import javax.jcr.query.InvalidQueryException;
+
+import net.sourceforge.openutils.mgnlmedia.media.lifecycle.MediaModuleLifecycle;
+import net.sourceforge.openutils.mgnlmedia.media.pages.MediaFolderViewPage;
+import net.sourceforge.openutils.mgnlmedia.media.types.MediaTypeHandler;
+
+import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ * @author molaschi
+ */
+public class MediaConfigurationManager extends ObservedManager
+{
+
+ private static final String MGNL_MEDIA_TYPE = "mgnl:media";
+
+ private static final String MGNL_RESOLUTION_TYPE = "mgnl:resolutions";
+
+ /**
+ * Folder type
+ */
+ public static final ItemType FOLDER = ItemType.CONTENT;
+
+ /**
+ * Media type
+ */
+ public static final ItemType MEDIA = new ItemType(MGNL_MEDIA_TYPE);
+
+ /**
+ *
+ */
+ public static final ItemType RESOLUTIONS = new ItemType(MGNL_RESOLUTION_TYPE);
+
+ private Logger log = LoggerFactory.getLogger(MediaConfigurationManager.class);
+
+ private Map<String, MediaTypeConfiguration> types = new LinkedHashMap<String, MediaTypeConfiguration>();
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected void onClear()
+ {
+ types.clear();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ protected void onRegister(Content node)
+ {
+ for (Iterator iter = ContentUtil.getAllChildren(node).iterator(); iter.hasNext();)
+ {
+ Content typeNode = (Content) iter.next();
+
+ try
+ {
+ MediaTypeConfiguration conf = new MediaTypeConfiguration();
+ conf.setName(typeNode.getName());
+ conf.setDialog(NodeDataUtil.getString(typeNode, "dialog"));
+ conf.setLabel(NodeDataUtil.getString(typeNode, "label"));
+ conf.setMenuIcon(NodeDataUtil.getString(typeNode, "menuIcon"));
+ String extensions = NodeDataUtil.getString(typeNode, "extensions");
+ if (!StringUtils.isEmpty(extensions))
+ {
+ conf.setExtensions(Arrays.asList(StringUtils.split(extensions, ",")));
+ }
+ else
+ {
+ conf.setExtensions(new ArrayList<String>());
+ }
+ String classNameHandler = NodeDataUtil.getString(typeNode, "handler");
+ Class classHandler = Class.forName(classNameHandler);
+ if (!MediaTypeHandler.class.isAssignableFrom(classHandler))
+ {
+ log
+ .error(
+ "Error getting media type configuration for {}: handler class {} not implements MediaTypeHanlder",
+ typeNode.getHandle(),
+ classHandler);
+ continue;
+ }
+ conf.setHandler((MediaTypeHandler) classHandler.newInstance());
+ conf.getHandler().init(typeNode);
+
+ types.put(typeNode.getName(), conf);
+ }
+ catch (InstantiationException ex)
+ {
+ log.error("Error getting media type configuration for {}", typeNode.getHandle(), ex);
+ }
+ catch (IllegalAccessException ex)
+ {
+ log.error("Error getting media type configuration for {}", typeNode.getHandle(), ex);
+ }
+ catch (ClassNotFoundException ex)
+ {
+ log.error("Error getting media type configuration for {}", typeNode.getHandle(), ex);
+ }
+ catch (RuntimeException ex)
+ {
+ log.error("Error getting media type configuration for {}", typeNode.getHandle(), ex);
+ }
+ }
+ }
+
+ public static MediaConfigurationManager getInstance()
+ {
+ return (MediaConfigurationManager) FactoryUtil.getSingleton(MediaConfigurationManager.class);
+ }
+
+ public static MediaTypeConfiguration getMediaHandlerFromExtension(String extension)
+ {
+ for (Map.Entry<String, MediaTypeConfiguration> entry : MediaConfigurationManager
+ .getInstance()
+ .getTypes()
+ .entrySet())
+ {
+ if (entry.getValue().getExtensions().contains(extension.toLowerCase()))
+ {
+ return entry.getValue();
+ }
+ }
+ return null;
+ }
+
+ public Map<String, MediaTypeConfiguration> getTypes()
+ {
+ return types;
+ }
+
+ /**
+ * Get all media nodes in a folder
+ * @param folder folder
+ * @return all media nodes
+ */
+ public Collection<Content> getMediaNodes(Content folder)
+ {
+ return getMediaNodes(folder, null, MediaFolderViewPage.SORT_BY_MODIFICATIONDATE);
+ }
+
+ /**
+ * Get the list of web pages where a media is used
+ * @param uuid uuid of media
+ * @return list of web pages where a media is used
+ * @throws InvalidQueryException invalid query
+ * @throws RepositoryException repository exception
+ */
+ @SuppressWarnings("unchecked")
+ public List<String> getUsedInWebPages(String uuid) throws InvalidQueryException, RepositoryException
+ {
+ List<String> handles = new ArrayList<String>();
+ QueryManager qm = MgnlContext.getQueryManager(ContentRepository.WEBSITE);
+
+ Query q = qm.createQuery("select * from nt:base where contains(., '" + uuid + "')", Query.SQL);
+ QueryResult qr = q.execute();
+ Collection<Content> nodes = qr.getContent(ItemType.CONTENT.getSystemName());
+ if (nodes != null)
+ {
+ for (Content c : nodes)
+ {
+ if (!handles.contains(c.getHandle()))
+ {
+ handles.add(c.getHandle());
+ }
+
+ }
+ }
+ return handles;
+ }
+
+ /**
+ * Get all media nodes of passed type in a folder
+ * @param folder folder
+ * @param type media
+ * @param sorting sorting
+ * @return all media nodes of passed type
+ */
+ @SuppressWarnings("unchecked")
+ public Collection<Content> getMediaNodes(final Content folder, final String type, final String sorting)
+ {
+ List<Content> medias = (List<Content>) folder.getChildren(new Content.ContentFilter()
+ {
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean accept(Content content)
+ {
+ try
+ {
+ return content.getItemType().equals(MEDIA) && NodeDataUtil.getString(content, "type").equals(type);
+ }
+ catch (RepositoryException e)
+ {
+ log.error("Error getting item type on node {} module media", folder.getHandle(), e);
+ }
+ return false;
+ }
+
+ });
+ final MediaConfigurationManager mcm = this;
+ Collections.sort(medias, new Comparator<Content>()
+ {
+
+ private Map<String, Integer> mapNpages = new HashMap<String, Integer>();
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public int compare(Content o1, Content o2)
+ {
+ if (sorting.equals(MediaFolderViewPage.SORT_BY_FILENAME))
+ {
+ return o1.getName().compareTo(o2.getName());
+ }
+ else if (sorting.equals(MediaFolderViewPage.SORT_BY_MODIFICATIONDATE))
+ {
+ Calendar o1c = o1.getMetaData().getModificationDate() == null
+ ? o1.getMetaData().getCreationDate()
+ : o1.getMetaData().getModificationDate();
+ Calendar o2c = o2.getMetaData().getModificationDate() == null
+ ? o2.getMetaData().getCreationDate()
+ : o2.getMetaData().getModificationDate();
+ return o1c.compareTo(o2c);
+ }
+ else if (sorting.equals(MediaFolderViewPage.SORT_BY_USAGE))
+ {
+ Integer nPages1 = mapNpages.get(o1.getHandle());
+ Integer nPages2 = mapNpages.get(o1.getHandle());
+ if (nPages1 == null)
+ {
+ try
+ {
+ nPages1 = mcm.getUsedInWebPages(o1.getUUID()).size();
+ }
+ catch (InvalidQueryException e)
+ {
+ nPages1 = 0;
+ log.error("Exception getting web pages for media {}", o1.getHandle(), e);
+ }
+ catch (RepositoryException e)
+ {
+ nPages1 = 0;
+ log.error("Exception getting web pages for media {}", o1.getHandle(), e);
+ }
+ mapNpages.put(o1.getHandle(), nPages1);
+ }
+ if (nPages2 == null)
+ {
+ try
+ {
+ nPages2 = mcm.getUsedInWebPages(o2.getUUID()).size();
+ }
+ catch (InvalidQueryException e)
+ {
+ nPages2 = 0;
+ log.error("Exception getting web pages for media {}", o2.getHandle(), e);
+ }
+ catch (RepositoryException e)
+ {
+ nPages2 = 0;
+ log.error("Exception getting web pages for media {}", o2.getHandle(), e);
+ }
+ mapNpages.put(o2.getHandle(), nPages2);
+ }
+ return nPages1.compareTo(nPages2);
+ }
+ else
+ {
+ try
+ {
+ return (o1.getIndex() >= o2.getIndex()) ? 1 : -1;
+ }
+ catch (RepositoryException e)
+ {
+ return 0;
+ }
+ }
+ }
+
+ });
+
+ return medias;
+ }
+
+ /**
+ * Get the type configuration for a media
+ * @param media media
+ * @return type configuration
+ */
+ public MediaTypeConfiguration getMediaTypeConfigurationFromMedia(Content media)
+ {
+ try
+ {
+ if (!media.getItemType().equals(MEDIA))
+ {
+ return null;
+ }
+ }
+ catch (RepositoryException e)
+ {
+ log.error("Error getting item type on node {} module media", media.getHandle(), e);
+ return null;
+ }
+
+ return types.get(NodeDataUtil.getString(media, "type"));
+ }
+
+ /**
+ * Get uri mapping for repo
+ * @return uri mapping for repo
+ */
+ @SuppressWarnings("unchecked")
+ public String getURIMappingPrefix()
+ {
+ for (URI2RepositoryMapping mapping : (Collection<URI2RepositoryMapping>) URI2RepositoryManager
+ .getInstance()
+ .getMappings())
+ {
+ if (mapping.getRepository().equals(MediaModuleLifecycle.REPO))
+ {
+ return mapping.getURIPrefix();
+ }
+ }
+ return StringUtils.EMPTY;
+ }
+}
Property changes on: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaConfigurationManager.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaTypeConfiguration.java
===================================================================
--- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaTypeConfiguration.java (rev 0)
+++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaTypeConfiguration.java 2008-11-10 15:40:59 UTC (rev 926)
@@ -0,0 +1,152 @@
+/**
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package net.sourceforge.openutils.mgnlmedia.media.configuration;
+
+import java.util.List;
+
+import net.sourceforge.openutils.mgnlmedia.media.types.MediaTypeHandler;
+
+
+/**
+ * @author molaschi
+ * @version $Id$
+ */
+public class MediaTypeConfiguration
+{
+
+ private String name;
+
+ private String label;
+
+ private String menuIcon;
+
+ private String dialog;
+
+ private MediaTypeHandler handler;
+
+ private List<String> extensions;
+
+ /**
+ * Returns the label.
+ * @return the label
+ */
+ public String getLabel()
+ {
+ return label;
+ }
+
+ /**
+ * Sets the label.
+ * @param label the label to set
+ */
+ public void setLabel(String label)
+ {
+ this.label = label;
+ }
+
+ /**
+ * Returns the handler.
+ * @return the handler
+ */
+ public MediaTypeHandler getHandler()
+ {
+ return handler;
+ }
+
+ /**
+ * Sets the handler.
+ * @param handler the handler to set
+ */
+ public void setHandler(MediaTypeHandler handler)
+ {
+ this.handler = handler;
+ }
+
+ /**
+ * Returns the menuIcon.
+ * @return the menuIcon
+ */
+ public String getMenuIcon()
+ {
+ return menuIcon;
+ }
+
+ /**
+ * Sets the menuIcon.
+ * @param menuIcon the menuIcon to set
+ */
+ public void setMenuIcon(String menuIcon)
+ {
+ this.menuIcon = menuIcon;
+ }
+
+ /**
+ * Returns the dialog.
+ * @return the dialog
+ */
+ public String getDialog()
+ {
+ return dialog;
+ }
+
+ /**
+ * Sets the dialog.
+ * @param dialog the dialog to set
+ */
+ public void setDialog(String dialog)
+ {
+ this.dialog = dialog;
+ }
+
+ /**
+ * Returns the name.
+ * @return the name
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the name.
+ * @param name the name to set
+ */
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ /**
+ * Returns the extensions.
+ * @return the extensions
+ */
+ public List<String> getExtensions()
+ {
+ return extensions;
+ }
+
+ /**
+ * Sets the extensions.
+ * @param extensions the extensions to set
+ */
+ public void setExtensions(List<String> extensions)
+ {
+ this.extensions = extensions;
+ }
+
+}
Property changes on: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaTypeConfiguration.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogCustomSaveHandler.java
===================================================================
--- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogCustomSaveHandler.java (rev 0)
+++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogCustomSaveHandler.java 2008-11-10 15:40:59 UTC (rev 926)
@@ -0,0 +1,74 @@
+/**
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package net.sourceforge.openutils.mgnlmedia.media.dialog;
+
+import info.magnolia.cms.core.Content;
+import info.magnolia.cms.gui.dialog.DialogBox;
+
+import java.io.IOException;
+import java.io.Writer;
+
+import javax.jcr.RepositoryException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+
+/**
+ * @author molaschi
+ * @version $Id$
+ */
+public class DialogCustomSaveHandler extends DialogBox
+{
+
+ private Content configNode;
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void init(HttpServletRequest request, HttpServletResponse response, Content storageNode, Content configNode)
+ throws RepositoryException
+ {
+ this.configNode = configNode;
+ super.init(request, response, storageNode, configNode);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void drawHtmlPost(Writer out) throws IOException
+ {
+ out.write(this.getHtmlDescription());
+
+ out.write("<input type=\"hidden\" name=\"");
+ out.write(this.getName());
+ out.write("_saveHandler\" value=\"");
+ out.write("net.sourceforge.openutils.mgnlmedia.media.save.MediaCustomSaveHandler");
+ out.write("\" />");
+
+ out.write("<input type=\"hidden\" name=\"");
+ out.write(this.getName());
+ out.write("_configNode\" value=\"");
+ out.write(configNode.getHandle());
+ out.write("\" />");
+
+ out.write("</td></tr>\n"); //$NON-NLS-1$
+ }
+
+}
Property changes on: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogCustomSaveHandler.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogFileAudio.java
===================================================================
--- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogFileAudio.java (rev 0)
+++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogFileAudio.java 2008-11-10 15:40:59 UTC (rev 926)
@@ -0,0 +1,194 @@
+/**
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package net.sourceforge.openutils.mgnlmedia.media.dialog;
+
+import info.magnolia.cms.beans.config.MIMEMapping;
+import info.magnolia.cms.gui.control.File;
+import info.magnolia.cms.gui.dialog.DialogFile;
+import info.magnolia.cms.gui.misc.CssConstants;
+import info.magnolia.cms.gui.misc.Spacer;
+
+import java.io.IOException;
+import java.io.Writer;
+
+import javax.jcr.PropertyType;
+
+import net.sourceforge.openutils.mgnlmedia.media.configuration.MediaConfigurationManager;
+
+
+/**
+ * @author molaschi
+ * @version Id:
+ */
+public class DialogFileAudio extends DialogFile
+{
+
+ /**
+ * {@inheritDoc}
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void initImageExtensions()
+ {
+ this.getImageExtensions().add("mp3");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void drawHtml(Writer out) throws IOException
+ {
+ File control = getFileControl();
+ control.setType(this.getConfigValue("type", PropertyType.TYPENAME_STRING)); //$NON-NLS-1$
+ control.setSaveInfo(false); // set manualy below
+ control.setCssClass(CssConstants.CSSCLASS_FILE);
+ control.setCssClassFileName(CssConstants.CSSCLASS_EDIT);
+ control.setCssStyles("width", this.getConfigValue("width", "100%")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+
+ this.drawHtmlPre(out);
+
+ String width = this.getConfigValue("width", "100%"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ final boolean preview = Boolean.valueOf(getConfigValue("preview", "true")).booleanValue();
+ final boolean extensionIsDisplayableImage = this.getImageExtensions().contains(
+ control.getExtension().toLowerCase());
+ final boolean showImage = extensionIsDisplayableImage && preview;
+
+ String htmlControlBrowse = control.getHtmlBrowse();
+ StringBuffer htmlControlFileName = new StringBuffer();
+ htmlControlFileName.append("<span class=\"" //$NON-NLS-1$
+ + CssConstants.CSSCLASS_DESCRIPTION
+ + "\">" //$NON-NLS-1$
+ + getMessage("dialog.file.filename") //$NON-NLS-1$
+ + "</span>"); //$NON-NLS-1$
+ htmlControlFileName.append(Spacer.getHtml(1, 1));
+ htmlControlFileName.append(control.getHtmlFileName() + "<span id=\"" //$NON-NLS-1$
+ + this.getName()
+ + "_fileNameExtension\">." //$NON-NLS-1$
+ + control.getExtension()
+ + "</span>"); //$NON-NLS-1$
+ String htmlContentEmpty = htmlControlBrowse + Spacer.getHtml(0, 0) + htmlControlFileName;
+ out.write("<div id=\"" + this.getName() + "_contentDiv\" style=\"width:100%;\">"); //$NON-NLS-1$ //$NON-NLS-2$
+ boolean exists = false;
+
+ if (this.getStorageNode() != null)
+ {
+ exists = this.getStorageNode().getNodeData(this.getName()).isExist();
+ }
+
+ if (!exists)
+ {
+ out.write(htmlContentEmpty);
+ out.write("</div>"); //$NON-NLS-1$
+ }
+ else
+ {
+ if (showImage)
+ {
+
+ out.write("\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"" + width + "\">"); //$NON-NLS-1$ //$NON-NLS-2$
+ out.write("<tr><td class=\"" + CssConstants.CSSCLASS_FILEIMAGE + "\">"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ out.write("\n<div id=\"container");
+ out.write(this.getName());
+ out
+ .write("\"><a href=\"http://www.macromedia.com/go/getflashplayer\">Get the Flash Player</a> to see this player.</div>");
+
+ out.write("<script type=\"text/javascript\" src=\"");
+ out.write(this.getRequest().getContextPath());
+ out.write("/.resources/media/js/swfobject.js\"></script>");
+ out.write("\n<script type=\"text/javascript\" src=\"");
+ out.write(this.getRequest().getContextPath());
+ out.write("/.resources/media/js/swfobject.js\"></script>");
+
+ out.write("\n<script type=\"text/javascript\">");
+ out.write("\nvar s1 = new SWFObject(\"");
+ out.write(this.getRequest().getContextPath());
+ out.write("/.resources/media/players/player.swf\",\"ply\",\"320\",\"20\",\"9\",\"#FFFFFF\");");
+ out.write("\ns1.addParam(\"flashvars\",\"file=");
+ out.write(this.getRequest().getContextPath());
+ out.write(MediaConfigurationManager.getInstance().getURIMappingPrefix());
+ out.write(getFileURI(control));
+ out.write("/");
+ out.write(control.getFileName());
+ out.write(".mp3");
+ out.write("\");");
+ out.write("\ns1.write(\"container");
+ out.write(this.getName());
+
+ out.write("\");\n</script>");
+
+ /*
+ * // flash movie out.write("<object type=\"application/x-shockwave-flash\" data=\"");
+ * out.write(this.getRequest().getContextPath()); out.write("/.resources/media/players/player.swf");
+ * out.write("\" title=\""); out.write(control.getFileName()); out.write("\" ");
+ * out.write("width=\"320\" "); out.write("height=\"30\" "); out.write(">"); out.write("<param
+ * name=\"movie\" value=\""); out.write(this.getRequest().getContextPath());
+ * out.write("/.resources/media/players/player.swf"); out.write("\"/>"); out.write("<param
+ * name=\"flashvars\" value=\"file="); out.write(this.getRequest().getContextPath());
+ * out.write(getFileURI(control)); out.write("\"/>"); out.write("</object>\n");
+ */
+ out.write("</td></tr><tr><td>"); //$NON-NLS-1$
+
+ }
+ out.write(htmlControlFileName.toString());
+ if (!showImage)
+ {
+ String iconPath = MIMEMapping.getMIMETypeIcon(control.getExtension());
+
+ out.write(Spacer.getHtml(0, 0));
+ out.write("<a href=" + this.getRequest().getContextPath() + control.getPath() + " target=\"_blank\">"); //$NON-NLS-1$ //$NON-NLS-2$
+ out.write("<img src=\"" //$NON-NLS-1$
+ + this.getRequest().getContextPath()
+ + iconPath
+ + "\" class=\"" //$NON-NLS-1$
+ + CssConstants.CSSCLASS_FILEICON
+ + "\" border=\"0\">"); //$NON-NLS-1$
+ out.write(control.getFileName() + "." + control.getExtension() + "</a>"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ out.write(Spacer.getHtml(12, 12));
+ out.write(control.getHtmlRemove("mgnlDialogFileRemove('" + this.getName() + "');")); //$NON-NLS-1$ //$NON-NLS-2$
+ if (showImage)
+ {
+ out.write("</td></tr></table>"); //$NON-NLS-1$
+ }
+ out.write("</div>\n"); //$NON-NLS-1$
+ out.write("<div style=\"position:absolute;top:-500px;left:-500px;visibility:hidden;\">\n<textarea id=\""); //$NON-NLS-1$
+ out.write(this.getName());
+ out.write("_contentEmpty\">");//$NON-NLS-1$
+ out.write(htmlContentEmpty);
+
+ // @todo should be escaped, but we need to test it
+ // out.write(StringEscapeUtils.escapeXml(htmlContentEmpty));
+ out.write("</textarea>\n</div>\n"); //$NON-NLS-1$
+ }
+ control.setSaveInfo(true);
+ out.write(control.getHtmlSaveInfo());
+ control.setNodeDataTemplate(this.getConfigValue("nodeDataTemplate", null)); //$NON-NLS-1$
+ out.write(control.getHtmlNodeDataTemplate());
+ this.drawHtmlPost(out);
+ }
+
+ private String getPreviewUrl()
+ {
+ return MediaConfigurationManager.getInstance().getURIMappingPrefix()
+ + this.getStorageNode().getHandle()
+ + "/resolutions/thumbnail/data.jpg";
+ }
+}
Property changes on: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogFileAudio.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogFileImage.java
===================================================================
--- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogFileImage.java (rev 0)
+++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogFileImage.java 2008-11-10 15:40:59 UTC (rev 926)
@@ -0,0 +1,240 @@
+/**
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package net.sourceforge.openutils.mgnlmedia.media.dialog;
+
+import info.magnolia.cms.beans.config.MIMEMapping;
+import info.magnolia.cms.gui.control.File;
+import info.magnolia.cms.gui.dialog.DialogFile;
+import info.magnolia.cms.gui.misc.CssConstants;
+import info.magnolia.cms.gui.misc.Spacer;
+
+import java.io.IOException;
+import java.io.Writer;
+
+import javax.jcr.PropertyType;
+
+import net.sourceforge.openutils.mgnlmedia.media.configuration.MediaConfigurationManager;
+
+import org.apache.commons.lang.StringUtils;
+
+
+/**
+ * @author molaschi
+ * @version Id:
+ */
+public class DialogFileImage extends DialogFile
+{
+
+ /**
+ * {@inheritDoc}
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void initImageExtensions()
+ {
+ this.getImageExtensions().add("jpg");
+ this.getImageExtensions().add("jpeg");
+ this.getImageExtensions().add("gif");
+ this.getImageExtensions().add("png");
+ this.getImageExtensions().add("bmp");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void drawHtml(Writer out) throws IOException
+ {
+ File control = getFileControl();
+ control.setType(this.getConfigValue("type", PropertyType.TYPENAME_STRING));
+ control.setSaveInfo(false); // set manualy below
+ control.setCssClass(CssConstants.CSSCLASS_FILE);
+ control.setCssClassFileName(CssConstants.CSSCLASS_EDIT);
+ control.setCssStyles("width", this.getConfigValue("width", "100%")); //$NON-NLS-3$
+
+ this.drawHtmlPre(out);
+
+ String width = this.getConfigValue("width", "100%");
+
+ final boolea...
[truncated message content] |