diff --git a/ccm-cms-publicpersonalprofile/src/ccm-cms-publicpersonalprofile.load b/ccm-cms-publicpersonalprofile/src/ccm-cms-publicpersonalprofile.load
index 5aa08522d..245641e31 100644
--- a/ccm-cms-publicpersonalprofile/src/ccm-cms-publicpersonalprofile.load
+++ b/ccm-cms-publicpersonalprofile/src/ccm-cms-publicpersonalprofile.load
@@ -11,11 +11,11 @@
-
+
-
+
\ No newline at end of file
diff --git a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/ui/PublicPersonalProfileCreate.java b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/ui/PublicPersonalProfileCreate.java
index 3590fd49c..7f1f88f26 100644
--- a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/ui/PublicPersonalProfileCreate.java
+++ b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/ui/PublicPersonalProfileCreate.java
@@ -149,7 +149,7 @@ public class PublicPersonalProfileCreate extends PageCreate {
final ContentPage item = createContentPage(state);
item.setLanguage((String) data.get(LANGUAGE));
item.setName(name);
- item.setTitle(title);
+ item.setTitle(title);
if (!ContentSection.getConfig().getHideLaunchDate()) {
item.setLaunchDate((Date) data.get(LAUNCH_DATE));
}
@@ -162,6 +162,7 @@ public class PublicPersonalProfileCreate extends PageCreate {
PublicPersonalProfile profile = new PublicPersonalProfile(item.
getOID());
profile.setOwner(owner);
+ profile.setProfileUrl(owner.getSurname().toLowerCase());
profile.save();
m_parent.editItem(state, item);
diff --git a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/ui/PublicPersonalProfilePropertyForm.java b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/ui/PublicPersonalProfilePropertyForm.java
index 3f9d22d95..492dce616 100644
--- a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/ui/PublicPersonalProfilePropertyForm.java
+++ b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/ui/PublicPersonalProfilePropertyForm.java
@@ -8,11 +8,16 @@ import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener;
import com.arsdigita.bebop.event.FormSectionEvent;
+import com.arsdigita.bebop.event.FormValidationListener;
import com.arsdigita.bebop.parameters.ParameterModel;
import com.arsdigita.bebop.parameters.StringParameter;
+import com.arsdigita.cms.ContentItem;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.PublicPersonalProfile;
import com.arsdigita.cms.ui.authoring.BasicPageForm;
+import com.arsdigita.domain.DomainObjectFactory;
+import com.arsdigita.persistence.DataCollection;
+import com.arsdigita.persistence.SessionManager;
/**
*
@@ -22,10 +27,12 @@ import com.arsdigita.cms.ui.authoring.BasicPageForm;
public class PublicPersonalProfilePropertyForm
extends BasicPageForm
implements FormProcessListener,
- FormInitListener {
+ FormInitListener,
+ FormValidationListener {
- private PublicPersonalProfilePropertiesStep step;
+ private PublicPersonalProfilePropertiesStep step;
public static final String ID = "PublicPersonalProfile_edit";
+ private ItemSelectionModel itemModel;
public PublicPersonalProfilePropertyForm(ItemSelectionModel itemModel) {
this(itemModel, null);
@@ -36,12 +43,14 @@ public class PublicPersonalProfilePropertyForm
PublicPersonalProfilePropertiesStep step) {
super(ID, itemModel);
this.step = step;
+ this.itemModel = itemModel;
+ addValidationListener(this);
}
@Override
public void addWidgets() {
super.addWidgets();
-
+
add(new Label(PublicPersonalProfileGlobalizationUtil.globalize(
"publicpersonalprofile.ui.profile.url")));
ParameterModel profileUrlParam =
@@ -55,7 +64,7 @@ public class PublicPersonalProfilePropertyForm
final PageState state = fse.getPageState();
final FormData data = fse.getFormData();
final PublicPersonalProfile profile =
- (PublicPersonalProfile) super.
+ (PublicPersonalProfile) super.
initBasicWidgets(fse);
data.put(PublicPersonalProfile.PROFILE_URL, profile.getProfileUrl());
@@ -64,17 +73,43 @@ public class PublicPersonalProfilePropertyForm
@Override
public void process(FormSectionEvent fse) throws FormProcessException {
final PublicPersonalProfile profile =
- (PublicPersonalProfile) processBasicWidgets(
+ (PublicPersonalProfile) processBasicWidgets(
fse);
final FormData data = fse.getFormData();
final PageState state = fse.getPageState();
if ((profile != null)
- && getSaveCancelSection().getSaveButton().isSelected(state)) {
- profile.setProfileUrl((String) data.get(
- PublicPersonalProfile.PROFILE_URL));
+ && getSaveCancelSection().getSaveButton().isSelected(state)) {
+ profile.setProfileUrl(((String) data.get(
+ PublicPersonalProfile.PROFILE_URL)).toLowerCase());
profile.save();
}
}
+
+ @Override
+ public void validate(FormSectionEvent fse) throws FormProcessException {
+ final PageState state = fse.getPageState();
+ final FormData data = fse.getFormData();
+
+
+ String profilesUrl = (String) data.get(PublicPersonalProfile.PROFILE_URL);
+ if ((profilesUrl == null) || profilesUrl.isEmpty()) {
+ data.addError(PublicPersonalProfileGlobalizationUtil.globalize("publicpersonalprofile.ui.profile_url.required"));
+ }
+
+ DataCollection profiles = SessionManager.getSession().retrieve(PublicPersonalProfile.BASE_DATA_OBJECT_TYPE);
+ profiles.addFilter(String.format("profileUrl = '%s'", ((String)data.get(PublicPersonalProfile.PROFILE_URL)).toLowerCase()));
+ profiles.addFilter(String.format("version = '%s'", ContentItem.DRAFT));
+ if (profiles.size() > 1) {
+ data.addError(PublicPersonalProfileGlobalizationUtil.globalize("publicpersonalprofile.ui.profile_url.already_in_use"));
+ } else if(profiles.size() == 1) {
+ profiles.next();
+ PublicPersonalProfile profile = (PublicPersonalProfile) DomainObjectFactory.newInstance(profiles.getDataObject());
+
+ if (!(profile.getID().equals(itemModel.getSelectedItem(state).getID()))) {
+ data.addError(PublicPersonalProfileGlobalizationUtil.globalize("publicpersonalprofile.ui.profile_url.already_in_use"));
+ }
+ }
+ }
}
diff --git a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfileServlet.java b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfileServlet.java
deleted file mode 100644
index 31b05de15..000000000
--- a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfileServlet.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package com.arsdigita.cms.publicpersonalprofile;
-
-import com.arsdigita.bebop.Form;
-import com.arsdigita.bebop.Label;
-import com.arsdigita.bebop.Page;
-import com.arsdigita.bebop.PageFactory;
-import com.arsdigita.templating.PresentationManager;
-import com.arsdigita.templating.Templating;
-import com.arsdigita.web.Application;
-import com.arsdigita.web.BaseApplicationServlet;
-import com.arsdigita.xml.Document;
-import java.io.IOException;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.apache.log4j.Logger;
-
-/**
- *
- * @author Jens Pelzetter
- * @version $Id$
- */
-public class PublicPersonalProfileServlet extends BaseApplicationServlet {
-
- private static final long serialVersionUID = -1495852395804455609L;
- private static final Logger logger =
- Logger.getLogger(
- PublicPersonalProfileServlet.class);
-
- @Override
- protected void doService(final HttpServletRequest request,
- final HttpServletResponse response,
- final Application app) throws ServletException,
- IOException {
- String path = "";
-
- logger.debug("PublicPersonalProfileServlet is starting...");
- logger.debug(String.format("pathInfo = '%s'", request.getPathInfo()));
-
- logger.debug("Extracting path from pathInfo by removing leading and "
- + "trailing slashes...");
- if (request.getPathInfo() != null) {
- if ("/".equals(request.getPathInfo())) {
- path = "";
- } else if (request.getPathInfo().startsWith("/")
- && request.getPathInfo().endsWith("/")) {
- path = request.getPathInfo().substring(1, request.getPathInfo().
- length() - 1);
- } else if (request.getPathInfo().startsWith("/")) {
- path = request.getPathInfo().substring(1);
- } else if (request.getPathInfo().endsWith("/")) {
- path = request.getPathInfo().substring(0, request.getPathInfo().
- length() - 1);
- } else {
- path = request.getPathInfo();
- }
- }
-
- logger.debug(String.format("path = %s", path));
-
- //Displays a text/plain page with a message.
- if (path.isEmpty()) {
- logger.debug("pathInfo is null, responding with default...");
-
- response.setContentType("text/plain");
- response.getWriter().append("Please choose an application.");
- } else {
- Page page;
- Form form;
- Label label;
-
- page = PageFactory.buildPage("SciPublications",
- "Hello World from profiles");
- form = new Form("HelloWorld");
- label = new Label(String.format("Hello World! From profiles, path = %s", path));
-
- form.add(label);
- page.add(form);
-
- page.lock();
-
- Document document = page.buildDocument(request, response);
- PresentationManager presentationManager = Templating.
- getPresentationManager();
- presentationManager.servePage(document, request, response);
- }
-
- }
-}
diff --git a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfile.java b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfiles.java
similarity index 77%
rename from ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfile.java
rename to ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfiles.java
index 71a54ae28..4d184281a 100644
--- a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfile.java
+++ b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfiles.java
@@ -11,21 +11,21 @@ import java.math.BigDecimal;
* @author Jens Pelzetter
* @version $Id$
*/
-public class PublicPersonalProfile extends Application {
+public class PublicPersonalProfiles extends Application {
public static final String BASE_DATA_OBJECT_TYPE =
"com.arsdigita.cms.publicpersonalprofile.PublicPersonalProfile";
- public PublicPersonalProfile(final DataObject dobj) {
+ public PublicPersonalProfiles(final DataObject dobj) {
super(dobj);
}
- public PublicPersonalProfile(final OID oid)
+ public PublicPersonalProfiles(final OID oid)
throws DataObjectNotFoundException {
super(oid);
}
- public PublicPersonalProfile(final BigDecimal id)
+ public PublicPersonalProfiles(final BigDecimal id)
throws DataObjectNotFoundException {
this(new OID(BASE_DATA_OBJECT_TYPE, id));
}
diff --git a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfileInitializer.java b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfilesInitializer.java
similarity index 84%
rename from ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfileInitializer.java
rename to ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfilesInitializer.java
index a1db18d21..ec5951a48 100644
--- a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfileInitializer.java
+++ b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfilesInitializer.java
@@ -17,9 +17,9 @@ import com.arsdigita.runtime.RuntimeConfig;
* @author Jens Pelzetter
* @version $Id$
*/
-public class PublicPersonalProfileInitializer extends CompoundInitializer {
+public class PublicPersonalProfilesInitializer extends CompoundInitializer {
- public PublicPersonalProfileInitializer() {
+ public PublicPersonalProfilesInitializer() {
final String jdbcUrl = RuntimeConfig.getConfig().getJDBCURL();
final int database = DbHelper.getDatabaseFromURL(jdbcUrl);
@@ -33,13 +33,13 @@ public class PublicPersonalProfileInitializer extends CompoundInitializer {
super.init(event);
DomainObjectFactory.registerInstantiator(
- PublicPersonalProfile.BASE_DATA_OBJECT_TYPE,
+ PublicPersonalProfiles.BASE_DATA_OBJECT_TYPE,
new ACSObjectInstantiator() {
@Override
public DomainObject doNewInstance(
final DataObject dataObject) {
- return new PublicPersonalProfile(dataObject);
+ return new PublicPersonalProfiles(dataObject);
}
});
}
diff --git a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfileLoader.java b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfilesLoader.java
similarity index 84%
rename from ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfileLoader.java
rename to ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfilesLoader.java
index b91d0588f..fd8d3e410 100644
--- a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfileLoader.java
+++ b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfilesLoader.java
@@ -17,11 +17,11 @@ import org.apache.log4j.Logger;
* @author Jens Pelzetter
* @version $Id$
*/
-public class PublicPersonalProfileLoader extends PackageLoader {
+public class PublicPersonalProfilesLoader extends PackageLoader {
private static final Logger logger =
Logger.getLogger(
- PublicPersonalProfileLoader.class);
+ PublicPersonalProfilesLoader.class);
@Override
public void run(final ScriptContext ctx) {
@@ -35,9 +35,9 @@ public class PublicPersonalProfileLoader extends PackageLoader {
/*ApplicationSetup setup = new ApplicationSetup(logger);
setup.setApplicationObjectType(
- PublicPersonalProfile.BASE_DATA_OBJECT_TYPE);
+ PublicPersonalProfiles.BASE_DATA_OBJECT_TYPE);
setup.setKey("profiles");
- setup.setTitle("PublicPersonalProfile");
+ setup.setTitle("PublicPersonalProfiles");
setup.setDescription("Display public personal profiles");
setup.setInstantiator(new ACSObjectInstantiator() {
@@ -45,7 +45,7 @@ public class PublicPersonalProfileLoader extends PackageLoader {
@Override
public DomainObject doNewInstance(
final DataObject dataObject) {
- return new PublicPersonalProfile(dataObject);
+ return new PublicPersonalProfiles(dataObject);
}
});
@@ -53,7 +53,7 @@ public class PublicPersonalProfileLoader extends PackageLoader {
type.save();
if (!Application.isInstalled(
- PublicPersonalProfile.BASE_DATA_OBJECT_TYPE,
+ PublicPersonalProfiles.BASE_DATA_OBJECT_TYPE,
"/profiles/")) {
/*Application app = Application.createRootApplication(type,
"profiles",
@@ -68,11 +68,11 @@ public class PublicPersonalProfileLoader extends PackageLoader {
ApplicationType type =
new ApplicationType("PublicPersonalProfile",
- PublicPersonalProfile.BASE_DATA_OBJECT_TYPE);
+ PublicPersonalProfiles.BASE_DATA_OBJECT_TYPE);
type.setDescription("PublicPersonalProfile Viewer");
Application.createApplication(
- PublicPersonalProfile.BASE_DATA_OBJECT_TYPE,
+ PublicPersonalProfiles.BASE_DATA_OBJECT_TYPE,
"profiles",
"PublicPersonalProfiles",
null);
diff --git a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfilesServlet.java b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfilesServlet.java
new file mode 100644
index 000000000..a4cc9cc65
--- /dev/null
+++ b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfilesServlet.java
@@ -0,0 +1,205 @@
+package com.arsdigita.cms.publicpersonalprofile;
+
+import com.arsdigita.bebop.Page;
+import com.arsdigita.bebop.PageFactory;
+import com.arsdigita.cms.ContentItem;
+import com.arsdigita.cms.contenttypes.GenericPerson;
+import com.arsdigita.cms.contenttypes.PublicPersonalProfile;
+import com.arsdigita.domain.DomainObjectFactory;
+import com.arsdigita.persistence.DataCollection;
+import com.arsdigita.persistence.Session;
+import com.arsdigita.persistence.SessionManager;
+import com.arsdigita.templating.PresentationManager;
+import com.arsdigita.templating.Templating;
+import com.arsdigita.web.Application;
+import com.arsdigita.web.BaseApplicationServlet;
+import com.arsdigita.xml.Document;
+import com.arsdigita.xml.Element;
+import java.io.IOException;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.apache.log4j.Logger;
+
+/**
+ *
+ * @author Jens Pelzetter
+ * @version $Id$
+ */
+public class PublicPersonalProfilesServlet extends BaseApplicationServlet {
+
+ private static final long serialVersionUID = -1495852395804455609L;
+ private static final Logger logger =
+ Logger.getLogger(
+ PublicPersonalProfilesServlet.class);
+ private static final String PREVIEW = "preview";
+
+ @Override
+ protected void doService(final HttpServletRequest request,
+ final HttpServletResponse response,
+ final Application app) throws ServletException,
+ IOException {
+ String path = "";
+
+ logger.debug("PublicPersonalProfileServlet is starting...");
+ logger.debug(String.format("pathInfo = '%s'", request.getPathInfo()));
+
+ logger.debug("Extracting path from pathInfo by removing leading and "
+ + "trailing slashes...");
+ if (request.getPathInfo() != null) {
+ if ("/".equals(request.getPathInfo())) {
+ path = "";
+ } else if (request.getPathInfo().startsWith("/")
+ && request.getPathInfo().endsWith("/")) {
+ path = request.getPathInfo().substring(1, request.getPathInfo().
+ length() - 1);
+ } else if (request.getPathInfo().startsWith("/")) {
+ path = request.getPathInfo().substring(1);
+ } else if (request.getPathInfo().endsWith("/")) {
+ path = request.getPathInfo().substring(0, request.getPathInfo().
+ length() - 1);
+ } else {
+ path = request.getPathInfo();
+ }
+ }
+
+ logger.debug(String.format("path = %s", path));
+
+ //Displays a text/plain page with a message.
+ if (path.isEmpty()) {
+ logger.debug("pathInfo is null, responding with default...");
+
+ response.setContentType("text/plain");
+ response.getWriter().append("Please choose an application.");
+ } else {
+ final String[] pathTokens = path.split("/");
+ boolean preview = false;;
+ String profileOwner = "";
+ String navPath = null;
+
+ Page page;
+ /*Form form;
+ Label label;*/
+
+ page = PageFactory.buildPage("PublicPersonalProfile",
+ "Hello World from profiles");
+ /*form = new Form("HelloWorld");*/
+
+ if (pathTokens.length < 1) {
+ //ToDo: Fehlerbehandlung?
+ } else {
+ if ((pathTokens.length > 1)
+ && PREVIEW.equals(pathTokens[0])) {
+ preview = true;
+ profileOwner = pathTokens[1];
+ if (pathTokens.length > 2) {
+ navPath = pathTokens[2];
+ }
+ } else {
+ profileOwner = pathTokens[0];
+ if (pathTokens.length > 1) {
+ navPath = pathTokens[1];
+ }
+ }
+ }
+
+ /*form.add(new Label(String.format("Member: %s", member)));
+
+ if (pathTokens.length > 1) {
+ for(int i = 1; i < pathTokens.length; i++) {
+ form.add(new Label(String.format("%d: %s", i, pathTokens[i])));
+ }
+ }
+
+ label = new Label(String.format(
+ "Hello World! From profiles, path = %s", path));
+
+ form.add(label);
+ page.add(form);*/
+
+ page.lock();
+
+ Document document = page.buildDocument(request, response);
+ Element root = document.getRootElement();
+ Element test = root.newChildElement("test");
+ test.setText("test");
+
+ final Session session = SessionManager.getSession();
+
+ DataCollection profiles =
+ session.retrieve(
+ com.arsdigita.cms.contenttypes.PublicPersonalProfile.BASE_DATA_OBJECT_TYPE);
+ profiles.addFilter(String.format("profileUrl = '%s'", profileOwner));
+ if (preview) {
+ profiles.addFilter(String.format("version = '%s'",
+ ContentItem.DRAFT));
+ } else {
+ profiles.addFilter(String.format("version = '%s'",
+ ContentItem.LIVE));
+ }
+
+ if (profiles.size() == 0) {
+ response.setStatus(HttpServletResponse.SC_NOT_FOUND);
+ return;
+ } else if (profiles.size() > 1) {
+ throw new IllegalStateException(
+ "More than one matching members found...");
+ } else {
+ profiles.next();
+ PublicPersonalProfile profile =
+ (PublicPersonalProfile) DomainObjectFactory.
+ newInstance(profiles.getDataObject());
+ Element profileElem = root.newChildElement("profile");
+ GenericPerson owner = profile.getOwner();
+ if (owner == null) {
+ throw new IllegalStateException(
+ "Failed to get owner of profile.");
+ }
+ profileElem.setText(owner.getFullName());
+
+ createNavigation(profile, root);
+ }
+
+
+
+
+ PresentationManager presentationManager = Templating.
+ getPresentationManager();
+ presentationManager.servePage(document, request, response);
+ }
+
+ }
+
+ private void createNavigation(final PublicPersonalProfile profile,
+ final Element root) {
+ Element navRoot =
+ root.newChildElement("nav:categoryMenu",
+ "http://ccm.redhat.com/london/navigation");
+ navRoot.addAttribute("id", "categoryMenu");
+
+ Element navList =
+ navRoot.newChildElement("nav:category",
+ "http://ccm.redhat.com/london/navigation");
+ navList.addAttribute("AbstractTree", "AbstractTree");
+ navList.addAttribute("description", "");
+ navList.addAttribute("id", "");
+ navList.addAttribute("isSelected", "true");
+ navList.addAttribute("sortKey", "");
+ navList.addAttribute("title", "publicPersonalProfileNavList");
+ navList.addAttribute("url", String.format("/ccm/%s",
+ profile.getProfileUrl()));
+
+ Element navHome =
+ navList.newChildElement("nav:category",
+ "http://ccm.redhat.com/london/navigation");
+ navHome.addAttribute("AbstractTree", "AbstractTree");
+ navHome.addAttribute("description", "");
+ navHome.addAttribute("id", profile.getID().toString());
+ navHome.addAttribute("isSelected", "true");
+ navHome.addAttribute("sortKey", "");
+ navHome.addAttribute("title", "Allgemein");
+ navHome.addAttribute("url", String.format("/ccm/%s",
+ profile.getProfileUrl()));
+
+ }
+}