问题标签 [isis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
35 浏览

isis - 安全模块菜单

我正在使用这个安全模块 <groupId>org.isisaddons.module.security</groupId> <artifactId>isis-module-security-dom</artifactId> (isis 版本 1.16.2)。

当我启动应用程序时,安全功能链接(所有角色、所有包.. ecc)显示在“其他”菜单中(我在其中定义了“未引用的操作”)。我正在使用 menubars.layout.xml,我可以添加其他菜单,但我不知道如何添加安全性。有人能帮我吗?谢谢指教

0 投票
1 回答
46 浏览

isis - 未打开弹出窗口以执行操作

我正在使用 Apache Isis v1.16.2。我创建了一个编辑操作,但是当我的操作被调用时,Isis 将关联的表单打开到一个弹出窗口中。我尝试将属性 isis.objects.editing 设置为 false,但这样用户必须编辑每个属性并为每个属性单击“确定”。Isis 调用哪个操作来创建默认编辑表单?我的目标是:用户打开表单,编辑所有属性并单击“保存”一次。有没有办法做到这一点?谢谢指教。

0 投票
1 回答
83 浏览

isis - 如何在 apache isis 中提供列表作为参数

我必须在 isis 中调用 api 并使用参数布局将对象列表作为参数传递。当我尝试将参数作为列表提供时,它会引发错误。

有没有办法将列表作为参数传递?任何帮助将非常感激。提前致谢。干杯。

0 投票
1 回答
50 浏览

jdo - 如何在没有连接的jdo apache isis中存储字符串集合

我想存储一组在模式中的任何其他表中都不可用的字符串。例如,

我有一张带有 country_id、country_name 和动物的表

列动物需要是一个集合(集合或列表),并且列表中的动物在模式的任何其他表中都不可用。它们只是普通的 java 字符串。我通过这里的链接。但它只提到了存储对象集合的方法,这些对象集合可作为另一个表中的列使用。任何帮助将非常感激。提前致谢。干杯!

0 投票
1 回答
148 浏览

wicket - 使用 apache isis 打开到 sql 的连接没有关闭

我将 Apache isis 用于 API,并将 SQL 服务器用作 DB。我注意到在 DB 中执行查询的速度很慢。在调查中,我发现 Apache ISIS 打开的连接尚未关闭并且处于睡眠状态。这导致了许多打开但处于休眠状态的连接,从而降低了性能。我阅读了 apache isis 文档,发现连接池正在由 apache isis 处理。是否需要添加一个属性,以便在会话关闭后关闭连接。我被这个问题困住了,任何帮助将不胜感激。提前致谢。干杯!

编辑:Persistor_datanucleus.properties

持久化器.properties

0 投票
1 回答
179 浏览

apache - Apache Isis 使用 Wicket Viewer 8

您好 Apache Isis 用户,

我制作了一个 Apache Isis Webapp 的原型。

我想使用组件 Apache Wicket 8 而不是 Apache Isis 框架中的默认 Wicket 查看器。

通常可以将 Apache Wicket 查看器与 Apache Wicket 8 交换吗?

此致

0 投票
1 回答
75 浏览

java - ISIS:从已弃用的 @Action(invokeOn=...) 转移到 @Action(associateWith=...)

我正在使用 ISIS 1.16.2 开展一个项目。我有一个超类,称为ConfigurationItem,它有一些共同的属性(namecreatedTimestamp)。例如,它有一个用 注释的删除操作方法,@Action(invokeOn = InvokeOn.OBJECT_AND_COLLECTION, ...)我需要从实体详细信息视图以及带有选择框的集合视图中调用它。

例子:

这工作得很好,但现在不推荐使用“invokeOn”注释。JavaDoc 说应该切换到,@Action(associateWith="...")但我不知道如何转移“InvokeOn”的语义,因为我没有可供参考的集合字段。相反,我只有数据库检索操作返回的对象集合。

我的问题是:如何将不推荐使用的@Action(invokeOn=...)语义转移到@Action(associateWith="...")没有支持属性字段的集合返回值的新概念?

提前致谢!

0 投票
1 回答
121 浏览

java - ISIS:附件收集问题(Blob、Clob)

我正在将 ISIS 1.16.2 用于工作中的项目,并在附件和一些相关问题上苦苦挣扎。我希望你能帮助我(至少对于我的一部分问题)。

上下文:我的项目类需要存储任意数量的附件(Blob 和/或 Clob)。

从一个附件的示例中:

多个附件的第一种方法:

  1. 问题: 我如何注释这个字段,以便这个列表的元素存储在一个自包含的表中,而不是被序列化到包含对象的单个列中?不幸的是,我还不熟悉嵌套类型的这些注释。
  2. 问题: ISIS 可以同时处理多个文件上传吗?例如作为一个动作:@Action public void uploadFiles(List<Blob> files) {...}
  3. 问题: ISIS 1.16.2(或未来版本)是否可以在专用表中存储一些带有 Blob/Clob 条目(例如大小、所有者等)的元信息,而不会失去 ISIS/Wicket 显示自定义扩展 BLOB 类的下载按钮、预览等?

也许有点题外话,但与上述问题有关:

  1. 问题:使用集合属性List<Blob> attachments;(见上文),我得到??? EntityModel objectAdapter oid: null了表中的每个附件,因为 Blob/Clob 类是值类型而不是引用类型。提供必要信息以正确呈现这些值类型的“正确”方式是什么?(我对枚举集有同样的问题)

提前致谢!

0 投票
1 回答
56 浏览

apache - Apache Isis 中的可自定义表列

我正在使用 Apache Isis 创建一个应用程序,并且所有内容都正确呈现,除了呈现的表显示了我的模型中的所有属性。

有没有一种快速的方法可以让用户选择他们想在表格上显示的列,最好是按什么顺序显示?

0 投票
1 回答
505 浏览

java - ISIS:Blob/Clob 字段序列化的问题

编辑:解决方案: 升级到 ISIS 1.17.0 并设置属性isis.persistor.datanucleus.standaloneCollection.bulkLoad=false解决了前两个问题。


我正在使用 Apache ISIS 1.16.2,并尝试将 Blob/Clob 内容存储在MariaDB数据库 (v10.1.35) 中。因此,我使用 DB 连接器org.mariadb.jdbc.mariadb-java-client(v2.3.0) 并在代码@Persistent中使用许多示例和 ISIS 文档中所示的注释。

使用下面的代码,我只得到一个名为的列content_name(其中 Blob 对象以二进制形式序列化),而不是三列content_name,content_mimetypecontent_bytes.

这是带有 Blob 字段的Documentcontent类:

这将为 DomainObject 类创建以下架构,Document其中 Blob 字段只有一列:

通常,org.apache.isis.objectstore.jdo.datanucleus.valuetypes.IsisBlobMappingISIS 框架的类应该进行映射。但似乎这个 Mapper 不知何故没有参与......

1. 问题:如何将 Blob 字段分成三列(如上所述以及在许多演示项目中)。即使我切换到 HSQLDB,我仍然只能得到一列,所以这可能不是 MariaDB 的问题。

2. 问:如果我在从另一个 DomainObject 类继承的类中使用 Blob/Clob 字段,我经常会得到一个org.datanucleus.exceptions.NucleusException(堆栈跟踪见下文)并且我无法确定它的头部或尾部。处理继承时有哪些潜在的陷阱?为什么我会收到此异常?

3. 问:我需要存储属于域对象的文档(您可能已经猜到了)。这样做的正确方法是将文档存储在文件系统树而不是数据库中(默认情况下,数据库也对对象数据有一些大小限制)并引用对象中的文件。在Datanucleus 文档中,我找到了serializeToFileLocation应该做到这一点的扩展。我通过将行添加@Extension(vendorName="datanucleus", key="serializeToFileLocation" value="document-repository")到 Blob 字段来尝试它,但没有发生任何事情。所以我的问题是:这个 Datanucleus 扩展是否与 Apache Isis 兼容?

javax.jdo.listener.StoreLifecycleListener如果此扩展与 Isis 冲突,是否可以org.apache.isis.applib.AbstractSubscriber在将域对象持久保存到数据库并在加载之前将其还原之前将 Blob 存储在文件系统上?有没有更好的解决方案?

现在就是这样。先感谢您!;-)


问题2的堆栈跟踪: