@@ -28,16 +28,7 @@
*/
package org.escidoc.browser.ui.maincontent;

import com.google.common.base.Preconditions;

import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.Panel;
import com.vaadin.ui.VerticalLayout;
import com.vaadin.ui.Window;
import com.vaadin.ui.themes.Runo;

import org.escidoc.browser.controller.ItemController;
import org.escidoc.browser.model.EscidocServiceLocation;
import org.escidoc.browser.model.ResourceModel;
import org.escidoc.browser.model.ResourceProxy;
import org.escidoc.browser.model.TreeDataSource;
@@ -47,6 +38,13 @@
import org.escidoc.browser.ui.Router;
import org.escidoc.browser.ui.view.helpers.ItemPropertiesVH;

import com.google.common.base.Preconditions;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.Panel;
import com.vaadin.ui.VerticalLayout;
import com.vaadin.ui.Window;
import com.vaadin.ui.themes.Runo;

import de.escidoc.core.client.exceptions.EscidocClientException;
import de.escidoc.core.resources.om.item.Item;

@@ -59,8 +57,6 @@ public final class ItemView extends View {

private final Window mainWindow;

private final EscidocServiceLocation serviceLocation;

private final Repositories repositories;

private ItemPropertiesVH itemPropertiesView;
@@ -80,7 +76,6 @@ public ItemView(final Router router, final ResourceProxy resourceProxy, final It
this.setViewName(resourceProxy.getName());
this.mainWindow = router.getMainWindow();
this.router = router;
this.serviceLocation = router.getServiceLocation();
this.controller = itemController;
panelView = buildContentPanel();
}
@@ -104,7 +99,7 @@ private VerticalLayout buildVlContentPanel() {
vlContentPanel.setImmediate(false);
vlContentPanel.setWidth("100.0%");
vlContentPanel.setHeight("100.0%");
vlContentPanel.setMargin(true, true, false, true);
vlContentPanel.setMargin(false, true, false, true);

// resourcePropertiesPanel
Panel resourcePropertiesPanel = buildResourcePropertiesPanel();
@@ -318,4 +313,8 @@ public void reloadView() {
mainWindow.showNotification(e.getMessage(), Window.Notification.TYPE_ERROR_MESSAGE);
}
}
<<<<<<< HEAD
=======

>>>>>>> f27ae0939437676bab5c71167857de57f5f5388d
}
@@ -28,8 +28,14 @@
*/
package org.escidoc.browser.ui.maincontent;

import com.google.common.base.Preconditions;
import org.escidoc.browser.controller.OrgUnitController;
import org.escidoc.browser.model.ResourceProxy;
import org.escidoc.browser.repository.internal.OrgUnitProxy;
import org.escidoc.browser.ui.Router;
import org.escidoc.browser.ui.ViewConstants;
import org.escidoc.browser.ui.view.helpers.BreadCrumbMenu;

import com.google.common.base.Preconditions;
import com.vaadin.ui.AbstractComponentContainer;
import com.vaadin.ui.Component;
import com.vaadin.ui.HorizontalLayout;
@@ -38,13 +44,6 @@
import com.vaadin.ui.VerticalLayout;
import com.vaadin.ui.themes.Runo;

import org.escidoc.browser.controller.OrgUnitController;
import org.escidoc.browser.model.ResourceProxy;
import org.escidoc.browser.repository.internal.OrgUnitProxy;
import org.escidoc.browser.ui.Router;
import org.escidoc.browser.ui.ViewConstants;
import org.escidoc.browser.ui.view.helpers.BreadCrumbMenu;

