复制一个问题及其子问题是一个本机内置功能,因此工作得很好.
但有多种方法可以多次这样做?就像重新创造一个问题(包括它的孩子)二十或五十次?
编辑2
这个新功能应该可以通过Redmine界面访问,并兼容任何浏览器.
它是一个全新的插件,内置复制功能的扩展,对一个PHP-script或其他任何东西的调用并不重要.由于兼容性(网络,浏览器等),我想完全服务器端修改是唯一的方法.
必须更改默认插件的哪些部分(在投票教程中创建)或核心元素?
我在哪里可以找到本机问题复制功能的代码?
或者 - 如果所有这些都太复杂 - 我如何编写我的插件指向直接PHP操作SQL数据库的文件?
编辑:
澄清:就像正常的复制功能(在上下文菜单或右上角的链接中,我不在乎)我想复制一个问题及其子问题n次.要让用户设置金额n,任何用户编号输入都可以,例如文本框,弹出窗口等.
我想为我的类添加一个功能,所以我可以在for-each循环中使用它们.
我写了一些我要迭代的哈希映射,arraylists,队列,集等等.现在我正在寻找一种方法来实现IUnknown类来构建自定义迭代器.
我已经知道如何使用了
private objPeople as Collection
Public Property Get NewEnum() As IUnknown
Attribute NewEnum.VB_UserMemId = -4
Attribute NewEnum.VB_MemberFlags = "40"
Set NewEnum = objPeople.[_NewEnum]
End Property
Run Code Online (Sandbox Code Playgroud)
但那里的所有例子都基于Collection类,我不想使用它.
我想要关注的是尝试实现IUnknown接口,但我没有找到任何关于如何做到这一点的参考.
我在Java,C++,C#等方面有丰富的经验,所以我认为即使在VBA中也可以实现这一点,甚至可以使用API调用这样的东西.
更加有趣:我写了自己的ClassLoader,加载
.jar 来自全局库路径的文件.jar 项目特定路径中的文件.java在项目特定路径中编译文件.class项目特定路径中的所有文件到目前为止,这将我的项目实例分开,从所有(子)目录加载一切正常,适用于(1)所有库和(2)子库,(3)可以编译所有.java文件,(4)可以加载.class文件,以及我也可以重新安装已经加载的类,因为我的ClassLoader管理子ClassLoader允许这样做.
现在,我想改善的是,在(3)当我打电话,编译器,我并不想重新编译每一个.java目录中的文件,但只有那些,其中相应的.class文件不存在或有错误的时间戳.
所以我只传递那些.java需要重新编译的文件,而不是全部,结果是编译器无法找到所有需要的类(在那些.java我没有通过他编译的文件中).相反,编译器应从已加载这些文件的ClassLoader中获取其缺少的编译信息(.class文件的文件instad .java).class.
为了实现这一点,我实现了自己的FileManager,我传递给了JavaCompiler.getTask().在该自定义中FileManager,我将返回我的ClassLoader FileManager.getClassLoader().
应该是这样的:
.jar 来自全局库路径的文件.jar 项目特定路径中的文件.java项目特定路径中的某些文件,从.class文件中加载缺少的类定义(由我的特定加载ClassLoader).class项目特定路径中的所有文件但是当JavaCompiler.CompilationTask运行时,它永远不会访问我的ClassLoader .loadClass()或.findClass()方法,因此找不到必要的.class文件,因此"抛出"了编译错误.(即我获得诊断,并将它们转换为异常)
所以,我的实际问题是:
.class文件而不是.java …将.war文件部署到GlassFish Server(当前为4.1)时,GF服务器会自动从该WEB-INF/文件夹中传送文件.(除非我通过指定Servlet覆盖它们的地址,即.)
实际上,当将.war文件部署到GF服务器时,它会将这些文件提取WEB-INF/到{gf-home}/glassfish/domains/domain1/applications/{app-name}.然后它在访问时传递它们http://{hostname}:8080/{app-name}/{path}.
现在,当访问.json文件时,服务器不会发送HTTP Content-Type: application/json标头.这导致页面无法正确加载,FireFox控制台显示XML Parsing Error: not well-formed异常,即使文件内容完全相同.所以我的猜测是它缺少Content-Type标签.
如何更改app/project本身的mime-mapping?
从我到目前为止看到的页面,可以在{gf-home}/glassfish/domains/domain1/default-web.xml文件中重新定义此行为,定义mime-mapping.但假设我无法访问该文件,只能上传.war文件.有什么解决方案吗?是否有可能将default-web.xml某个地方打包到.war文件中?
我现在能想到的另一个解决方案是用servlet覆盖特定的.json文件的地址,并Content-Type在Java中添加头.但我不确定是否有一种在运行时访问和读取.json文件的万无一失的方法,但是没有将它们移动到Java源代码中的任何地方,而是将它们留在WEB-INF /文件夹中?有什么建议?
假设我们有两个(或更多)类,其中一个是@ManyToMany-引用其他类:(为了简化,我在这里省略了很多注释)
@Entity
class Newspaper {
@Id long id;
@ManyToMany Set<Author> authors = new HashSet<>();
@ManyToMany Set<Article> oldArticles = new HashSet<>();
@ManyToMany Set<Article> newArticles = new HashSet<>();
}
@Entity
class Article {
@Id long id;
}
@Entity
class Author {
@Id long id;
}
Run Code Online (Sandbox Code Playgroud)
现在默认情况下,JPA 将创建两个表:
Newspaper_Author
Newspaper_Article
Run Code Online (Sandbox Code Playgroud)
甚至将oldArticles和混合newArticles到同一张表中,产生有趣的结果;-)
@JoinTable现在,可以通过定义至少一个或所有成员变量来轻松解决此问题:
@Entity
class Newspaper {
@Id long id;
@ManyToMany Set<Author> authors = new HashSet<>();
@ManyToMany Set<Article> oldArticles = new HashSet<>();
@ManyToMany @JoinTable(name = "Newspaper_newArticles") Set<Article> …Run Code Online (Sandbox Code Playgroud) 我遇到了一个问题:我想在JEditorPane中使用内部锚点<a name="x">和链接<a href="#x">.
窗格的内容不是从资源加载,而是动态创建并作为String提供.
如何让我的JEditorPane滚动到正确的位置?(在示例中它应该滚动到顶部)侦听器只捕获null,这会增加问题.
这是我的SSCCCE:
public static void main(final String[] args) {
final JFrame f = new JFrame();
f.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
f.setTitle("JEditorPane Test");
final String text = "<html><body><a name='link1'>test</a>some text<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />some more text<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />some more text<a href='#link1'>jump to top</a></body></html>";
final JEditorPane ep = new JEditorPane();
ep.setContentType("text/html");
ep.setText(text);
ep.setEditable(false);
ep.addHyperlinkListener(new HyperlinkListener() …Run Code Online (Sandbox Code Playgroud) (最后的实际问题)
你好,世界!我在这里发生了一些令人不安的事情,我无法绕过头...
像我一样懒惰,我讨厌一遍又一遍地重新实施愚蠢的euqals()方法; 还有hashCode()方法,但仍然关注选定成员变量的"相等".我还可以通过使用检查类实例或使用反射的默认接口来减少实现,但我想我已经使用了这个静态实用程序方法和labmda:
public class StackOverflow_TestEq {
static public interface JcLambda_pG1_pG1_rBool<T> {
boolean test(T p1, T p2);
}
static public <T> boolean equals_internal(final T pThisObject, final Object pOtherObject, final JcLambda_pG1_pG1_rBool<T> pEqualizer) {
if (pThisObject == null) return pOtherObject == null;
if (pOtherObject == null) return false;
final Class<? extends Object> thisClass = pThisObject.getClass();
if (!thisClass.isInstance(pOtherObject)) return false;
@SuppressWarnings("unchecked") final T other = (T) pOtherObject;
final boolean res = pEqualizer.test(pThisObject, other);
// System.out.println("Testing " + pThisObject + " vs " …Run Code Online (Sandbox Code Playgroud) 我只是想知道是否有一种方法可以从正在 gc 的代码/JVM 中检测垃圾收集周期。
时机不起作用。因此,事件发生在实际周期之前还是之后并不重要。(在循环期间发生事件似乎极不可能,而且也可能很危险,具体取决于所使用的 GC 实现)。
我能找到的只是可以与正在运行的 JVM 并行使用的应用程序,例如 jstat:https: //dzone.com/articles/how-monitor-java-garbage以及此处的源代码,例如:https:// /github.com/eagle518/jdk-source-code/blob/master/jdk5.0_src/j2se/src/share/classes/sun/tools/jstat/Jstat.java
我所看到的是他们使用
MonitoredHost monitoredHost = MonitoredHost.getMonitoredHost(vmId);
MonitoredVm monitoredVm = monitoredHost.getMonitoredVm(vmId, interval);
Run Code Online (Sandbox Code Playgroud)
所以我的问题基于两个问题。如果第二个问题有解,我们就不需要回答第一个问题:
MonitoredVm?Runtime.getRuntime().addShutdownHook(hookThread);)?Java Reflection 也是一个受欢迎的解决方案!java ×4
class ×2
compilation ×1
eclipselink ×1
excel ×1
foreach ×1
glassfish ×1
hibernate ×1
html ×1
hyperlink ×1
iunknown ×1
jakarta-ee ×1
java-8 ×1
jeditorpane ×1
jpa ×1
lambda ×1
mime-types ×1
redmine ×1
ruby ×1
runtime ×1
servlets ×1
sql ×1
swing ×1
vba ×1