Various Date-picker for Wicket - java

So far I found two date-picker in wicket:
org.apache.wicket.extensions.yui.calendar.DatePicker
org.wicketstuff.dojo.markup.html.form.DojoDatePicker
The navigation for year is not present in the wicket-extensions' date-picker, also so far I found 1.3.0-beta version of wicket-stuff's date-picker, and perhaps this causes the following error messages in my console:
10:35:15,108 INFO [STDOUT] 2011-05-12 10:35:15,108 [http-127.0.0.1-8080-1] ERROR [org.apache.wicket.request.target.resource.SharedResourceRequestTarget] - shared resource org.wicketstuff.dojo.AbstractDefaultDojoBehavior/dojo-0.4/src/i18n/calendar/nls/en-us/gregorian.js not found
10:35:15,148 INFO [STDOUT] 2011-05-12 10:35:15,148 [http-127.0.0.1-8080-1] ERROR [org.apache.wicket.request.target.resource.SharedResourceRequestTarget] - shared resource org.wicketstuff.dojo.AbstractDefaultDojoBehavior/dojo-0.4/src/i18n/calendar/nls/en/gregorianExtras.js not found
10:35:15,165 INFO [STDOUT] 2011-05-12 10:35:15,165 [http-127.0.0.1-8080-1] ERROR [org.apache.wicket.request.target.resource.SharedResourceRequestTarget] - shared resource org.wicketstuff.dojo.AbstractDefaultDojoBehavior/dojo-0.4/src/i18n/calendar/nls/en-us/gregorianExtras.js not found
10:35:15,242 INFO [STDOUT] 2011-05-12 10:35:15,242 [http-127.0.0.1-8080-1] ERROR [org.apache.wicket.request.target.resource.SharedResourceRequestTarget] - shared resource org.wicketstuff.dojo.AbstractDefaultDojoBehavior/dojo-0.4/src/widget/nls/en/DropdownDatePicker.js not found
Also I heard a little about jQuery date-picker for wicket. But found no example/ demo.
I want to know is there any other date-picker for wicket available which has year navigation without bug?
Thanks and Regards.

I have an open source project for wicket components that includes a date picker component -
http://wicket.visural.net/examples/app/dateinput

Related

Exception is thrown when input with % is send to the back end - Thymeleaf

