diff options
author | Matthias Villiger | 2015-01-13 14:39:04 +0000 |
---|---|---|
committer | Matthias Villiger | 2015-01-13 14:42:49 +0000 |
commit | c2e6c0b8b2b2e84d0c27a4ba799fad5f030a6abb (patch) | |
tree | 7110975d56552b3a9e3ecb35df8a3fa961164c45 | |
parent | b7e062b774b001d2d8abeff2a38b5d31d1707890 (diff) | |
download | org.eclipse.scout.sdk-c2e6c0b8b2b2e84d0c27a4ba799fad5f030a6abb.tar.gz org.eclipse.scout.sdk-c2e6c0b8b2b2e84d0c27a4ba799fad5f030a6abb.tar.xz org.eclipse.scout.sdk-c2e6c0b8b2b2e84d0c27a4ba799fad5f030a6abb.zip |
Bug 456566 - Create LookupService - An internal error occurred during:
"proposal loader".
https://bugs.eclipse.org/bugs/show_bug.cgi?id=456566
-rw-r--r-- | org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/wizard/lookupcall/LookupCallNewWizardPage.java | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/wizard/lookupcall/LookupCallNewWizardPage.java b/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/wizard/lookupcall/LookupCallNewWizardPage.java index 183f27b7e..c6cf56934 100644 --- a/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/wizard/lookupcall/LookupCallNewWizardPage.java +++ b/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/wizard/lookupcall/LookupCallNewWizardPage.java @@ -230,18 +230,7 @@ public class LookupCallNewWizardPage extends AbstractWorkspaceWizardPage { public void proposalAccepted(ContentProposalEvent event) { IType t = (IType) event.proposal; setServiceSuperTypeInternal(t); - m_genericTypeField.setEnabled(TypeUtility.isGenericType(t)); - if (getGenericTypeSignature() == null && TypeUtility.exists(t)) { - try { - String lookupSvcKeyTypeSig = SignatureUtility.resolveTypeParameter(t, IRuntimeClasses.ILookupService, IRuntimeClasses.TYPE_PARAM_LOOKUPSERVICE__KEY_TYPE); - if (lookupSvcKeyTypeSig != null && Signature.getTypeSignatureKind(lookupSvcKeyTypeSig) != Signature.TYPE_VARIABLE_SIGNATURE) { - setGenericTypeSignature(lookupSvcKeyTypeSig); - } - } - catch (CoreException e) { - ScoutSdkUi.logError(e); - } - } + updateKeyTypeFor(t); pingStateChanging(); } }); @@ -273,7 +262,9 @@ public class LookupCallNewWizardPage extends AbstractWorkspaceWizardPage { m_lookupServiceTypeField.addProposalAdapterListener(new IProposalAdapterListener() { @Override public void proposalAccepted(ContentProposalEvent event) { - setLookupServiceTypeInternal((IType) event.proposal); + IType t = (IType) event.proposal; + setLookupServiceTypeInternal(t); + updateKeyTypeFor(t); pingStateChanging(); } }); @@ -295,6 +286,21 @@ public class LookupCallNewWizardPage extends AbstractWorkspaceWizardPage { return group; } + private void updateKeyTypeFor(IType t) { + m_genericTypeField.setEnabled(TypeUtility.isGenericType(t)); + if (getGenericTypeSignature() == null && TypeUtility.exists(t)) { + try { + String lookupSvcKeyTypeSig = SignatureUtility.resolveTypeParameter(t, IRuntimeClasses.ILookupService, IRuntimeClasses.TYPE_PARAM_LOOKUPSERVICE__KEY_TYPE); + if (lookupSvcKeyTypeSig != null && Signature.getTypeSignatureKind(lookupSvcKeyTypeSig) != Signature.TYPE_VARIABLE_SIGNATURE) { + setGenericTypeSignature(lookupSvcKeyTypeSig); + } + } + catch (CoreException e) { + ScoutSdkUi.logError(e); + } + } + } + @Override public LookupCallNewWizard getWizard() { return (LookupCallNewWizard) super.getWizard(); |