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] |