I have some html text inputs which send data to a back-end spring system. When I put just a (%) as a character I am getting the following Exception:
java.lang.IllegalArgumentException: Incomplete escaping sequence in input
14:17:34,269 INFO [stdout] (default task-4) at org.unbescape.uri.UriEscapeUtil.unescape(UriEscapeUtil.java:617)
14:17:34,269 INFO [stdout] (default task-4) at org.unbescape.uri.UriEscape.unescapeUriQueryParam(UriEscape.java:1702)
14:17:34,269 INFO [stdout] (default task-4) at org.unbescape.uri.UriEscape.unescapeUriQueryParam(UriEscape.java:1668)
14:17:34,269 INFO [stdout] (default task-4) at org.thymeleaf.spring5.util.SpringRequestUtils.checkViewNameNotInRequest(SpringRequestUtils.java:55)
14:17:34,269 INFO [stdout] (default task-4) at org.thymeleaf.spring5.view.ThymeleafView.renderFragment(ThymeleafView.java:275)
14:17:34,269 INFO [stdout] (default task-4) at org.thymeleaf.spring5.view.ThymeleafView.render(ThymeleafView.java:190)
I am encoding the data before is sent to the back-end using JS's encodeURIComponent method and in the link the % becomes %25 which is the correct encoded value but why does it throw an exception and what is the possible solution to this I am out of ideas tbh.
Thank you in advance for your responses :)
You did not disclose more information other than "When I put just a (%) as a character" and "I am encoding the data".
My crystal bulb is telling me there is some http(s) request and one of the request parameters contains an encoded percentage sign only. When this request is parsed by the server the %25 is decoded back into %. So far no problem.
But is it possible that the application now tries to decode the data itself and just sees the % sign? Then it would come back with exactly the error that you see.
In that case you might want to double encode: % -> %25 -> %2525
change your thymeleaf version.
<properties>
<thymeleaf.version>3.0.13.RELEASE</thymeleaf.version>
</properties>
for more information about this bug, you can read about it. hope it will resolve your issue.[Thymeleaf Issue#255]
[1]: https://github.com/thymeleaf/thymeleaf-spring/issues/255

No instances are allowed in the image heap for a class that is initialized or reinitialized at image runtime: sun.security.provider.NativePRNG

I am getting a very strange error while I am trying to compile to native.
Here is the error:
206853 [INFO] [io.quarkus.creator.phase.nativeimage.NativeImagePhase] Running Quarkus native-image plugin on OpenJDK GraalVM CE 1.0.0-rc15
206863 [INFO] [io.quarkus.creator.phase.nativeimage.NativeImagePhase] /opt/graalvm/bin/native-image -J-Djava.util.logging.manager=org.jboss.logmanager.LogManager -J-Drx.unsafe-disable=true -H:InitialCollectionPolicy=com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime -jar example-project-api-services-1.0-runner.jar -J-Djava.util.concurrent.ForkJoinPool.common.parallelism=1 -H:FallbackThreshold=0 -H:+PrintAnalysisCallTree -H:-AddAllCharsets -H:EnableURLProtocols=http,https --enable-all-security-services -H:-SpawnIsolates -H:+JNI --no-server -H:-UseServiceLoaderFeature -H:+StackTrace
[example-project-api-services-1.0-runner:391] classlist: 12,582.29 ms
[example-project-api-services-1.0-runner:391] (cap): 1,021.83 ms
[example-project-api-services-1.0-runner:391] setup: 2,121.29 ms
13:12:55,427 INFO [org.hib.val.int.uti.Version] HV000001: Hibernate Validator 6.1.0.Alpha4
13:12:55,729 INFO [io.sma.fau.HystrixInitializer] ### Init Hystrix ###
13:12:55,731 INFO [io.sma.fau.DefaultHystrixConcurrencyStrategy] ### Privilleged Thread Factory used ###
13:12:55,731 INFO [io.sma.fau.HystrixInitializer] Hystrix concurrency strategy used: DefaultHystrixConcurrencyStrategy
13:12:55,737 WARN [com.net.con.sou.URLConfigurationSource] No URLs will be polled as dynamic configuration sources.
13:12:55,737 INFO [com.net.con.sou.URLConfigurationSource] To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
13:12:55,761 INFO [org.hib.Version] HHH000412: Hibernate Core {5.4.2.Final}
13:12:55,774 INFO [org.hib.ann.com.Version] HCANN000001: Hibernate Commons Annotations {5.1.0.Final}
13:12:55,799 INFO [org.hib.dia.Dialect] HHH000400: Using dialect: org.hibernate.dialect.PostgreSQL95Dialect
13:12:55,863 INFO [io.sma.ope.api.OpenApiDocument] OpenAPI document initialized: io.smallrye.openapi.api.models.OpenAPIImpl#4878969e
13:12:57,347 INFO [org.jbo.threads] JBoss Threads version 3.0.0.Alpha4
13:12:58,200 INFO [com.arj.ats.arjuna] ARJUNA012170: TransactionStatusManager started on port 38873 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
13:12:58,348 INFO [org.xnio] XNIO version 3.7.0.Final
13:12:58,440 INFO [org.xni.nio] XNIO NIO Implementation Version 3.7.0.Final
Warning: RecomputeFieldValue.ArrayIndexScale automatic substitution failed. The automatic substitution registration was attempted because a call to sun.misc.Unsafe.arrayIndexScale(Class) was detected in the static initializer of rx.internal.util.unsafe.ConcurrentCircularArrayQueue. Detailed failure reason(s): Could not determine the field where the value produced by the call to sun.misc.Unsafe.arrayIndexScale(Class) for the array index scale computation is stored. The call is not directly followed by a field store or by a sign extend node followed directly by a field store.
Warning: RecomputeFieldValue.ArrayBaseOffset automatic substitution failed. The automatic substitution registration was attempted because a call to sun.misc.Unsafe.arrayBaseOffset(Class) was detected in the static initializer of rx.internal.util.unsafe.ConcurrentCircularArrayQueue. Detailed failure reason(s): Could not determine the field where the value produced by the call to sun.misc.Unsafe.arrayBaseOffset(Class) for the array base offset computation is stored. The call is not directly followed by a field store or by a sign extend node followed directly by a field store.
Warning: RecomputeFieldValue.ArrayIndexScale automatic substitution failed. The automatic substitution registration was attempted because a call to sun.misc.Unsafe.arrayIndexScale(Class) was detected in the static initializer of rx.internal.util.unsafe.SpscUnboundedArrayQueue. Detailed failure reason(s): Could not determine the field where the value produced by the call to sun.misc.Unsafe.arrayIndexScale(Class) for the array index scale computation is stored. The call is not directly followed by a field store or by a sign extend node followed directly by a field store.
[example-project-api-services-1.0-runner:391] analysis: 88,298.64 ms
Printing call tree to /builds/orema/example-project/services/example-project-services/example-project-api-services/target/reports/call_tree_example-project-api-services-1.0-runner_20190517_131435.txt
Printing list of used classes to /builds/orema/example-project/services/example-project-services/example-project-api-services/target/reports/used_classes_example-project-api-services-1.0-runner_20190517_131441.txt
Printing list of used packages to /builds/orema/example-project/services/example-project-services/example-project-api-services/target/reports/used_packages_example-project-api-services-1.0-runner_20190517_131441.txt
Error: No instances are allowed in the image heap for a class that is initialized or reinitialized at image runtime: sun.security.provider.NativePRNG
Detailed message:
Trace: object java.security.SecureRandom
method net.example-project.domain.collection.control.CollectionNumber.generate()
Call path from entry point to net.example-project.domain.collection.control.CollectionNumber.generate():
at net.example-project.domain.collection.control.CollectionNumber.generate(CollectionNumber.java:24)
at net.example-project.domain.collection.control.CollectionNumber_ClientProxy.generate(Unknown Source)
at net.example-project.domain.collection.boundary.CollectionCreationContext.create(CollectionCreationContext.java:41)
at net.example-project.domain.collection.boundary.CollectionCreationContext_Subclass.create$$superaccessor27(Unknown Source)
at net.example-project.domain.collection.boundary.CollectionCreationContext_Subclass$$function$$51.apply(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.SortedOps$RefSortingSink$$Lambda$425/239200789.accept(Unknown Source)
at java.util.ArrayList.forEach(ArrayList.java:1257)
at io.smallrye.restclient.async.AsyncInvocationInterceptorHandler$Decorator.lambda$decorate$0(AsyncInvocationInterceptorHandler.java:48)
at io.smallrye.restclient.async.AsyncInvocationInterceptorHandler$Decorator$$Lambda$559/661106985.run(Unknown Source)
at java.lang.Thread.run(Thread.java:748)
at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:473)
at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:193)
at com.oracle.svm.core.code.IsolateEnterStub.PosixJavaThreads_pthreadStartRoutine_e1f4a8c0039f8337338252cd8734f63a79b5e3df(generated:0)
--------------------------------------------------------------------------------------------
-- WARNING: The above stack trace is not a real stack trace, it is a theoretical call tree---
-- If an interface has multiple implementations SVM will just display one potential call ---
-- path to the interface. This is often meaningless, and what you actually need to know is---
-- the path to the constructor of the object that implements this interface. ---
-- Quarkus has attempted to generate a more meaningful call flow analysis below ---
---------------------------------------------------------------------------------------------
Error: Use -H:+ReportExceptionStackTraces to print stacktrace of underlying exception
Error: Image build request failed with exit 331740
I think this logs says much about the error:
Error: No instances are allowed in the image heap for a class that is initialized or reinitialized at image runtime: sun.security.provider.NativePRNG
I found some issues # GraalVM's Github repo.
https://github.com/oracle/graal/issues/712
I think I should do something with Delay class initialization at https://quarkus.io/guides/writing-native-applications-tips
So, I wrote this piece of Java code:
#BuildStep
public RuntimeInitializedClassBuildItem secureRandom() {
return new RuntimeInitializedClassBuildItem("sun.security.provider.NativePRNG");
}
But it don't work.
So first, using #BuildStep only works during Quarkus augmentation phase: you need to be in an extension for it to work. It won't work in application code.
Second you need to delay the runtime initialization of the class holding the field so in your case, probably CollectionNumber?
So I would try to add:
<additionalBuildArgs>--delay-class-initialization-to-runtime=net.example-project.domain.collection.control.CollectionNumber</additionalBuildArgs>
to the Native image phase in your pom.xml.
You can pass additional build params for Quarkus native build by using Maven pom.xml like this (in 2021):
<profiles>
<profile>
<id>native</id>
<activation>
<property>
<name>native</name>
</property>
</activation>
<properties>
<quarkus.package.type>native</quarkus.package.type>
<quarkus.native.additional-build-args>--initialize-at-run-time=org.bouncycastle.jcajce.provider.drbg.DRBG\\,org.bouncycastle.jcajce.provider.SOMETHING_ELSE --trace-object-instantiation=sun.security.provider.NativePRNG</quarkus.native.additional-build-args>
</properties>
.....
You can try to specify the list of multiple Inner classes:
--initialize-at-run-time=org.bouncycastle.jcajce.provider.drbg.DRBG\$Default\,org.bouncycastle.jcajce.provider.drbg.DRBG\$NonceAndIV --trace-object-instantiation=sun.security.provider.NativePRNG

