Author: carlucci
Date: Wed Jul 18 16:36:19 2012
New Revision: 1363010
URL: http://svn.apache.org/viewvc?rev=1363010&view=rev
Log:
RAVE-624: Shindig common container is hard coded to debug script. Patch
supplied by Aaron Gooch
Added:
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/PortalPreferenceJavascriptDebugModeEventListener.java
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/PortalPreferenceJavascriptDebugModeSaveEvent.java
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/RaveEvent.java
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/RaveEventListener.java
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/RaveEventManager.java
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/util/
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/util/PortalPreferenceKeys.java
Removed:
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/util/PortalPreferenceKeys.java
Modified:
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultPortalPreferenceService.java
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/renderer/ScriptManager.java
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/renderer/impl/DefaultScriptManager.java
rave/trunk/rave-components/rave-core/src/main/resources/org/apache/rave/core-applicationContext.xml
rave/trunk/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultPortalPreferenceServiceTest.java
rave/trunk/rave-components/rave-core/src/test/java/org/apache/rave/portal/web/renderer/ScriptManagerTest.java
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/tag/RegionWidgetTag.java
rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/tag/RegionWidgetTagTest.java
rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/config/OpenSocialEnvironment.java
rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/web/renderer/OpenSocialWidgetRenderer.java
rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/test/java/org/apache/rave/provider/opensocial/web/renderer/OpenSocialWidgetRendererTest.java
rave/trunk/rave-providers/rave-w3c-provider/src/main/java/org/apache/rave/provider/w3c/web/renderer/W3cWidgetRenderer.java
Added:
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/PortalPreferenceJavascriptDebugModeEventListener.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/PortalPreferenceJavascriptDebugModeEventListener.java?rev=1363010&view=auto
==============================================================================
---
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/PortalPreferenceJavascriptDebugModeEventListener.java
(added)
+++
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/PortalPreferenceJavascriptDebugModeEventListener.java
Wed Jul 18 16:36:19 2012
@@ -0,0 +1,24 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.rave.portal.events;
+
+public interface PortalPreferenceJavascriptDebugModeEventListener extends
RaveEventListener {
+
+
+}
Added:
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/PortalPreferenceJavascriptDebugModeSaveEvent.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/PortalPreferenceJavascriptDebugModeSaveEvent.java?rev=1363010&view=auto
==============================================================================
---
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/PortalPreferenceJavascriptDebugModeSaveEvent.java
(added)
+++
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/PortalPreferenceJavascriptDebugModeSaveEvent.java
Wed Jul 18 16:36:19 2012
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.rave.portal.events;
+
+import java.util.EventObject;
+
+public class PortalPreferenceJavascriptDebugModeSaveEvent extends EventObject
implements RaveEvent {
+
+ public PortalPreferenceJavascriptDebugModeSaveEvent(Object source) {
+ super(source);
+ }
+
+
+}
Added:
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/RaveEvent.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/RaveEvent.java?rev=1363010&view=auto
==============================================================================
---
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/RaveEvent.java
(added)
+++
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/RaveEvent.java
Wed Jul 18 16:36:19 2012
@@ -0,0 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.rave.portal.events;
+
+public interface RaveEvent {
+}
Added:
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/RaveEventListener.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/RaveEventListener.java?rev=1363010&view=auto
==============================================================================
---
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/RaveEventListener.java
(added)
+++
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/RaveEventListener.java
Wed Jul 18 16:36:19 2012
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.rave.portal.events;
+
+public interface RaveEventListener {
+
+ void handleEvent(RaveEvent event);
+}
Added:
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/RaveEventManager.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/RaveEventManager.java?rev=1363010&view=auto
==============================================================================
---
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/RaveEventManager.java
(added)
+++
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/events/RaveEventManager.java
Wed Jul 18 16:36:19 2012
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.rave.portal.events;
+
+import org.springframework.stereotype.Component;
+
+import java.util.*;
+
+@Component
+public class RaveEventManager {
+
+ private final Map<Class<? extends RaveEvent>, Set<RaveEventListener>>
eventListenerMap;
+
+ public RaveEventManager() {
+ this.eventListenerMap = new Hashtable<Class<? extends RaveEvent>,
Set<RaveEventListener>> ();
+ }
+
+ public void addListener(Class<? extends RaveEvent> event,
RaveEventListener listener) {
+ synchronized (eventListenerMap){
+ if (eventListenerMap.containsKey(event)){
+ Set<RaveEventListener> eventListeners =
eventListenerMap.get(event);
+ if(eventListeners == null){
+ eventListeners = new HashSet<RaveEventListener>();
+ }
+ eventListeners.add(listener);
+ } else {
+ Set<RaveEventListener> eventListeners = new
HashSet<RaveEventListener>();
+ eventListeners.add(listener);
+ eventListenerMap.put(event, eventListeners);
+ }
+ }
+ }
+
+ public void removeListener(Class<? extends RaveEvent> event,
RaveEventListener listener) {
+ synchronized (eventListenerMap){
+ if(eventListenerMap.containsKey(event))
+ eventListenerMap.get(event).remove(listener);
+ }
+ }
+
+ public synchronized void fireEvent(RaveEvent event){
+ Set<RaveEventListener> listeners =
eventListenerMap.get(event.getClass());
+ if (listeners != null && !listeners.isEmpty()){
+ for (RaveEventListener listener :
eventListenerMap.get(event.getClass())) {
+ listener.handleEvent(event);
+ }
+ }
+ }
+}
Modified:
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultPortalPreferenceService.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultPortalPreferenceService.java?rev=1363010&r1=1363009&r2=1363010&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultPortalPreferenceService.java
(original)
+++
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultPortalPreferenceService.java
Wed Jul 18 16:36:19 2012
@@ -19,10 +19,13 @@
package org.apache.rave.portal.service.impl;
+import
org.apache.rave.portal.events.PortalPreferenceJavascriptDebugModeSaveEvent;
+import org.apache.rave.portal.events.RaveEventManager;
import org.apache.rave.portal.model.PortalPreference;
import org.apache.rave.portal.model.impl.PortalPreferenceImpl;
import org.apache.rave.portal.repository.PortalPreferenceRepository;
import org.apache.rave.portal.service.PortalPreferenceService;
+import org.apache.rave.portal.web.util.PortalPreferenceKeys;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -39,10 +42,12 @@ import java.util.Map;
public class DefaultPortalPreferenceService implements PortalPreferenceService
{
private final PortalPreferenceRepository repository;
+ private final RaveEventManager eventManager;
@Autowired
- public DefaultPortalPreferenceService(PortalPreferenceRepository
repository) {
+ public DefaultPortalPreferenceService(PortalPreferenceRepository
repository, RaveEventManager manager) {
this.repository = repository;
+ this.eventManager = manager;
}
@Override
@@ -85,5 +90,8 @@ public class DefaultPortalPreferenceServ
@Transactional
public void savePreference(PortalPreference preference) {
repository.save(preference);
+ if
(preference.getKey().equals(PortalPreferenceKeys.JAVASCRIPT_DEBUG_MODE)) {
+ eventManager.fireEvent(new
PortalPreferenceJavascriptDebugModeSaveEvent(this));
+ }
}
}
Modified:
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/renderer/ScriptManager.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/renderer/ScriptManager.java?rev=1363010&r1=1363009&r2=1363010&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/renderer/ScriptManager.java
(original)
+++
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/renderer/ScriptManager.java
Wed Jul 18 16:36:19 2012
@@ -39,17 +39,19 @@ public interface ScriptManager {
/**
* Registers a global script block for inclusion in every page
+ * @param key
* @param script the string representation of the script block
* @param location the location in the page to render the script
*/
- void registerScriptBlock(String script, ScriptLocation location);
+ void registerScriptBlock(String key, String script, ScriptLocation
location);
/**
* Registers a script block for inclusion in the page
+ * @param key
* @param script the string representation of the script block
* @param location the location in the page to render the script
* @param scope indicates the scope under which this script should be
registered
* @param context the context under which to register the script
*/
- void registerScriptBlock(String script, ScriptLocation location,
RenderScope scope, RenderContext context);
+ void registerScriptBlock(String key, String script, ScriptLocation
location, RenderScope scope, RenderContext context);
}
Modified:
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/renderer/impl/DefaultScriptManager.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/renderer/impl/DefaultScriptManager.java?rev=1363010&r1=1363009&r2=1363010&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/renderer/impl/DefaultScriptManager.java
(original)
+++
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/renderer/impl/DefaultScriptManager.java
Wed Jul 18 16:36:19 2012
@@ -37,74 +37,79 @@ import java.util.*;
@Service
public class DefaultScriptManager implements ScriptManager{
private static final String KEY = "KEY";
- private final Map<ScriptLocation, List<String>> scriptRenderers;
+ private final Map<ScriptLocation, Map<String, String>> scriptRenderers;
public DefaultScriptManager() {
- this.scriptRenderers = new HashMap<ScriptLocation, List<String>>();
+ this.scriptRenderers = new HashMap<ScriptLocation, Map<String,
String>>();
}
@Override
public List<String> getScriptBlocks(ScriptLocation location, RenderContext
context) {
- List<String> combined = new LinkedList<String>();
+ Map<String, String> combined = new LinkedHashMap<String, String>();
getAndAdd(location, combined, scriptRenderers);
getAndAdd(location, combined, getOrCreateScriptMap(context));
- return combined;
+ List<String> scriptContent = new ArrayList<String>();
+ for(Map.Entry<String, String> entry: combined.entrySet()){
+ scriptContent.add(entry.getValue());
+ }
+ return scriptContent;
}
@Override
- public void registerScriptBlock(String script, ScriptLocation location) {
- addScriptToMap(script, location, scriptRenderers);
+ public void registerScriptBlock(String key, String script, ScriptLocation
location) {
+ addScriptToMap(key, script, location, scriptRenderers);
}
@Override
- public void registerScriptBlock(String script, ScriptLocation location,
RenderScope scope, RenderContext context) {
+ public void registerScriptBlock(String key, String script, ScriptLocation
location, RenderScope scope, RenderContext context) {
switch(scope) {
case GLOBAL:
- registerScriptBlock(script, location);
+ registerScriptBlock(key, script, location);
break;
case CURRENT_REQUEST:
- addScriptToContext(script, location, context);
+ addScriptToContext(key, script, location, context);
break;
default:
throw new NotSupportedException("The scope, " + scope + " , is
not supported by the script manager");
}
}
- private static void getAndAdd(ScriptLocation location, List<String>
output, Map<ScriptLocation, List<String>> map) {
- List<String> scripts = map.get(location);
+ private static void getAndAdd(ScriptLocation location, Map<String, String>
output, Map<ScriptLocation, Map<String, String>> map) {
+ Map<String, String> scripts = map.get(location);
if(scripts != null) {
- output.addAll(scripts);
+ output.putAll(scripts);
}
}
- private static void addScriptToContext(String script, ScriptLocation
location, RenderContext context) {
- Map<ScriptLocation, List<String>> scriptMap =
getOrCreateScriptMap(context);
- addScriptToMap(script, location, scriptMap);
+ private static void addScriptToContext(String key, String script,
ScriptLocation location, RenderContext context) {
+ Map<ScriptLocation, Map<String,String>> scriptMap =
getOrCreateScriptMap(context);
+ addScriptToMap(key, script, location, scriptMap);
}
- private static void addScriptToMap(String script, ScriptLocation location,
Map<ScriptLocation, List<String>> scripts) {
+ private static void addScriptToMap(String key, String script,
ScriptLocation location, Map<ScriptLocation, Map<String, String>> scripts) {
if (!scripts.containsKey(location)) {
- addListForLocation(location, scripts);
+ addMapForLocation(location, scripts);
}
- scripts.get(location).add(script);
+ scripts.get(location).put(key, script);
}
//Lock on the instance of hte map to ensure that only one put per location
takes place
@Synchronized(discriminator = "'SM_#map.toString()'", id = "#location")
- private static void addListForLocation(ScriptLocation location,
Map<ScriptLocation, List<String>> map) {
+ private static void addMapForLocation(ScriptLocation location,
Map<ScriptLocation, Map<String, String>> map) {
if (!map.containsKey(location)) {
- map.put(location, new ArrayList<String>());
+ map.put(location, new HashMap<String, String>());
}
}
+
@SuppressWarnings("unchecked")
- private static Map<ScriptLocation, List<String>>
getOrCreateScriptMap(RenderContext context) {
+ private static Map<ScriptLocation, Map<String,String>>
getOrCreateScriptMap(RenderContext context) {
if(context == null) {
throw new IllegalArgumentException("Cannot have a null render
context");
}
- Map<ScriptLocation, List<String>> scriptMap = (Map<ScriptLocation,
List<String>>)context.getProperties().get(KEY);
+ Map<ScriptLocation, Map<String,String>> scriptMap =
(Map<ScriptLocation, Map<String, String>>)context.getProperties().get(KEY);
if(scriptMap == null) {
- scriptMap = new HashMap<ScriptLocation, List<String>>();
+ scriptMap = new HashMap<ScriptLocation, Map<String,String>>();
context.getProperties().put(KEY, scriptMap);
}
return scriptMap;
Added:
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/util/PortalPreferenceKeys.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/util/PortalPreferenceKeys.java?rev=1363010&view=auto
==============================================================================
---
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/util/PortalPreferenceKeys.java
(added)
+++
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/util/PortalPreferenceKeys.java
Wed Jul 18 16:36:19 2012
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.rave.portal.web.util;
+
+/**
+ * Utility class for {@link org.apache.rave.portal.model.PortalPreference} keys
+ */
+public final class PortalPreferenceKeys {
+ private PortalPreferenceKeys() { }
+
+ public static final String TITLE_SUFFIX = "titleSuffix";
+ public static final String PAGE_SIZE = "pageSize";
+ public static final String JAVASCRIPT_DEBUG_MODE = "javaScriptDebugMode";
+}
Modified:
rave/trunk/rave-components/rave-core/src/main/resources/org/apache/rave/core-applicationContext.xml
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/resources/org/apache/rave/core-applicationContext.xml?rev=1363010&r1=1363009&r2=1363010&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-core/src/main/resources/org/apache/rave/core-applicationContext.xml
(original)
+++
rave/trunk/rave-components/rave-core/src/main/resources/org/apache/rave/core-applicationContext.xml
Wed Jul 18 16:36:19 2012
@@ -45,6 +45,7 @@
<!-- rave-core component base-package scan -->
<context:component-scan base-package="org.apache.rave.portal.model"/>
+ <context:component-scan base-package="org.apache.rave.portal.events"/>
<context:component-scan base-package="org.apache.rave.portal.repository"/>
<context:component-scan base-package="org.apache.rave.portal.service"/>
<context:component-scan base-package="org.apache.rave.portal.security"/>
@@ -149,4 +150,4 @@
</property>
</bean>
-->
-</beans>
\ No newline at end of file
+</beans>
Modified:
rave/trunk/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultPortalPreferenceServiceTest.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultPortalPreferenceServiceTest.java?rev=1363010&r1=1363009&r2=1363010&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultPortalPreferenceServiceTest.java
(original)
+++
rave/trunk/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultPortalPreferenceServiceTest.java
Wed Jul 18 16:36:19 2012
@@ -19,6 +19,7 @@
package org.apache.rave.portal.service.impl;
+import org.apache.rave.portal.events.RaveEventManager;
import org.apache.rave.portal.model.PortalPreference;
import org.apache.rave.portal.model.impl.PortalPreferenceImpl;
import org.apache.rave.portal.repository.PortalPreferenceRepository;
@@ -41,11 +42,13 @@ public class DefaultPortalPreferenceServ
PortalPreferenceService service;
PortalPreferenceRepository repository;
+ RaveEventManager manager;
@Before
public void setUp() throws Exception {
repository = createMock(PortalPreferenceRepository.class);
- service = new DefaultPortalPreferenceService(repository);
+ manager = createMock(RaveEventManager.class);
+ service = new DefaultPortalPreferenceService(repository, manager);
}
@Test
@@ -109,6 +112,7 @@ public class DefaultPortalPreferenceServ
expect(repository.getByKey(key)).andReturn(null).once();
expect(repository.save(fooBar)).andReturn(fooBarSaved).once();
+
replay(repository);
service.savePreference(key, value);
verify(repository);
Modified:
rave/trunk/rave-components/rave-core/src/test/java/org/apache/rave/portal/web/renderer/ScriptManagerTest.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/test/java/org/apache/rave/portal/web/renderer/ScriptManagerTest.java?rev=1363010&r1=1363009&r2=1363010&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-core/src/test/java/org/apache/rave/portal/web/renderer/ScriptManagerTest.java
(original)
+++
rave/trunk/rave-components/rave-core/src/test/java/org/apache/rave/portal/web/renderer/ScriptManagerTest.java
Wed Jul 18 16:36:19 2012
@@ -36,6 +36,8 @@ public class ScriptManagerTest {
public static final String SCRIPT_1 = "FOO";
public static final String SCRIPT_2 = "BAR";
+ public static final String SCRIPT_1_KEY = "f";
+ public static final String SCRIPT_2_KEY = "b";
private ScriptManager manager;
private RenderContext context;
@@ -51,7 +53,7 @@ public class ScriptManagerTest {
@Test
public void registerBlockAndRetrieve_simple() {
- manager.registerScriptBlock(SCRIPT_1, ScriptLocation.BEFORE_RAVE);
+ manager.registerScriptBlock(SCRIPT_1_KEY, SCRIPT_1,
ScriptLocation.BEFORE_RAVE);
List<String> scriptBlocks =
manager.getScriptBlocks(ScriptLocation.BEFORE_RAVE, context);
assertThat(scriptBlocks.size(), is(equalTo(1)));
assertThat(scriptBlocks.get(0), is(equalTo(SCRIPT_1)));
@@ -59,7 +61,7 @@ public class ScriptManagerTest {
@Test
public void registerBlockAndRetrieve_simpleFullSignature() {
- manager.registerScriptBlock(SCRIPT_1, ScriptLocation.BEFORE_RAVE,
RenderScope.GLOBAL, context);
+ manager.registerScriptBlock(SCRIPT_1_KEY, SCRIPT_1,
ScriptLocation.BEFORE_RAVE, RenderScope.GLOBAL, context);
List<String> scriptBlocks =
manager.getScriptBlocks(ScriptLocation.BEFORE_RAVE, context);
assertThat(scriptBlocks.size(), is(equalTo(1)));
assertThat(scriptBlocks.get(0), is(equalTo(SCRIPT_1)));
@@ -67,8 +69,8 @@ public class ScriptManagerTest {
@Test
public void registerBlockAndRetrieve_list() {
- manager.registerScriptBlock(SCRIPT_1, ScriptLocation.BEFORE_RAVE);
- manager.registerScriptBlock(SCRIPT_2, ScriptLocation.BEFORE_RAVE);
+ manager.registerScriptBlock(SCRIPT_1_KEY, SCRIPT_1,
ScriptLocation.BEFORE_RAVE);
+ manager.registerScriptBlock(SCRIPT_2_KEY, SCRIPT_2,
ScriptLocation.BEFORE_RAVE);
List<String> scriptBlocks =
manager.getScriptBlocks(ScriptLocation.BEFORE_RAVE, context);
assertThat(scriptBlocks.size(), is(equalTo(2)));
assertThat(scriptBlocks.get(0), is(equalTo(SCRIPT_1)));
@@ -77,8 +79,8 @@ public class ScriptManagerTest {
@Test
public void registerBlockAndRetrieve_multi() {
- manager.registerScriptBlock(SCRIPT_1, ScriptLocation.BEFORE_RAVE);
- manager.registerScriptBlock(SCRIPT_2, ScriptLocation.AFTER_RAVE);
+ manager.registerScriptBlock(SCRIPT_1_KEY, SCRIPT_1,
ScriptLocation.BEFORE_RAVE);
+ manager.registerScriptBlock(SCRIPT_2_KEY, SCRIPT_2,
ScriptLocation.AFTER_RAVE);
List<String> scriptBlocks =
manager.getScriptBlocks(ScriptLocation.BEFORE_RAVE, context);
assertThat(scriptBlocks.size(), is(equalTo(1)));
assertThat(scriptBlocks.get(0), is(equalTo(SCRIPT_1)));
@@ -89,7 +91,7 @@ public class ScriptManagerTest {
@Test
public void registerBlockAndRetrieve_simpleInContext() {
- manager.registerScriptBlock(SCRIPT_1, ScriptLocation.BEFORE_RAVE,
RenderScope.CURRENT_REQUEST, context);
+ manager.registerScriptBlock(SCRIPT_1_KEY, SCRIPT_1,
ScriptLocation.BEFORE_RAVE, RenderScope.CURRENT_REQUEST, context);
List<String> scriptBlocks =
manager.getScriptBlocks(ScriptLocation.BEFORE_RAVE, context);
assertThat(scriptBlocks.size(), is(equalTo(1)));
assertThat(scriptBlocks.get(0), is(equalTo(SCRIPT_1)));
@@ -97,8 +99,8 @@ public class ScriptManagerTest {
@Test
public void registerBlockAndRetrieve_listInContext() {
- manager.registerScriptBlock(SCRIPT_1, ScriptLocation.BEFORE_RAVE,
RenderScope.CURRENT_REQUEST, context);
- manager.registerScriptBlock(SCRIPT_2, ScriptLocation.BEFORE_RAVE,
RenderScope.CURRENT_REQUEST, context);
+ manager.registerScriptBlock(SCRIPT_1_KEY, SCRIPT_1,
ScriptLocation.BEFORE_RAVE, RenderScope.CURRENT_REQUEST, context);
+ manager.registerScriptBlock(SCRIPT_2_KEY, SCRIPT_2,
ScriptLocation.BEFORE_RAVE, RenderScope.CURRENT_REQUEST, context);
List<String> scriptBlocks =
manager.getScriptBlocks(ScriptLocation.BEFORE_RAVE, context);
assertThat(scriptBlocks.size(), is(equalTo(2)));
assertThat(scriptBlocks.get(0), is(equalTo(SCRIPT_1)));
@@ -107,8 +109,8 @@ public class ScriptManagerTest {
@Test
public void registerBlockAndRetrieve_multiInContext() {
- manager.registerScriptBlock(SCRIPT_1, ScriptLocation.BEFORE_RAVE,
RenderScope.CURRENT_REQUEST, context);
- manager.registerScriptBlock(SCRIPT_2, ScriptLocation.AFTER_RAVE,
RenderScope.CURRENT_REQUEST, context);
+ manager.registerScriptBlock(SCRIPT_1_KEY, SCRIPT_1,
ScriptLocation.BEFORE_RAVE, RenderScope.CURRENT_REQUEST, context);
+ manager.registerScriptBlock(SCRIPT_2_KEY, SCRIPT_2,
ScriptLocation.AFTER_RAVE, RenderScope.CURRENT_REQUEST, context);
List<String> scriptBlocks =
manager.getScriptBlocks(ScriptLocation.BEFORE_RAVE, context);
assertThat(scriptBlocks.size(), is(equalTo(1)));
assertThat(scriptBlocks.get(0), is(equalTo(SCRIPT_1)));
@@ -119,8 +121,8 @@ public class ScriptManagerTest {
@Test
public void registerBlockAndRetrieve_combined() {
- manager.registerScriptBlock(SCRIPT_1, ScriptLocation.BEFORE_RAVE,
RenderScope.GLOBAL, context);
- manager.registerScriptBlock(SCRIPT_2, ScriptLocation.BEFORE_RAVE,
RenderScope.CURRENT_REQUEST, context);
+ manager.registerScriptBlock(SCRIPT_1_KEY, SCRIPT_1,
ScriptLocation.BEFORE_RAVE, RenderScope.GLOBAL, context);
+ manager.registerScriptBlock(SCRIPT_2_KEY, SCRIPT_2,
ScriptLocation.BEFORE_RAVE, RenderScope.CURRENT_REQUEST, context);
List<String> scriptBlocks =
manager.getScriptBlocks(ScriptLocation.BEFORE_RAVE, context);
assertThat(scriptBlocks.size(), is(equalTo(2)));
assertThat(scriptBlocks.get(0), is(equalTo(SCRIPT_1)));
Modified:
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/tag/RegionWidgetTag.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/tag/RegionWidgetTag.java?rev=1363010&r1=1363009&r2=1363010&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/tag/RegionWidgetTag.java
(original)
+++
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/tag/RegionWidgetTag.java
Wed Jul 18 16:36:19 2012
@@ -34,6 +34,8 @@ import javax.servlet.jsp.JspException;
public class RegionWidgetTag extends
AbstractContextAwareSingletonBeanDependentTag<RenderService> {
private RegionWidget regionWidget;
+
+ private static final String REGISTER_DISABLED_WIDGET_KEY =
"disabledRegisterWidget";
// Script block for disabled gadget
private static final String DISABLED_SCRIPT_BLOCK =
@@ -72,7 +74,8 @@ public class RegionWidgetTag extends Abs
StringEscapeUtils.escapeJavaScript(regionWidget.getWidget().getDisableRenderingMessage()),
regionWidget.isCollapsed(),
regionWidget.getWidget().getId());
- scriptManager.registerScriptBlock(widgetScript,
ScriptLocation.AFTER_RAVE, RenderScope.CURRENT_REQUEST, getContext());
+ String key = REGISTER_DISABLED_WIDGET_KEY + "-" +
regionWidget.getWidget().getId();
+ scriptManager.registerScriptBlock(key, widgetScript,
ScriptLocation.AFTER_RAVE, RenderScope.CURRENT_REQUEST, getContext());
} else {
writeString(getBean().render(regionWidget, getContext()));
}
Modified:
rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/tag/RegionWidgetTagTest.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/tag/RegionWidgetTagTest.java?rev=1363010&r1=1363009&r2=1363010&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/tag/RegionWidgetTagTest.java
(original)
+++
rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/tag/RegionWidgetTagTest.java
Wed Jul 18 16:36:19 2012
@@ -181,7 +181,7 @@ public class RegionWidgetTagTest {
strings.add(WIDGET_TYPE);
expect(service.getSupportedWidgetTypes()).andReturn(strings);
- scriptManager.registerScriptBlock(anyObject(String.class),
anyObject(ScriptLocation.AFTER_RAVE.getClass()),
anyObject(RenderScope.CURRENT_REQUEST.getClass()),
anyObject(RenderContext.class));
+ scriptManager.registerScriptBlock(anyObject(String.class),
anyObject(String.class), anyObject(ScriptLocation.AFTER_RAVE.getClass()),
anyObject(RenderScope.CURRENT_REQUEST.getClass()),
anyObject(RenderContext.class));
expectLastCall();
replay(service, scriptManager);
Modified:
rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/config/OpenSocialEnvironment.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/config/OpenSocialEnvironment.java?rev=1363010&r1=1363009&r2=1363010&view=diff
==============================================================================
---
rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/config/OpenSocialEnvironment.java
(original)
+++
rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/config/OpenSocialEnvironment.java
Wed Jul 18 16:36:19 2012
@@ -19,6 +19,14 @@
package org.apache.rave.provider.opensocial.config;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import
org.apache.rave.portal.events.PortalPreferenceJavascriptDebugModeEventListener;
+import
org.apache.rave.portal.events.PortalPreferenceJavascriptDebugModeSaveEvent;
+import org.apache.rave.portal.events.RaveEvent;
+import org.apache.rave.portal.events.RaveEventManager;
+import org.apache.rave.portal.service.PortalPreferenceService;
+import org.apache.rave.portal.web.util.PortalPreferenceKeys;
import org.apache.rave.portal.web.renderer.ScriptLocation;
import org.apache.rave.portal.web.renderer.ScriptManager;
import org.springframework.beans.factory.annotation.Autowired;
@@ -31,10 +39,16 @@ import javax.annotation.PostConstruct;
* Environment variables for OpenSocial calls from the portal (to Shindig)
*/
@Component
-public class OpenSocialEnvironment {
+public class OpenSocialEnvironment implements
PortalPreferenceJavascriptDebugModeEventListener{
- private static final String SCRIPT_TEMPLATE = "<script
src=\"%1$s://%2$s%3$s/js/container:pubsub-2:open-views.js?c=1&container=default&debug=1\"></script>";
+ private static final Log log =
LogFactory.getLog(OpenSocialEnvironment.class);
+
+ private static final String CONTAINER_JS_KEY = "containerJs";
+ private static final String SCRIPT_RENDER_DEBUG_ON = "1";
+ private final static String SCRIPT_TEMPLATE = "<script
src=\"%1$s://%2$s%3$s/js/container:pubsub-2:open-views.js?c=1&container=default&debug=%4$s\"></script>";
+ private String currentDebugMode;
+
private ScriptManager scriptManager;
/**
@@ -50,9 +64,22 @@ public class OpenSocialEnvironment {
*/
private String engineGadgetPath;
+ @Autowired
+ RaveEventManager eventManager;
+
+ @Autowired
+ PortalPreferenceService portalPreferenceService;
+
@PostConstruct
public void init() {
- scriptManager.registerScriptBlock(String.format(SCRIPT_TEMPLATE,
engineProtocol, engineRoot, engineGadgetPath), ScriptLocation.BEFORE_RAVE);
+
eventManager.addListener(PortalPreferenceJavascriptDebugModeSaveEvent.class,
this);
+ try{
+
this.setCurrentDebugMode(portalPreferenceService.getPreference(PortalPreferenceKeys.JAVASCRIPT_DEBUG_MODE).getValue());
+ } catch (Exception e){
+ log.warn("Caught exception getting preference for JS debug mode.
Setting JS to debug mode to 'debug on'.");
+ this.setCurrentDebugMode(SCRIPT_RENDER_DEBUG_ON);
+ }
+ registerScriptBlock();
}
public ScriptManager getScriptManager() {
@@ -90,4 +117,27 @@ public class OpenSocialEnvironment {
public String getEngineGadgetPath() {
return engineGadgetPath;
}
+
+ public String getCurrentDebugMode() {
+ return currentDebugMode;
+ }
+
+ public void setCurrentDebugMode(String currentDebugMode) {
+ this.currentDebugMode = currentDebugMode;
+ }
+
+ @Override
+ public void handleEvent(RaveEvent event) {
+ if(event instanceof PortalPreferenceJavascriptDebugModeSaveEvent){
+
this.setCurrentDebugMode(String.valueOf(portalPreferenceService.getPreference(PortalPreferenceKeys.JAVASCRIPT_DEBUG_MODE).getValue()));
+ log.debug("found event to change debug mode of JS new value =" +
this.getCurrentDebugMode());
+ registerScriptBlock();
+ } else {
+ log.warn("Unhandled event received. " + event.getClass());
+ }
+ }
+
+ private void registerScriptBlock(){
+ scriptManager.registerScriptBlock(CONTAINER_JS_KEY,
String.format(SCRIPT_TEMPLATE, engineProtocol, engineRoot, engineGadgetPath,
this.getCurrentDebugMode()), ScriptLocation.BEFORE_RAVE);
+ }
}
Modified:
rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/web/renderer/OpenSocialWidgetRenderer.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/web/renderer/OpenSocialWidgetRenderer.java?rev=1363010&r1=1363009&r2=1363010&view=diff
==============================================================================
---
rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/web/renderer/OpenSocialWidgetRenderer.java
(original)
+++
rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/web/renderer/OpenSocialWidgetRenderer.java
Wed Jul 18 16:36:19 2012
@@ -46,6 +46,8 @@ import org.springframework.stereotype.Co
public class OpenSocialWidgetRenderer implements RegionWidgetRenderer {
private static Logger logger =
LoggerFactory.getLogger(OpenSocialWidgetRenderer.class);
+ public static final String REGISTER_WIDGET_KEY =
"openSocialRegisterWidget";
+
private OpenSocialService openSocialService;
private SecurityTokenService securityTokenService;
private ScriptManager scriptManager;
@@ -95,7 +97,8 @@ public class OpenSocialWidgetRenderer im
}
String widgetScript = getWidgetScript(item);
- scriptManager.registerScriptBlock(widgetScript,
ScriptLocation.AFTER_RAVE, RenderScope.CURRENT_REQUEST, context);
+ String key = REGISTER_WIDGET_KEY + (item.getWidget().getId() == null
? "" : "-" + item.getWidget().getId());
+ scriptManager.registerScriptBlock(key, widgetScript,
ScriptLocation.AFTER_RAVE, RenderScope.CURRENT_REQUEST, context);
logger.debug("Gadget Script Data: " + widgetScript);
return String.format(MARKUP, item.getId());
@@ -126,4 +129,4 @@ public class OpenSocialWidgetRenderer im
item.isLocked(),
item.isHideChrome());
}
-}
\ No newline at end of file
+}
Modified:
rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/test/java/org/apache/rave/provider/opensocial/web/renderer/OpenSocialWidgetRendererTest.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/test/java/org/apache/rave/provider/opensocial/web/renderer/OpenSocialWidgetRendererTest.java?rev=1363010&r1=1363009&r2=1363010&view=diff
==============================================================================
---
rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/test/java/org/apache/rave/provider/opensocial/web/renderer/OpenSocialWidgetRendererTest.java
(original)
+++
rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/test/java/org/apache/rave/provider/opensocial/web/renderer/OpenSocialWidgetRendererTest.java
Wed Jul 18 16:36:19 2012
@@ -111,7 +111,8 @@ public class OpenSocialWidgetRendererTes
expect(securityTokenService.getEncryptedSecurityToken(rw)).andReturn(VALID_SECURITY_TOKEN);
replay(securityTokenService);
- scriptManager.registerScriptBlock(markup, ScriptLocation.AFTER_RAVE,
RenderScope.CURRENT_REQUEST, renderContext);
+ String key =
OpenSocialWidgetRenderer.REGISTER_WIDGET_KEY+"-"+w.getId();
+ scriptManager.registerScriptBlock(key, markup,
ScriptLocation.AFTER_RAVE, RenderScope.CURRENT_REQUEST, renderContext);
expectLastCall();
replay(scriptManager);
@@ -141,7 +142,7 @@ public class OpenSocialWidgetRendererTes
" widgetId: null," +
" locked: false, hideChrome: false});</script>";
- scriptManager.registerScriptBlock(markup, ScriptLocation.AFTER_RAVE,
RenderScope.CURRENT_REQUEST, null);
+
scriptManager.registerScriptBlock(OpenSocialWidgetRenderer.REGISTER_WIDGET_KEY,
markup, ScriptLocation.AFTER_RAVE, RenderScope.CURRENT_REQUEST, null);
expectLastCall();
replay(scriptManager);
String result = renderer.render(rw, null);
@@ -159,4 +160,4 @@ public class OpenSocialWidgetRendererTes
renderer.render(rw, null);
}
-}
\ No newline at end of file
+}
Modified:
rave/trunk/rave-providers/rave-w3c-provider/src/main/java/org/apache/rave/provider/w3c/web/renderer/W3cWidgetRenderer.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-providers/rave-w3c-provider/src/main/java/org/apache/rave/provider/w3c/web/renderer/W3cWidgetRenderer.java?rev=1363010&r1=1363009&r2=1363010&view=diff
==============================================================================
---
rave/trunk/rave-providers/rave-w3c-provider/src/main/java/org/apache/rave/provider/w3c/web/renderer/W3cWidgetRenderer.java
(original)
+++
rave/trunk/rave-providers/rave-w3c-provider/src/main/java/org/apache/rave/provider/w3c/web/renderer/W3cWidgetRenderer.java
Wed Jul 18 16:36:19 2012
@@ -48,6 +48,8 @@ import static org.apache.rave.provider.w
@Component
public class W3cWidgetRenderer implements RegionWidgetRenderer {
private static Logger logger =
LoggerFactory.getLogger(W3cWidgetRenderer.class);
+
+ private static final String REGISTER_WIDGET_KEY = "wookieRegisterWidget";
private final WidgetProviderService widgetService;
private final UserService userService;
@@ -85,7 +87,7 @@ public class W3cWidgetRenderer implement
/**
* Renders a {@link org.apache.rave.portal.model.RegionWidget} as HTML
markup
*
- * @param item RegionWidget to render
+ * @param item RegionWidgetImpl to render
* @param context
* @return valid HTML markup
*/
@@ -97,7 +99,8 @@ public class W3cWidgetRenderer implement
}
String widgetScript = getWidgetScript(item);
- scriptManager.registerScriptBlock(widgetScript,
ScriptLocation.AFTER_RAVE, RenderScope.CURRENT_REQUEST, context);
+ String key = REGISTER_WIDGET_KEY + "-" + widget.getId();
+ scriptManager.registerScriptBlock(key, widgetScript,
ScriptLocation.AFTER_RAVE, RenderScope.CURRENT_REQUEST, context);
logger.debug("Gadget Script Data: " + widgetScript);
return String.format(MARKUP, item.getId());