diff --git a/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/internal/wizard/newproject/ScoutProjectNewWizardPage.java b/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/internal/wizard/newproject/ScoutProjectNewWizardPage.java
index be051d5..861ca9e 100644
--- a/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/internal/wizard/newproject/ScoutProjectNewWizardPage.java
+++ b/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/internal/wizard/newproject/ScoutProjectNewWizardPage.java
@@ -115,6 +115,7 @@
switch (node.getType()) {
case TYPE_BUNDLE_CLIENT:
m_createClient = checkState;
+ ((ScoutProjectTemplateWizardPage) getWizard().getPage(ScoutProjectTemplateWizardPage.class.getName())).refreshList();
break;
case TYPE_BUNDLE_SHARED:
m_createShared = checkState;
diff --git a/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/internal/wizard/newproject/ScoutProjectTemplateWizardPage.java b/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/internal/wizard/newproject/ScoutProjectTemplateWizardPage.java
index 714876b..4b1e008 100644
--- a/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/internal/wizard/newproject/ScoutProjectTemplateWizardPage.java
+++ b/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/internal/wizard/newproject/ScoutProjectTemplateWizardPage.java
@@ -47,6 +47,7 @@
private FilteredTable m_table;
private IScoutProjectTemplateOperation m_selectedTemplate;
private Label m_descriptionLabel;
+ private P_ContentProvider m_provider;
/**
* @param pageName
@@ -60,6 +61,7 @@
protected void createContent(Composite parent) {
m_table = new FilteredTable(parent, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL);
m_table.getViewer().addSelectionChangedListener(new ISelectionChangedListener() {
+ @Override
public void selectionChanged(SelectionChangedEvent event) {
IScoutProjectTemplateOperation selectedItem = null;
if (!event.getSelection().isEmpty()) {
@@ -68,29 +70,32 @@
}
handleSelection(selectedItem);
}
-
});
- ArrayList<IScoutProjectTemplateOperation> elements = new ArrayList<IScoutProjectTemplateOperation>();
- elements.add(new EmptyTemplateOperation());
- OutlineTemplateOperation outlineTemplate = new OutlineTemplateOperation();
- elements.add(outlineTemplate);
- SingleFormTemplateOperation singleFormTemplate = new SingleFormTemplateOperation();
- elements.add(singleFormTemplate);
- P_ContentProvider provider = new P_ContentProvider(elements.toArray(new IScoutProjectTemplateOperation[elements.size()]));
- m_table.getViewer().setLabelProvider(provider);
- m_table.getViewer().setContentProvider(provider);
- m_table.getViewer().setInput(provider);
- m_table.getViewer().setSelection(new StructuredSelection(singleFormTemplate));
+ m_provider = new P_ContentProvider();
+ m_table.getViewer().setLabelProvider(m_provider);
+ m_table.getViewer().setContentProvider(m_provider);
+ m_table.getViewer().setInput(m_provider);
+
m_descriptionLabel = new Label(parent, SWT.SHADOW_ETCHED_IN | SWT.WRAP);
- m_descriptionLabel.setText(outlineTemplate.getDescription());
+
+ refreshDefaultSelection();
// layout
parent.setLayout(new GridLayout(1, true));
m_table.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL));
m_descriptionLabel.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL));
+ }
+ public void refreshList() {
+ m_table.refresh(true);
+ refreshDefaultSelection();
+ }
+
+ private void refreshDefaultSelection() {
+ m_table.getViewer().setSelection(new StructuredSelection(m_provider.getDefaultOperation()));
+ m_descriptionLabel.setText(m_provider.getDefaultOperation().getDescription());
}
private void handleSelection(IScoutProjectTemplateOperation selectedItem) {
@@ -126,13 +131,32 @@
private class P_ContentProvider implements IStructuredContentProvider, ITableLabelProvider {
private IScoutProjectTemplateOperation[] m_templates;
+ private IScoutProjectTemplateOperation m_defaultOperation;
- public P_ContentProvider(IScoutProjectTemplateOperation[] templates) {
- m_templates = templates;
+ public P_ContentProvider() {
+ refresh();
+ }
+
+ private void refresh() {
+ ArrayList<IScoutProjectTemplateOperation> elements = new ArrayList<IScoutProjectTemplateOperation>();
+ IScoutProjectTemplateOperation emptyTemplate = new EmptyTemplateOperation();
+ elements.add(emptyTemplate);
+ m_defaultOperation = emptyTemplate;
+
+ ScoutProjectNewWizardPage previousPage = (ScoutProjectNewWizardPage) getWizard().getPage(ScoutProjectNewWizardPage.class.getName());
+ if (previousPage.isCreateClient()) {
+ OutlineTemplateOperation outlineTemplate = new OutlineTemplateOperation();
+ elements.add(outlineTemplate);
+ SingleFormTemplateOperation singleFormTemplate = new SingleFormTemplateOperation();
+ elements.add(singleFormTemplate);
+ m_defaultOperation = singleFormTemplate;
+ }
+ m_templates = elements.toArray(new IScoutProjectTemplateOperation[elements.size()]);
}
@Override
public Object[] getElements(Object inputElement) {
+ refresh();
return m_templates;
}
@@ -177,8 +201,10 @@
@Override
public void removeListener(ILabelProviderListener listener) {
// TODO Auto-generated method stub
-
}
+ public IScoutProjectTemplateOperation getDefaultOperation() {
+ return m_defaultOperation;
+ }
}
}
diff --git a/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/wizard/services/LookupServiceNewWizard.java b/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/wizard/services/LookupServiceNewWizard.java
index 04ecc86..f491fd7 100644
--- a/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/wizard/services/LookupServiceNewWizard.java
+++ b/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/wizard/services/LookupServiceNewWizard.java
@@ -23,7 +23,7 @@
import org.eclipse.scout.sdk.RuntimeClasses;
import org.eclipse.scout.sdk.ScoutIdeProperties;
import org.eclipse.scout.sdk.ScoutSdk;
-import org.eclipse.scout.sdk.operation.service.ServiceNewOperation;
+import org.eclipse.scout.sdk.operation.service.LookupServiceNewOperation;
import org.eclipse.scout.sdk.typecache.IScoutWorkingCopyManager;
import org.eclipse.scout.sdk.ui.ScoutSdkUi;
import org.eclipse.scout.sdk.ui.fields.bundletree.DndEvent;
@@ -51,7 +51,7 @@
private ServiceNewWizardPage m_serviceNewWizardPage;
private BundleTreeWizardPage m_locationWizardPage;
private ITreeNode m_locationWizardPageRoot;
- private ServiceNewOperation m_operation = new ServiceNewOperation();
+ private LookupServiceNewOperation m_operation = new LookupServiceNewOperation();
public LookupServiceNewWizard(IScoutBundle serverBundle) {
setWindowTitle("New Lookup Service");
@@ -113,7 +113,6 @@
IScoutBundle implementationBundle = m_locationWizardPage.getLocationBundle(TYPE_SERVICE_IMPLEMENTATION, true, true);
if (implementationBundle != null) {
m_operation.setImplementationBundle(implementationBundle);
- m_operation.setServicePackageName(implementationBundle.getPackageName(IScoutBundle.SERVER_PACKAGE_APPENDIX_SERVICES_LOOKUP));
m_operation.setServiceName(m_locationWizardPage.getTextOfNode(TYPE_SERVICE_IMPLEMENTATION, true, true));
}
IScoutBundle[] regProxyLocations = m_locationWizardPage.getLocationBundles(TYPE_SERVICE_REG_CLIENT, true, true);
@@ -127,7 +126,6 @@
IScoutBundle interfaceBundle = m_locationWizardPage.getLocationBundle(TYPE_SERVICE_INTERFACE, true, true);
if (interfaceBundle != null) {
m_operation.setInterfaceBundle(interfaceBundle);
- m_operation.setServiceInterfacePackageName(interfaceBundle.getPackageName(IScoutBundle.SHARED_PACKAGE_APPENDIX_SERVICES_LOOKUP));
}
m_operation.setServiceInterfaceName(m_locationWizardPage.getTextOfNode(TYPE_SERVICE_INTERFACE, true, true));
m_operation.setServiceInterfaceSuperTypeSignature(Signature.createTypeSignature(RuntimeClasses.ILookupService, true));
diff --git a/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/form/formdata/FormDataUpdateOperation.java b/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/form/formdata/FormDataUpdateOperation.java
index 7723840..fa977c1 100644
--- a/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/form/formdata/FormDataUpdateOperation.java
+++ b/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/form/formdata/FormDataUpdateOperation.java
@@ -14,6 +14,7 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jdt.core.Flags;
import org.eclipse.jdt.core.ICompilationUnit;
+import org.eclipse.jdt.core.IPackageFragment;
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jdt.core.Signature;
@@ -22,6 +23,7 @@
import org.eclipse.scout.sdk.ScoutSdk;
import org.eclipse.scout.sdk.jobs.OperationJob;
import org.eclipse.scout.sdk.operation.IOperation;
+import org.eclipse.scout.sdk.operation.ManifestExportPackageOperation;
import org.eclipse.scout.sdk.operation.util.ScoutTypeNewOperation;
import org.eclipse.scout.sdk.typecache.IScoutWorkingCopyManager;
import org.eclipse.scout.sdk.util.ScoutUtility;
@@ -143,6 +145,9 @@
@Override
public void run(IProgressMonitor localMonitor, IScoutWorkingCopyManager workingCopyManager) throws CoreException {
super.run(localMonitor, workingCopyManager);
+ // ensure the package of the form data is exported in the shared plugin
+ ManifestExportPackageOperation manifestOp = new ManifestExportPackageOperation(ManifestExportPackageOperation.TYPE_ADD_WHEN_NOT_EMTPY, new IPackageFragment[]{getCreatedType().getPackageFragment()}, true);
+ manifestOp.run(localMonitor, workingCopyManager);
workingCopyManager.register(getType().getCompilationUnit(), localMonitor);
getType().getCompilationUnit().createImport(getCreatedType().getFullyQualifiedName(), null, localMonitor);
}
diff --git a/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/lookupcall/LookupCallNewOperation.java b/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/lookupcall/LookupCallNewOperation.java
index d79fb2c..3bc631c 100644
--- a/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/lookupcall/LookupCallNewOperation.java
+++ b/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/lookupcall/LookupCallNewOperation.java
@@ -4,7 +4,7 @@
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
- *
+ *
* Contributors:
* BSI Business Systems Integration AG - initial API and implementation
******************************************************************************/
@@ -59,17 +59,14 @@
if (lookupServiceInterface == null) {
if (!StringUtility.isNullOrEmpty(getServiceSuperTypeSignature())) {
LookupServiceNewOperation serviceOp = new LookupServiceNewOperation();
- serviceOp.setClientRegistrationBundle(getInterfaceRegistrationBundle());
- serviceOp.setCreateImplementation(true);
- serviceOp.setCreateInterface(true);
+ serviceOp.addProxyRegistrationBundle(getInterfaceRegistrationBundle());
serviceOp.setImplementationBundle(getServiceImplementationBundle());
- serviceOp.setImplementationPackageName(getServiceImplementationBundle().getPackageName(IScoutBundle.SERVER_PACKAGE_APPENDIX_SERVICES_LOOKUP));
- serviceOp.setInterfaceBundle(getServiceInterfaceBundle());
- serviceOp.setInterfacePackageName(getServiceInterfaceBundle().getPackageName(IScoutBundle.SHARED_PACKAGE_APPENDIX_SERVICES_LOOKUP));
- serviceOp.setServiceInterfaceSuperTypeSignature(Signature.createTypeSignature(RuntimeClasses.ILookupService, true));
serviceOp.setServiceName(namePrefix + ScoutIdeProperties.SUFFIX_LOOKUP_SERVICE);
+ serviceOp.setInterfaceBundle(getServiceInterfaceBundle());
+ serviceOp.setServiceInterfaceName("I" + namePrefix + ScoutIdeProperties.SUFFIX_LOOKUP_SERVICE);
+ serviceOp.setServiceInterfaceSuperTypeSignature(Signature.createTypeSignature(RuntimeClasses.ILookupService, true));
serviceOp.setServiceSuperTypeSignature(getServiceSuperTypeSignature());
- serviceOp.setServerRegistrationBundle(getImplementationRegistrationBundle());
+ serviceOp.addServiceRegistrationBundle(getImplementationRegistrationBundle());
serviceOp.validate();
serviceOp.run(monitor, workingCopyManager);
lookupServiceInterface = serviceOp.getCreatedServiceInterface();
diff --git a/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/project/template/SingleFormTemplateOperation.java b/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/project/template/SingleFormTemplateOperation.java
index dfe07fc..ebc2cb8 100644
--- a/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/project/template/SingleFormTemplateOperation.java
+++ b/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/project/template/SingleFormTemplateOperation.java
@@ -129,28 +129,30 @@
final IType serviceInterface = serviceOp.getCreatedServiceInterface();
// process service load method
- workingCopyManager.reconcile(serviceInterface.getCompilationUnit(), monitor);
- MethodCreateOperation loadInterfaceOp = new MethodCreateOperation(serviceInterface, "load");
- loadInterfaceOp.setExceptionSignatures(new String[]{Signature.createTypeSignature(RuntimeClasses.ProcessingException, true)});
- loadInterfaceOp.setMethodFlags(Flags.AccInterface);
- loadInterfaceOp.setReturnTypeSignature(Signature.createTypeSignature(formData.getFullyQualifiedName(), true));
- loadInterfaceOp.setParameterNames(new String[]{"formData"});
- loadInterfaceOp.setParameterSignatures(new String[]{Signature.createTypeSignature(formData.getFullyQualifiedName(), true)});
- loadInterfaceOp.setFormatSource(true);
- loadInterfaceOp.validate();
- loadInterfaceOp.run(monitor, workingCopyManager);
+ if (TypeUtility.exists(serviceInterface)) { /* service interface can be null on a client only project */
+ workingCopyManager.reconcile(serviceInterface.getCompilationUnit(), monitor);
+ MethodCreateOperation loadInterfaceOp = new MethodCreateOperation(serviceInterface, "load");
+ loadInterfaceOp.setExceptionSignatures(new String[]{Signature.createTypeSignature(RuntimeClasses.ProcessingException, true)});
+ loadInterfaceOp.setMethodFlags(Flags.AccInterface);
+ loadInterfaceOp.setReturnTypeSignature(Signature.createTypeSignature(formData.getFullyQualifiedName(), true));
+ loadInterfaceOp.setParameterNames(new String[]{"formData"});
+ loadInterfaceOp.setParameterSignatures(new String[]{Signature.createTypeSignature(formData.getFullyQualifiedName(), true)});
+ loadInterfaceOp.setFormatSource(true);
+ loadInterfaceOp.validate();
+ loadInterfaceOp.run(monitor, workingCopyManager);
- workingCopyManager.reconcile(serviceOp.getCreatedServiceImplementation().getCompilationUnit(), monitor);
- MethodCreateOperation loadMethodOp = new MethodCreateOperation(serviceOp.getCreatedServiceImplementation(), "load");
- loadMethodOp.setMethodFlags(Flags.AccPublic);
- loadMethodOp.setReturnTypeSignature(Signature.createTypeSignature(formData.getFullyQualifiedName(), true));
- loadMethodOp.setParameterNames(new String[]{"formData"});
- loadMethodOp.setParameterSignatures(new String[]{Signature.createTypeSignature(formData.getFullyQualifiedName(), true)});
- loadMethodOp.setExceptionSignatures(new String[]{Signature.createTypeSignature(RuntimeClasses.ProcessingException, true)});
- loadMethodOp.setSimpleBody(ScoutUtility.getCommentAutoGeneratedMethodStub() + "\nreturn formData;\n");
- loadMethodOp.setFormatSource(true);
- loadMethodOp.validate();
- loadMethodOp.run(monitor, workingCopyManager);
+ workingCopyManager.reconcile(serviceOp.getCreatedServiceImplementation().getCompilationUnit(), monitor);
+ MethodCreateOperation loadMethodOp = new MethodCreateOperation(serviceOp.getCreatedServiceImplementation(), "load");
+ loadMethodOp.setMethodFlags(Flags.AccPublic);
+ loadMethodOp.setReturnTypeSignature(Signature.createTypeSignature(formData.getFullyQualifiedName(), true));
+ loadMethodOp.setParameterNames(new String[]{"formData"});
+ loadMethodOp.setParameterSignatures(new String[]{Signature.createTypeSignature(formData.getFullyQualifiedName(), true)});
+ loadMethodOp.setExceptionSignatures(new String[]{Signature.createTypeSignature(RuntimeClasses.ProcessingException, true)});
+ loadMethodOp.setSimpleBody(ScoutUtility.getCommentAutoGeneratedMethodStub() + "\nreturn formData;\n");
+ loadMethodOp.setFormatSource(true);
+ loadMethodOp.validate();
+ loadMethodOp.run(monitor, workingCopyManager);
+ }
// form handler
FormHandlerNewOperation handlerOp = new FormHandlerNewOperation(form);
@@ -162,18 +164,21 @@
IType handler = handlerOp.getCreatedHandler();
workingCopyManager.reconcile(handler.getCompilationUnit(), monitor);
+
MethodOverrideOperation execLoadOp = new MethodOverrideOperation(handler, "execLoad", true) {
@Override
protected String createMethodBody(IImportValidator validator) throws JavaModelException {
StringBuilder builder = new StringBuilder();
- String servicesRef = validator.getSimpleTypeRef(Signature.createTypeSignature(RuntimeClasses.SERVICES, true));
- String serviceRef = validator.getSimpleTypeRef(Signature.createTypeSignature(serviceInterface.getFullyQualifiedName(), true));
- String formDataRef = validator.getSimpleTypeRef(Signature.createTypeSignature(formData.getFullyQualifiedName(), true));
- builder.append(serviceRef + " service = " + servicesRef + ".getService(" + serviceRef + ".class);\n");
- builder.append(formDataRef + " formData = new " + formDataRef + "();\n");
- builder.append("exportFormData(formData);\n");
- builder.append("formData = service.load(formData);\n");
- builder.append("importFormData(formData);\n");
+ if (TypeUtility.exists(serviceInterface)) { /* service interface can be null on a client only project */
+ String servicesRef = validator.getSimpleTypeRef(Signature.createTypeSignature(RuntimeClasses.SERVICES, true));
+ String serviceRef = validator.getSimpleTypeRef(Signature.createTypeSignature(serviceInterface.getFullyQualifiedName(), true));
+ String formDataRef = validator.getSimpleTypeRef(Signature.createTypeSignature(formData.getFullyQualifiedName(), true));
+ builder.append(serviceRef + " service = " + servicesRef + ".getService(" + serviceRef + ".class);\n");
+ builder.append(formDataRef + " formData = new " + formDataRef + "();\n");
+ builder.append("exportFormData(formData);\n");
+ builder.append("formData = service.load(formData);\n");
+ builder.append("importFormData(formData);\n");
+ }
return builder.toString();
}
};
@@ -194,10 +199,10 @@
sourceBuilder.append("// dektop form\n");
String treeFormRef = validator.getSimpleTypeRef(Signature.createTypeSignature(form.getFullyQualifiedName(), true));
sourceBuilder.append(treeFormRef + " desktopForm = new " + treeFormRef + "();\n");
- ScoutIconDesc icon = getScoutProject().getIconProvider().getIcon("eclipse_scout");
- if (icon != null) {
- String iconsRef = validator.getSimpleTypeRef(Signature.createTypeSignature(icon.getConstantField().getDeclaringType().getFullyQualifiedName(), true));
- sourceBuilder.append("desktopForm.setIconId(" + iconsRef + "." + icon.getConstantField().getElementName() + ");\n");
+ ScoutIconDesc icn = getScoutProject().getIconProvider().getIcon("eclipse_scout");
+ if (icn != null) {
+ String iconsRef = validator.getSimpleTypeRef(Signature.createTypeSignature(icn.getConstantField().getDeclaringType().getFullyQualifiedName(), true));
+ sourceBuilder.append("desktopForm.setIconId(" + iconsRef + "." + icn.getConstantField().getElementName() + ");\n");
}
sourceBuilder.append("desktopForm.startView();");
return sourceBuilder.toString();
@@ -221,6 +226,7 @@
* @param scoutProject
* the scoutProject to set
*/
+ @Override
public void setScoutProject(IScoutProject scoutProject) {
m_scoutProject = scoutProject;
}
diff --git a/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/service/LookupServiceNewOperation.java b/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/service/LookupServiceNewOperation.java
index 7515266..62afa66 100644
--- a/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/service/LookupServiceNewOperation.java
+++ b/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/service/LookupServiceNewOperation.java
@@ -4,7 +4,7 @@
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
- *
+ *
* Contributors:
* BSI Business Systems Integration AG - initial API and implementation
******************************************************************************/
@@ -15,18 +15,16 @@
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.ITypeHierarchy;
import org.eclipse.jdt.core.Signature;
-import org.eclipse.scout.sdk.NamingUtility;
import org.eclipse.scout.sdk.RuntimeClasses;
import org.eclipse.scout.sdk.ScoutIdeProperties;
import org.eclipse.scout.sdk.ScoutSdk;
import org.eclipse.scout.sdk.jdt.signature.CompilationUnitImportValidator;
import org.eclipse.scout.sdk.jdt.signature.IImportValidator;
-import org.eclipse.scout.sdk.operation.util.ScoutTypeNewOperation;
import org.eclipse.scout.sdk.typecache.IScoutWorkingCopyManager;
import org.eclipse.scout.sdk.util.ScoutUtility;
import org.eclipse.scout.sdk.workspace.IScoutBundle;
-public class LookupServiceNewOperation extends RemoteServiceNewOperation {
+public class LookupServiceNewOperation extends ServiceNewOperation {
final IType iService = ScoutSdk.getType(RuntimeClasses.IService);
final IType abstractSqlLookupService = ScoutSdk.getType(RuntimeClasses.AbstractSqlLookupService);
@@ -39,7 +37,6 @@
@Override
public void run(IProgressMonitor monitor, IScoutWorkingCopyManager workingCopyManager) throws CoreException {
super.run(monitor, workingCopyManager);
- IType serviceInterface = getCreatedServiceInterface();
IType serviceImplementation = getCreatedServiceImplementation();
ITypeHierarchy superTypeHierarchy = serviceImplementation.newSupertypeHierarchy(monitor);
@@ -92,30 +89,28 @@
serviceImplementation.getCompilationUnit().createImport(imp, null, monitor);
}
}
+ }
- if (getInterfaceBundle().getType() == IScoutBundle.BUNDLE_SHARED) {
- // create LookupCall
- ScoutTypeNewOperation lookupCallOp = new ScoutTypeNewOperation(NamingUtility.removeSuffixes(getServiceName(), "Lookup", "Service") + "LookupCall", getInterfaceBundle().getPackageName(IScoutBundle.SHARED_PACKAGE_APPENDIX_SERVICES_LOOKUP), getInterfaceBundle());
- lookupCallOp.setSuperTypeSignature(Signature.createTypeSignature(RuntimeClasses.LookupCall, true));
- lookupCallOp.run(monitor, workingCopyManager);
- IType lookupCallType = lookupCallOp.getCreatedType();
- workingCopyManager.register(lookupCallType.getCompilationUnit(), monitor);
- IImportValidator lookupCallImportValidator = new CompilationUnitImportValidator(lookupCallType.getCompilationUnit());
-
- lookupCallType.createField("private static final long serialVersionUID=1L;", null, true, monitor);
- StringBuilder methodBody = new StringBuilder();
- methodBody.append("@Override\npublic Class<? extends " + lookupCallImportValidator.getSimpleTypeRef(Signature.createTypeSignature(RuntimeClasses.ILookupService, true)) + "> getConfiguredService(){\n");
- methodBody.append("return " + lookupCallImportValidator.getSimpleTypeRef(Signature.createTypeSignature(serviceInterface.getFullyQualifiedName(), true)) + ".class;\n");
- methodBody.append("}");
-
- lookupCallType.createMethod(methodBody.toString(), null, true, monitor);
- for (String imp : lookupCallImportValidator.getImportsToCreate()) {
- lookupCallType.getCompilationUnit().createImport(imp, null, monitor);
- }
+ @Override
+ public void setImplementationBundle(IScoutBundle implementationBundle) {
+ super.setImplementationBundle(implementationBundle);
+ if (implementationBundle != null) {
+ setServicePackageName(implementationBundle.getPackageName(IScoutBundle.SERVER_PACKAGE_APPENDIX_SERVICES_LOOKUP));
}
+ else {
+ setServicePackageName(null);
+ }
+ }
- //
- // registerServiceClass(lookupCallType.getBsiCaseProject().getProject(), "org.eclipse.scout.rt.client.serviceProxies", "serviceProxy", lookupCallType.getFullyQualifiedName(),null,monitor);
+ @Override
+ public void setInterfaceBundle(IScoutBundle interfaceBundle) {
+ super.setInterfaceBundle(interfaceBundle);
+ if (interfaceBundle != null) {
+ setServiceInterfacePackageName(interfaceBundle.getPackageName(IScoutBundle.SHARED_PACKAGE_APPENDIX_SERVICES_LOOKUP));
+ }
+ else {
+ setServiceInterfacePackageName(null);
+ }
}
}
diff --git a/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/service/RemoteServiceNewOperation.java b/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/service/RemoteServiceNewOperation.java
index c3cc253..0bbdd40 100644
--- a/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/service/RemoteServiceNewOperation.java
+++ b/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/service/RemoteServiceNewOperation.java
@@ -4,7 +4,7 @@
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
- *
+ *
* Contributors:
* BSI Business Systems Integration AG - initial API and implementation
******************************************************************************/
@@ -33,7 +33,10 @@
* implementation in the serviceImplementationBundle.
* The service implementation is registered in the serviceRegistrationBundle and its interface in the
* serviceProxyRegistrationBundle.
+ *
+ * @deprecated use {@link ServiceNewOperation} instead.
*/
+@Deprecated
public class RemoteServiceNewOperation implements IOperation {
final IType iServerSession = ScoutSdk.getType(RuntimeClasses.IServerSession);