summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSidharth Singh2013-01-03 01:39:38 (EST)
committer Stephan Born2013-01-25 13:18:57 (EST)
commit2c3d0757dd0b27d028379176f28c489fe9b298d5 (patch)
treeef97b3fc2f83ec1a890edc3f880fb9ffe129ea2d
parent00ab11d1c6a0f15b39c73480c08d36434227d0e4 (diff)
downloadorg.eclipse.stardust.ui.web-2c3d0757dd0b27d028379176f28c489fe9b298d5.zip
org.eclipse.stardust.ui.web-2c3d0757dd0b27d028379176f28c489fe9b298d5.tar.gz
org.eclipse.stardust.ui.web-2c3d0757dd0b27d028379176f28c489fe9b298d5.tar.bz2
Jira-ID: CRNT-27407,CRNT-27408
CRNT-27408 a) Added camino project at path /trunk/sungard/ui.web/skins b)Added all camino skin artifacts (icons, css) to public/skins/camino path c)Added SungardSkinStaticConfigurationProvider.java and services/org.eclipse.stardust.engine.core.spi.preferences.IStaticConfigurationProvider$Factory CRNT-27407 a)Made changes to LoginDialogBean.java to implement InitializingBean and added code to load the partiion preference camino skin in afterPropertiesSet() b)Added null check in PortalConfigurationPanel.java for skins c)Moved portal-api/PluginResourceUtils to views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/common/PortalPluginSkinResourceResolver.java d)Made changes in IppThemeProvider to use PortalPluginSkinResourceResolver. e)Remove camino.css reference from .xhtml files git-svn-id: http://emeafrazerg/svn/ipp/product/trunk/stardust/ui.web@61783 8100b5e0-4d52-466c-ae9c-bdeccbdeaf6b
-rw-r--r--portal-api/src/main/java/org/eclipse/stardust/ui/client/dms/SkinContentServlet.java147
-rw-r--r--portal-common/src/main/java/org/eclipse/stardust/ui/web/common/views/PortalConfigurationPanel.java9
-rw-r--r--portal-common/src/main/resources/META-INF/xhtml/css/portalComponentStyle.css73
-rw-r--r--portal-common/src/main/resources/META-INF/xhtml/overflowTabIframePopup.xhtml1
-rw-r--r--portal-common/src/main/resources/META-INF/xhtml/portalHead.xhtml1
-rw-r--r--portal-common/src/main/resources/META-INF/xhtml/views/toolbar/commonMenuIframePopup.xhtml1
-rw-r--r--process-portal/src/main/resources/META-INF/xhtml/processportal/toolbar/notesIframePopup.xhtml1
-rw-r--r--process-portal/src/main/resources/META-INF/xhtml/processportal/toolbar/processAttachmentsIframePopup.xhtml1
-rw-r--r--process-portal/src/main/resources/META-INF/xhtml/processportal/toolbar/qualityAssuranceCodesIframePopup.xhtml1
-rw-r--r--views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/common/PortalPluginSkinResourceResolver.java (renamed from portal-api/src/main/java/org/eclipse/stardust/ui/client/util/PluginResourceUtils.java)21
-rw-r--r--views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/common/TechnicalUserUtils.java95
-rw-r--r--views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/common/spi/theme/impl/IppThemeProvider.java31
-rw-r--r--views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/login/dialogs/LoginDialogBean.java73
-rw-r--r--views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/login/dialogs/ResetPasswordDialog.java67
-rw-r--r--views-common/src/main/resources/META-INF/xhtml/common/abortIframePopup.xhtml1
-rw-r--r--views-common/src/main/resources/META-INF/xhtml/common/caseIframePopup.xhtml1
-rw-r--r--views-common/src/main/resources/META-INF/xhtml/common/linkedProcessIframePopup.xhtml1
-rw-r--r--views-common/src/main/resources/META-INF/xhtml/login.xhtml9
18 files changed, 336 insertions, 198 deletions
diff --git a/portal-api/src/main/java/org/eclipse/stardust/ui/client/dms/SkinContentServlet.java b/portal-api/src/main/java/org/eclipse/stardust/ui/client/dms/SkinContentServlet.java
index a0433d1..3bb5846 100644
--- a/portal-api/src/main/java/org/eclipse/stardust/ui/client/dms/SkinContentServlet.java
+++ b/portal-api/src/main/java/org/eclipse/stardust/ui/client/dms/SkinContentServlet.java
@@ -12,10 +12,8 @@ package org.eclipse.stardust.ui.client.dms;
import java.io.IOException;
import java.io.InputStream;
-import java.io.OutputStream;
import java.text.MessageFormat;
import java.util.List;
-import java.util.Map;
import javax.jcr.Repository;
import javax.jcr.RepositoryException;
@@ -27,7 +25,6 @@ import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletResponse;
-import org.eclipse.stardust.common.CollectionUtils;
import org.eclipse.stardust.common.Function;
import org.eclipse.stardust.common.StringUtils;
import org.eclipse.stardust.common.config.ExtensionProviderUtils;
@@ -46,7 +43,6 @@ import org.eclipse.stardust.engine.core.runtime.beans.ForkingServiceFactory;
import org.eclipse.stardust.engine.core.runtime.beans.interceptors.PropertyLayerProviderInterceptor;
import org.eclipse.stardust.engine.core.runtime.beans.removethis.SecurityProperties;
import org.eclipse.stardust.engine.core.runtime.removethis.EngineProperties;
-import org.eclipse.stardust.ui.client.util.PluginResourceUtils;
import org.eclipse.stardust.vfs.IDocumentRepositoryService;
import org.eclipse.stardust.vfs.IFile;
import org.eclipse.stardust.vfs.IFolder;
@@ -55,7 +51,6 @@ import org.eclipse.stardust.vfs.impl.jcr.JcrDocumentRepositoryService;
import org.eclipse.stardust.vfs.impl.jcr.web.AbstractVfsContentServlet;
import org.eclipse.stardust.vfs.jcr.ISessionFactory;
import org.eclipse.stardust.vfs.jcr.spring.JcrSpringSessionFactory;
-import org.springframework.core.io.Resource;
/**
@@ -84,8 +79,6 @@ public class SkinContentServlet extends AbstractVfsContentServlet
public static final String SKIN_PREF_ID = "preference";
public static final String SKIN_PREF_KEY = "ipp-portal-common.configuration.prefs.skin";
public static final String EJB = "ejb";
- public static final String PLUGIN_FOLDER_PATH = "/public/skins";
- public static final String PLUGIN_ROOT_FOLDER_PATH = "/plugins/";
private boolean ejbEnvironment = false;
private String context;
@@ -128,73 +121,65 @@ public class SkinContentServlet extends AbstractVfsContentServlet
{
try
{
- if (skinFolder.contains(PLUGIN_FOLDER_PATH))
+ Repository repository = null;
+
+ if (ejbEnvironment)
{
- return loadPluginSkin(skinFolder, request.resourceName, downloadManager);
+ Context context = new InitialContext();
+ String path = parameters.getString("ejb.contentRepository.path",
+ "java:comp/env/jcr/ContentRepository");
+ repository = (javax.jcr.Repository) context.lookup(path);
}
else
{
- Repository repository = null;
- if (ejbEnvironment)
- {
- Context context = new InitialContext();
- String path = parameters.getString("ejb.contentRepository.path",
- "java:comp/env/jcr/ContentRepository");
- repository = (javax.jcr.Repository) context.lookup(path);
- }
- else
+ IDocumentRepositoryService drs = rtEnv.getDocumentRepositoryService();
+ if (null != drs && drs instanceof JcrDocumentRepositoryService)
{
- IDocumentRepositoryService drs = rtEnv.getDocumentRepositoryService();
- if (null != drs && drs instanceof JcrDocumentRepositoryService)
+ JcrDocumentRepositoryService jcrDocumentRepositoryService = (JcrDocumentRepositoryService) drs;
+ ISessionFactory sessionFactory = jcrDocumentRepositoryService.getSessionFactory();
+ if (sessionFactory instanceof JcrSpringSessionFactory)
{
- JcrDocumentRepositoryService jcrDocumentRepositoryService = (JcrDocumentRepositoryService) drs;
- ISessionFactory sessionFactory = jcrDocumentRepositoryService.getSessionFactory();
- if (sessionFactory instanceof JcrSpringSessionFactory)
- {
- repository = ((JcrSpringSessionFactory) sessionFactory).getRepository();
- }
+ repository = ((JcrSpringSessionFactory) sessionFactory).getRepository();
}
}
+ }
- if (null == repository)
- {
- throw new PublicException(
- "No JCR document repository is set. Check the configuration.");
- }
-
- JcrDocumentRepositoryService jcrDocumentRepService = new JcrDocumentRepositoryService();
- jcrDocumentRepService.setSessionFactory(new IppSkinJcrSessionFactory(repository));
-
- IFolder folder = jcrDocumentRepService.getFolder(skinFolder);
- String skinId = folder.getName();
+ if (null == repository)
+ {
+ throw new PublicException("No JCR document repository is set. Check the configuration.");
+ }
- request.resourceFullPath = request.resourceFullPath
- .replaceFirst(DEFAULT_SKIN_URI, skinId);
+ JcrDocumentRepositoryService jcrDocumentRepService = new JcrDocumentRepositoryService();
+ jcrDocumentRepService.setSessionFactory(new IppSkinJcrSessionFactory(repository));
- IFile file = jcrDocumentRepService.getFile(request.resourceFullPath);
- if (null != file)
- {
- downloadManager.setContentLength((int) file.getSize());
- downloadManager.setContentType(file.getContentType());
+ IFolder folder = jcrDocumentRepService.getFolder(skinFolder);
+ String skinId = folder.getName();
- if (!StringUtils.isEmpty(file.getEncoding()))
- {
- downloadManager.setContentEncoding(file.getEncoding());
- }
- downloadManager.setFilename(file.getName());
+ request.resourceFullPath = request.resourceFullPath.replaceFirst(DEFAULT_SKIN_URI, skinId);
- jcrDocumentRepService.retrieveFileContent(request.resourceFullPath,
- downloadManager.getContentOutputStream());
+ IFile file = jcrDocumentRepService.getFile(request.resourceFullPath);
+ if (null != file)
+ {
+ downloadManager.setContentLength((int) file.getSize());
+ downloadManager.setContentType(file.getContentType());
- result = HttpServletResponse.SC_OK;
- }
- else
+ if (!StringUtils.isEmpty(file.getEncoding()))
{
- // file not found
- result = HttpServletResponse.SC_NOT_FOUND;
+ downloadManager.setContentEncoding(file.getEncoding());
}
+ downloadManager.setFilename(file.getName());
+
+ jcrDocumentRepService.retrieveFileContent(request.resourceFullPath,
+ downloadManager.getContentOutputStream());
+
+ result = HttpServletResponse.SC_OK;
+ }
+ else
+ {
+ // file not found
+ result = HttpServletResponse.SC_NOT_FOUND;
}
- }
+ }
catch (RepositoryOperationFailedException rofe)
{
throw new PublicException(MessageFormat.format(
@@ -255,52 +240,6 @@ public class SkinContentServlet extends AbstractVfsContentServlet
return "";
}
}
-
- /**
- *
- * @param skinFolder
- * @param fileName
- * @param downloadManager
- * @return
- * @throws IOException
- */
- private int loadPluginSkin(String skinFolder, String fileName, ContentDownloadController downloadManager) throws IOException
- {
- Map<String, List<Resource>> pluginAvailableSkins = PluginResourceUtils
- .findPluginSkins(PLUGIN_FOLDER_PATH, fileName);
-
- if (!CollectionUtils.isEmpty(pluginAvailableSkins))
- {
- for (Map.Entry<String, List<Resource>> entry : pluginAvailableSkins.entrySet())
- {
- if (entry.getKey().equals(skinFolder))
- {
- for (Resource resource : entry.getValue())
- {
- InputStream is = resource.getInputStream();
-
- byte[] bbuf = new byte[4096];
- int length = 0;
- OutputStream op = downloadManager.getContentOutputStream();
- while ((is != null) && ((length = is.read(bbuf)) != -1))
- {
- op.write(bbuf, 0, length);
- }
-
- is.close();
- op.flush();
- op.close();
- }
- }
- else
- {
- return HttpServletResponse.SC_NO_CONTENT;
- }
- return HttpServletResponse.SC_OK;
- }
- }
- return HttpServletResponse.SC_NO_CONTENT;
- }
@Override
protected int doUploadFileContent(final String fileUri, final InputStream contentStream, final int contentLength,
@@ -319,7 +258,6 @@ public class SkinContentServlet extends AbstractVfsContentServlet
result.partitionId = uri.substring(0, uri.indexOf("/"));
result.resource = uri.substring(uri.indexOf("/"));
- result.resourceName = uri.substring(uri.lastIndexOf("/") + 1);
result.resourceFullPath = getSkinsFolderBasePath(result.partitionId) + result.resource;
return result;
@@ -400,7 +338,6 @@ public class SkinContentServlet extends AbstractVfsContentServlet
public String partitionId;
public String resource;
public String resourceFullPath;
- public String resourceName;
}
private String getJcrUserProperty()
diff --git a/portal-common/src/main/java/org/eclipse/stardust/ui/web/common/views/PortalConfigurationPanel.java b/portal-common/src/main/java/org/eclipse/stardust/ui/web/common/views/PortalConfigurationPanel.java
index a125504..c88a085 100644
--- a/portal-common/src/main/java/org/eclipse/stardust/ui/web/common/views/PortalConfigurationPanel.java
+++ b/portal-common/src/main/java/org/eclipse/stardust/ui/web/common/views/PortalConfigurationPanel.java
@@ -170,7 +170,14 @@ public class PortalConfigurationPanel extends UIComponentBean
if (userProvider.getUser().isAdministrator())
{
- userPrefsHelper.setString(V_PORTAL_CONFIG, F_SKIN, selectedSkin);
+ if (!StringUtils.isEmpty(selectedSkin))
+ {
+ userPrefsHelper.setString(V_PORTAL_CONFIG, F_SKIN, selectedSkin);
+ }
+ else
+ {
+ userPrefsHelper.resetValue(V_PORTAL_CONFIG, F_SKIN);
+ }
}
userPrefsHelper.setString(V_PORTAL_CONFIG, F_DEFAULT_PERSPECTIVE, selectedPerspective);
userPrefsHelper.setString(V_PORTAL_CONFIG, F_TABS_MAX_TABS_DISPLAY, String.valueOf(maxTabsDisplay));
diff --git a/portal-common/src/main/resources/META-INF/xhtml/css/portalComponentStyle.css b/portal-common/src/main/resources/META-INF/xhtml/css/portalComponentStyle.css
index 2211d6b..48e1a32 100644
--- a/portal-common/src/main/resources/META-INF/xhtml/css/portalComponentStyle.css
+++ b/portal-common/src/main/resources/META-INF/xhtml/css/portalComponentStyle.css
@@ -437,3 +437,76 @@ div.columnsListBox {
overflow: auto;
}
/* *********** Column Selector - END ************* */
+
+/* Common Menu Start */
+.commonMenuLnk {
+ font: 16px bold Arial;
+ position: absolute;
+ top:25px;
+ left: 10px;
+ color: transparent !important;
+}
+.commonMenuLnk:hover {
+ color: transparent !important;
+ text-decoration:none;
+}
+
+.commonMenuItem {
+ line-height: 30px;
+ white-space: nowrap;
+ border: none;
+ border-bottom: 1px solid #303030;
+ background: black;
+}
+
+.commonMenuItem:hover {
+ background: #518a94; /* Old browsers */
+ background: -moz-linear-gradient(top, #518a94 0%, #23626c 100%); /* FF3.6+ */
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #518a94), color-stop(100%, #23626c)); /* Chrome,Safari4+ */
+ background: -webkit-linear-gradient(top, #518a94 0%, #23626c 100%); /* Chrome10+,Safari5.1+ */
+ background: -o-linear-gradient(top, #518a94 0%, #23626c 100%); /* Opera 11.10+ */
+ background: -ms-linear-gradient(top, #518a94 0%, #23626c 100%); /* IE10+ */
+ background: linear-gradient(top, #518a94 0%, #23626c 100%); /* W3C */
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#518a94', endColorstr='#23626c', GradientType=0); /* IE6-9 */
+ text-decoration: none;
+}
+
+.commonMenuItem a:hover {
+ text-decoration: none;
+}
+
+.commonMenuItem .iceOutTxt{
+ font-size: 12px;
+ color: #75C0CD;
+}
+
+.commonMenuItem .iceGphImg {
+ margin-left: 15px;
+ margin-right: 10px;
+ margin-top: 5px;
+ margin-bottom: 5px;
+ vertical-align: middle;
+}
+
+.commonMenuHeadingItem {
+ background: #3c3c3c; /* Old browsers */
+ background: -moz-linear-gradient(top, #3c3c3c 0%, #101010 100%); /* FF3.6+ */
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #3c3c3c), color-stop(100%, #101010)); /* Chrome,Safari4+ */
+ background: -webkit-linear-gradient(top, #3c3c3c 0%, #101010 100%); /* Chrome10+,Safari5.1+ */
+ background: -o-linear-gradient(top, #3c3c3c 0%, #101010 100%); /* Opera 11.10+ */
+ background: -ms-linear-gradient(top, #3c3c3c 0%, #101010 100%); /* IE10+ */
+ background: linear-gradient(top, #3c3c3c 0%, #101010 100%); /* W3C */
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#3c3c3c', endColorstr='#101010', GradientType=0); /* IE6-9 */
+
+ white-space: nowrap;
+ border: none;
+ border-bottom: 1px solid #303030;
+}
+
+.commonMenuHeadingItem .iceOutTxt {
+ line-height: 30px;
+ font-size: 12px;
+ color: #B9B5AE;
+ padding-left: 10px;
+}
+/* Common Menu End */
diff --git a/portal-common/src/main/resources/META-INF/xhtml/overflowTabIframePopup.xhtml b/portal-common/src/main/resources/META-INF/xhtml/overflowTabIframePopup.xhtml
index 1135d83..a424e08 100644
--- a/portal-common/src/main/resources/META-INF/xhtml/overflowTabIframePopup.xhtml
+++ b/portal-common/src/main/resources/META-INF/xhtml/overflowTabIframePopup.xhtml
@@ -20,7 +20,6 @@
<ice:outputStyle href="/plugins/common/css/nirvanaRime-override.css" />
<ice:outputStyle href="/plugins/common/css/nirvanaPortal.css" />
<ice:outputStyle href="/plugins/common/css/portalComponentStyle.css" />
- <ice:outputStyle href="/plugins/common/css/camino.css" />
<c:forEach items="#{ippPortalApp.skinFiles}" var="skinFile">
<ice:outputStyle href="#{skinFile}" />
diff --git a/portal-common/src/main/resources/META-INF/xhtml/portalHead.xhtml b/portal-common/src/main/resources/META-INF/xhtml/portalHead.xhtml
index 36dfc89..fb3b21e 100644
--- a/portal-common/src/main/resources/META-INF/xhtml/portalHead.xhtml
+++ b/portal-common/src/main/resources/META-INF/xhtml/portalHead.xhtml
@@ -23,7 +23,6 @@
<ice:outputStyle href="/plugins/common/css/nirvanaRime-override.css" />
<ice:outputStyle href="/plugins/common/css/nirvanaPortal.css" />
<ice:outputStyle href="/plugins/common/css/portalComponentStyle.css" />
- <ice:outputStyle href="/plugins/common/css/camino.css" />
<c:forEach items="#{ippPortalApp.skinFiles}" var="skinFile">
<ice:outputStyle href="#{skinFile}" />
diff --git a/portal-common/src/main/resources/META-INF/xhtml/views/toolbar/commonMenuIframePopup.xhtml b/portal-common/src/main/resources/META-INF/xhtml/views/toolbar/commonMenuIframePopup.xhtml
index afbab67..fb3f81b 100644
--- a/portal-common/src/main/resources/META-INF/xhtml/views/toolbar/commonMenuIframePopup.xhtml
+++ b/portal-common/src/main/resources/META-INF/xhtml/views/toolbar/commonMenuIframePopup.xhtml
@@ -21,7 +21,6 @@
<ice:outputStyle href="/plugins/common/css/nirvanaRime-override.css" />
<ice:outputStyle href="/plugins/common/css/nirvanaPortal.css" />
<ice:outputStyle href="/plugins/common/css/portalComponentStyle.css" />
-<ice:outputStyle href="/plugins/common/css/camino.css" />
<c:forEach items="#{ippPortalApp.skinFiles}" var="skinFile">
<ice:outputStyle href="#{skinFile}" />
diff --git a/process-portal/src/main/resources/META-INF/xhtml/processportal/toolbar/notesIframePopup.xhtml b/process-portal/src/main/resources/META-INF/xhtml/processportal/toolbar/notesIframePopup.xhtml
index a989e03..d622b30 100644
--- a/process-portal/src/main/resources/META-INF/xhtml/processportal/toolbar/notesIframePopup.xhtml
+++ b/process-portal/src/main/resources/META-INF/xhtml/processportal/toolbar/notesIframePopup.xhtml
@@ -21,7 +21,6 @@
<ice:outputStyle href="/plugins/common/css/nirvanaRime-override.css" />
<ice:outputStyle href="/plugins/common/css/nirvanaPortal.css" />
<ice:outputStyle href="/plugins/common/css/portalComponentStyle.css" />
- <ice:outputStyle href="/plugins/common/css/camino.css" />
<c:forEach items="#{ippPortalApp.skinFiles}" var="skinFile">
<ice:outputStyle href="#{skinFile}" />
diff --git a/process-portal/src/main/resources/META-INF/xhtml/processportal/toolbar/processAttachmentsIframePopup.xhtml b/process-portal/src/main/resources/META-INF/xhtml/processportal/toolbar/processAttachmentsIframePopup.xhtml
index 2478315..0294dae 100644
--- a/process-portal/src/main/resources/META-INF/xhtml/processportal/toolbar/processAttachmentsIframePopup.xhtml
+++ b/process-portal/src/main/resources/META-INF/xhtml/processportal/toolbar/processAttachmentsIframePopup.xhtml
@@ -21,7 +21,6 @@
<ice:outputStyle href="/plugins/common/css/nirvanaRime-override.css" />
<ice:outputStyle href="/plugins/common/css/nirvanaPortal.css" />
<ice:outputStyle href="/plugins/common/css/portalComponentStyle.css" />
- <ice:outputStyle href="/plugins/common/css/camino.css" />
<c:forEach items="#{ippPortalApp.skinFiles}" var="skinFile">
<ice:outputStyle href="#{skinFile}" />
diff --git a/process-portal/src/main/resources/META-INF/xhtml/processportal/toolbar/qualityAssuranceCodesIframePopup.xhtml b/process-portal/src/main/resources/META-INF/xhtml/processportal/toolbar/qualityAssuranceCodesIframePopup.xhtml
index 12ddff2..c516867 100644
--- a/process-portal/src/main/resources/META-INF/xhtml/processportal/toolbar/qualityAssuranceCodesIframePopup.xhtml
+++ b/process-portal/src/main/resources/META-INF/xhtml/processportal/toolbar/qualityAssuranceCodesIframePopup.xhtml
@@ -21,7 +21,6 @@
<ice:outputStyle href="/plugins/common/css/nirvanaRime-override.css" />
<ice:outputStyle href="/plugins/common/css/nirvanaPortal.css" />
<ice:outputStyle href="/plugins/common/css/portalComponentStyle.css" />
-<ice:outputStyle href="/plugins/common/css/camino.css" />
<c:forEach items="#{ippPortalApp.skinFiles}" var="skinFile">
<ice:outputStyle href="#{skinFile}" />
diff --git a/portal-api/src/main/java/org/eclipse/stardust/ui/client/util/PluginResourceUtils.java b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/common/PortalPluginSkinResourceResolver.java
index 44b768a..84c6337 100644
--- a/portal-api/src/main/java/org/eclipse/stardust/ui/client/util/PluginResourceUtils.java
+++ b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/common/PortalPluginSkinResourceResolver.java
@@ -8,12 +8,11 @@
* Contributors:
* SunGard CSA LLC - initial API and implementation and/or initial documentation
*******************************************************************************/
-package org.eclipse.stardust.ui.client.util;
+package org.eclipse.stardust.ui.web.viewscommon.common;
import static java.util.Collections.emptyList;
import java.io.BufferedReader;
-import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@@ -35,9 +34,9 @@ import org.springframework.core.io.support.ResourcePatternResolver;
* @author Sidharth.Singh
* @version $Revision: $
*/
-public class PluginResourceUtils
+public class PortalPluginSkinResourceResolver
{
- public static final Logger trace = LogManager.getLogger(PluginResourceUtils.class);
+ public static final Logger trace = LogManager.getLogger(PortalPluginSkinResourceResolver.class);
private static ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
/**
@@ -46,9 +45,9 @@ public class PluginResourceUtils
* @param fileName
* @return
*/
- public static Map<String, List<Resource>> findPluginSkins(String pluginFolder, String fileName)
+ public static Map<String, List<String>> findPluginSkins(String pluginFolder, String fileName)
{
- Map<String, List<Resource>> allExtensions = new TreeMap<String, List<Resource>>(new Comparator<String>()
+ Map<String, List<String>> allExtensions = new TreeMap<String, List<String>>(new Comparator<String>()
{
public int compare(String a, String b)
{
@@ -100,13 +99,13 @@ public class PluginResourceUtils
String extensionWebUriKey = webUriPrefix.substring(0, webUriPrefix.lastIndexOf("/")) + pluginFolder
+ "/" + splitArr[1].substring(0, splitArr[1].indexOf("/"));
- List<Resource> resourceFile = allExtensions.get(extensionWebUriKey);
+ List<String> resourceFile = allExtensions.get(extensionWebUriKey);
if (null == resourceFile)
{
resourceFile = CollectionUtils.newArrayList();
allExtensions.put(extensionWebUriKey, resourceFile);
}
- resourceFile.add(extensionResource);
+ resourceFile.add(extensionResUri);
trace.info("Discovered '" + pluginFolder + "' modeler extensions descriptor at " + extensionWebUri);
}
}
@@ -138,9 +137,11 @@ public class PluginResourceUtils
List<Resource> extensions = CollectionUtils.newArrayList();
Resource[] jsModules = null;
if (null == fileName)
- jsModules = resolver.getResources(modelerExtensionsBaseUri + category.substring(category.indexOf("/")+1) + "/*/*.*");
+ jsModules = resolver.getResources(modelerExtensionsBaseUri + category.substring(category.indexOf("/") + 1)
+ + "/*/*.*");
else
- jsModules = resolver.getResources(modelerExtensionsBaseUri + category.substring(category.indexOf("/")+1) + "/**/" + fileName);
+ jsModules = resolver.getResources(modelerExtensionsBaseUri + category.substring(category.indexOf("/") + 1)
+ + "/**/" + fileName);
for (Resource jsModule : jsModules)
{
extensions.add(jsModule);
diff --git a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/common/TechnicalUserUtils.java b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/common/TechnicalUserUtils.java
new file mode 100644
index 0000000..6f2d9b8
--- /dev/null
+++ b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/common/TechnicalUserUtils.java
@@ -0,0 +1,95 @@
+/*
+ * $Id$
+ * (C) 2000 - 2012 CARNOT AG
+ */
+package org.eclipse.stardust.ui.web.viewscommon.common;
+
+import java.util.Map;
+
+import org.eclipse.stardust.common.config.Parameters;
+import org.eclipse.stardust.engine.core.runtime.beans.removethis.SecurityProperties;
+import org.eclipse.stardust.ui.web.common.log.LogManager;
+import org.eclipse.stardust.ui.web.common.log.Logger;
+import org.eclipse.stardust.ui.web.common.util.CollectionUtils;
+import org.eclipse.stardust.ui.web.common.util.StringUtils;
+import org.eclipse.stardust.ui.web.viewscommon.beans.SessionContext;
+import org.eclipse.stardust.ui.web.viewscommon.utils.ExceptionHandler;
+
+public class TechnicalUserUtils
+{
+
+ protected static final Logger trace = LogManager.getLogger(TechnicalUserUtils.class);
+
+ public static final String TECH_USER_PARAM_ACCOUNT = "Security.ResetPassword.TechnicalUser.Account";
+ public static final String TECH_USER_PARAM_PASSWORD = "Security.ResetPassword.TechnicalUser.Password";
+ public static final String TECH_USER_PARAM_REALM = "Security.ResetPassword.TechnicalUser.Realm";
+
+ /**
+ *
+ * @param loginProperties
+ * @return
+ * @throws PortalException
+ */
+ public static SessionContext login(Map<String, String> loginProperties) throws PortalException
+ {
+ SessionContext sessionCtx;
+
+ // Login With Technical User
+ try
+ {
+ if (trace.isDebugEnabled())
+ {
+ trace.debug("Technical User about to log in...");
+ }
+
+ Parameters parameters = Parameters.instance();
+
+ String user = parameters.getString(TECH_USER_PARAM_ACCOUNT);
+ String pwd = parameters.getString(TECH_USER_PARAM_PASSWORD);
+ String realm = parameters.getString(TECH_USER_PARAM_REALM);
+
+ Map<String, String> properties = CollectionUtils.newHashMap();
+ properties.put(SecurityProperties.REALM, realm);
+
+ if (StringUtils.isEmpty(user) || StringUtils.isEmpty(pwd) || StringUtils.isEmpty(realm))
+ {
+ user = "motu";
+ pwd = "motu";
+ realm = "carnot";
+
+ trace.info("The default user credentials were used to initiate the 'Reset Password' request. Please configure a new technical user.");
+ }
+ else
+ {
+ trace.debug("Technical User is found to be configured. Using the same to Reset Password");
+ }
+
+ // Set the partition of Tech User same as the current user
+ if (loginProperties.containsKey(SecurityProperties.PARTITION))
+ {
+ properties.put(SecurityProperties.PARTITION, loginProperties.get(SecurityProperties.PARTITION));
+ }
+
+ sessionCtx = SessionContext.findSessionContext();
+ sessionCtx.initInternalSession(user, pwd, properties);
+
+ if (trace.isDebugEnabled())
+ {
+ trace.debug("Technical User Logged in...");
+ }
+ }
+ finally
+ {
+ }
+ return sessionCtx;
+ }
+
+ /**
+ *
+ * @param sessionCtx
+ */
+ public static void logout(SessionContext sessionCtx)
+ {
+ sessionCtx.logout();
+ }
+}
diff --git a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/common/spi/theme/impl/IppThemeProvider.java b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/common/spi/theme/impl/IppThemeProvider.java
index 05cfacf..06e56cd 100644
--- a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/common/spi/theme/impl/IppThemeProvider.java
+++ b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/common/spi/theme/impl/IppThemeProvider.java
@@ -29,12 +29,12 @@ import org.eclipse.stardust.engine.api.runtime.DocumentManagementService;
import org.eclipse.stardust.engine.api.runtime.Folder;
import org.eclipse.stardust.engine.core.repository.IRepositoryManager;
import org.eclipse.stardust.engine.core.repository.RepositorySpaceKey;
-import org.eclipse.stardust.ui.client.util.PluginResourceUtils;
import org.eclipse.stardust.ui.web.common.spi.theme.Theme;
import org.eclipse.stardust.ui.web.common.spi.theme.ThemeProvider;
import org.eclipse.stardust.ui.web.common.util.MessagePropertiesBean;
import org.eclipse.stardust.ui.web.viewscommon.beans.SessionContext;
import org.eclipse.stardust.ui.web.viewscommon.common.Constants;
+import org.eclipse.stardust.ui.web.viewscommon.common.PortalPluginSkinResourceResolver;
import org.eclipse.stardust.ui.web.viewscommon.login.dialogs.LoginDialogBean;
import org.eclipse.stardust.ui.web.viewscommon.utils.DMSHelper;
import org.springframework.core.io.Resource;
@@ -58,7 +58,7 @@ public class IppThemeProvider implements ThemeProvider
private String themeId;
private String loginStyleSheet;
private List<String> themeStyleSheets;
- private Map<String, List<Resource>> pluginAvailableSkins;
+ private Map<String, List<String>> pluginAvailableSkins;
/**
*
@@ -107,6 +107,10 @@ public class IppThemeProvider implements ThemeProvider
for (Folder skinFolder : skins)
{
+ if (StringUtils.isNotEmpty(themeId) && skinFolder.getName().equals(themeId))
+ {
+ this.themeId = skinFolder.getId();
+ }
availableJCRThemes.add(new IppTheme(skinFolder.getId(), skinFolder.getName()));
}
return availableJCRThemes;
@@ -119,12 +123,17 @@ public class IppThemeProvider implements ThemeProvider
{
Set<Theme> availablePluginThemes = new HashSet<Theme>();
- pluginAvailableSkins = PluginResourceUtils.findPluginSkins(Constants.PLUGIN_FOLDER_PATH, null);
+ pluginAvailableSkins = PortalPluginSkinResourceResolver.findPluginSkins(Constants.PLUGIN_FOLDER_PATH, null);
- for (Map.Entry<String, List<Resource>> entry : pluginAvailableSkins.entrySet())
+ for (Map.Entry<String, List<String>> entry : pluginAvailableSkins.entrySet())
{
String key = entry.getKey();
- availablePluginThemes.add(new IppTheme(key, key.substring(key.lastIndexOf("/")+1)));
+ String fileName = key.substring(key.lastIndexOf("/") + 1);
+ availablePluginThemes.add(new IppTheme(key, fileName));
+ if (StringUtils.isNotEmpty(themeId) && fileName.equals(themeId))
+ {
+ this.themeId = key;
+ }
}
return availablePluginThemes;
}
@@ -192,18 +201,16 @@ public class IppThemeProvider implements ThemeProvider
{
if (skinFolder.equals(skinFolderId))
{
- List<Resource> documents = pluginAvailableSkins.get(skinFolder);
- for (Resource skinFile : documents)
+ List<String> documentsName = pluginAvailableSkins.get(skinFolder);
+ for (String skinFile : documentsName)
{
- String filePath = skinFile.getURI().toString();
- System.out.println("File Path is @@@@@@@@@" + filePath);
- if (filePath.toLowerCase().endsWith(".css") && !loginStyleSheet.equals(skinFile))
+ String fileName = skinFile.substring(skinFile.lastIndexOf("/") + 1);
+ if (fileName.toLowerCase().endsWith(".css") && !loginStyleSheet.equals(skinFile))
{
// path : a string concat of plugin-root (/plugin) + folderId +
// skinFile(say camino.css) ex:
// "/plugin/views-common/public/skins/red/camino.css"
- String path = Constants.PLUGIN_ROOT_FOLDER_PATH + skinFolderId + "/"
- + filePath.substring(filePath.lastIndexOf("/") + 1);
+ String path = Constants.PLUGIN_ROOT_FOLDER_PATH + skinFolder + "/" + fileName;
pluginStyleSheets.add(path);
}
}
diff --git a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/login/dialogs/LoginDialogBean.java b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/login/dialogs/LoginDialogBean.java
index a1df4bc..e2c7e80 100644
--- a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/login/dialogs/LoginDialogBean.java
+++ b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/login/dialogs/LoginDialogBean.java
@@ -14,6 +14,7 @@ import java.io.IOException;
import java.io.Serializable;
import java.util.Collections;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import javax.faces.context.ExternalContext;
@@ -21,8 +22,11 @@ import javax.faces.context.FacesContext;
import org.eclipse.stardust.common.config.Parameters;
import org.eclipse.stardust.engine.core.runtime.beans.removethis.SecurityProperties;
+import org.eclipse.stardust.ui.web.common.configuration.UserPreferencesEntries;
+import org.eclipse.stardust.ui.web.common.configuration.UserPreferencesHelper;
import org.eclipse.stardust.ui.web.common.log.LogManager;
import org.eclipse.stardust.ui.web.common.log.Logger;
+import org.eclipse.stardust.ui.web.common.spi.preference.PreferenceScope;
import org.eclipse.stardust.ui.web.common.util.CollectionUtils;
import org.eclipse.stardust.ui.web.common.util.FacesUtils;
import org.eclipse.stardust.ui.web.common.util.MessagePropertiesBean;
@@ -30,14 +34,16 @@ import org.eclipse.stardust.ui.web.common.util.StringUtils;
import org.eclipse.stardust.ui.web.viewscommon.common.Constants;
import org.eclipse.stardust.ui.web.viewscommon.common.Localizer;
import org.eclipse.stardust.ui.web.viewscommon.common.LocalizerKey;
+import org.eclipse.stardust.ui.web.viewscommon.common.PortalPluginSkinResourceResolver;
+import org.eclipse.stardust.ui.web.viewscommon.common.TechnicalUserUtils;
import org.eclipse.stardust.ui.web.viewscommon.beans.ApplicationContext;
import org.eclipse.stardust.ui.web.viewscommon.beans.SessionContext;
import org.eclipse.stardust.ui.web.viewscommon.login.InfinityStartup;
import org.eclipse.stardust.ui.web.viewscommon.utils.ExceptionHandler;
+import org.springframework.beans.factory.InitializingBean;
-
-public class LoginDialogBean implements Serializable
+public class LoginDialogBean implements Serializable, InitializingBean
{
private static final long serialVersionUID = -2703702864230398366L;
@@ -75,6 +81,8 @@ public class LoginDialogBean implements Serializable
private String loginStyleSheetName;
+ private String pluginLoginStyleSheetPath;
+
public LoginDialogBean()
{
changePwdDialog = new ChangePasswordDialog();
@@ -114,6 +122,55 @@ public class LoginDialogBean implements Serializable
}
/**
+ * The partition skin preference is read and update the PluginLoginStyleSheet
+ */
+ public void afterPropertiesSet()
+ {
+ try
+ {
+ SessionContext sessionCtx = TechnicalUserUtils.login(getLoginProperties());
+ UserPreferencesHelper userPrefsHelper = UserPreferencesHelper.getInstance(UserPreferencesEntries.M_PORTAL,
+ PreferenceScope.PARTITION);
+ String skinPreference = userPrefsHelper.getSingleString(UserPreferencesEntries.V_PORTAL_CONFIG,
+ UserPreferencesEntries.F_SKIN);
+ TechnicalUserUtils.logout(sessionCtx);
+ Map<String, List<String>> pluginAvailableSkins = null;
+ if (skinPreference.contains(Constants.PLUGIN_FOLDER_PATH))
+ {
+ // if skinPreference =<plugin-id>/public/skins/camino, directly retrieve the
+ // skin
+ pluginAvailableSkins = PortalPluginSkinResourceResolver.findPluginSkins(Constants.PLUGIN_FOLDER_PATH,
+ loginStyleSheetName);
+ }
+ else
+ {
+ // If skinPreference ="camino" (i.e loaded from
+ // SungardSkinStaticConfigurationProvider), search skin folder
+ pluginAvailableSkins = PortalPluginSkinResourceResolver.findPluginSkins(Constants.PLUGIN_FOLDER_PATH, null);
+ }
+
+ for (Map.Entry<String, List<String>> entry : pluginAvailableSkins.entrySet())
+ {
+ if (entry.getKey().endsWith(skinPreference))
+ {
+ for (String filePath : entry.getValue())
+ {
+ String fileName = filePath.substring(filePath.lastIndexOf("/") + 1);
+ if (fileName.equals(loginStyleSheetName))
+ {
+ pluginLoginStyleSheetPath = Constants.PLUGIN_ROOT_FOLDER_PATH + entry.getKey() + "/" + fileName;
+ }
+ }
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ trace.error("Technical User login failed for reading skin preference" + e);
+ }
+ }
+
+ /**
* @return
*/
public static LoginDialogBean getInstance()
@@ -350,4 +407,16 @@ public class LoginDialogBean implements Serializable
{
return loginStyleSheetName;
}
+
+ public String getPluginLoginStyleSheetPath()
+ {
+ return pluginLoginStyleSheetPath;
+ }
+
+ public void setPluginLoginStyleSheetPath(String pluginLoginStyleSheetPath)
+ {
+ this.pluginLoginStyleSheetPath = pluginLoginStyleSheetPath;
+ }
+
+
}
diff --git a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/login/dialogs/ResetPasswordDialog.java b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/login/dialogs/ResetPasswordDialog.java
index d0fe856..3e9888d 100644
--- a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/login/dialogs/ResetPasswordDialog.java
+++ b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/login/dialogs/ResetPasswordDialog.java
@@ -13,7 +13,6 @@ package org.eclipse.stardust.ui.web.viewscommon.login.dialogs;
import java.util.Collections;
import java.util.Map;
-import org.eclipse.stardust.common.config.Parameters;
import org.eclipse.stardust.engine.core.runtime.beans.removethis.SecurityProperties;
import org.eclipse.stardust.ui.web.common.log.LogManager;
import org.eclipse.stardust.ui.web.common.log.Logger;
@@ -22,28 +21,22 @@ import org.eclipse.stardust.ui.web.common.util.FacesUtils;
import org.eclipse.stardust.ui.web.common.util.PopupDialog;
import org.eclipse.stardust.ui.web.common.util.StringUtils;
import org.eclipse.stardust.ui.web.viewscommon.beans.SessionContext;
+import org.eclipse.stardust.ui.web.viewscommon.common.TechnicalUserUtils;
import org.eclipse.stardust.ui.web.viewscommon.utils.ExceptionHandler;
-
-
/**
* @author Subodh.Godbole
- *
+ *
*/
public class ResetPasswordDialog extends PopupDialog
{
private static final long serialVersionUID = 1L;
-
+
protected static final Logger trace = LogManager.getLogger(ResetPasswordDialog.class);
-
+
private static final String FORM_ID = "resetPwdForm";
private static final String COMMON_MESSAGE_ID = "resetPwdCommonMsg";
- public static final String TECH_USER_PARAM_ACCOUNT = "Security.ResetPassword.TechnicalUser.Account";
- public static final String TECH_USER_PARAM_PASSWORD = "Security.ResetPassword.TechnicalUser.Password";
- public static final String TECH_USER_PARAM_REALM = "Security.ResetPassword.TechnicalUser.Realm";
-
-
private String account;
private String realm;
private String domain;
@@ -78,49 +71,9 @@ public class ResetPasswordDialog extends PopupDialog
// Login With Technical User
try
{
- if (trace.isDebugEnabled())
- {
- trace.debug("Technical User about to log in...");
- }
-
- Parameters parameters = Parameters.instance();
-
- String user = parameters.getString(TECH_USER_PARAM_ACCOUNT);
- String pwd = parameters.getString(TECH_USER_PARAM_PASSWORD);
- String realm = parameters.getString(TECH_USER_PARAM_REALM);
-
- Map<String, String> properties = CollectionUtils.newHashMap();
- properties.put(SecurityProperties.REALM, realm);
-
- if(StringUtils.isEmpty(user) || StringUtils.isEmpty(pwd) || StringUtils.isEmpty(realm))
- {
- user = "motu";
- pwd = "motu";
- realm = "carnot";
-
- trace.info("The default user credentials were used to initiate the 'Reset Password' request. Please configure a new technical user.");
- }
- else
- {
- trace.debug("Technical User is found to be configured. Using the same to Reset Password");
- }
-
- // Set the partition of Tech User same as the current user
- if(loginProperties.containsKey(SecurityProperties.PARTITION))
- {
- properties.put(SecurityProperties.PARTITION, loginProperties
- .get(SecurityProperties.PARTITION));
- }
-
- sessionCtx = SessionContext.findSessionContext();
- sessionCtx.initInternalSession(user, pwd, properties);
-
- if (trace.isDebugEnabled())
- {
- trace.debug("Technical User Logged in...");
- }
+ sessionCtx = TechnicalUserUtils.login(loginProperties);
}
- catch(Exception e)
+ catch (Exception e)
{
ExceptionHandler.handleException(FORM_ID + ":" + COMMON_MESSAGE_ID, e);
return;
@@ -142,10 +95,10 @@ public class ResetPasswordDialog extends PopupDialog
trace.debug("Reset Pwd Success for - " + account);
}
- sessionCtx.logout();
+ TechnicalUserUtils.logout(sessionCtx);
success = true;
}
- catch(Exception e)
+ catch (Exception e)
{
ExceptionHandler.handleException(FORM_ID + ":" + COMMON_MESSAGE_ID, e);
}
@@ -166,7 +119,7 @@ public class ResetPasswordDialog extends PopupDialog
reset();
super.closePopup();
}
-
+
private Map<String, String> getLoginProperties()
{
LoginDialogBean loginDlg = LoginDialogBean.getInstance();
@@ -186,7 +139,7 @@ public class ResetPasswordDialog extends PopupDialog
}
return Collections.unmodifiableMap(properties);
}
-
+
public String getAccount()
{
return account;
diff --git a/views-common/src/main/resources/META-INF/xhtml/common/abortIframePopup.xhtml b/views-common/src/main/resources/META-INF/xhtml/common/abortIframePopup.xhtml
index 308fe5f..5670d7d 100644
--- a/views-common/src/main/resources/META-INF/xhtml/common/abortIframePopup.xhtml
+++ b/views-common/src/main/resources/META-INF/xhtml/common/abortIframePopup.xhtml
@@ -21,7 +21,6 @@
<ice:outputStyle href="/plugins/common/css/nirvanaRime-override.css" />
<ice:outputStyle href="/plugins/common/css/nirvanaPortal.css" />
<ice:outputStyle href="/plugins/common/css/portalComponentStyle.css" />
- <ice:outputStyle href="/plugins/common/css/camino.css" />
<c:forEach items="#{ippPortalApp.skinFiles}" var="skinFile">
<ice:outputStyle href="#{skinFile}" />
diff --git a/views-common/src/main/resources/META-INF/xhtml/common/caseIframePopup.xhtml b/views-common/src/main/resources/META-INF/xhtml/common/caseIframePopup.xhtml
index fb1972a..97ccd3b 100644
--- a/views-common/src/main/resources/META-INF/xhtml/common/caseIframePopup.xhtml
+++ b/views-common/src/main/resources/META-INF/xhtml/common/caseIframePopup.xhtml
@@ -21,7 +21,6 @@
<ice:outputStyle href="/plugins/common/css/nirvanaRime-override.css" />
<ice:outputStyle href="/plugins/common/css/nirvanaPortal.css" />
<ice:outputStyle href="/plugins/common/css/portalComponentStyle.css" />
- <ice:outputStyle href="/plugins/common/css/camino.css" />
<c:forEach items="#{ippPortalApp.skinFiles}" var="skinFile">
<ice:outputStyle href="#{skinFile}" />
diff --git a/views-common/src/main/resources/META-INF/xhtml/common/linkedProcessIframePopup.xhtml b/views-common/src/main/resources/META-INF/xhtml/common/linkedProcessIframePopup.xhtml
index 276cdf1..ec7e08d 100644
--- a/views-common/src/main/resources/META-INF/xhtml/common/linkedProcessIframePopup.xhtml
+++ b/views-common/src/main/resources/META-INF/xhtml/common/linkedProcessIframePopup.xhtml
@@ -21,7 +21,6 @@
<ice:outputStyle href="/plugins/common/css/nirvanaRime-override.css" />
<ice:outputStyle href="/plugins/common/css/nirvanaPortal.css" />
<ice:outputStyle href="/plugins/common/css/portalComponentStyle.css" />
- <ice:outputStyle href="/plugins/common/css/camino.css" />
<c:forEach items="#{ippPortalApp.skinFiles}" var="skinFile">
<ice:outputStyle href="#{skinFile}" />
diff --git a/views-common/src/main/resources/META-INF/xhtml/login.xhtml b/views-common/src/main/resources/META-INF/xhtml/login.xhtml
index ead233c..937fc58 100644
--- a/views-common/src/main/resources/META-INF/xhtml/login.xhtml
+++ b/views-common/src/main/resources/META-INF/xhtml/login.xhtml
@@ -4,6 +4,7 @@
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:c="http://java.sun.com/jstl/core"
xmlns:ice="http://www.icesoft.com/icefaces/component"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:pc="http://www.sungard.de/carnot/web/portal-plugin/portalcommon">
@@ -21,8 +22,12 @@
<link href="#{facesContext.externalContext.requestContextPath}/plugins/common/css/nirvanaRime-override.css" rel="stylesheet" type="text/css" />
<link href="#{facesContext.externalContext.requestContextPath}/plugins/common/css/nirvanaPortal.css" rel="stylesheet" type="text/css" />
<link href="#{facesContext.externalContext.requestContextPath}/plugins/common/css/portalComponentStyle.css" rel="stylesheet" type="text/css" />
- <link href="#{facesContext.externalContext.requestContextPath}/plugins/common/css/camino.css" rel="stylesheet" type="text/css" />
- <ice:outputStyle href="/skin-content/#{not empty ippLoginDialog.partition ? ippLoginDialog.partition : 'default'}/default-skin/#{ippLoginDialog.loginStyleSheetName}" />
+ <c:if test="#{ippLoginDialog.pluginLoginStyleSheetPath !=null}">
+ <link href="#{facesContext.externalContext.requestContextPath}/#{ippLoginDialog.pluginLoginStyleSheetPath}" rel="stylesheet" type="text/css" />
+ </c:if>
+ <c:if test="#{ippLoginDialog.pluginLoginStyleSheetPath == null}">
+ <ice:outputStyle href="/skin-content/#{not empty ippLoginDialog.partition ? ippLoginDialog.partition : 'default'}/default-skin/#{ippLoginDialog.loginStyleSheetName}" />
+ </c:if>
</head>
<body style="background:#f5f5f5; text-align: center; height: auto;" onload="onLoginPageLoad();">
<ice:form id="loginForm" onkeyup="default_portalCommon_loginuser(event);">