Custom log level disrupts level highlighting

I'm using log4j 2 with a pattern layout that highlights different log levels. In my code, I specify a custom level. When this level is logged, it's not colored and shows null before the level in the log. Below is my pattern and log snip.
Custom level:
final Level STATS = Level.forName("STATS", 510);
Pattern:
%highlight{%-10.10level}{FATAL=red, ERROR=red, WARN=yellow, INFO=green, DEBUG=blue, TRACE=blue, STATS=red}
Output:
Jul 22 15:36:00 INFO [qtp982337150-23] c.e.class : Logging an info line
Jul 22 15:36:00 nullSTATS [qtp982337150-23] c.e.class : Logging a stats line
You may have found a bug. Please raise this on the Log4j2 JIRA issue tracker.
I found the same problem with log levels from jul.
I filed an issue in jira for that: https://issues.apache.org/jira/browse/LOG4J2-2405
This seems to be the same problem.
UPDATE 2018-10-24:
I have prepared a Pull Request that fixes this problem. Hopefully this will be included in Log4j2 soon.

Wicket - Stale Page Exception - how to debug?

my app seems to work correctly, but in the console it throws a lot of StalePageExceptions. I dont know why. How can i debug the cause for this exceptions? What are commons reasons for this Exception?
13:32:29,361 WARN [RequestCycleExtra] (default task-60) ********************************
13:32:29,362 WARN [RequestCycleExtra] (default task-60) Handling the following exception: org.apache.wicket.core.request.mapper.StalePageException
13:32:29,363 WARN [RequestCycleExtra] (default task-60) ********************************
13:32:35,626 WARN [RequestCycleExtra] (default task-64) ********************************
13:32:35,627 WARN [RequestCycleExtra] (default task-64) Handling the following exception: org.apache.wicket.core.request.mapper.StalePageException
I use the lastest Wicket version - 6.18 but i have this forever.
EDIT:
StatementGokListPanel.java
columns.add(new StatementLinkColumn(Model.of("")) {
#Override
public void onClick(IModel<StatementGokCommunity> model, AjaxRequestTarget target) {
ComponentMode componentMode = ComponentMode.EDIT;
MarkupContainer mc = StatementGokListPanel.this.getParent();
GokCommunityStatementPanel panel = new GokCommunityStatementPanel("panel", model.getObject(), componentMode, true);
StatementGokListPanel.this.replaceWith(panel);
target.add(mc);
}
});
The exception is being thrown if you try to use a page instance that has been rendered in another browser tab/window. Since Wicket cannot know whether you have changed the page structure in the other tab it just suppresses the action (e.g. link click, form submit, etc.) and re-renders the page instance with its latest state from the server.
The exception also may happen if you use browser's "View (page) source" functionality.

