Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SPAGOBI-1520 - Business Model updation - Allow addition of new tables and columns to Physical model when database is modified #77

Open
KnowageServiceAcc opened this issue Dec 19, 2019 · 0 comments

Comments

@KnowageServiceAcc
Copy link

Details

Key Value
Key SPAGOBI-1520
Type Improvement
Status Open
Priority Major
Resolution
Affects 4.0.0
Fix
Components STUDIO
Labels studio

People

Key Value
Assignee Giulio Gavardi
Reporter Swapnil Deshmukh

Dates

Key Value
Created 2013-11-21T15:35:57.000+0100
Updated 2017-04-25T10:47:07.000+0200
Resolved n.d.

Description

During development, when I add or alter columns on a database table...or add a table into my database....there is no way to allow update/modification in my business model.
This is because the Physical model cannot be refreshed based on the database changes...so those changes are not available to be further incorporated by editing the Business Model.
While I can add business class in the Business Model, that is not useful as it cannot be mapped to a new table/column I have added in the database.

Comments

dan daq added a comment - 2014-01-09T10:04:17.562+0100

Is there any solution or workaround for this problem?
Thanks in advance

Andrea Ronchese added a comment - 2016-05-19T12:26:49.335+0200

Improvement introduced in SpagoBI Meta 5.2.
Right click in Physical Model -> Update -> Physical Model.
Refresh new field for present Tables, than ask for tables to add at the Model.
(May be usefull to know)

L. Bertrand added a comment - 2017-04-25T10:47:07.374+0200

I have tested what Andrea Ronchese describe with Meta 5.2

  • the update wizard seems to work for adding tables
  • i do not have see a way to delete tables
  • deleting columns seem to not working because no columns are listed at all

The main problem is than :

--> after adding a table and select "finish" Meta apparently try to do some work to update the model, but do not really do anything at all. It is even forbidden to save the not updated physical model who is marked as updated with a little star.

Error log is :
{code:java}
java.lang.reflect.InvocationTargetException
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:421)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507)
at it.eng.spagobi.meta.model.physical.commands.update.UpdatePhysicalModelCommand.execute(UpdatePhysicalModelCommand.java:64)
at org.eclipse.emf.common.command.BasicCommandStack.execute(BasicCommandStack.java:78)
at it.eng.spagobi.meta.editor.business.wizards.AbstractSpagoBIModelWizard.performFinish(AbstractSpagoBIModelWizard.java:39)
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:811)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:430)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3540)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3161)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
at org.eclipse.jface.window.Window.open(Window.java:801)
at it.eng.spagobi.meta.editor.physical.actions.UpdatePhysicalModelAction.run(UpdatePhysicalModelAction.java:86)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3540)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3161)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
at org.eclipse.equinox.launcher.Main.main(Main.java:1384)
Caused by: java.lang.RuntimeException: Impossible to initialize physical model
at it.eng.spagobi.meta.initializer.PhysicalModelInitializer.initialize(PhysicalModelInitializer.java:158)
at it.eng.spagobi.meta.initializer.PhysicalModelInitializer.initialize(PhysicalModelInitializer.java:168)
at it.eng.spagobi.meta.model.physical.commands.update.UpdatePhysicalModelCommand.updatePhysicalModel(UpdatePhysicalModelCommand.java:120)
at it.eng.spagobi.meta.model.physical.commands.update.UpdatePhysicalModelCommand.access$0(UpdatePhysicalModelCommand.java:84)
at it.eng.spagobi.meta.model.physical.commands.update.UpdatePhysicalModelCommand$1.run(UpdatePhysicalModelCommand.java:70)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: java.lang.RuntimeException: Impossible to initialize foreignKeys metadata
at it.eng.spagobi.meta.initializer.PhysicalModelInitializer.addForeignKeys(PhysicalModelInitializer.java:553)
at it.eng.spagobi.meta.initializer.PhysicalModelInitializer.initialize(PhysicalModelInitializer.java:90)
... 5 more
Caused by: java.lang.IllegalArgumentException: The 'no null' constraint is violated
at org.eclipse.emf.common.util.AbstractEList.validate(AbstractEList.java:95)
at org.eclipse.emf.ecore.util.EcoreEList.validate(EcoreEList.java:63)
at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList.java:418)
at org.eclipse.emf.common.notify.impl.NotifyingListImpl.doAddUnique(NotifyingListImpl.java:325)
at org.eclipse.emf.common.notify.impl.NotifyingListImpl.addUnique(NotifyingListImpl.java:309)
at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:301)
at it.eng.spagobi.meta.initializer.PhysicalModelInitializer.addForeignKeys(PhysicalModelInitializer.java:529)
... 6 more
{code}

The probable culprit is probably the The 'no null' constraint...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant