You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ace.apache.org by ja...@apache.org on 2012/04/06 13:28:02 UTC
svn commit: r1310280 [2/2] - in /ace/trunk/ace-webui-vaadin/src/main:
java/org/apache/ace/webui/vaadin/ java/org/apache/ace/webui/vaadin/component/
resources/VAADIN/themes/reindeer/ resources/VAADIN/themes/reindeer/icons/
Propchange: ace/trunk/ace-webui-vaadin/src/main/java/org/apache/ace/webui/vaadin/component/FeaturesPanel.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: ace/trunk/ace-webui-vaadin/src/main/java/org/apache/ace/webui/vaadin/component/RemoveAssociationHandler.java
URL: http://svn.apache.org/viewvc/ace/trunk/ace-webui-vaadin/src/main/java/org/apache/ace/webui/vaadin/component/RemoveAssociationHandler.java?rev=1310280&view=auto
==============================================================================
--- ace/trunk/ace-webui-vaadin/src/main/java/org/apache/ace/webui/vaadin/component/RemoveAssociationHandler.java (added)
+++ ace/trunk/ace-webui-vaadin/src/main/java/org/apache/ace/webui/vaadin/component/RemoveAssociationHandler.java Fri Apr 6 11:28:01 2012
@@ -0,0 +1,45 @@
+/*
+ * 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.ace.webui.vaadin.component;
+
+import org.apache.ace.client.repository.RepositoryObject;
+
+/**
+ * Represents a handler for removing assocations for a repository object.
+ */
+public interface RemoveAssociationHandler<REPO_OBJECT extends RepositoryObject> {
+
+ /**
+ * Removes the left-hand side associations for a given repository object.
+ *
+ * @param object the repository object to remove the left-hand side associations;
+ * @param other the (left-hand side) repository object to remove the associations for.
+ * @return <code>true</code> if the associations were removed, <code>false</code> if not.
+ */
+ void removeLeftSideAssociation(REPO_OBJECT object, RepositoryObject other);
+
+ /**
+ * Removes the right-hand side associations for a given repository object.
+ *
+ * @param object the repository object to remove the right-hand side associations;
+ * @param other the (right-hand side) repository object to remove the associations for.
+ * @return <code>true</code> if the associations were removed, <code>false</code> if not.
+ */
+ void removeRightSideAssocation(REPO_OBJECT object, RepositoryObject other);
+}
\ No newline at end of file
Propchange: ace/trunk/ace-webui-vaadin/src/main/java/org/apache/ace/webui/vaadin/component/RemoveAssociationHandler.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: ace/trunk/ace-webui-vaadin/src/main/java/org/apache/ace/webui/vaadin/component/TargetsPanel.java
URL: http://svn.apache.org/viewvc/ace/trunk/ace-webui-vaadin/src/main/java/org/apache/ace/webui/vaadin/component/TargetsPanel.java?rev=1310280&view=auto
==============================================================================
--- ace/trunk/ace-webui-vaadin/src/main/java/org/apache/ace/webui/vaadin/component/TargetsPanel.java (added)
+++ ace/trunk/ace-webui-vaadin/src/main/java/org/apache/ace/webui/vaadin/component/TargetsPanel.java Fri Apr 6 11:28:01 2012
@@ -0,0 +1,182 @@
+/*
+ * 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.ace.webui.vaadin.component;
+
+import java.util.List;
+
+import org.apache.ace.client.repository.RepositoryAdmin;
+import org.apache.ace.client.repository.RepositoryObject;
+import org.apache.ace.client.repository.RepositoryObject.WorkingState;
+import org.apache.ace.client.repository.object.Distribution2TargetAssociation;
+import org.apache.ace.client.repository.object.DistributionObject;
+import org.apache.ace.client.repository.stateful.StatefulTargetObject;
+import org.apache.ace.client.repository.stateful.StatefulTargetRepository;
+import org.apache.ace.webui.UIExtensionFactory;
+import org.apache.ace.webui.vaadin.Associations;
+
+import com.vaadin.data.Item;
+import com.vaadin.terminal.Resource;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Embedded;
+import com.vaadin.ui.HorizontalLayout;
+
+/**
+ *
+ */
+public abstract class TargetsPanel extends BaseObjectPanel<StatefulTargetObject, StatefulTargetRepository> {
+
+ private static final String REGISTRATION_STATE_ICON = "regStateIcon";
+ private static final String PROVISIONING_STATE_ICON = "provStateIcon";
+ private static final String STORE_STATE_ICON = "storeStateIcon";
+
+ /**
+ * Creates a new {@link TargetsPanel} instance.
+ *
+ * @param associations the assocation-holder object.
+ */
+ public TargetsPanel(Associations associations) {
+ super(associations, "Target", UIExtensionFactory.EXTENSION_POINT_VALUE_TARGET, true /* hasEdit */);
+ }
+
+ @Override
+ protected Button createRemoveItemButton(StatefulTargetObject object) {
+ Button b = super.createRemoveItemButton(object);
+ b.setEnabled(object.isRegistered());
+ return b;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected void defineTableColumns() {
+ addContainerProperty(WORKING_STATE_ICON, Embedded.class, null, "", null, ALIGN_CENTER);
+
+ addContainerProperty(OBJECT_NAME, String.class, null);
+
+ addContainerProperty(REGISTRATION_STATE_ICON, Embedded.class, null, "", null, ALIGN_CENTER);
+ addContainerProperty(STORE_STATE_ICON, Embedded.class, null, "", null, ALIGN_CENTER);
+ addContainerProperty(PROVISIONING_STATE_ICON, Embedded.class, null, "", null, ALIGN_CENTER);
+
+ addContainerProperty(ACTIONS, HorizontalLayout.class, null);
+
+ setColumnWidth(WORKING_STATE_ICON, ICON_WIDTH);
+ setColumnWidth(REGISTRATION_STATE_ICON, ICON_WIDTH);
+ setColumnWidth(STORE_STATE_ICON, ICON_WIDTH);
+ setColumnWidth(PROVISIONING_STATE_ICON, ICON_WIDTH);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected void doHandleEvent(String topic, StatefulTargetObject statefulTarget, org.osgi.service.event.Event event) {
+ if (StatefulTargetObject.TOPIC_ADDED.equals(topic)) {
+ add(statefulTarget);
+ }
+ if (StatefulTargetObject.TOPIC_REMOVED.equals(topic)) {
+ remove(statefulTarget);
+ }
+ if (StatefulTargetObject.TOPIC_CHANGED.equals(topic) || StatefulTargetObject.TOPIC_STATUS_CHANGED.equals(topic)
+ || StatefulTargetObject.TOPIC_AUDITEVENTS_CHANGED.equals(topic)
+ || RepositoryAdmin.TOPIC_STATUSCHANGED.equals(topic)) {
+ update(statefulTarget);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected boolean doRemoveLeftSideAssociation(StatefulTargetObject object, RepositoryObject other) {
+ List<Distribution2TargetAssociation> associations = object.getAssociationsWith((DistributionObject) other);
+ for (Distribution2TargetAssociation association : associations) {
+ removeAssocation(association);
+ }
+ return true;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected WorkingState getWorkingState(RepositoryObject object) {
+ final StatefulTargetObject statefulTarget = (StatefulTargetObject) object;
+ if (statefulTarget.isRegistered()) {
+ return super.getWorkingState(statefulTarget.getTargetObject());
+ }
+ return WorkingState.Unchanged;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected boolean isSupportedEntity(RepositoryObject entity) {
+ return entity instanceof StatefulTargetObject;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected void populateItem(StatefulTargetObject object, Item item) {
+ item.getItemProperty(WORKING_STATE_ICON).setValue(getWorkingStateIcon(object));
+
+ item.getItemProperty(OBJECT_NAME).setValue(object.getID());
+
+ item.getItemProperty(REGISTRATION_STATE_ICON).setValue(getRegistrationStateIcon(object));
+ item.getItemProperty(STORE_STATE_ICON).setValue(getStoreStateIcon(object));
+ item.getItemProperty(PROVISIONING_STATE_ICON).setValue(getProvisioningStateIcon(object));
+
+ item.getItemProperty(ACTIONS).setValue(createActionButtons(object));
+ }
+
+ /**
+ * @param association
+ */
+ protected abstract void removeAssocation(Distribution2TargetAssociation association);
+
+ /**
+ * @param object
+ * @return
+ */
+ private Embedded getProvisioningStateIcon(StatefulTargetObject object) {
+ String name = object.getProvisioningState().name();
+ Resource res = createIconResource("target_provisioning_" + name);
+ return createIcon(name, res);
+ }
+
+ /**
+ * @param object
+ * @return
+ */
+ private Embedded getRegistrationStateIcon(StatefulTargetObject object) {
+ String name = object.getRegistrationState().name();
+ Resource res = createIconResource("target_" + name);
+ return createIcon(name, res);
+ }
+
+ /**
+ * @param object
+ * @return
+ */
+ private Embedded getStoreStateIcon(StatefulTargetObject object) {
+ String name = object.getStoreState().name();
+ Resource res = createIconResource("target_store_" + name);
+ return createIcon(name, res);
+ }
+}
Propchange: ace/trunk/ace-webui-vaadin/src/main/java/org/apache/ace/webui/vaadin/component/TargetsPanel.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/resource_workingstate_changed.png
URL: http://svn.apache.org/viewvc/ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/resource_workingstate_changed.png?rev=1310280&view=auto
==============================================================================
Binary file - no diff available.
Propchange: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/resource_workingstate_changed.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/resource_workingstate_new.png
URL: http://svn.apache.org/viewvc/ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/resource_workingstate_new.png?rev=1310280&view=auto
==============================================================================
Binary file - no diff available.
Propchange: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/resource_workingstate_new.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/resource_workingstate_removed.png
URL: http://svn.apache.org/viewvc/ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/resource_workingstate_removed.png?rev=1310280&view=auto
==============================================================================
Binary file - no diff available.
Propchange: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/resource_workingstate_removed.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/resource_workingstate_unchanged.png
URL: http://svn.apache.org/viewvc/ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/resource_workingstate_unchanged.png?rev=1310280&view=auto
==============================================================================
Binary file - no diff available.
Propchange: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/resource_workingstate_unchanged.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_provisioning_failed.png
URL: http://svn.apache.org/viewvc/ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_provisioning_failed.png?rev=1310280&view=auto
==============================================================================
Binary file - no diff available.
Propchange: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_provisioning_failed.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_provisioning_idle.png
URL: http://svn.apache.org/viewvc/ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_provisioning_idle.png?rev=1310280&view=auto
==============================================================================
Binary file - no diff available.
Propchange: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_provisioning_idle.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_provisioning_inprogress.png
URL: http://svn.apache.org/viewvc/ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_provisioning_inprogress.png?rev=1310280&view=auto
==============================================================================
Binary file - no diff available.
Propchange: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_provisioning_inprogress.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_provisioning_ok.png
URL: http://svn.apache.org/viewvc/ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_provisioning_ok.png?rev=1310280&view=auto
==============================================================================
Binary file - no diff available.
Propchange: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_provisioning_ok.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_registered.png
URL: http://svn.apache.org/viewvc/ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_registered.png?rev=1310280&view=auto
==============================================================================
Binary file - no diff available.
Propchange: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_registered.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_store_approved.png
URL: http://svn.apache.org/viewvc/ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_store_approved.png?rev=1310280&view=auto
==============================================================================
Binary file - no diff available.
Propchange: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_store_approved.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_store_new.png
URL: http://svn.apache.org/viewvc/ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_store_new.png?rev=1310280&view=auto
==============================================================================
Binary file - no diff available.
Propchange: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_store_new.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_store_new_old.png
URL: http://svn.apache.org/viewvc/ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_store_new_old.png?rev=1310280&view=auto
==============================================================================
Binary file - no diff available.
Propchange: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_store_new_old.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_store_unapproved.png
URL: http://svn.apache.org/viewvc/ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_store_unapproved.png?rev=1310280&view=auto
==============================================================================
Binary file - no diff available.
Propchange: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_store_unapproved.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_unregistered.png
URL: http://svn.apache.org/viewvc/ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_unregistered.png?rev=1310280&view=auto
==============================================================================
Binary file - no diff available.
Propchange: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/icons/target_unregistered.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Modified: ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/styles.css
URL: http://svn.apache.org/viewvc/ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/styles.css?rev=1310280&r1=1310279&r2=1310280&view=diff
==============================================================================
--- ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/styles.css (original)
+++ ace/trunk/ace-webui-vaadin/src/main/resources/VAADIN/themes/reindeer/styles.css Fri Apr 6 11:28:01 2012
@@ -1070,6 +1070,11 @@ div.v-app-loading {
overflow: hidden; /* for IE6 */
background: #ddd;
}
+
+.v-progressindicator-invisible {
+ display: none;
+}
+
div.v-progressindicator-indeterminate {
height: 20px;
width: 20px;