You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2011/02/04 18:34:28 UTC
svn commit: r1067233 [5/7] - in /cxf/trunk:
distribution/src/main/release/samples/
distribution/src/main/release/samples/logbrowser/
distribution/src/main/release/samples/logbrowser/src/
distribution/src/main/release/samples/logbrowser/src/demo/ distri...
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/BindStrategy.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/BindStrategy.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/DialogBindStrategyImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/DialogBindStrategyImpl.java?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/DialogBindStrategyImpl.java (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/DialogBindStrategyImpl.java Fri Feb 4 17:34:24 2011
@@ -0,0 +1,42 @@
+/**
+ * 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.cxf.management.web.browser.client.ui;
+
+import javax.annotation.Nonnull;
+
+import com.google.gwt.user.client.ui.DialogBox;
+import com.google.gwt.user.client.ui.HasWidgets;
+import com.google.inject.Singleton;
+
+@Singleton
+public class DialogBindStrategyImpl implements BindStrategy {
+
+ public void bind(@Nonnull final HasWidgets container, @Nonnull final View view) {
+ assert view instanceof DialogBox;
+
+ ((DialogBox) view).center();
+ }
+
+ public void unbind(@Nonnull final View view) {
+ assert view instanceof DialogBox;
+
+ ((DialogBox) view).hide();
+ }
+}
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/DialogBindStrategyImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/DialogBindStrategyImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/ErrorDialog.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/ErrorDialog.java?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/ErrorDialog.java (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/ErrorDialog.java Fri Feb 4 17:34:24 2011
@@ -0,0 +1,161 @@
+/**
+ * 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.cxf.management.web.browser.client.ui;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.dom.client.KeyPressEvent;
+import com.google.gwt.event.dom.client.KeyPressHandler;
+import com.google.gwt.user.client.DOM;
+import com.google.gwt.user.client.Window;
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.FlowPanel;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwtexpui.user.client.PluginSafePopupPanel;
+import com.google.inject.Inject;
+
+import org.apache.cxf.management.web.browser.client.ui.resources.LogBrowserConstans;
+import org.apache.cxf.management.web.browser.client.ui.resources.LogBrowserResources;
+
+/**
+ * A dialog box showing an error message, when bad things happen.
+ */
+public class ErrorDialog extends PluginSafePopupPanel {
+
+ @Nonnull
+ private final LogBrowserResources resources;
+
+ @Nonnull
+ private final LogBrowserConstans contants;
+
+ @Nonnull
+ private final Button closeButton;
+
+ @Inject
+ protected ErrorDialog(@Nonnull final LogBrowserResources resources,
+ @Nonnull final LogBrowserConstans contants) {
+ super(/* auto hide */false, /* modal */true);
+
+ this.resources = resources;
+ this.contants = contants;
+ this.closeButton = new Button();
+ }
+
+ /**
+ * Create a dialog box to nicely format an exception.
+ */
+ public void setException(@Nonnull final Throwable exception) {
+ String errorClassName = exception.getClass().getName();
+
+ // Remove unwanted package (which begins on 'java.lang.' or 'org.apache.cxf.')
+ if (errorClassName.startsWith("java.lang.")) {
+ errorClassName = errorClassName.substring("java.lang.".length());
+ } else if (errorClassName.startsWith("org.apache.cxf.")) {
+ errorClassName = errorClassName.substring(errorClassName.lastIndexOf('.') + 1);
+ }
+
+ // Remove unwanted suffixes from class name (i.e. 'Exception', 'Error')
+ if (errorClassName.endsWith("Exception")) {
+ errorClassName = errorClassName.substring(0, errorClassName.length() - "Exception".length());
+ } else if (errorClassName.endsWith("Error")) {
+ errorClassName = errorClassName.substring(0, errorClassName.length() - "Error".length());
+ }
+
+ initializeLayout(errorClassName, exception.getMessage());
+ }
+
+ @Override
+ public void center() {
+ show();
+ closeButton.setFocus(true);
+ }
+
+ private void initializeLayout(@Nonnull final String errorName, @Nullable final String errorMessage) {
+
+ // Create error name and error message labels
+ Label errorNameLabel = new Label(errorName);
+ errorNameLabel.setStyleName(resources.css().errorDialogErrorType());
+
+ Label errorMessageLabel = null;
+ if (errorMessage != null && !"".equals(errorMessage)) {
+ errorMessageLabel = new Label(errorMessage);
+ DOM.setStyleAttribute(errorMessageLabel.getElement(), "whiteSpace", "pre");
+ }
+
+ // Initialize 'close' button
+ closeButton.setText(contants.errorDialogContineButton());
+ closeButton.addClickHandler(new ClickHandler() {
+
+ public void onClick(ClickEvent event) {
+ hide();
+ }
+ });
+ closeButton.addKeyPressHandler(new KeyPressHandler() {
+
+ public void onKeyPress(KeyPressEvent event) {
+
+ /*
+ if the close button is triggered by a key we need to consume the key
+ event, otherwise the key event would be propagated to the parent
+ screen and eventually trigger some unwanted action there after the
+ error dialog was closed
+ */
+ event.stopPropagation();
+ }
+ });
+
+ // Create 'title' label
+ Label titleLabel = new Label();
+ titleLabel.setStyleName(resources.css().errorDialogTitle());
+ titleLabel.setText(contants.errorDialogTitle());
+
+ // Create wrapper panel for 'error name' and 'error message' labels
+ FlowPanel contentPanel = new FlowPanel();
+ contentPanel.add(errorNameLabel);
+ contentPanel.add(errorMessageLabel);
+
+ // Create wrapper panel for 'close' button
+ FlowPanel buttonsPanel = new FlowPanel();
+ buttonsPanel.setStyleName(resources.css().errorDialogButtons());
+ buttonsPanel.add(closeButton);
+
+ // Create main panel and add all remain widgets
+ FlowPanel centerPanel = new FlowPanel();
+ centerPanel.add(titleLabel);
+ centerPanel.add(contentPanel);
+ centerPanel.add(buttonsPanel);
+
+ // Add styles to window
+ setGlassEnabled(true);
+ getGlassElement().addClassName(resources.css().errorDialogGlass());
+ addStyleName(resources.css().errorDialog());
+
+ // Add main panel
+ add(centerPanel);
+
+ // Set window position
+ int left = Window.getScrollLeft() + 20;
+ int top = Window.getScrollTop() + 20;
+ setPopupPosition(left, top);
+ }
+}
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/ErrorDialog.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/ErrorDialog.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/Presenter.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/Presenter.java?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/Presenter.java (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/Presenter.java Fri Feb 4 17:34:24 2011
@@ -0,0 +1,28 @@
+/**
+ * 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.cxf.management.web.browser.client.ui;
+
+import com.google.gwt.user.client.ui.HasWidgets;
+
+public interface Presenter {
+ void go(HasWidgets container);
+
+ void unbind();
+}
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/Presenter.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/Presenter.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/PresenterWidget.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/PresenterWidget.java?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/PresenterWidget.java (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/PresenterWidget.java Fri Feb 4 17:34:24 2011
@@ -0,0 +1,27 @@
+/**
+ * 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.cxf.management.web.browser.client.ui;
+
+import com.google.gwt.user.client.ui.HasWidgets;
+
+public interface PresenterWidget {
+ void bind(HasWidgets container, View view);
+ void unbind();
+}
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/PresenterWidget.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/PresenterWidget.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/View.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/View.java?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/View.java (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/View.java Fri Feb 4 17:34:24 2011
@@ -0,0 +1,26 @@
+/**
+ * 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.cxf.management.web.browser.client.ui;
+
+import com.google.gwt.user.client.ui.Widget;
+
+public interface View {
+ Widget asWidget();
+}
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/View.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/View.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/WidgetBindStrategyImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/WidgetBindStrategyImpl.java?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/WidgetBindStrategyImpl.java (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/WidgetBindStrategyImpl.java Fri Feb 4 17:34:24 2011
@@ -0,0 +1,39 @@
+/**
+ * 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.cxf.management.web.browser.client.ui;
+
+import javax.annotation.Nonnull;
+
+import com.google.gwt.user.client.ui.HasWidgets;
+import com.google.inject.Singleton;
+
+@Singleton
+public class WidgetBindStrategyImpl implements BindStrategy {
+
+ public void bind(@Nonnull final HasWidgets container, @Nonnull final View view) {
+ assert view.asWidget() != null;
+
+ container.clear();
+ container.add(view.asWidget());
+ }
+
+ public void unbind(@Nonnull final View view) {
+ }
+}
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/WidgetBindStrategyImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/WidgetBindStrategyImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlPresenter.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlPresenter.java?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlPresenter.java (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlPresenter.java Fri Feb 4 17:34:24 2011
@@ -0,0 +1,96 @@
+/**
+ * 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.cxf.management.web.browser.client.ui.accesscontroler;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+import com.google.gwt.user.client.ui.HasWidgets;
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import com.google.inject.name.Named;
+
+import org.apache.cxf.management.web.browser.client.EventBus;
+import org.apache.cxf.management.web.browser.client.event.RemoteStorageAccessDeniedEvent;
+import org.apache.cxf.management.web.browser.client.event.RemoteStorageAccessDeniedEventHandler;
+import org.apache.cxf.management.web.browser.client.service.settings.Credentials;
+import org.apache.cxf.management.web.browser.client.service.settings.SettingsFacade;
+import org.apache.cxf.management.web.browser.client.service.settings.SettingsFacade.StorageStrategy;
+import org.apache.cxf.management.web.browser.client.ui.BasePresenter;
+import org.apache.cxf.management.web.browser.client.ui.BindStrategy;
+
+@Singleton
+public class AccessControlPresenter extends BasePresenter implements AccessControlView.Presenter {
+
+ @Nonnull
+ private final AccessControlView view;
+
+ @Nonnull
+ private final SettingsFacade settingsFacade;
+
+ @Inject
+ public AccessControlPresenter(@Nonnull final EventBus eventBus,
+ @Nonnull final AccessControlView view,
+ @Nonnull @Named("BindStrategyForAccessControl") final BindStrategy bindStrategy,
+ @Nonnull final SettingsFacade settingsFacade) {
+ super(eventBus, view, bindStrategy);
+
+ this.view = view;
+ this.settingsFacade = settingsFacade;
+
+ this.view.setPresenter(this);
+
+ bind();
+ }
+
+ public void go(@Nonnull final HasWidgets container) {
+ container.clear();
+ container.add(view.asWidget());
+ }
+
+ public void onSignInButtonClicked() {
+ String username = view.getUsername().getValue();
+ String password = view.getPassword().getValue();
+
+ if (isNotEmpty(username) && isNotEmpty(password)) {
+ Boolean rememberMe = view.getRememberMe().getValue();
+ Credentials credentials = new Credentials(username, password);
+ if (rememberMe != null && rememberMe) {
+ settingsFacade.initialize(StorageStrategy.LOCAL_AND_REMOTE, credentials);
+ } else {
+ settingsFacade.initialize(StorageStrategy.REMOTE, credentials);
+ }
+ }
+ }
+
+ private void bind() {
+ registerHandler(eventBus.addHandler(RemoteStorageAccessDeniedEvent.TYPE,
+ new RemoteStorageAccessDeniedEventHandler() {
+
+ public void onRemoteStorageAccessDenied(RemoteStorageAccessDeniedEvent event) {
+ view.showAccessDeniedMessage();
+ }
+ }));
+ }
+
+ private boolean isNotEmpty(@Nullable final String str) {
+ return str != null && !"".equals(str);
+ }
+}
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlPresenter.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlPresenter.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlView.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlView.java?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlView.java (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlView.java Fri Feb 4 17:34:24 2011
@@ -0,0 +1,42 @@
+/**
+ * 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.cxf.management.web.browser.client.ui.accesscontroler;
+
+import com.google.gwt.user.client.ui.HasValue;
+
+import org.apache.cxf.management.web.browser.client.ui.View;
+
+public interface AccessControlView extends View {
+
+ public interface Presenter {
+
+ void onSignInButtonClicked();
+ }
+
+ HasValue<String> getUsername();
+
+ HasValue<String> getPassword();
+
+ HasValue<Boolean> getRememberMe();
+
+ void showAccessDeniedMessage();
+
+ void setPresenter(Presenter presenter);
+}
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlView.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlView.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlView.ui.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlView.ui.xml?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlView.ui.xml (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlView.ui.xml Fri Feb 4 17:34:24 2011
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+ -->
+
+<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
+ xmlns:g='urn:import:com.google.gwt.user.client.ui'>
+
+ <ui:with field='res'
+ type='org.apache.cxf.management.web.browser.client.ui.resources.LogBrowserResources'/>
+
+ <g:HTMLPanel>
+ <form action="#" class="{res.css.accessControlTab}">
+ <fieldset>
+ <legend>Authentication</legend>
+
+ <p>
+ <label for="copies">Username:</label>
+ <g:TextBox ui:field='usernameTextBox'></g:TextBox>
+ </p>
+
+ <p>
+ <label for="copies">Password:</label>
+ <g:PasswordTextBox ui:field='passwordTextBox'></g:PasswordTextBox>
+ </p>
+
+ <p>
+ <g:Label ui:field="accessDeniedLabel"
+ visible="false"
+ addStyleNames="{res.css.accessControlTabErrorMessage}">
+ The username or password you entered is incorrect.
+ </g:Label>
+ </p>
+
+ <p>
+ <g:CheckBox ui:field='rememberMeCheckBox'
+ addStyleNames="{res.css.accessControlTabRememberMeCheckbox}">
+ Remember me
+ </g:CheckBox>
+ </p>
+
+ <p class="{res.css.accessControlTabSignInButton}">
+ <g:Button ui:field='signInButton'>
+ Sign in
+ </g:Button>
+ </p>
+ </fieldset>
+ </form>
+ </g:HTMLPanel>
+</ui:UiBinder>
\ No newline at end of file
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlView.ui.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlView.ui.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlView.ui.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlViewImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlViewImpl.java?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlViewImpl.java (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlViewImpl.java Fri Feb 4 17:34:24 2011
@@ -0,0 +1,100 @@
+/**
+ * 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.cxf.management.web.browser.client.ui.accesscontroler;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.uibinder.client.UiHandler;
+import com.google.gwt.uibinder.client.UiTemplate;
+import com.google.gwt.user.client.ui.CheckBox;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.HasValue;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.PasswordTextBox;
+import com.google.gwt.user.client.ui.TextBox;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Singleton;
+
+@Singleton
+public class AccessControlViewImpl extends Composite implements AccessControlView {
+
+ @UiTemplate("AccessControlView.ui.xml")
+ interface AccessControlViewUiBinder extends UiBinder<Widget, AccessControlViewImpl> { }
+
+ private static final AccessControlViewUiBinder UI_BINDER = GWT.create(AccessControlViewUiBinder.class);
+
+ @UiField @Nonnull
+ TextBox usernameTextBox;
+
+ @UiField @Nonnull
+ CheckBox rememberMeCheckBox;
+
+ @UiField @Nonnull
+ PasswordTextBox passwordTextBox;
+
+ @UiField @Nonnull
+ Label accessDeniedLabel;
+
+ @Nullable
+ private Presenter presenter;
+
+ public AccessControlViewImpl() {
+ initWidget(UI_BINDER.createAndBindUi(this));
+ }
+
+ @UiHandler("signInButton")
+ void onAddButtonClicked(@Nonnull final ClickEvent event) {
+ assert presenter != null;
+ presenter.onSignInButtonClicked();
+ }
+
+ @Nonnull
+ public HasValue<String> getPassword() {
+ return passwordTextBox;
+ }
+
+ @Nonnull
+ public HasValue<Boolean> getRememberMe() {
+ return rememberMeCheckBox;
+ }
+
+ @Nonnull
+ public HasValue<String> getUsername() {
+ return usernameTextBox;
+ }
+
+ public void showAccessDeniedMessage() {
+ accessDeniedLabel.setVisible(true);
+ }
+
+ public void setPresenter(@Nonnull final Presenter presenter) {
+ this.presenter = presenter;
+ }
+
+ @Nonnull
+ public Widget asWidget() {
+ return this;
+ }
+}
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlViewImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/accesscontroler/AccessControlViewImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowsePresenter.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowsePresenter.java?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowsePresenter.java (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowsePresenter.java Fri Feb 4 17:34:24 2011
@@ -0,0 +1,49 @@
+/**
+ * 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.cxf.management.web.browser.client.ui.browser;
+
+import javax.annotation.Nonnull;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import com.google.inject.name.Named;
+
+import org.apache.cxf.management.web.browser.client.EventBus;
+import org.apache.cxf.management.web.browser.client.ui.BasePresenter;
+import org.apache.cxf.management.web.browser.client.ui.BindStrategy;
+import org.apache.cxf.management.web.browser.client.ui.common.NavigationHeaderPresenter;
+
+@Singleton
+public class BrowsePresenter extends BasePresenter implements BrowseView.Presenter {
+
+ @Inject
+ public BrowsePresenter(@Nonnull EventBus eventBus,
+ @Nonnull BrowseView view,
+ @Nonnull @Named("BindStrategyForBrowser") final BindStrategy bindStrategy,
+ @Nonnull NavigationHeaderPresenter navigationHeaderPresenter,
+ @Nonnull NavigationSidebarPresenter navigationSidebarPresenter,
+ @Nonnull ViewerPresenter viewerPresenter) {
+ super(eventBus, view, bindStrategy);
+
+ navigationHeaderPresenter.go(view.getNaviagationHeaderSlot());
+ navigationSidebarPresenter.go(view.getNaviagationSidebarSlot());
+ viewerPresenter.go(view.getViewerSlot());
+ }
+}
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowsePresenter.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowsePresenter.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowseView.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowseView.java?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowseView.java (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowseView.java Fri Feb 4 17:34:24 2011
@@ -0,0 +1,36 @@
+/**
+ * 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.cxf.management.web.browser.client.ui.browser;
+
+import com.google.gwt.user.client.ui.HasWidgets;
+
+import org.apache.cxf.management.web.browser.client.ui.View;
+
+public interface BrowseView extends View {
+
+ public interface Presenter {
+ }
+
+ HasWidgets getNaviagationHeaderSlot();
+
+ HasWidgets getNaviagationSidebarSlot();
+
+ HasWidgets getViewerSlot();
+}
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowseView.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowseView.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowseView.ui.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowseView.ui.xml?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowseView.ui.xml (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowseView.ui.xml Fri Feb 4 17:34:24 2011
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+ -->
+
+<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
+ xmlns:g='urn:import:com.google.gwt.user.client.ui'>
+
+ <ui:with field='res'
+ type='org.apache.cxf.management.web.browser.client.ui.resources.LogBrowserResources'/>
+
+ <g:RootLayoutPanel>
+ <g:layer>
+ <g:DockLayoutPanel unit='EM'>
+ <g:north size='2'>
+ <g:FlowPanel ui:field="navigationHeaderSlot"/>
+ </g:north>
+
+ <g:center>
+ <g:SplitLayoutPanel>
+ <g:west size='192'>
+ <g:FlowPanel styleName="{res.css.navigationSidebarSlot}"
+ ui:field="navigationSidebarSlot"/>
+ </g:west>
+
+ <g:center>
+ <g:VerticalPanel>
+ <g:FlowPanel styleName="{res.css.viewerSlot}" ui:field="viewerSlot"/>
+ </g:VerticalPanel>
+ </g:center>
+ </g:SplitLayoutPanel>
+ </g:center>
+ </g:DockLayoutPanel>
+ </g:layer>
+ </g:RootLayoutPanel>
+
+</ui:UiBinder>
\ No newline at end of file
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowseView.ui.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowseView.ui.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowseView.ui.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowseViewImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowseViewImpl.java?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowseViewImpl.java (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowseViewImpl.java Fri Feb 4 17:34:24 2011
@@ -0,0 +1,74 @@
+/**
+ * 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.cxf.management.web.browser.client.ui.browser;
+
+import javax.annotation.Nonnull;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.uibinder.client.UiTemplate;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.FlowPanel;
+import com.google.gwt.user.client.ui.HasWidgets;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+
+@Singleton
+public class BrowseViewImpl extends Composite implements BrowseView {
+
+ @UiTemplate("BrowseView.ui.xml")
+ interface BrowseViewUiBinder extends UiBinder<Widget, BrowseViewImpl> { }
+
+ private static final BrowseViewUiBinder UI_BINDER = GWT.create(BrowseViewUiBinder.class);
+
+ @UiField @Nonnull
+ FlowPanel navigationHeaderSlot;
+
+ @UiField @Nonnull
+ FlowPanel navigationSidebarSlot;
+
+ @UiField @Nonnull
+ FlowPanel viewerSlot;
+
+ @Inject
+ public BrowseViewImpl() {
+ initWidget(UI_BINDER.createAndBindUi(this));
+
+ }
+
+ public HasWidgets getNaviagationHeaderSlot() {
+ return navigationHeaderSlot;
+ }
+
+ public HasWidgets getNaviagationSidebarSlot() {
+ return navigationSidebarSlot;
+ }
+
+ public HasWidgets getViewerSlot() {
+ return viewerSlot;
+ }
+
+ @Nonnull
+ public Widget asWidget() {
+ return this;
+ }
+}
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowseViewImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/BrowseViewImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaPresenter.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaPresenter.java?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaPresenter.java (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaPresenter.java Fri Feb 4 17:34:24 2011
@@ -0,0 +1,47 @@
+/**
+ * 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.cxf.management.web.browser.client.ui.browser;
+
+import javax.annotation.Nonnull;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import com.google.inject.name.Named;
+
+import org.apache.cxf.management.web.browser.client.EventBus;
+import org.apache.cxf.management.web.browser.client.ui.BasePresenter;
+import org.apache.cxf.management.web.browser.client.ui.BindStrategy;
+
+@Singleton
+public class EditCriteriaPresenter extends BasePresenter implements EditCriteriaView.Presenter {
+
+ @Nonnull
+ private final EditCriteriaView view;
+
+ @Inject
+ public EditCriteriaPresenter(@Nonnull final EventBus eventBus,
+ @Nonnull final EditCriteriaView view,
+ @Nonnull @Named("BindStrategyForEditCriteria") final BindStrategy bindStrategy) {
+ super(eventBus, view, bindStrategy);
+
+ this.view = view;
+ this.view.setPresenter(this);
+ }
+}
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaPresenter.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaPresenter.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaView.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaView.java?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaView.java (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaView.java Fri Feb 4 17:34:24 2011
@@ -0,0 +1,31 @@
+/**
+ * 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.cxf.management.web.browser.client.ui.browser;
+
+import org.apache.cxf.management.web.browser.client.ui.View;
+
+public interface EditCriteriaView extends View {
+
+ public interface Presenter {
+
+ }
+
+ void setPresenter(Presenter presenter);
+}
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaView.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaView.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaView.ui.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaView.ui.xml?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaView.ui.xml (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaView.ui.xml Fri Feb 4 17:34:24 2011
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+ -->
+
+<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
+ xmlns:g='urn:import:com.google.gwt.user.client.ui'
+ xmlns:dp="urn:import:com.google.gwt.user.datepicker.client" >
+
+ <ui:with field='res'
+ type='org.apache.cxf.management.web.browser.client.ui.resources.LogBrowserResources'/>
+
+ <g:HTMLPanel>
+ <table cellspacing="6">
+ <tr>
+ <td>
+ <g:Label>From:</g:Label>
+ </td>
+ <td>
+ <dp:DateBox></dp:DateBox>
+ </td>
+
+ <td>
+ <g:Label>To:</g:Label>
+ </td>
+ <td>
+ <dp:DateBox></dp:DateBox>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <g:Label>Levels:</g:Label>
+ </td>
+ <td>
+ <g:VerticalPanel>
+ <g:CheckBox>DEBUG</g:CheckBox>
+ <g:CheckBox>WARN</g:CheckBox>
+ <g:CheckBox>INFO</g:CheckBox>
+ <g:CheckBox>ERROR</g:CheckBox>
+ </g:VerticalPanel>
+ </td>
+ </tr>
+ </table>
+ <g:FlowPanel addStyleNames="{res.css.editFeedDialogButtons}">
+ <g:Button ui:field="cancelButton">
+ Cancel
+ </g:Button>
+ <g:Button ui:field="saveButton" addStyleNames="{res.css.editFeedDialogAddButton}">
+ Save
+ </g:Button>
+ </g:FlowPanel>
+
+ </g:HTMLPanel>
+
+</ui:UiBinder>
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaView.ui.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaView.ui.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaView.ui.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaViewImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaViewImpl.java?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaViewImpl.java (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaViewImpl.java Fri Feb 4 17:34:24 2011
@@ -0,0 +1,68 @@
+/**
+ * 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.cxf.management.web.browser.client.ui.browser;
+
+import javax.annotation.Nonnull;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiTemplate;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+
+import org.apache.cxf.management.web.browser.client.ui.AbstractDialog;
+import org.apache.cxf.management.web.browser.client.ui.resources.LogBrowserConstans;
+
+@Singleton
+public class EditCriteriaViewImpl extends AbstractDialog implements EditCriteriaView {
+
+ @Nonnull
+ private Form form;
+
+ @Inject
+ public EditCriteriaViewImpl(@Nonnull final LogBrowserConstans constans) {
+ this.form = new Form();
+
+ init(constans.editCriteriaDialogTitle(), form);
+ }
+
+ public Widget asWidget() {
+ return null;
+ }
+
+ public void setPresenter(Presenter presenter) {
+ //TODO implement
+ }
+
+ //TODO remove this internal class - information about how to render view should in BindStrategy
+ protected static class Form extends Composite {
+
+ @UiTemplate("EditCriteriaView.ui.xml")
+ interface FormViewUiBinder extends UiBinder<Widget, Form> { }
+
+ private static final FormViewUiBinder UI_BINDER = GWT.create(FormViewUiBinder.class);
+
+ public Form() {
+ initWidget(UI_BINDER.createAndBindUi(this));
+ }
+ }
+}
\ No newline at end of file
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaViewImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EditCriteriaViewImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EntryTable.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EntryTable.java?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EntryTable.java (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EntryTable.java Fri Feb 4 17:34:24 2011
@@ -0,0 +1,28 @@
+/**
+ * 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.cxf.management.web.browser.client.ui.browser;
+
+import org.apache.cxf.management.web.browser.client.service.browser.Entry;
+
+public class EntryTable extends SelectableTable<Entry> {
+ public EntryTable() {
+ super(/* hotkeys enabled */ true);
+ }
+}
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EntryTable.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/EntryTable.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarPresenter.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarPresenter.java?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarPresenter.java (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarPresenter.java Fri Feb 4 17:34:24 2011
@@ -0,0 +1,96 @@
+/**
+ * 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.cxf.management.web.browser.client.ui.browser;
+
+import java.util.List;
+import javax.annotation.Nonnull;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import com.google.inject.name.Named;
+
+import org.apache.cxf.management.web.browser.client.EventBus;
+import org.apache.cxf.management.web.browser.client.event.ChangedSubscriptionsEvent;
+import org.apache.cxf.management.web.browser.client.event.ChangedSubscriptionsEventHandler;
+import org.apache.cxf.management.web.browser.client.event.GoToEditCriteriaEvent;
+import org.apache.cxf.management.web.browser.client.event.GoToSettingsEvent;
+import org.apache.cxf.management.web.browser.client.event.SelectedSubscriptionEvent;
+import org.apache.cxf.management.web.browser.client.service.settings.SettingsFacade;
+import org.apache.cxf.management.web.browser.client.service.settings.Subscription;
+import org.apache.cxf.management.web.browser.client.ui.BasePresenter;
+import org.apache.cxf.management.web.browser.client.ui.BindStrategy;
+
+@Singleton
+public class NavigationSidebarPresenter extends BasePresenter implements NavigationSidebarView.Presenter {
+
+ @Nonnull
+ private final NavigationSidebarView view;
+
+ @Nonnull
+ private final SettingsFacade settingsManager;
+
+ private List<Subscription> subscriptions;
+
+ @Inject
+ public NavigationSidebarPresenter(@Nonnull final EventBus eventBus,
+ @Nonnull final NavigationSidebarView view,
+ @Nonnull @Named("BindStrategyForNavigationSidebar") final BindStrategy bindStrategy,
+ @Nonnull final SettingsFacade settingsManager) {
+ super(eventBus, view, bindStrategy);
+
+ this.view = view;
+ this.view.setPresenter(this);
+
+ this.settingsManager = settingsManager;
+
+ bind();
+
+ updateSubscriptions();
+ }
+
+ public void onSubcriptionItemClicked(final int row) {
+ assert row >= 0 && row < subscriptions.size();
+ Subscription selectedSubscription = subscriptions.get(row);
+ eventBus.fireEvent(new SelectedSubscriptionEvent(selectedSubscription.getUrl()));
+ }
+
+ public void onManageSubscriptionsButtonClicked() {
+ eventBus.fireEvent(new GoToSettingsEvent());
+ }
+
+ public void onEditCriteriaHyperinkClicked() {
+ eventBus.fireEvent(new GoToEditCriteriaEvent());
+ }
+
+ private void updateSubscriptions() {
+ subscriptions = settingsManager.getSubscriptions();
+ view.setSubscriptions(subscriptions);
+ }
+
+ private void bind() {
+ eventBus.addHandler(ChangedSubscriptionsEvent.TYPE, new ChangedSubscriptionsEventHandler() {
+
+ public void onChangedSubscriptions(ChangedSubscriptionsEvent event) {
+ updateSubscriptions();
+ }
+ });
+
+ }
+}
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarPresenter.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarPresenter.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarView.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarView.java?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarView.java (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarView.java Fri Feb 4 17:34:24 2011
@@ -0,0 +1,40 @@
+/**
+ * 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.cxf.management.web.browser.client.ui.browser;
+
+import java.util.List;
+
+import org.apache.cxf.management.web.browser.client.service.settings.Subscription;
+import org.apache.cxf.management.web.browser.client.ui.View;
+
+public interface NavigationSidebarView extends View {
+
+ public interface Presenter {
+ void onSubcriptionItemClicked(int row);
+
+ void onManageSubscriptionsButtonClicked();
+
+ void onEditCriteriaHyperinkClicked();
+ }
+
+ void setSubscriptions(List<Subscription> subscriptions);
+
+ void setPresenter(Presenter presenter);
+}
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarView.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarView.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarView.ui.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarView.ui.xml?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarView.ui.xml (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarView.ui.xml Fri Feb 4 17:34:24 2011
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+ -->
+
+<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
+ xmlns:g='urn:import:com.google.gwt.user.client.ui'
+ xmlns:logbrowser='urn:import:org.apache.cxf.management.web.browser.client.ui.browser'>
+
+ <ui:with field='res'
+ type='org.apache.cxf.management.web.browser.client.ui.resources.LogBrowserResources'/>
+
+ <g:StackLayoutPanel unit='EM'>
+ <g:stack>
+ <g:header size='3'>
+ <div>
+ <div/>
+ Explore
+ </div>
+ </g:header>
+
+ <g:VerticalPanel width="100%">
+ <g:Label>Tasks</g:Label>
+ <g:Hyperlink ui:field="manageSubscriptionsHyperlink">
+ Manage endpoints
+ </g:Hyperlink>
+ <g:Label>Endpoints</g:Label>
+ <logbrowser:SubscriptionTable ui:field='exploreSubscriptionTable'
+ styleName='{res.css.browserTabEntrySelectableTable}'/>
+ </g:VerticalPanel>
+ </g:stack>
+ <g:stack>
+ <g:header size='3'>
+ <div>
+ <div/>
+ Filter
+ </div>
+ </g:header>
+
+ <g:VerticalPanel width="100%">
+ <g:Label>Tasks</g:Label>
+ <g:Hyperlink ui:field="editCriteriaHyperlink">
+ Edit criteria
+ </g:Hyperlink>
+ <g:Label>Endpoints</g:Label>
+ <logbrowser:SubscriptionTable ui:field='filterSubscriptionTable'
+ styleName='{res.css.browserTabEntrySelectableTable}'/>
+ </g:VerticalPanel>
+ </g:stack>
+ </g:StackLayoutPanel>
+</ui:UiBinder>
\ No newline at end of file
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarView.ui.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarView.ui.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarView.ui.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarViewImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarViewImpl.java?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarViewImpl.java (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarViewImpl.java Fri Feb 4 17:34:24 2011
@@ -0,0 +1,120 @@
+/**
+ * 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.cxf.management.web.browser.client.ui.browser;
+
+import java.util.List;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.uibinder.client.UiHandler;
+import com.google.gwt.uibinder.client.UiTemplate;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Singleton;
+
+import org.apache.cxf.management.web.browser.client.service.settings.Subscription;
+
+@Singleton
+public class NavigationSidebarViewImpl extends Composite implements NavigationSidebarView {
+
+ @UiTemplate("NavigationSidebarView.ui.xml")
+ interface NavigationSidebarViewUiBinder extends UiBinder<Widget, NavigationSidebarViewImpl> { }
+
+ private static final NavigationSidebarViewUiBinder UI_BINDER =
+ GWT.create(NavigationSidebarViewUiBinder.class);
+
+ @UiField @Nonnull
+ SubscriptionTable exploreSubscriptionTable;
+
+ @UiField @Nonnull
+ SubscriptionTable filterSubscriptionTable;
+
+ @Nullable
+ private Presenter presenter;
+
+ public NavigationSidebarViewImpl() {
+ initWidget(UI_BINDER.createAndBindUi(this));
+
+ addColumnDefinitions(exploreSubscriptionTable);
+ exploreSubscriptionTable.addSelectRowHandler(new SelectableTable.SelectRowHandler() {
+
+ public void onSelectRow(int row) {
+
+ // Remove selection from subscription list in filter section
+ filterSubscriptionTable.deselect();
+ presenter.onSubcriptionItemClicked(row);
+ }
+ });
+
+ addColumnDefinitions(filterSubscriptionTable);
+ filterSubscriptionTable.addSelectRowHandler(new SelectableTable.SelectRowHandler() {
+
+ public void onSelectRow(int row) {
+
+ // Remove selection from subscription list in explore section
+ exploreSubscriptionTable.deselect();
+ presenter.onSubcriptionItemClicked(row);
+ }
+ });
+ }
+
+ public void setSubscriptions(@Nonnull final List<Subscription> subscriptions) {
+ exploreSubscriptionTable.setData(subscriptions);
+ filterSubscriptionTable.setData(subscriptions);
+ }
+
+ @UiHandler("editCriteriaHyperlink")
+ void onEditCriteriaHyperlinkClicked(@Nonnull final ClickEvent event) {
+ assert presenter != null;
+ presenter.onEditCriteriaHyperinkClicked();
+ }
+
+ @UiHandler("manageSubscriptionsHyperlink")
+ void onManageSubscriptionsHyperlinkClicked(@Nonnull final ClickEvent event) {
+ assert presenter != null;
+ presenter.onManageSubscriptionsButtonClicked();
+ }
+
+ @SuppressWarnings("unchecked")
+ private void addColumnDefinitions(@Nonnull SubscriptionTable table) {
+ table.setColumnDefinitions(new SelectableTable.ColumnDefinition<Subscription>() {
+
+ public String getContent(Subscription subscription) {
+ return subscription.getName();
+ }
+
+ public String getWidth() {
+ return null;
+ }
+ });
+ }
+
+ public void setPresenter(Presenter presenter) {
+ this.presenter = presenter;
+ }
+
+ public Widget asWidget() {
+ return this;
+ }
+}
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarViewImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarViewImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/SelectableTable.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/SelectableTable.java?rev=1067233&view=auto
==============================================================================
--- cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/SelectableTable.java (added)
+++ cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/SelectableTable.java Fri Feb 4 17:34:24 2011
@@ -0,0 +1,267 @@
+/**
+ * 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.cxf.management.web.browser.client.ui.browser;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.dom.client.Element;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.dom.client.KeyDownEvent;
+import com.google.gwt.event.dom.client.KeyDownHandler;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.FlexTable;
+import com.google.gwt.user.client.ui.FlowPanel;
+import com.google.gwt.user.client.ui.FocusPanel;
+import com.google.gwt.user.client.ui.HTMLTable.Cell;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.ScrollPanel;
+import com.google.gwt.user.client.ui.UIObject;
+
+import org.apache.cxf.management.web.browser.client.ui.resources.LogBrowserResources;
+
+public class SelectableTable<T> extends Composite {
+
+ @Nonnull
+ private final ScrollPanel scroller;
+
+ @Nullable
+ private final FocusPanel focuser;
+
+ @Nonnull
+ private final FlexTable table;
+
+ @Nonnull
+ private final List<SelectRowHandler> selectRowHandlers;
+
+ private final boolean hotkeysEnabled;
+
+ private int selectedRowIndex;
+
+ private boolean isRowSelected;
+
+ private Label messageLabel;
+
+ @Nullable
+ private List<ColumnDefinition<T>> columnDefinitions;
+
+ @Nonnull
+ private LogBrowserResources resources = GWT.create(LogBrowserResources.class);
+
+ public SelectableTable(final boolean hotkeysEnabled) {
+ this.hotkeysEnabled = hotkeysEnabled;
+ selectRowHandlers = new ArrayList<SelectRowHandler>();
+
+ table = new FlexTable();
+ table.setCellPadding(0);
+ table.setCellSpacing(0);
+ table.setVisible(false);
+
+ messageLabel = new Label();
+ messageLabel.setVisible(false);
+
+ FlowPanel content = new FlowPanel();
+ content.add(messageLabel);
+ content.add(table);
+
+ scroller = new ScrollPanel();
+
+ if (hotkeysEnabled) {
+ focuser = new FocusPanel();
+ focuser.setWidth("99%");
+ focuser.add(content);
+
+ scroller.add(focuser);
+ } else {
+ focuser = null;
+
+ scroller.add(content);
+ }
+
+ addEventHandlers();
+
+ initWidget(scroller);
+ }
+
+ public void setMessageInsteadOfData(@Nonnull final String message, @Nullable final String styleName) {
+ messageLabel.setText(message);
+
+ messageLabel.setVisible(true);
+ table.setVisible(false);
+
+ if (styleName != null) {
+ messageLabel.setStyleName(styleName);
+ }
+ }
+
+ public void setData(@Nonnull final List<T> entries) {
+ assert columnDefinitions != null;
+
+ table.removeAllRows();
+
+ messageLabel.setVisible(false);
+ table.setVisible(true);
+
+ for (int i = 0; i < entries.size(); i++) {
+ T entry = entries.get(i);
+ for (int j = 0; j < columnDefinitions.size(); j++) {
+ ColumnDefinition<T> columnDefinition = columnDefinitions.get(j);
+ table.setText(i, j, columnDefinition.getContent(entry));
+ }
+ }
+
+ restoreRowSelection();
+
+ if (hotkeysEnabled) {
+ focuser.setFocus(true);
+ }
+ }
+
+ public void setColumnDefinitions(@Nonnull final List<ColumnDefinition<T>> columnDefinitions) {
+ this.columnDefinitions = columnDefinitions;
+ setColumnsWidth();
+ }
+
+ public void setColumnDefinitions(ColumnDefinition<T>... columnDefinitions) {
+ this.columnDefinitions = Arrays.asList(columnDefinitions);
+ setColumnsWidth();
+ }
+
+ public void addSelectRowHandler(@Nonnull final SelectRowHandler selectRowHandler) {
+ selectRowHandlers.add(selectRowHandler);
+ }
+
+ public void deselect() {
+ if (table.getRowCount() > 0) {
+ styleRow(selectedRowIndex, false);
+ selectedRowIndex = 0;
+ isRowSelected = false;
+ }
+ }
+
+ private void addEventHandlers() {
+ table.addClickHandler(new ClickHandler() {
+
+ public void onClick(@Nonnull final ClickEvent event) {
+ performClickAction(event);
+ }
+ });
+
+ if (hotkeysEnabled) {
+ focuser.addKeyDownHandler(new KeyDownHandler() {
+
+ public void onKeyDown(@Nonnull final KeyDownEvent event) {
+ performKeyDownAction(event);
+ }
+ });
+ }
+ }
+
+ private void performClickAction(@Nonnull final ClickEvent event) {
+ Cell cell = table.getCellForEvent(event);
+ if (cell != null) {
+ int row = cell.getRowIndex();
+ selectRow(row);
+ }
+ }
+
+ private void performKeyDownAction(@Nonnull final KeyDownEvent event) {
+ if (isRowSelected) {
+ event.preventDefault();
+
+ if (event.isUpArrow()) {
+ selectRow(selectedRowIndex - 1);
+ } else if (event.isDownArrow()) {
+ selectRow(selectedRowIndex + 1);
+ }
+
+ ScrollMarker scrollMarker =
+ new ScrollMarker(table.getRowFormatter().getElement(selectedRowIndex));
+ scroller.ensureVisible(scrollMarker);
+ }
+ }
+
+ private void selectRow(final int row) {
+ if (row >= 0 && row < table.getRowCount()) {
+ if (isRowSelected) {
+ styleRow(selectedRowIndex, false);
+ }
+
+ selectedRowIndex = row;
+ styleRow(selectedRowIndex, true);
+ isRowSelected = true;
+
+ fireSelectRowEvent();
+ }
+ }
+
+ private void styleRow(final int row, final boolean selected) {
+ String style = resources.css().browserTabSelectedRow();
+
+ if (selected) {
+ table.getRowFormatter().addStyleName(row, style);
+ } else {
+ table.getRowFormatter().removeStyleName(row, style);
+ }
+ }
+
+ private void fireSelectRowEvent() {
+ for (SelectRowHandler selectRowHandler : selectRowHandlers) {
+ selectRowHandler.onSelectRow(selectedRowIndex);
+ }
+ }
+
+ private void restoreRowSelection() {
+ if (isRowSelected && selectedRowIndex < table.getRowCount()) {
+ selectRow(selectedRowIndex);
+ } else {
+ isRowSelected = false;
+ }
+ }
+
+ private void setColumnsWidth() {
+ assert columnDefinitions != null;
+ for (int j = 0; j < columnDefinitions.size(); j++) {
+ ColumnDefinition columnDefinition = columnDefinitions.get(j);
+ table.getColumnFormatter().setWidth(j, columnDefinition.getWidth());
+ }
+ }
+
+ private class ScrollMarker extends UIObject {
+ public ScrollMarker(Element element) {
+ setElement(element);
+ }
+ }
+
+ public static interface SelectRowHandler {
+ void onSelectRow(int row);
+ }
+
+ public static interface ColumnDefinition<T> {
+ String getContent(T t);
+
+ String getWidth();
+ }
+}
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/SelectableTable.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/SelectableTable.java
------------------------------------------------------------------------------
svn:keywords = Rev Date