KnowledgeCaptureAndDiscovery / wings

Wings workflow system
http://www.wings-workflows.org
Apache License 2.0
48 stars 21 forks source link

Workflow templates cannot be edited or deleted #17

Closed jgordon closed 9 years ago

jgordon commented 9 years ago

It is easy to create broken workflow templates that cannot be edited or deleted.

Steps to reproduce (tried on a local installation of Wings 4.0):

  1. Create an abstract component type. Do not specify any inputs or outputs.
  2. Create a new workflow.
  3. Add the abstract component to the workflow.
  4. Save the workflow template.

You now have a workflow that cannot be edited or deleted. The 'Delete Template' button will cause the interface to stall indefinitely with the 'Deleting...' indicator spinning. Reloading will show a broken template with no view of the components and no option to add any.

There are no messages in the server logs, and restarting does not change the behavior.

IKCAP commented 9 years ago

Thanks for the excellent bug report Jonathan. I've committed a fix. 1) It allows editing/deleting faulty templates, so one can fix them. 2) The system will now not allow saving templates with errors.

jgordon commented 9 years ago

I've updated to the latest Git version, rebuilt, installed, & restarted the server, but I'm seeing the same behavior: I can't delete the existing broken templates, and I can create new ones in the same way.

IKCAP commented 9 years ago

Hmm, that's weird Jonathan. I would recommend clearing your cache (or use a different browser), and then trying it again.

Would you be able to send me your domain ? (Download from "Manage Domains" interface).

jgordon commented 9 years ago

I've tried a new browser, but I get same results.