Ehcache Jgroups replication using TCP

I am trying to setup a replicated cache using Jgroups in Ehcache.I am having problems in clustering the cache.I created 2 projects in eclipse each refering to different ehcache.xml configuration file.
Both the configuration files are identical and is given beolw.
<?xml version="1.0"?>
<cacheManagerPeerProviderFactory
class="net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProviderFactory"
properties="connect=TCP(bind_port=7800):
TCPPING(initial_hosts=localhost[7800],localhost[7801];port_range=10;timeout=3000;
num_initial_members=3):
VERIFY_SUSPECT(timeout=1500):
pbcast.NAKACK(retransmit_timeout=3000):
pbcast.GMS(join_timeout=50000;print_local_addr=true)"
propertySeparator="::" />
<cache name="sampleCache"
maxElementsInMemory="1000000"
eternal="true"
overflowToDisk="false">
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory"
properties="replicateAsynchronously=true"/>
</cache>
I am using the following jar files in my classpath.
-ehcache-2.9.0.jar
-ehcache-jgroupsreplication-1.7.jar
-jgroups-3.6.0.Final.jar
-log4j-1.2.16
When I run the programs project1 shows
63511 [main] DEBUG org.jgroups.protocols.pbcast.NAKACK -
[SBSPBWSVM110-42986 setDigest()]
existing digest: []
new digest: SBSPBWSVM110-42986: [0 (0)]
resulting digest: SBSPBWSVM110-42986: [0 (0)]
63511 [main] DEBUG org.jgroups.protocols.pbcast.GMS - SBSPBWSVM110-42986: installing view [SBSPBWSVM110-42986|0] (1) [SBSPBWSVM110-42986]
63543 [main] DEBUG org.jgroups.protocols.pbcast.GMS - SBSPBWSVM110-42986: created cluster (first member). My view is [SBSPBWSVM110-42986|0], impl is org.jgroups.protocols.pbcast.CoordGmsImpl
Jan 09, 2015 11:49:51 AM net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProvider init
INFO:JGroups Replication started for 'EH_CACHE'. JChannel: local_addr=SBSPBWSVM110-42986
cluster_name=EH_CACHE
my_view=[SBSPBWSVM110-42986|0] (1) [SBSPBWSVM110-42986]
state=CONNECTED
discard_own_messages=true
state_transfer_supported=false
When I run the programs project2 shows
63451 [main] DEBUG org.jgroups.protocols.pbcast.NAKACK -
[SBSPBWSVM110-20554 setDigest()]
existing digest: []
new digest: SBSPBWSVM110-20554: [0 (0)]
resulting digest: SBSPBWSVM110-20554: [0 (0)]
63451 [main] DEBUG org.jgroups.protocols.pbcast.GMS - SBSPBWSVM110-20554: installing view [SBSPBWSVM110-20554|0] (1) [SBSPBWSVM110-20554]
63452 [main] DEBUG org.jgroups.protocols.pbcast.GMS - SBSPBWSVM110-20554: created cluster (first member). My view is [SBSPBWSVM110-20554|0], impl is org.jgroups.protocols.pbcast.CoordGmsImpl
Jan 09, 2015 11:49:51 AM net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProvider init
INFO: JGroups Replication started for 'EH_CACHE'. JChannel: local_addr=SBSPBWSVM110-20554
cluster_name=EH_CACHE
my_view=[SBSPBWSVM110-20554|0] (1) [SBSPBWSVM110-20554]
state=CONNECTED
discard_own_messages=true
state_transfer_supported=false
But the replication simply isnt happening.I have done the RMIreplication using Ehcache and following the same approach here also. So I am assuming nothing is wrong in my java code.
I am unable to find the issue here.Is my configuration wrong??Please help me with this issue..
The config you use is strange: it's mising some protocols. Can't ehcache refer to a JGroups config file, e.g. udp.xml ?
Also you you set bind_addr in TCP or use -Djgroups.bind_addr=1.2.3.4 where 1.2.3.4 is the network interface.
Then, in TCPPING.initial_hosts, you'll need to list all the members with the bind addresses you used above, e.g. 1.2.3.4[7800],5.6.7.8[7800] etc.

Categories

Resources