@SuppressWarnings("serial")
public class OrgUnitView extends View {

@@ -54,6 +53,8 @@ public class OrgUnitView extends View {

private OrgUnitController orgUnitController;

private Panel breadCrump;

public OrgUnitView(final Router router, final ResourceProxy resourceProxy, OrgUnitController orgUnitController) {
Preconditions.checkNotNull(router, "router is null: %s", router);
Preconditions.checkNotNull(resourceProxy, "resourceProxy is null: %s", resourceProxy);
@@ -76,8 +77,10 @@ private VerticalLayout buildVlContentPanel() {
contentPanel.setImmediate(false);
contentPanel.setWidth("100.0%");
contentPanel.setHeight("100.0%");
contentPanel.setMargin(true, true, false, true);

contentPanel.setMargin(false, true, false, true);
// breadCrumpPanel
breadCrump = buildBreadCrumpPanel();
contentPanel.addComponent(breadCrump);
// resourcePropertiesPanel
Panel resourcePropertiesPanel = buildResourcePropertiesPanel();
contentPanel.addComponent(resourcePropertiesPanel);
@@ -239,7 +242,7 @@ private Panel buildBreadCrumpPanel() {
breadCrumpPanel.setContent(vlBreadCrump);

// BreadCreumb
new BreadCrumbMenu(breadCrumpPanel, resourceProxy);
new BreadCrumbMenu(breadCrumpPanel, resourceProxy.getName().toString());

return breadCrumpPanel;
}
@@ -259,6 +262,7 @@ private VerticalLayout buildVlResourceProperties() {

private void createProperties(VerticalLayout vlResourceProperties) {
// Create Property fields. Probably not the best place for them to be
buildBreadCrumpPanel();
vlResourceProperties.addComponent(bindNameToHeader());
addHorizontalRuler(vlResourceProperties);
vlResourceProperties.addComponent(bindProperties());
@@ -37,6 +37,7 @@
import org.escidoc.browser.ui.Router;
import org.escidoc.browser.ui.ViewConstants;
import org.escidoc.browser.ui.maincontent.View;
import org.escidoc.browser.ui.view.helpers.BreadCrumbMenu;

import com.google.common.base.Preconditions;
import com.vaadin.data.Validator.EmptyValueException;
@@ -72,6 +73,8 @@ public class UserAccountView extends View {

private Button addPreferenceButton;

private Panel breadCrump;

public UserAccountView(Router router, UserProxy userProxy, UserAccountRepository ur, UserAccountController uac) {
Preconditions.checkNotNull(router, "router is null: %s", router);
Preconditions.checkNotNull(userProxy, "userProxy is null: %s", userProxy);
@@ -88,10 +91,8 @@ public UserAccountView(Router router, UserProxy userProxy, UserAccountRepository
public void init() {
setImmediate(false);
setStyleName(Runo.PANEL_LIGHT);

Panel contentPanel = createContentPanel();
contentPanel.setContent(buildVlContentPanel());

setContent(contentPanel);
}

@@ -107,7 +108,8 @@ private OnAddAttribute(Button addAttributeButton, UserAccountAttributes attribut
}

@Override
public void buttonClick(@SuppressWarnings("unused") final com.vaadin.ui.Button.ClickEvent event) {
public void buttonClick(@SuppressWarnings("unused")
final com.vaadin.ui.Button.ClickEvent event) {
addAttributeButton.setEnabled(false);
final HorizontalLayout hl = new HorizontalLayout();
final TextField key = new TextField();
@@ -130,7 +132,8 @@ public void buttonClick(@SuppressWarnings("unused") final com.vaadin.ui.Button.C
btnadd.setIcon(new ThemeResource("images/assets/plus.png"));
btnadd.addListener(new Button.ClickListener() {
@Override
public void buttonClick(@SuppressWarnings("unused") final com.vaadin.ui.Button.ClickEvent event) {
public void buttonClick(@SuppressWarnings("unused")
final com.vaadin.ui.Button.ClickEvent event) {
if (isNotValid(key, value)) {
showMessage();
}
@@ -180,7 +183,8 @@ private OnSaveClick(TextField realNameField, PasswordField passwordField, Form f
}

@Override
public void buttonClick(@SuppressWarnings("unused") com.vaadin.ui.Button.ClickEvent event) {
public void buttonClick(@SuppressWarnings("unused")
com.vaadin.ui.Button.ClickEvent event) {
try {
form.commit();
if (!passwordField.getValue().equals(verifyPasswordField.getValue())) {
@@ -213,6 +217,7 @@ public void buttonClick(@SuppressWarnings("unused") com.vaadin.ui.Button.ClickEv

private static Panel createContentPanel() {
Panel contentPanel = new Panel();
contentPanel.setStyleName(Runo.PANEL_LIGHT);
contentPanel.setImmediate(false);
contentPanel.setWidth("100.0%");
contentPanel.setHeight("100.0%");
@@ -225,19 +230,45 @@ private VerticalLayout buildVlContentPanel() {
vlContentPanel.setImmediate(false);
vlContentPanel.setWidth("100.0%");
vlContentPanel.setHeight("100.0%");
vlContentPanel.setMargin(false);

vlContentPanel.setMargin(false, true, false, true);
// breadCrumpPanel
breadCrump = buildBreadCrumpPanel();
vlContentPanel.addComponent(breadCrump);
// pnlCreateContext
Accordion accordion = buildPanel();
accordion.setStyleName(Runo.ACCORDION_LIGHT);
vlContentPanel.addComponent(accordion);
vlContentPanel.setExpandRatio(accordion, 1f);

return vlContentPanel;
}

private Panel buildBreadCrumpPanel() {
// common part: create layout
Panel breadCrumpPanel = new Panel();
breadCrumpPanel.setImmediate(false);
breadCrumpPanel.setWidth("100.0%");
breadCrumpPanel.setHeight("30px");
breadCrumpPanel.setStyleName(Runo.PANEL_LIGHT);

// vlBreadCrump
VerticalLayout vlBreadCrump = new VerticalLayout();
vlBreadCrump.setImmediate(false);
vlBreadCrump.setWidth("100.0%");
vlBreadCrump.setHeight("100.0%");
vlBreadCrump.setMargin(false);
breadCrumpPanel.setContent(vlBreadCrump);

// BreadCreumb
new BreadCrumbMenu(breadCrumpPanel, userProxy.getName());

return breadCrumpPanel;
}

private Accordion buildPanel() {
// common part: create layout
Accordion accCreateContext = new Accordion();
accCreateContext.setStyleName(Runo.ACCORDION_LIGHT);
accCreateContext.setImmediate(false);
accCreateContext.setWidth("100.0%");
accCreateContext.setHeight("100.0%");
@@ -28,14 +28,9 @@
*/
package org.escidoc.browser.ui.view.helpers;

import com.google.common.base.Preconditions;

import com.vaadin.ui.AbstractComponentContainer;
import com.vaadin.ui.Component;
import com.vaadin.ui.ComponentContainer;
import com.vaadin.ui.CssLayout;
import com.vaadin.ui.Label;
import com.vaadin.ui.Window;
import java.net.MalformedURLException;
import java.util.Collections;
import java.util.List;

import org.escidoc.browser.model.ContainerProxy;
import org.escidoc.browser.model.EscidocServiceLocation;
@@ -45,9 +40,13 @@
import org.escidoc.browser.repository.Repositories;
import org.escidoc.browser.ui.helper.ResourceHierarchy;

import java.net.MalformedURLException;
import java.util.Collections;
import java.util.List;
import com.google.common.base.Preconditions;
import com.vaadin.ui.AbstractComponentContainer;
import com.vaadin.ui.Component;
import com.vaadin.ui.ComponentContainer;
import com.vaadin.ui.CssLayout;
import com.vaadin.ui.Label;
import com.vaadin.ui.Window;

import de.escidoc.core.client.exceptions.EscidocClientException;

@@ -157,6 +156,14 @@ public BreadCrumbMenu(final Component component, final List<ResourceModel> bread
Label.CONTENT_RAW));
}

public BreadCrumbMenu(final Component component, String title) {
final StringBuffer buf = new StringBuffer();
Preconditions.checkNotNull(component, "###BreadCrumbModel component is null");
buf.append("<li><a href='#'>" + title + "</a></li>");
((ComponentContainer) component).addComponent(new Label(bCstring + buf.toString() + "<li></ul>",
Label.CONTENT_RAW));
}

private String generateLink(final String id, final String type, final String url) {
return "?id=" + id + "&type=" + type + "&escidocurl=" + url;
}
@@ -28,38 +28,66 @@
*/
package org.escidoc.browser.ui.view.helpers;

import java.net.MalformedURLException;

import org.escidoc.browser.model.ResourceProxy;
import org.escidoc.browser.model.ResourceType;
import org.escidoc.browser.ui.Router;
import org.escidoc.browser.ui.ViewConstants;
import org.escidoc.browser.ui.listeners.VersionHistoryClickListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.vaadin.terminal.ExternalResource;
import com.vaadin.terminal.ThemeResource;
import com.vaadin.ui.AbstractComponentContainer;
import com.vaadin.ui.Button;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.Link;
import com.vaadin.ui.themes.BaseTheme;

import org.escidoc.browser.model.EscidocServiceLocation;
import org.escidoc.browser.ui.ViewConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class CreateResourceLinksVH {

import java.net.MalformedURLException;
private static final Logger LOG = LoggerFactory.getLogger(CreateResourceLinksVH.class);

public class CreatePermanentLinkVH {
private static final ThemeResource ICON_HISTORY = new ThemeResource("../runo/icons/16/calendar.png");

private static final Logger LOG = LoggerFactory.getLogger(CreatePermanentLinkVH.class);
public CreateResourceLinksVH(String url, ResourceProxy resourceProxy,
AbstractComponentContainer componentContainer, Router router) {
HorizontalLayout vl = new HorizontalLayout();
if (resourceProxy.getType().equals(ResourceType.ITEM)) {
vl.setStyleName("permanentLinkItem");
}
else {
vl.setStyleName("permanentLink");
}

public CreatePermanentLinkVH(String url, String id, String type, AbstractComponentContainer componentContainer,
EscidocServiceLocation serviceLocation) {
vl.setMargin(false);
Link l;
if (!resourceProxy.getType().equals(ResourceType.CONTEXT)) {
final Button btnVersionHistory =
new Button(" ", new VersionHistoryClickListener(resourceProxy, router.getMainWindow(),
router.getRepositories()));
btnVersionHistory.setStyleName(BaseTheme.BUTTON_LINK);
btnVersionHistory.setDescription("Show Version history in a Pop-up");
btnVersionHistory.addStyleName("paddingright10");
btnVersionHistory.setIcon(ICON_HISTORY);
vl.addComponent(btnVersionHistory);
}
try {
l =
new Link("", new ExternalResource(url + "?id=" + id + "&type=" + type + "&escidocurl="
+ serviceLocation.getEscidocUrl()));
new Link("",
new ExternalResource(url + "?id=" + resourceProxy.getId() + "&type="
+ resourceProxy.getType().toString() + "&escidocurl="
+ router.getServiceLocation().getEscidocUrl()));
l.setDescription(ViewConstants.PERMANENT_LINK);
l.setIcon(new ThemeResource("images/assets/link.png"));
l.setStyleName("permanentLink");
componentContainer.addComponent(l);
vl.addComponent(l);
componentContainer.addComponent(vl);
}
catch (MalformedURLException e) {
componentContainer.getWindow().showNotification(ViewConstants.COULD_NOT_RETRIEVE_APPLICATION_URL);
LOG.error(ViewConstants.COULD_NOT_RETRIEVE_APPLICATION_URL + e.getLocalizedMessage());
}
}

}
@@ -113,12 +113,15 @@ public class ItemPropertiesVH {

private ItemController controller;

private Router router;

public ItemPropertiesVH(ItemProxyImpl resourceProxy, Router router, ItemController controller) {
this.resourceProxy = resourceProxy;
this.repositories = router.getRepositories();
this.mainWindow = router.getMainWindow();
this.serviceLocation = router.getServiceLocation();
this.controller = controller;
this.router = router;
buildViews();
}

@@ -140,11 +143,11 @@ public void createLayout() {
cssLayout = new CssLayout();
cssLayout.setWidth("100%");
cssLayout.setHeight("100%");
cssLayout.setMargin(false);
}

private void createPermanentLink() {
new CreatePermanentLinkVH(mainWindow.getURL().toString(), resourceProxy.getId(), resourceProxy
.getType().toString(), cssLayout, serviceLocation);
new CreateResourceLinksVH(mainWindow.getURL().toString(), resourceProxy, cssLayout, router);
}

private void bindProperties() {
@@ -27,6 +27,10 @@
padding-top: 10.0px;
}

.paddingright10{
padding-right: 10.0px;
}

.paddingtop30 {
padding-top: 60.0px;
}
@@ -122,6 +126,7 @@ ul.horizontal_list li {
#crumbs {
height: 2em;
border: 1px solid #dedede;
margin-top:2px
}

#crumbs li {
@@ -319,7 +324,14 @@ ul.horizontal_list li {
z-index: 10;
position: absolute;
margin-right: 18px;
top: 0px;
top: 27px;
right: 0;
}
.permanentLinkItem {
z-index: 10;
position: absolute;
margin-right: 1px;
top: 27px;
right: 0;
}
.userformpadding{