You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by de...@apache.org on 2010/09/13 16:40:09 UTC
svn commit: r996559 [4/4] - in
/geronimo/devtools/eclipse-plugin/trunk/plugins:
org.apache.geronimo.j2ee.v11.jaxbmodel/META-INF/
org.apache.geronimo.runtime.common/
org.apache.geronimo.runtime.common/META-INF/
org.apache.geronimo.st.ui/src/main/java/or...
Added: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/blueprint/OtherElementsSection.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/blueprint/OtherElementsSection.java?rev=996559&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/blueprint/OtherElementsSection.java (added)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/blueprint/OtherElementsSection.java Mon Sep 13 14:40:05 2010
@@ -0,0 +1,160 @@
+package org.apache.geronimo.st.v30.ui.sections.blueprint;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.JAXBElement;
+
+import org.apache.geronimo.osgi.blueprint.Tbean;
+import org.apache.geronimo.osgi.blueprint.Tblueprint;
+import org.apache.geronimo.osgi.blueprint.Tcomponent;
+import org.apache.geronimo.osgi.blueprint.Treference;
+import org.apache.geronimo.osgi.blueprint.TreferenceList;
+import org.apache.geronimo.osgi.blueprint.Tservice;
+import org.apache.geronimo.st.ui.internal.Trace;
+import org.apache.geronimo.st.v30.core.jaxb.BlueprintJAXBHelper;
+import org.apache.geronimo.st.v30.ui.CommonMessages;
+import org.apache.geronimo.st.v30.ui.wizards.blueprint.BlueprintElementWizardProxy;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+
+public class OtherElementsSection extends AbstractBlueprintTreeSectionPart {
+
+
+ public OtherElementsSection(Composite parent, FormToolkit toolkit, int style,JAXBElement blueprint) {
+ super(blueprint, parent, toolkit, style);
+
+ this.objectContainer = getBlueprint().getServiceOrReferenceListOrBean();
+ createClient();
+
+ }
+
+ @Override
+ public void createClient(){
+ super.createClient();
+
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ gridData.horizontalAlignment = GridData.FILL;
+ gridData.verticalAlignment = GridData.FILL;
+ gridData.grabExcessHorizontalSpace=true;
+ gridData.grabExcessVerticalSpace=true;
+ this.getSection().setLayoutData(gridData);
+ }
+
+ @Override
+ public String getTitle() {
+ return CommonMessages.blueprintOtherElementsSection;
+ }
+
+ @Override
+ public String getDescription() {
+ return CommonMessages.blueprintOtherElementsSectionDescription;
+ }
+
+ @Override
+ public Wizard getWizard() {
+ return new BlueprintElementWizardProxy(this).getWizard();
+ }
+
+ @Override
+ public Class getTableEntryObjectType() {
+ //In fact, only Tbean, Treference,Tref are allowed.
+ //Maybe we can declare a common super classes for these three types
+ return Tcomponent.class;
+ }
+
+ @Override
+ public Object getInput() {
+ if (objectContainer != null) {
+ return objectContainer;
+ }
+ return super.getInput();
+ }
+
+ @Override
+ protected void activateAddButton() {
+ Object object = getSelectedObject();
+ if (!BlueprintJAXBHelper.hasChildElements(object.getClass(),getExcludedFieldsOfClazz(object.getClass()))) {
+ addButton.setEnabled(false);
+ }else{
+ addButton.setEnabled(true);
+ }
+ }
+
+ public Object getSelectedObject() {
+ if (tree.getSelection().length == 0) {
+ return getBlueprint();
+ }
+ Object object;
+ if (tree.getSelection()[0].getParentItem() == null) {
+ object = tree.getSelection()[0].getData();
+ } else {
+ object = tree.getSelection()[0].getParentItem().getData();
+ }
+ if (isSubElements(object)) {
+ return object;
+ } else {
+ return ((JAXBElement) object).getValue();
+ }
+ }
+
+ @Override
+ public void removeItem(Object anItem) {
+ List childList = this.getBlueprint().getServiceOrReferenceListOrBean();
+ if (isSubElements(anItem) && childList.contains(anItem)) {
+ //remove direct children
+ getObjectContainer().remove(anItem);
+ this.getBlueprint().getServiceOrReferenceListOrBean().remove(anItem);
+ } else {
+ Object object = tree.getSelection()[0].getParentItem().getData();
+ //TODO:detach anItem from object
+ Field field = treeFieldMap.get(anItem);
+ try {
+ BlueprintJAXBHelper.detachFromParent(object, anItem, field);
+ } catch (IllegalArgumentException e) {
+ Trace.trace(Trace.SEVERE, "can't remove object "+ anItem, e);
+ } catch (IllegalAccessException e) {
+ Trace.trace(Trace.SEVERE, "can't remove object "+ anItem, e);
+ } catch (InvocationTargetException e) {
+ Trace.trace(Trace.SEVERE, "can't remove object "+ anItem, e);
+ }
+ }
+ }
+
+
+
+
+
+ private boolean isSubElements(Object object){
+ return Tbean.class.isInstance(object)||TreferenceList.class.isInstance(object)||Treference.class.isInstance(object)||Tservice.class.isInstance(object);
+
+ }
+
+ @Override
+ protected Object getSectionRootElement() {
+ return getBlueprint();
+ }
+
+ @Override
+ public List<Field> getExcludedFieldsOfClazz(Class clazz) {
+ if (clazz.equals(Tblueprint.class)){
+ //exclude Tdescription and Ttypeconverters
+ List<Field> excludedList = new ArrayList<Field>();
+ try {
+ excludedList.add(getBlueprint().getClass().getDeclaredField("description"));
+ excludedList.add(getBlueprint().getClass().getDeclaredField("typeConverters"));
+ } catch (SecurityException e) {
+ Trace.trace(Trace.SEVERE, "Can't find field! ", e);
+ } catch (NoSuchFieldException e) {
+ Trace.trace(Trace.SEVERE, "Can't find field! ", e);
+ }
+ return excludedList;
+ }
+ return null;
+ }
+}
Added: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/blueprint/TypeConverterSection.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/blueprint/TypeConverterSection.java?rev=996559&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/blueprint/TypeConverterSection.java (added)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/blueprint/TypeConverterSection.java Mon Sep 13 14:40:05 2010
@@ -0,0 +1,168 @@
+/*
+ * 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.geronimo.st.v30.ui.sections.blueprint;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.JAXBElement;
+
+import org.apache.geronimo.osgi.blueprint.Targument;
+import org.apache.geronimo.osgi.blueprint.Tbean;
+import org.apache.geronimo.osgi.blueprint.Tcomponent;
+import org.apache.geronimo.osgi.blueprint.Tproperty;
+import org.apache.geronimo.osgi.blueprint.Tref;
+import org.apache.geronimo.osgi.blueprint.Treference;
+import org.apache.geronimo.osgi.blueprint.TtypeConverters;
+import org.apache.geronimo.st.v30.core.jaxb.BlueprintJAXBHelper;
+import org.apache.geronimo.st.v30.ui.BlueprintEditorUIHelper;
+import org.apache.geronimo.st.v30.ui.CommonMessages;
+import org.apache.geronimo.st.v30.ui.wizards.blueprint.BlueprintElementWizardProxy;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+
+/**
+ * @version $Rev: 939152 $ $Date: 2010-04-29 08:57:12 +0800 (Thu, 29 Apr 2010) $
+ */
+public class TypeConverterSection extends AbstractBlueprintTreeSectionPart{
+
+ private TtypeConverters typeConverters;
+
+ public TypeConverterSection(Composite parent, FormToolkit toolkit, int style,JAXBElement blueprint) {
+ super(blueprint, parent, toolkit, style);
+ typeConverters = getBlueprint().getTypeConverters();
+
+ if (typeConverters!=null)
+ this.objectContainer = typeConverters.getBeanOrReferenceOrRef();
+ else {
+ typeConverters = BlueprintEditorUIHelper.getBlueprintObjectFactory().createTtypeConverters();
+ getBlueprint().setTypeConverters(typeConverters);
+ this.objectContainer = new ArrayList();
+ }
+ createClient();
+
+ }
+
+ @Override
+ public void createClient(){
+ super.createClient();
+
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ gridData.horizontalAlignment = GridData.FILL;
+ gridData.verticalAlignment = GridData.FILL;
+ gridData.grabExcessHorizontalSpace=true;
+ gridData.grabExcessVerticalSpace=true;
+ this.getSection().setLayoutData(gridData);
+ }
+
+ @Override
+ public String getTitle() {
+ return CommonMessages.blueprintTypeConverterSectionTitle;
+ }
+
+ @Override
+ public String getDescription() {
+ return CommonMessages.blueprintTypeConverterSectionDescription;
+ }
+
+ @Override
+ public Wizard getWizard() {
+ return new BlueprintElementWizardProxy(this).getWizard();
+ }
+
+ @Override
+ public Class getTableEntryObjectType() {
+ //In fact, only Tbean, Treference,Tref are allowed.
+ //Maybe we can declare a common super classes for these three types
+ return Tcomponent.class;
+ }
+
+ @Override
+ public Object getInput() {
+ if (objectContainer != null) {
+ return objectContainer;
+ }
+ return super.getInput();
+ }
+
+ @Override
+ protected void activateAddButton() {
+ Object object = getSelectedObject();
+ if (!BlueprintJAXBHelper.hasChildElements(object.getClass(),getExcludedFieldsOfClazz(object.getClass()))) {
+ addButton.setEnabled(false);
+ }else{
+ addButton.setEnabled(true);
+ }
+ }
+
+ public Object getSelectedObject() {
+ if (tree.getSelection().length == 0) {
+ return typeConverters;
+ }
+ Object object;
+ if (tree.getSelection()[0].getParentItem() == null) {
+ object = tree.getSelection()[0].getData();
+ } else {
+ object = tree.getSelection()[0].getParentItem().getData();
+ }
+ if (isBeanOrReferenceOrRef(object)) {
+ return object;
+ } else {
+ return ((JAXBElement) object).getValue();
+ }
+ }
+
+ @Override
+ public void removeItem(Object anItem) {
+ List childList = this.getBlueprint().getTypeConverters().getBeanOrReferenceOrRef();
+ if (isBeanOrReferenceOrRef(anItem) && childList.contains(anItem)) {
+ getObjectContainer().remove(anItem);
+ this.getBlueprint().getTypeConverters().getBeanOrReferenceOrRef().remove(anItem);
+ } else if (Targument.class.isInstance(anItem) || Tproperty.class.isInstance(anItem)) {
+ Object object = tree.getSelection()[0].getParentItem().getData();
+ //it must be Tbean
+ Tbean bean = (Tbean)object;
+ bean.getArgumentOrPropertyOrAny().remove(anItem);
+ }
+ }
+
+
+
+
+
+ private boolean isBeanOrReferenceOrRef(Object object){
+ return Tbean.class.isInstance(object)||Treference.class.isInstance(object)||Tref.class.isInstance(object);
+
+ }
+
+ @Override
+ protected Object getSectionRootElement() {
+ return typeConverters;
+ }
+
+ @Override
+ public List<Field> getExcludedFieldsOfClazz(Class clazz) {
+ return null;
+ }
+
+
+
+}
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/AdminObjectWizard.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/AdminObjectWizard.java?rev=996559&r1=996558&r2=996559&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/AdminObjectWizard.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/AdminObjectWizard.java Mon Sep 13 14:40:05 2010
@@ -25,7 +25,6 @@ import org.apache.geronimo.st.v30.core.j
import org.apache.geronimo.st.v30.core.jaxb.JAXBObjectFactoryImpl;
import org.apache.geronimo.st.v30.ui.CommonMessages;
import org.apache.geronimo.st.v30.ui.sections.AbstractTreeSection;
-import org.apache.geronimo.st.v30.ui.wizards.AbstractTreeWizard;
import org.apache.geronimo.st.v30.ui.sections.AdminObjectSection;
/**
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/ClassFilterWizard.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/ClassFilterWizard.java?rev=996559&r1=996558&r2=996559&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/ClassFilterWizard.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/ClassFilterWizard.java Mon Sep 13 14:40:05 2010
@@ -82,7 +82,7 @@ public class ClassFilterWizard extends A
if (eObject == null) {
eObject = new String();
- JAXBElement plan = section.getPlan();
+ JAXBElement plan = section.getRootElement();
Environment environment = null;
environment = JAXBModelUtils.getEnvironment(plan, isServerEnvironment);
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/DBPoolWizard.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/DBPoolWizard.java?rev=996559&r1=996558&r2=996559&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/DBPoolWizard.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/DBPoolWizard.java Mon Sep 13 14:40:05 2010
@@ -121,7 +121,7 @@ public class DBPoolWizard extends Abstra
}
public boolean performFinish() {
- JAXBElement plan = this.section.getPlan();
+ JAXBElement plan = this.section.getRootElement();
// all pages
ExternalPathPage page0 = (ExternalPathPage) getPages()[0];
@@ -251,7 +251,7 @@ public class DBPoolWizard extends Abstra
outboundAdpater.getConnectionDefinition().add(definition);
adapter.setOutboundResourceadapter(outboundAdpater);
- if (section.getViewer().getInput() == section.getPlan()) {
+ if (section.getViewer().getInput() == section.getRootElement()) {
section.getViewer().setInput(section.getInput());
}
return true;
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/EjbRelationWizard.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/EjbRelationWizard.java?rev=996559&r1=996558&r2=996559&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/EjbRelationWizard.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/EjbRelationWizard.java Mon Sep 13 14:40:05 2010
@@ -150,7 +150,7 @@ public class EjbRelationWizard extends A
relation = (EjbRelation)eObject;
if (relation == null) {
relation = (EjbRelation)getEFactory().create(EjbRelation.class);
- JAXBElement plan = section.getPlan();
+ JAXBElement plan = section.getRootElement();
if (JAXBModelUtils.getEjbRelationships(plan) == null) {
Relationships relationships = (Relationships)getEFactory().create(Relationships.class);
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/ExtModuleWizard.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/ExtModuleWizard.java?rev=996559&r1=996558&r2=996559&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/ExtModuleWizard.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/ExtModuleWizard.java Mon Sep 13 14:40:05 2010
@@ -276,7 +276,7 @@ public class ExtModuleWizard extends Abs
if (eObject == null) {
eObject = getEFactory().create(ExtModule.class);
- JAXBElement plan = section.getPlan();
+ JAXBElement plan = section.getRootElement();
extModule = (ExtModule)eObject;
//This is the extModule field in plan(Application Type)
List<ExtModule> extModuleList = ((Application)plan.getValue()).getExtModule();
@@ -323,7 +323,7 @@ public class ExtModuleWizard extends Abs
extModule.setInternalPath(null);
}
- if (section.getViewer().getInput() == section.getPlan()) {
+ if (section.getViewer().getInput() == section.getRootElement()) {
section.getViewer().setInput(section.getInput());
}
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/GBeanRefWizard.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/GBeanRefWizard.java?rev=996559&r1=996558&r2=996559&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/GBeanRefWizard.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/GBeanRefWizard.java Mon Sep 13 14:40:05 2010
@@ -151,7 +151,7 @@ public class GBeanRefWizard extends Abst
gbeanRef = (GbeanRef)eObject;
if (gbeanRef == null) {
gbeanRef = (GbeanRef)getEFactory().create(GbeanRef.class);
- JAXBElement plan = section.getPlan();
+ JAXBElement plan = section.getRootElement();
// if we have a WebApp, add the JAXBElement of the GBeanRef, not the GBeanRef
if (WebApp.class.isInstance(plan.getValue())) {
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/GBeanWizard.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/GBeanWizard.java?rev=996559&r1=996558&r2=996559&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/GBeanWizard.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/GBeanWizard.java Mon Sep 13 14:40:05 2010
@@ -190,7 +190,7 @@ public class GBeanWizard extends Abstrac
gbean = (Gbean)eObject;
if (gbean == null) {
gbean = (Gbean)getEFactory().create(Gbean.class);
- JAXBElement plan = section.getPlan();
+ JAXBElement plan = section.getRootElement();
// add the JAXBElement of a GBean, not the GBean
ObjectFactory objectFactory = new ObjectFactory();
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/MessageDestWizard.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/MessageDestWizard.java?rev=996559&r1=996558&r2=996559&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/MessageDestWizard.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/MessageDestWizard.java Mon Sep 13 14:40:05 2010
@@ -148,7 +148,7 @@ public class MessageDestWizard extends A
if (eObject == null) {
eObject = getEFactory().create(MessageDestination.class);
- JAXBElement plan = section.getPlan();
+ JAXBElement plan = section.getRootElement();
messageDest = (MessageDestination)eObject;
msgPattern = (Pattern)getEFactory().create(Pattern.class);
@@ -181,7 +181,7 @@ public class MessageDestWizard extends A
}
}
- if (section.getViewer().getInput() == section.getPlan()) {
+ if (section.getViewer().getInput() == section.getRootElement()) {
section.getViewer().setInput(section.getInput());
}
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/ModuleWizard.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/ModuleWizard.java?rev=996559&r1=996558&r2=996559&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/ModuleWizard.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/ModuleWizard.java Mon Sep 13 14:40:05 2010
@@ -171,7 +171,7 @@ public class ModuleWizard extends Abstra
if (eObject == null) {
eObject = getEFactory().create(Module.class);
- JAXBElement plan = section.getPlan();
+ JAXBElement plan = section.getRootElement();
module = (Module)eObject;
@@ -207,7 +207,7 @@ public class ModuleWizard extends Abstra
path.setValue(altDD);
module.setAltDd(path);
- if (section.getViewer().getInput() == section.getPlan()) {
+ if (section.getViewer().getInput() == section.getRootElement()) {
section.getViewer().setInput(section.getInput());
}
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/PersContextRefWizard.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/PersContextRefWizard.java?rev=996559&r1=996558&r2=996559&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/PersContextRefWizard.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/PersContextRefWizard.java Mon Sep 13 14:40:05 2010
@@ -224,7 +224,7 @@ public class PersContextRefWizard extend
ObjectFactory objectFactory = new ObjectFactory();
if (contextRef == null) {
contextRef = (PersistenceContextRef)getEFactory().create(PersistenceContextRef.class);
- JAXBElement plan = section.getPlan();
+ JAXBElement plan = section.getRootElement();
// add the JAXBElement of the PersistenceContextRef
JAXBModelUtils.getGbeanRefs(plan).add(objectFactory.createPersistenceContextRef(contextRef));
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/PersUnitRefWizard.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/PersUnitRefWizard.java?rev=996559&r1=996558&r2=996559&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/PersUnitRefWizard.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/PersUnitRefWizard.java Mon Sep 13 14:40:05 2010
@@ -166,7 +166,7 @@ public class PersUnitRefWizard extends A
ObjectFactory objectFactory = new ObjectFactory();
if (unitRef == null) {
unitRef = (PersistenceUnitRef)getEFactory().create(PersistenceUnitRef.class);
- JAXBElement plan = section.getPlan();
+ JAXBElement plan = section.getRootElement();
// add the JAXBElement of the PersistenceContextRef
JAXBModelUtils.getGbeanRefs(plan).add(objectFactory.createPersistenceUnitRef(unitRef));
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/SecurityRealmWizard.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/SecurityRealmWizard.java?rev=996559&r1=996558&r2=996559&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/SecurityRealmWizard.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/SecurityRealmWizard.java Mon Sep 13 14:40:05 2010
@@ -129,7 +129,7 @@ public class SecurityRealmWizard extends
public boolean performFinish() {
boolean isedit = false;
- JAXBElement<?> plan = this.section.getPlan();
+ JAXBElement<?> plan = this.section.getRootElement();
ObjectFactory objectFactory = new ObjectFactory();
// all pages
SecurityRealmBasicPage page0 = (SecurityRealmBasicPage) this
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/ServiceRefWizard.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/ServiceRefWizard.java?rev=996559&r1=996558&r2=996559&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/ServiceRefWizard.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/ServiceRefWizard.java Mon Sep 13 14:40:05 2010
@@ -171,7 +171,7 @@ public class ServiceRefWizard extends Ab
serviceRef = (ServiceRef)eObject;
if (serviceRef == null) {
serviceRef = (ServiceRef)getEFactory().create(ServiceRef.class);
- JAXBElement plan = section.getPlan();
+ JAXBElement plan = section.getRootElement();
JAXBModelUtils.getServiceRefs(plan).add(serviceRef);
}
serviceRef.setServiceRefName(textList.get(0).getText());
Added: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/blueprint/BlueprintElementWizardProxy.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/blueprint/BlueprintElementWizardProxy.java?rev=996559&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/blueprint/BlueprintElementWizardProxy.java (added)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/wizards/blueprint/BlueprintElementWizardProxy.java Mon Sep 13 14:40:05 2010
@@ -0,0 +1,245 @@
+package org.apache.geronimo.st.v30.ui.wizards.blueprint;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.apache.geronimo.st.ui.internal.Trace;
+import org.apache.geronimo.st.v30.core.jaxb.BlueprintJAXBHelper;
+import org.apache.geronimo.st.v30.core.jaxb.BlueprintJAXBHelper.SubClazzWrapper;
+import org.apache.geronimo.st.v30.ui.sections.blueprint.AbstractBlueprintTreeSectionPart;
+import org.apache.geronimo.st.v30.ui.wizards.AbstractTreeWizard;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.swt.widgets.Text;
+
+public class BlueprintElementWizardProxy{
+
+ private AbstractTreeWizard wizard ;
+
+ private Object parentElement;
+
+ private SubClazzWrapper childElementClazz;
+
+ private List<SubClazzWrapper> childrenClazz;
+
+ private AbstractBlueprintTreeSectionPart section;
+
+
+ private class BlueprintWizard extends AbstractTreeWizard{
+
+
+ private class BlueprintWizardPage extends AbstractTreeWizardPage{
+
+ public BlueprintWizardPage(AbstractTreeWizard abstractTreeWizard, String pageName) {
+ abstractTreeWizard.super(pageName);
+
+ //init combo
+
+ Iterator<SubClazzWrapper> iter = childrenClazz.iterator();
+ int count = 0;
+ while(iter.hasNext()){
+ SubClazzWrapper wrapper = iter.next();
+ Class clazz = wrapper.getClazz();
+ XmlRootElement element = (XmlRootElement) clazz.getAnnotation(javax.xml.bind.annotation.XmlRootElement.class);
+ elementTypes[count++]=element.name();
+ }
+ }
+
+ @Override
+ protected void initControl() {
+ if (eObject!=null){
+ //it's edit mode
+ XmlRootElement rootElement = (XmlRootElement) eObject.getClass().getAnnotation(javax.xml.bind.annotation.XmlRootElement.class);
+ element.setItem(0, rootElement.name());
+ element.select(0);
+ element.setEnabled(false);
+ childElementClazz = new SubClazzWrapper(eObject.getClass(),null);
+
+ //set value for text field
+ try {
+ HashMap<String,String> attrMap = BlueprintJAXBHelper.getAllAttributes(eObject);
+ Collection<String> values = attrMap.values();
+
+ int count =0;
+ Iterator<String> iter = values.iterator();
+ while (iter.hasNext()){
+ String value = iter.next();
+ if (count<textList.size()){
+ Text text = textList.get(count);
+ text.setText(value);
+ }else {
+ //there must be an error
+ break;
+ }
+ count++;
+ }
+ } catch (SecurityException e) {
+ Trace.trace(Trace.SEVERE, "get child elements error! ", e);
+ } catch (IllegalArgumentException e) {
+ Trace.trace(Trace.SEVERE, "get child elements error! ", e);
+ } catch (NoSuchMethodException e) {
+ Trace.trace(Trace.SEVERE, "get child elements error! ", e);
+ } catch (IllegalAccessException e) {
+ Trace.trace(Trace.SEVERE, "get child elements error! ", e);
+ } catch (InvocationTargetException e) {
+ Trace.trace(Trace.SEVERE, "get child elements error! ", e);
+ }
+
+ }else{
+ //it's add mode
+ element.select(0);
+ element.setEnabled(true);
+ }
+
+ }
+
+
+
+ @Override
+ protected void toggleFields(boolean clearFields) {
+ if (element.isEnabled()) {
+ int index = element.getSelectionIndex();
+ childElementClazz = childrenClazz.get(index);
+ }
+
+ List<Field> attrList = BlueprintJAXBHelper.getAllAttributeFields(childElementClazz.getClazz());
+
+ Iterator<Field> iter = attrList.iterator();
+ int count = 0;
+ while (iter.hasNext()){
+ Field attr = iter.next();
+ XmlAttribute attrAnnotation = attr.getAnnotation(javax.xml.bind.annotation.XmlAttribute.class);
+ String attrName = attrAnnotation.name();
+ if (attrName.contains("#")) {
+ //name property is not set in the annotation
+ attrName = attr.getName();
+ }
+ labelList.get(count).setText(attrName);
+ labelList.get(count).setVisible(true);
+ textList.get(count).setVisible(true);
+ if (clearFields) textList.get(count).setText("");
+ count++;
+ }
+
+ for (int i=count;i<labelList.size();i++){
+ labelList.get(i).setVisible(false);
+ textList.get(i).setVisible(false);
+ }
+
+ }
+
+ @Override
+ protected String getWizardPageTitle() {
+ return "Blueprint Configuration";
+ }
+
+ @Override
+ protected String getWizardPageDescription() {
+ return "Add or Edit elements in blueprint schema";
+ }
+
+ public HashMap<Field,String> getResult(){
+ //init attribute map
+ HashMap<Field,String> attrMap = new HashMap<Field,String>();
+
+ List<Field> attrList = BlueprintJAXBHelper.getAllAttributeFields(childElementClazz.getClazz());
+ Iterator<Text> iter = textList.iterator();
+ int count=0;
+ while (iter.hasNext()){
+ Text text = iter.next();
+ String value = text.getText();
+ if (text.isVisible()&&value!=null&&!value.isEmpty()) {
+ Field attrField = attrList.get(count);
+ attrMap.put(attrField, value);
+ }
+ count++;
+ }
+
+ return attrMap;
+ }
+
+ }
+
+ private BlueprintWizardPage page;
+
+ public BlueprintWizard(int maxTextField){
+ super(BlueprintElementWizardProxy.this.section,childrenClazz.size(),maxTextField);
+
+ }
+
+ @Override
+ public void addPages() {
+ page = new BlueprintWizardPage(wizard, parentElement.getClass().getSimpleName());
+ addPage(page);
+ }
+
+ @Override
+ protected String getAddWizardWindowTitle() {
+ return "Blueprint Editor - Adding";
+ }
+
+ @Override
+ protected String getEditWizardWindowTitle() {
+ return "Blueprint Editor - Editing";
+ }
+
+ @Override
+ public boolean performFinish() {
+ HashMap<Field,String> attrMap = page.getResult();
+
+ if (element.isEnabled()){
+ //add mode
+ BlueprintElementWizardProxy.this.section.setNewObjectValue(parentElement,childElementClazz, attrMap);
+ }else{
+ //edit mode
+ BlueprintElementWizardProxy.this.section.setObjectValue(section.getSelectedObject(), attrMap);
+ }
+
+ return true;
+ }
+
+ }
+
+
+ public BlueprintElementWizardProxy(AbstractBlueprintTreeSectionPart blueprintSection) {
+ section = blueprintSection;
+
+ parentElement= blueprintSection.getParentElement();
+
+ childrenClazz = BlueprintJAXBHelper.getAllSubTypes(parentElement.getClass(),blueprintSection.getExcludedFieldsOfClazz(parentElement.getClass()));
+
+ //init attribute map
+ Iterator<SubClazzWrapper> iter = childrenClazz.iterator();
+ int maxTextField = 0;
+ while (iter.hasNext()){
+ SubClazzWrapper wrapper = (SubClazzWrapper)iter.next();
+ Class clazz = wrapper.getClazz();
+ List<Field> attributeFields = BlueprintJAXBHelper.getAllAttributeFields(clazz);
+ if (maxTextField < attributeFields.size()) maxTextField = attributeFields.size();
+ }
+
+ initWizard(maxTextField);
+ }
+
+
+
+ private void initWizard(int maxTextField) {
+
+ wizard = new BlueprintWizard(maxTextField);
+
+
+ }
+
+ public Wizard getWizard(){
+ return wizard;
+ }
+
+
+}