Author: snoopdave
Date: Mon Jul 30 14:27:14 2007
New Revision: 561131
URL: http://svn.apache.org/viewvc?view=rev&rev=561131
Log:
Fixing http://opensource.atlassian.com/projects/roller/browse/ROL-1504
Multiple problems with entry enclosure/MediaCast: entry attributes were not being persisted, MediaCast was not being saved/remove in EntryEdit.java, typo in resource name, etc.
Fixing http://opensource.atlassian.com/projects/roller/browse/ROL-1487
Added permalink back to entry page, but made it optional (defaulting to enabled)
Modified:
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.orm.xml
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/util/MediacastUtil.java
roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties
roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/EntryEdit.jsp
Modified:
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties
URL:
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties?view=diff&rev=561131&r1=561130&r2=561131
==============================================================================
---
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties
(original)
+++
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties
Mon Jul 30 14:27:14 2007
@@ -652,6 +652,9 @@
# Characters to be allowed in user names (change at your own risk)
username.allowedChars=A-Za-z0-9
+# weblog entry editor
+weblogentry.editor.showFullPermalink=true
+
# editor theme to be used (corresponds to directory name under /theme)
editor.theme=tan
Modified:
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.java
URL:
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.java?view=diff&rev=561131&r1=561130&r2=561131
==============================================================================
---
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.java
(original)
+++
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.java
Mon Jul 30 14:27:14 2007
@@ -429,9 +429,11 @@
att.setValue(value);
}
}
+
public void onRemoveEntryAttribute(WeblogEntryAttribute att) throws WebloggerException {
attMap.remove(att.getName());
}
+
//-------------------------------------------------------------------------
/**
Modified:
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.orm.xml
URL:
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.orm.xml?view=diff&rev=561131&r1=561130&r2=561131
==============================================================================
---
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.orm.xml
(original)
+++
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/WeblogEntry.orm.xml
Mon Jul 30 14:27:14 2007
@@ -143,7 +143,7 @@
</many-to-one>
<one-to-many name="entryAttributes" mapped-by="entry"
target-entity="org.apache.roller.weblogger.pojos.WeblogEntryAttribute" fetch="LAZY">
<cascade>
- <cascade-remove/>
+ <cascade-persist/>
</cascade>
</one-to-many>
<one-to-many name="tags" mapped-by="weblogEntry"
target-entity="org.apache.roller.weblogger.pojos.WeblogEntryTag" fetch="LAZY">
Modified:
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java
URL:
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java?view=diff&rev=561131&r1=561130&r2=561131
==============================================================================
---
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java
(original)
+++
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java
Mon Jul 30 14:27:14 2007
@@ -35,6 +35,9 @@
import org.apache.roller.weblogger.pojos.WeblogEntry;
import org.apache.roller.weblogger.util.cache.CacheManager;
import org.apache.roller.weblogger.util.MailUtil;
+import org.apache.roller.weblogger.util.MediacastException;
+import org.apache.roller.weblogger.util.MediacastResource;
+import org.apache.roller.weblogger.util.MediacastUtil;
import org.apache.roller.weblogger.util.RollerMessages;
import org.apache.roller.weblogger.util.RollerMessages.RollerMessage;
import org.apache.roller.weblogger.util.Trackback;
@@ -150,13 +153,31 @@
entry.setPinnedToMain(getBean().getPinnedToMain());
}
-// // Fetch MediaCast content type and length
-// log.debug("Checking MediaCast attributes");
-// if (!checkMediaCast(entry)) {
-// log.debug("Invalid MediaCast attributes");
-// } else {
-// log.debug("Validated MediaCast attributes");
-// }
+ if(!StringUtils.isEmpty(getBean().getEnclosureURL())) {
+ try {
+ // Fetch MediaCast resource
+ log.debug("Checking MediaCast attributes");
+ MediacastResource mediacast =
MediacastUtil.lookupResource(getBean().getEnclosureURL());
+
+ // set mediacast attributes
+ entry.putEntryAttribute("att_mediacast_url",
mediacast.getUrl());
+ entry.putEntryAttribute("att_mediacast_type",
mediacast.getContentType());
+ entry.putEntryAttribute("att_mediacast_length",
""+mediacast.getLength());
+
+ } catch (MediacastException ex) {
+ addMessage(getText(ex.getErrorKey()));
+ }
+ } else {
+ try {
+ // if MediaCast string is empty, clean out MediaCast
attributes
+ weblogMgr.removeWeblogEntryAttribute("att_mediacast_url",
entry);
+ weblogMgr.removeWeblogEntryAttribute("att_mediacast_type",
entry);
+
weblogMgr.removeWeblogEntryAttribute("att_mediacast_length", entry);
+
+ } catch (WebloggerException e) {
+ addMessage(getText("weblogEdit.mediaCastErrorRemoving"));
+ }
+ }
if(log.isDebugEnabled()) {
log.debug("entry bean is ...\n"+getBean().toString());
Modified:
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/util/MediacastUtil.java
URL:
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/util/MediacastUtil.java?view=diff&rev=561131&r1=561130&r2=561131
==============================================================================
---
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/util/MediacastUtil.java
(original)
+++
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/util/MediacastUtil.java
Mon Jul 30 14:27:14 2007
@@ -84,20 +84,7 @@
} catch (Exception e) {
log.error("ERROR while checking MediaCast URL: " + url + ": " +
e.getMessage());
throw new MediacastException(CHECK_FAILED,
"weblogEdit.mediaCastFailedFetchingInfo", e);
- }
-
-// if (!valid) {
-// log.debug("Removing MediaCast attributes");
-// WeblogManager weblogManager =
WebloggerFactory.getRoller().getWeblogManager();
-// try {
-//
weblogManager.removeWeblogEntryAttribute("att_mediacast_url", entry);
-//
weblogManager.removeWeblogEntryAttribute("att_mediacast_type", entry);
-//
weblogManager.removeWeblogEntryAttribute("att_mediacast_length", entry);
-// } catch (Exception e) {
-// log.error("ERROR removing invalid MediaCast attributes");
-// }
-// }
-
+ }
return resource;
}
Modified:
roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties
URL:
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties?view=diff&rev=561131&r1=561130&r2=561131
==============================================================================
---
roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties
(original)
+++
roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties
Mon Jul 30 14:27:14 2007
@@ -1752,12 +1752,13 @@
weblogEdit.enclosureURL=Enclosure URL
weblogEdit.enclosureType=Type
-weblogEdit.encosureLegnth=Length
+weblogEdit.enclosureLength=Length
weblogEdit.encosureInvalid=Enclosure URL is invalid
weblogEdit.mediaCastFailedFetchingInfo=Unable to reach the enclosure. Check
the hostname in the URL.
weblogEdit.mediaCastUrlMalformed=The enclosure URL was malformed.
weblogEdit.mediaCastResponseError=The enclosure server returned an error. Do
you have the right URL?
weblogEdit.mediaCastLacksContentTypeOrLength=Unable to use enclosure URL.
Server provided no content type or no length.
+weblogEdit.mediaCastErrorRemoving=Error removing MediaCast from weblog entry
weblogEdit.error.incompleteEntry=Entry must have a title
# errors from validation
Modified: roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/EntryEdit.jsp
URL:
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/EntryEdit.jsp?view=diff&rev=561131&r1=561130&r2=561131
==============================================================================
--- roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/EntryEdit.jsp (original)
+++ roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/EntryEdit.jsp Mon Jul
30 14:27:14 2007
@@ -59,8 +59,12 @@
<s:text name="weblogEdit.published" />
(<s:text name="weblogEdit.updateTime" />
<s:date name="entry.updateTime" format="dd/MM/yyyy hh:mm
a" />)
- <img src="<s:url
value="/images/launch-link.png"/>" />
- <a href='<s:property value="entry.permalink" />'><s:text
name="weblogEdit.permaLink" /></a>
+
+ <s:if test='!getBooleanProp("weblogentry.editor.showFullPermalink")'>
+ <img src='<s:url
value="/images/launch-link.png"/>' />
+ <a href='<s:property value="entry.permalink" />'><s:text
name="weblogEdit.permaLink" /></a>
+ </s:if>
+
</span>
</s:if>
<s:elseif test="bean.draft">
@@ -81,6 +85,23 @@
</td>
</tr>
+ <s:if test='getBooleanProp("weblogentry.editor.showFullPermalink")'>
+ <tr>
+ <td class="permalinkLabel">
+ <label for="permalink"><s:text name="weblogEdit.permaLink"
/></label>
+ </td>
+ <td>
+ <s:if test="bean.published">
+ <a href='<s:property value="entry.permalink" />'><s:property
value="entry.permalink" /></a>
+ <img src='<s:url value="/images/launch-link.png"/>' />
+ </s:if>
+ <s:else>
+ <s:property value="entry.permalink" />
+ </s:else>
+ </td>
+ </tr>
+ </s:if>
+
<tr>
<td class="entryEditFormLabel">
<label for="categoryId"><s:text name="weblogEdit.category"
/></label>
@@ -205,8 +226,8 @@
<s:text name="weblogEdit.enclosureURL" />: <s:textfield name="bean.enclosureURL" size="40" maxlength="255" />
<s:if test="bean.enclosureURL != null">
- <s:text name="weblogEdit.enclosureType" />: <s:property
value="entry.attributes['att_mediacast_type']" />
- <s:text name="weblogEdit.enclosureLength" />: <s:property
value="entry.attributes['att_mediacast_length']" />
+ <s:text name="weblogEdit.enclosureType" />: <s:property
value='entry.findEntryAttribute("att_mediacast_type")' />
+ <s:text name="weblogEdit.enclosureLength" />: <s:property
value='entry.findEntryAttribute("att_mediacast_length")' />
</s:if>
</div>