Interestingly, when I try to download this domain, I get an HTTP 500 error. (This doesn't happen for other domains.) It says:

java.lang.NullPointerException edu.isi.wings.ontapi.jena.KBAPIJena.getClassOfInstance(KBAPIJena.java:417) edu.isi.wings.workflow.template.api.impl.kb.TemplateKB.readSetExpressionFromKB(TemplateKB.java:1846) edu.isi.wings.workflow.template.api.impl.kb.TemplateKB.readTemplate(TemplateKB.java:428) edu.isi.wings.workflow.template.api.impl.kb.TemplateKB.readTemplate(TemplateKB.java:317) edu.isi.wings.workflow.template.api.impl.kb.TemplateKB.(TemplateKB.java:113) edu.isi.wings.workflow.template.api.impl.kb.TemplateCreationKB.getTemplate(TemplateCreationKB.java:99) edu.isi.wings.workflow.template.api.impl.kb.TemplateCreationKB.copyFrom(TemplateCreationKB.java:225) edu.isi.wings.portal.classes.domains.Domain.exportDomain(Domain.java:262) edu.isi.wings.portal.controllers.DomainController.streamDomain(DomainController.java:323) edu.isi.wings.portal.servlets.ManageDomains.doGet(ManageDomains.java:84) javax.servlet.http.HttpServlet.service(HttpServlet.java:624) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.ocpsoft.rewrite.servlet.RewriteFilter.doFilter(RewriteFilter.java:205) org.ocpsoft.rewrite.servlet.impl.HttpRewriteResultHandler.handleResult(HttpRewriteResultHandler.java:41) org.ocpsoft.rewrite.servlet.RewriteFilter.rewrite(RewriteFilter.java:268) org.ocpsoft.rewrite.servlet.RewriteFilter.doFilter(RewriteFilter.java:188)

In all other ways, this domain doesn't seem to be problematic; I'm running a workflow on it at the moment.

IKCAP commented 9 years ago

That error helps Jonathan. I’ve committed a small fix. Could you see if you are able to open the faulty templates, or if you are able to download the domain.

On 20 Aug 2015, at 00:28, Jonathan Gordon notifications@github.com wrote:

I've tried a new browser, but I get same results.

Interestingly, when I try to download this domain, I get an HTTP 500 error. (This doesn't happen for other domains.) It says:

java.lang.NullPointerException edu.isi.wings.ontapi.jena.KBAPIJena.getClassOfInstance(KBAPIJena.java:417) edu.isi.wings.workflow.template.api.impl.kb.TemplateKB.readSetExpressionFromKB(TemplateKB.java:1846) edu.isi.wings.workflow.template.api.impl.kb.TemplateKB.readTemplate(TemplateKB.java:428) edu.isi.wings.workflow.template.api.impl.kb.TemplateKB.readTemplate(TemplateKB.java:317) edu.isi.wings.workflow.template.api.impl.kb.TemplateKB.(TemplateKB.java:113) edu.isi.wings.workflow.template.api.impl.kb.TemplateCreationKB.getTemplate(TemplateCreationKB.java:99) edu.isi.wings.workflow.template.api.impl.kb.TemplateCreationKB.copyFrom(TemplateCreationKB.java:225) edu.isi.wings.portal.classes.domains.Domain.exportDomain(Domain.java:262) edu.isi.wings.portal.controllers.DomainController.streamDomain(DomainController.java:323) edu.isi.wings.portal.servlets.ManageDomains.doGet(ManageDomains.java:84) javax.servlet.http.HttpServlet.service(HttpServlet.java:624) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.ocpsoft.rewrite.servlet.RewriteFilter.doFilter(RewriteFilter.java:205) org.ocpsoft.rewrite.servlet.impl.HttpRewriteResultHandler.handleResult(HttpRewriteResultHandler.java:41) org.ocpsoft.rewrite.servlet.RewriteFilter.rewrite(RewriteFilter.java:268) org.ocpsoft.rewrite.servlet.RewriteFilter.doFilter(RewriteFilter.java:188)

In all other ways, this domain doesn't seem to be problematic; I'm running a workflow on it at the moment.

— Reply to this email directly or view it on GitHub https://github.com/IKCAP/wings/issues/17#issuecomment-132825066.

jgordon commented 9 years ago

Can't delete the templates, but I get a different error when downloading the domain now:

java.lang.NullPointerException edu.isi.wings.workflow.template.api.impl.kb.TemplateKB.addDefaultSetCreationRulesForNode(TemplateKB.java:703) edu.isi.wings.workflow.template.api.impl.kb.TemplateKB.fillInDefaultSetCreationRules(TemplateKB.java:680) edu.isi.wings.workflow.template.api.impl.kb.TemplateKB.readTemplate(TemplateKB.java:560) edu.isi.wings.workflow.template.api.impl.kb.TemplateKB.readTemplate(TemplateKB.java:317) edu.isi.wings.workflow.template.api.impl.kb.TemplateKB.(TemplateKB.java:113) edu.isi.wings.workflow.template.api.impl.kb.TemplateCreationKB.getTemplate(TemplateCreationKB.java:99) edu.isi.wings.workflow.template.api.impl.kb.TemplateCreationKB.copyFrom(TemplateCreationKB.java:225) edu.isi.wings.portal.classes.domains.Domain.exportDomain(Domain.java:262) edu.isi.wings.portal.controllers.DomainController.streamDomain(DomainController.java:323) edu.isi.wings.portal.servlets.ManageDomains.doGet(ManageDomains.java:84) javax.servlet.http.HttpServlet.service(HttpServlet.java:624) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.ocpsoft.rewrite.servlet.RewriteFilter.doFilter(RewriteFilter.java:205) org.ocpsoft.rewrite.servlet.impl.HttpRewriteResultHandler.handleResult(HttpRewriteResultHandler.java:41) org.ocpsoft.rewrite.servlet.RewriteFilter.rewrite(RewriteFilter.java:268) org.ocpsoft.rewrite.servlet.RewriteFilter.doFilter(RewriteFilter.java:188)

IKCAP commented 9 years ago

Committed another “check-fix" to take care of this error. Could you please try again ?

On 20 Aug 2015, at 01:00, Jonathan Gordon notifications@github.com wrote:

Can't delete the templates, but I get a different error when downloading the domain now:

java.lang.NullPointerException edu.isi.wings.workflow.template.api.impl.kb.TemplateKB.addDefaultSetCreationRulesForNode(TemplateKB.java:703) edu.isi.wings.workflow.template.api.impl.kb.TemplateKB.fillInDefaultSetCreationRules(TemplateKB.java:680) edu.isi.wings.workflow.template.api.impl.kb.TemplateKB.readTemplate(TemplateKB.java:560) edu.isi.wings.workflow.template.api.impl.kb.TemplateKB.readTemplate(TemplateKB.java:317) edu.isi.wings.workflow.template.api.impl.kb.TemplateKB.(TemplateKB.java:113) edu.isi.wings.workflow.template.api.impl.kb.TemplateCreationKB.getTemplate(TemplateCreationKB.java:99) edu.isi.wings.workflow.template.api.impl.kb.TemplateCreationKB.copyFrom(TemplateCreationKB.java:225) edu.isi.wings.portal.classes.domains.Domain.exportDomain(Domain.java:262) edu.isi.wings.portal.controllers.DomainController.streamDomain(DomainController.java:323) edu.isi.wings.portal.servlets.ManageDomains.doGet(ManageDomains.java:84) javax.servlet.http.HttpServlet.service(HttpServlet.java:624) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.ocpsoft.rewrite.servlet.RewriteFilter.doFilter(RewriteFilter.java:205) org.ocpsoft.rewrite.servlet.impl.HttpRewriteResultHandler.handleResult(HttpRewriteResultHandler.java:41) org.ocpsoft.rewrite.servlet.RewriteFilter.rewrite(RewriteFilter.java:268) org.ocpsoft.rewrite.servlet.RewriteFilter.doFilter(RewriteFilter.java:188)

— Reply to this email directly or view it on GitHub https://github.com/IKCAP/wings/issues/17#issuecomment-132829636.

jgordon commented 9 years ago

The last check-in was this one: https://github.com/IKCAP/wings/commit/e8ad75d1ccb50f25aaa55caf79573e52924f7cca

I'd already pulled and tested this change. Did you forget to push your commit?

IKCAP commented 9 years ago

Doh ! You're right. Forgot to push the commit.

jgordon commented 9 years ago

That fixed it! I can now delete the templates and can download the domain. Thanks!