I'm not sure if this was a great solution, but it is what I went with.
The <EnableStaticWebAssetCompress/> tag didn't help..
I uninstalled the js libraries I had installed that were listed as conflicts. there were now new conflicts with the existing libraries.
I renamed the folders with the existing libraries.
I added the libraries off of a cdn, instead of running them locally. I don't think that this is absolutely required as I could have run from the renamed libraries.
Many thanks to everyone that helped. :-)
I know it's a bit late, but what I really wanted was this:
https://github.com/eradman/entr
best to use frameToBeAvailableAndSwitchToIt expected condition: https://www.selenium.dev/selenium/docs/api/java/org/openqa/selenium/support/ui/ExpectedConditions.html#frameToBeAvailableAndSwitchToIt(int) This will wait until the frame has loaded.
You can use a service like this then provide your endpoint, it will trigger your script at the exact second-based interval you specify.
This error usually happens when the Spring Boot jar is not repackaged correctly by Maven. Even though the project compiles, the jar may not be executable unless the Spring Boot Maven plugin repackages it.
Here are the steps to fix it:
---
### 1. Add the Spring Boot Maven plugin (MOST IMPORTANT)
Make sure your `pom.xml` contains this plugin:
<plugin>
\<groupId\>org.springframework.boot\</groupId\>
\<artifactId\>spring-boot-maven-plugin\</artifactId\>
\<version\>${spring-boot.version}\</version\>
\<executions\>
\<execution\>
\<goals\>
\<goal\>repackage\</goal\>
\</goals\>
\</execution\>
\</executions\>
</plugin>
This ensures Maven creates an executable jar with the correct BOOT-INF structure.
---
### 2. Clean and rebuild the project
Run:
mvn clean package
After this, verify that the jar contains your main class:
jar tf target/myapp-0.0.1-SNAPSHOT.jar | grep Application
You should see it under BOOT-INF/classes.
---
### 3. Check main class configuration (if custom)
If you specified a custom main class, ensure it:
- Exists in BOOT-INF/classes
- Uses `@SpringBootApplication`
- Matches the package structure
---
### 4. Run the jar
java -jar target/myapp-0.0.1-SNAPSHOT.jar
Now the application should run without the ClassNotFoundException.
---
### ✔ Summary
The issue happens because the Spring Boot plugin never repackaged the jar. Adding the plugin and rebuilding fixes this error in almost all Spring Boot Maven builds.
Here are multiple CMakeCache.txt in the build directory, just find them all and remove them.
I am newbie to apache ignite
Is it possible to connect using IgniteClient to the node started in embedded mode?
anyone has a example program to start apache ignite 3.0 in embedded mode with 2 nodes or the steps to be followed?
@nina Brilliant. Thank you so much.
Using the app image isn't the only way to install it. You can also do sudo apt install fontforge, or whatever package manager you use to install. Open FontForge, go to Element > Font info > Weight, and change it to regular. Then, Ctrl+Shift+G (Cmd+Shift+G on macOS), followed by fc-cache -fv. Then you have it.
did you manage to solve the problem?
Here is a folder/file browser that generates mel spectrogram on the fly: https://smoosense.ai/blogs/audio-mel-spectrogram/
Normally reading all cells as strings should do the trick
For sure the closed bracket ) behind sheet_name=None is wrong in you code
df_25_dict = pd.read_excel(2025_data, sheet_name=None),
dtype={
'bg_code': str,
'tranx_date_year': str,
'journal_number': str,
'journal_line_number': str,
'prj_code': str
},
parse_dates=['tranx_date', 'entry_date'])
Alternatively there is also the converters argument in Pandas read_excel() to control data type conversion better
https://pandas.pydata.org/docs/reference/api/pandas.read_excel.html
Python pandas: how to specify data types when reading an Excel file?
@pmf So, how do you run a shell in POSIX mode?
Just need to update to this version:
We need more information. Please post some code and screen shots
Very helpful explanation! Dynamic dropdown validation can get tricky, especially when options are loaded on the fly. Your approach using JavaScript checks and fallback conditions is clear and easy to apply in real projects. This will definitely help beginners avoid common mistakes like empty selections or invalid values.
For anyone who also enjoys exploring clean web content and travel guides, here’s a blog I follow: https://pineandpeaks.in/ — simple, useful, and refreshing to read!
i have the same issue but with C# i dont know how to fix this
System.Exception: OBS error: -
---> nodename nor servname provided, or not known (actas-digitales.obs.la-north-2.myhuaweicloud.com:443), StatusCode:0, ErrorCode:, ErrorMessage:, RequestId:, HostId:
This is my code
using Application.Common.Services.Interfaces;
using Application.Common.Utils;
using Microsoft.Extensions.Configuration;
using OBS;
using OBS.Model;
using System.IO;
using System.Threading.Tasks;
using Application.Common.Services.Interfaces;
using Application.Common.Utils;
using Microsoft.Extensions.Configuration;
using OBS;
using OBS.Model;
using System.IO;
using System.Threading.Tasks;
namespace Application.Common.Services
{
public class HuaweiCloudService : IHuaweiCloudService
{
private readonly ObsClient _obsClient;
private readonly string _accessKey;
private readonly string _secretKey;
private readonly string _endPoint;
private readonly string _bucket;
private readonly string _basePath;
public HuaweiCloudService(IConfiguration config)
{
var section = config.GetSection("OBS");
_accessKey = section["AccessKey"];
_secretKey = section["SecretKey"];
_endPoint = section["EndPoint"];
_bucket = section["Bucket"];
_basePath = section["BasePath"];
// Validate configuration
if (string.IsNullOrWhiteSpace(_accessKey))
throw new ArgumentException("OBS:AccessKey missing");
if (string.IsNullOrWhiteSpace(_secretKey))
throw new ArgumentException("OBS:SecretKey missing");
if (string.IsNullOrWhiteSpace(_endPoint))
throw new ArgumentException("OBS:EndPoint missing");
if (string.IsNullOrWhiteSpace(_bucket))
throw new ArgumentException("OBS:Bucket missing");
// Initialize OBS client
_obsClient = new ObsClient(
_accessKey,
_secretKey,
new ObsConfig { Endpoint = _endPoint }
);
}
/// <summary>
/// Uploads a file to Huawei OBS
/// </summary>
public async Task<string> UploadAsync(Stream fileStream, string fileName, string contentType)
{
if (fileStream == null || fileStream.Length == 0)
throw new ArgumentException("Stream is empty.", nameof(fileStream));
var objectKey =
string.IsNullOrWhiteSpace(_basePath)
? fileName
: $"{_basePath.TrimEnd('/')}/{fileName}";
var request = new PutObjectRequest
{
BucketName = _bucket,
ObjectKey = objectKey,
InputStream = fileStream,
ContentType = contentType
};
try
{
var response = await Task.Run(() => _obsClient.PutObject(request));
if (response.StatusCode != System.Net.HttpStatusCode.OK)
throw new Exception($"OBS upload failed. Status: {response.StatusCode}");
return objectKey;
}
catch (ObsException ex)
{
throw new Exception($"OBS error: {ex.ErrorCode} - {ex.ErrorMessage}", ex);
}
}
public string GetPublicUrl(string key)
{
if (string.IsNullOrWhiteSpace(key))
throw new ArgumentException("File key cannot be empty.", nameof(key));
var endpoint = _endPoint
.Replace("https://", "")
.Replace("http://", "")
.TrimEnd('/');
return $"https://{_bucket}.{endpoint}/{key}";
}
/// <summary>
/// Approve record by uploading file to OBS
/// </summary>
public async Task ApproveRecordAsync(
int recordId,
Stream fileStream,
string fileName,
string contentType,
long length)
{
var ext = Path.GetExtension(fileName);
var recordType = "nt3m";
var key = StorageKeyGenerator.BuildKey(recordType, recordId, ext);
await UploadAsync(fileStream, key, contentType);
/*
record.Type = recordType;
record.StorageKey = key;
record.State = "APROBADA";
record.Url = $"";
await _repo.UpdateAsync(record);
*/
}
}
}
if you are having problems with the set up you can try this https://every-seconds.com/, you can use http server to hit it and run your script.
Whatever the reason was, it seems to be gone now. With quarkus 3.20.4 and quarkus-rest I can use my services as expected.
The required backend systems to start the affected system are no longer available, so I can’t verify whether it was due to the quarkus version or other reasons.
Bottom line: a small test project with the same method signature does work as expected with quarkus-rest instead of resteasy(classic) and also the current version of our application seems to work fine with quarkus-rest.
In C++17 there are also these constexpr functions:
std::string::traits_type::length(str)
Andreas Johansson's MP3 encoder-1.02a.tgz is based on the reference codec and suitably licensed(BSD) for static embedded linkage. There's a mention here and a copy here.
Unfortunately ML Kit doesn't provide that functionality
@cafce25. well i don't seem to be able to delete it, as the interface says "You cannot delete this question as others have invested time and effort into answering it. For more information, visit the help center."...
sorry, I'm not much help with anycharts, but have you thought about giving Plotivy a go? It's super user-friendly and lets you create interactive charts in Python that you can stick anywhere you like. It could save you loads of time and make your data way more engaging without all the hassle of debugging. Or does it not work for your situation?
Hi there this is my code take it and learn it
public class Main {
public static void main(String[] args) {
getLargestPrime(1);
}
public static int getLargestPrime(int number){
if (number <= 1){
return -1;
}
int biggest = 0;
for (int i = 2; i <= number; i ++){
if (number % i == 0){
int squareR = (int) Math.sqrt(i);
boolean isPrime = true;
for (int j = 2; j <= squareR; j++){
if (i % j == 0){
isPrime = false;
break;
}
}
if (isPrime){
biggest = i;
}
}
}
System.out.println(biggest);
return biggest;
}
}
instead of:
.observe(viewLifecycleOwner)
In Kotlin try to use
.observeForever{}
It's worked for me in activity
<button type="submit" className="w-full cursor-pointer disabled={isloading}>
{isLoading ? <Loader2Icon className="size-4 animate-spin"?> : " Continue"}
</button>
<Button type="submit" disabled={isLoading}>Continue</Button>
This are the fixe of button in React
Please note that VSCode and Visual Studio are different. This article could tell you more. So maybe you just had Visual Studio pre-installed and it was still ther
Use absolute position for the image and z-index greater than the parent div, this way the image will be above the parent div.
I was able to get this working. It seems that only the Hubspot definition of the type needs to be correct. If I pass a number as a token, then it appears to be coerced into a string, but then converted back to a number by Hubspot. A Date type is just a Unix epoch as a number.
@smonff This issue using Mojo::Template and Mojo::DOM is you have to pull in Mojolicious. In thin environments that can be undesirable.
Already delegated this task to my Cursor, let's see. :)
There is in option in /packages/doctrine.yaml (actual for DBAL3. As I know, DBAL4 doesn't generate such comments):
doctrine:
dbal:
# ...
disable_type_comments: true
Pylint treats __init__ like a constructor so it is acceptable for __init__ in subclass to add new parameters.
Try this next time:
p {
mix-blend-mode: difference;
}
It may work based on what you are after.
Chrome: go to DevTools -> Elements -> Layout and deselect Flexbox overlays. This is the helpers for Flexboxes to understand the borders. Just unselect whatever you want.
$ /bin/bash4 --posix script
42
43
42
$ rpm -qi bash4 | grep -e ^Version
Version : 4.4.23
You should select only Widget! part like (without trailing comma)
// Source - https://stackoverflow.com/q/56558409
// Posted by Nicholas Muir, modified by community. See post 'Timeline' for change history
// Retrieved 2025-11-20, License - CC BY-SA 4.0
Expanded(
child: Container(
child: Padding(
padding: const EdgeInsets.only(left: 8.0, right: 8.0, top: 8.0, bottom: 4.0),
child: TextField(
decoration: InputDecoration(
border: OutlineInputBorder(
borderRadius: const BorderRadius.all(
const Radius.circular(10.0),
),
),
filled: true,
hintStyle: TextStyle(color: Colors.grey[800]),
hintText: "Supervisor",
fillColor: Colors.white70,
),
),
),
),
) //, (without this comma and it will work)
Sounds like you need to bring all the stakeholders together and figure out a solution
It is possible to make robotcode use the git folder as EXECDIR by placing a robot.toml file in that folder.
@sakeep hossain: Did you ever figured out the fix for the above problem. We are seeing a similar issue with subpath where we get CreateContainerConfigError and failing to prepare subPath for volumeMount of container intermittently. Due to volume of pipeline pushes we do its started to appear that it is happening consistently .
So did you test it? What was the result? The result is ??
Hi Nicolas Riggs Nicolas,
The issue is most likely coming from the hidden fields (student and course) being required but not rendered with values, causing silent validation failures.
Because the fields are hidden, Django will still validate them — and if they are missing, blank, or altered, the formset will fail validation. The problem is that errors on hidden fields do not show up in your UI, so it looks like the form is submitting with no error while in reality formset.is_valid() is returning False every time.
Could you please share your model class Performance , To check the model class field & attributes
Image max size was increased to 10MB on facebook API.
https://developers.facebook.com/docs/graph-api/reference/photo/
Calcpad supports units natively as a language feature (no libraries):
https://github.com/Proektsoftbg/Calcpad
const result = Array.from(String(Number(arr.join("")) * n), Number)
It would be appreciated if a mod can edit this post and set is as a normal post (not “advice”). I don't have the option. I cannot delete it, either to repost.
For a greater version jump I actually recommend creating a new project and then pasting your source and configuration there.
For usage with Yoeman and Node 22:
Install the new node version, e.g. with Node Version Manager (nvm):
nvm install 22.20.1 # Will be supported until 2027
nvm use 22
Install the required global packages for the new node version:
Execute yoeman in a new folder with your solution name to create your new solution
yo
SharePoint
Webpart
React (or the one you need)
Original project name
Install packages
Adjust and overwrite
config.json (overwrite)
package-solution.json (overwrite)
serve.json (overwrite)
src folder (overwrite)
package.json: "version"
.yo-rc.json: "libraryId"
.eslintrc.js, tsconfig.json (adjust as needed)
Test
gulp build
gulp serve
Test in Browser (Workbench)
Is there any update on this topic? I'm still having issues with it
The accepted answer is great, and I wanted to add a side note, but I'm new to SO...
If you attempt to use the accepted answer in a PowerShell environment you will have an incomplete hash literal error. To fix this, wrap the @{-1} in quotes so the command becomes:
git branch -D "@{-1}"
You do not need the quotes when writing the git alias however.
Had the issue today with a MacOS build machine on DevOps. If it can help anyone, turning it from macos latest to macOS-14 fixed the issue for me.
just put prisma.config.ts at the root of the project and it worked
have you solved this problem yet?
It's a Safari related bug. chrome should be working right? Probably because of top-level await broblem
Right mouse click on source files on the right-hand side, and add your source. If you work from scratch you can edit the source file (f.i. cut&paste from your original main file that you wish to make smaller.)
I do not understand the connection of the project, as you described it, to the operating system. Can you clarify? Did you maybe use the wrong term here?
I've just uninstalled Python version 3.14 and installed version 3.12. This worked for me like a charm.
No error. Smooth instllation of opencv.
We know where the label is packed (side=tk.LEFT) but don't know where / which side or center the frame is packed.
In my case, the solution was to modify how the environment variables were handled. Locally, the key was set as an environment variable enclosed in double quotes, for example: key="example key" and everything worked fine. But then, when deployed to Vercel (production), it no longer worked and threw the error. Configuring the environment variables in production as: key=example key, without the double quotes, fixed the problem.
- Recommened way is to create multiple apps for each environment for a single firebase project.
Most of the customers I've worked with use a separate Firebase/GCP project for each environment.
Can you point out where you get this from, or explain further why you'd recommend a single project across multiple environments?
I had the problem when importing the package from https://github.com/paulsmith/gogeos
When on mac, the brew install step did not work.
Just follow the install from source:
$ wget http://download.osgeo.org/geos/geos-3.3.8.tar.bz2
$ tar xvfj geos-3.3.8.tar.bz2
$ cd geos-3.3.8
$ ./configure
$ make
$ sudo make install
Make sure to put the sudo when doing make install!
When WebSockets work locally but fail in production, it’s almost always the server/proxy, not Laravel.
Check these 3 things:
1, Nginx/Apache must allow WebSocket upgrade headers: Upgrade / Connection: upgrade
2, Use wss:// in production (not ws://).
3, WebSocket port must be open and the Reverb/WebSocket process must be running (Supervisor/systemd).
If any of these are wrong, the browser will fail the connection every time.
Go to the IAM admin settings of the parent folder of the management project.
And from there, you can disable the Application Management setting. That will delete the management project for that folder.
Drawing robots on a grid? That sounds close to a simple game. So Pygame may be the right graphical API for you.
Angular Material version 21 has a bit of support for utility classes:
@include mat.system-classes();
will generate classes like these:
.mat-bg-primary {
background-color: var(--mat-sys-primary);
}
.mat-bg-primary-container {
background-color: var(--mat-sys-primary-container);
}
.mat-bg-secondary {
background-color: var(--mat-sys-secondary);
}
...
see https://material.angular.dev/guide/theming#getting-started
As Slaw said, I needed to create a file named javax.annotation.processing.Processor in the directory annotationprocessors\src\main\resources\META-INF\services and put the fully qualified class-name of the processor into that file.
<!--
Source - https://stackoverflow.com/q/73393435
Posted by xrayman021, modified by community. See post 'Timeline' for change history
Retrieved 2025-11-20, License - CC BY-SA 4.0
-->
<td>
@Html.DisplayFor(model => model.rate_psf_yr)<br />
</td>
<td>
@Html.DisplayFor(model => model.mo_base_rent)<br />
</td>
int __userpurge func<eax>(int a1<ecx>, char a2<dil>, int a3, int a4)
Possible is
int __thiscall func(int a1, int a2, int a3)
or
int __fastcall func(int a1, int unused, int a2, int a3)
You cannot control the JVM process from your Java application running inside the JVM.
JDWP Debug Agent is a tool provided by the JVM and runs at a lower level than your application.
Shutdown hooks run before the JVM tears down subsystems, and the debug agent is destroyed after the shutdown hook
I would advise against using the shutdown hooks to provide resilience, as it can lead to restart loops.
Instead, you can offload the recovery to an external supervisor. In this example, a cron job is used. Or you can run the Java application from a parent process (eg, bash script) that will restart it if it crashes.
I have a website on which i want to deploy Monetag ads. I have verified the website by adding the sw.js file in a public folder on root. Now i want to add the code of a ad zone. but as i add the code to the head section of my admin panel, the monetag doesnot show ads on my website.
I have tried multiple things but unable to succeed.
What is the solution of it?
Replacing the double quotes by simple ones resolved the problem
@SilverWarrior, thanks for reply, and good points. I shall try and get backgound images in the correct size and avoid scaling for the reasons you describe!
Drawing manipuation...
(Background, this is for dawing a sailing "race course" around a set of "Mark" shapes (circles) - user clicks each mark of the course in turn. a Polyline stores vertices at centre of each Mark. (circular shape) in turn. So far, so good! SO have a set of straight lines vertices on each mark Shape.
But course "rules" are do NOT sail over a mark but sail round it either clockwise or anticlockwise
User can click each Mark to change color Red/Green to indicate.
So next, I would like to replace each straight-line vertex with a smooth transition (arc or ellipse). going round each Mark in the correct direction (leave Mark to either Left or Right.
Maybe have to work out the angle of each of the two lines at a Mark, and then work out how to describe the Arc! Seems tricky! Is that a valid approach do you think? any ideas to simplify?
I have seen the Adobe Documentation and this functionality does still exist. I believe the issue is that there is a new "privileged context" (or something similar) and this needs to be added/created in the code. I am not sure how exactly to do that.
For this problem, I have decided to just drop the FDF interface entirely and use the Adobe API to add values to Adobe Form fields directly. That will involve re-arranging code more than I would have liked, but this approach works fine in 64-bit Adobe.
If anyone does know how to set up this "privileged context", please respond to this. That is the true answer to this question.
this worked for me too. Thanks
Thanks for your comments, I edited the question to make it more concise.
echo -en 'hello\nyou\nthere' | sed -z "s/\(.\)/'\1\x0/g" | xargs -0 printf '%02x'
68656c6c6f0a796f750a7468657265
echo '68656c6c6f0a796f750a7468657265' | sed 's/\(..\)/\\\\x\1/g' | xargs printf
hello
you
there
If you are on a .net project, you need to install System, System.strings, System.... and other required packages using NuGet package manager.
I had this problem even with a fresh installation of Visual Studio 2026, and solved by installing required packages using NuGet package manager.
It's frustrating, but the missing IAP (in app purchase) section on App Store Connect isn't an error (probably), it's a workflow requirement
Here is a short (in reading time) fix
Prep Your IAP: Ensure your IAP is in "Ready to Submit" status with all details complete, including a review screenshot
Clear the Version Page: On your app's version page, you may need to remove any previously attached build
Link the IAP: The "In-App Purchases and Subscriptions" section should now appear. Use the + button to link the IAP
Upload & Submit: Upload a new build of your app (via Xcode or another whatever you use) that includes the IAP functionality, attach it, and submit the entire version for review
If these steps fail, try messaging Apple Developer Support (they might be able to help)
As the selected answer is a bit outdated:
You can simply use forge compile --extra-output-files abi which will create an additional file in the out/ directory that only contains the abi:
└── out
└── YourContract.sol
├── YourContract.json
└── YourContract.abi.json
No. A single Google Cloud project can only be “upgraded to Firebase” once, meaning you cannot attach multiple Firebase projects to the same Cloud project.
Because each Firebase project maps to exactly one Google Cloud project Each Firebase project has its own:
Since each Firebase project equal to each Cloud project, none of these can be shared between Firebase projects.
The Correct Identity AddOn for Thunderbird could solve this:
https://addons.thunderbird.net/de/thunderbird/addon/correct-identity/?src=search
I did not test it yet. Taken from the description:
Correct Identity helps you to use the right identity when sending messages by:
letting you better configure default identities to be used when composing new messages from scratch.
detecting and using the identity for which you received the message you're replying.
you can improve this detection by specifying aliases (alternate addresses, sender names, domains, etc., regular expressions supported), or instead opt-out identities for detection.
changing identities on the fly when typing recipients that match aliases.
warn you before sending a message from an identity if its recipients match one or more search terms you configured for the identity (regular expressions supported).
this command runas /profile /savecred /user:MyDomain\MyUserName "MyProgram.exe"
works for my on windows 10
Thank you, I was thinking along the same lines. The only requirement in implementer would be to always have it inside `using` statement but we can manage that.
Is it possible to use data in your code? Yes. But is that really the general advice you’re looking for, as asked?
If you are instead trying to debug specific code and solve a specific problem then you have selected the wrong question type. If there’s no option to change the question type, can you delete it and re-post it as the correct type? When doing so, please be sure to include information about the problem and what debugging you have done.
// TEST follow
window.postMessage(JSON.stringify({type:'alert', alertType:'follow', title:'Nouveau follower', sub:'Welcome !'}), '*');
I just ran into the same problem and realized that there is a broken and a fixed version on the VS Code Extension Marketplace. The fixed one is an official Microsoft extension...
Can you confirm which version of LocalStack are you running and share a log snippet?
Dotnet8 is supported and your template looks correct, but it could be that you have an old LocalStack version cached.
With LocalStack running, can you also check the output on this URL and see if dotnet8 is listed?
http://localhost.localstack.cloud:4566/_aws/lambda/runtimes
I’d just create two small wrapper components around the Primeng button, each with its own style.
Much cleaner than repeating classes everywhere and easier to maintain later !
i am facing issue with Arabic text with itex7.
tksheet is a good option. you can install it by pip install tksheet
this is how you gonna use it
import tkinter as tk
from tksheet import Sheet
root = tk.Tk()
data = [
["A1", "B1", "C1"],
["A2", "B2", "C2"],
]
sheet = Sheet(root, data=data)
sheet.pack(expand=True, fill="both")
root.mainloop()
Could you post this as a question?
I ran into the same thing: Jackson is complaining because you're basically sending the whole file as one giant JSON string, and it has a built-in size cap. It’s not really meant for that!
If you switch to a normal multipart upload MultipartFile , Spring just streams the file and you never hit this limit.
Once I stopped sending the file in JSON, the problem disappeared.
You can increase Jackson’s limit, but honestly it’s not worth it unless you really have no other option...
The easiest way is to add a if clause and check customerCode for not null.
if its null, perform the query without the join, if its not null perform the query with the join.
Yes I use the latest Amplify version...
I've looked at ErrorProne ArgumentSelectionDefectChecker, but it does not give me any warning for this.
void startSomethingElse(long accountId, long balance) {
System.out.println("Account " + accountId + " balance " + balance);
}
void startOfSomething() {
long accountId = 1;
long balance = 100;
startSomethingElse(balance, accountId);
}
However, it works for this. I guess it needs custom annotations for its heuristic. These are my CheckerFramework annotations :)
void startSomethingElse(@AccountIdParam long accountId, @BalanceParam long balance) {
System.out.println("Account " + accountId + " balance " + balance);
}
void startOfSomething() {
long accountId = 1;
long balance = 100;
startSomethingElse(balance, accountId);
}
What am I doing wrong? Thanks!
Thank you @mernst!
I got this to work:
void startSomethingElse(@AccountIdParam long accountId, @BalanceParam long balance) {
System.out.println("Account " + accountId + " balance " + balance);
}
void startOfSomething() {
/*
* either use:
* @AccountIdParam long accountId = (@AccountIdParam long) 1;
* or
* @SuppressWarnings("assignment")
*/
@SuppressWarnings("assignment")
long accountId = 1;
@SuppressWarnings("assignment")
long balance = 100;
startSomethingElse(balance, accountId);
}
And now I have these qualifiers:
@SubtypeOf({ParamUnknown.class})
@Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
public @interface AccountIdParam {}
@SubtypeOf({ParamUnknown.class})
@Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
public @interface BalanceParam {}
@Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
@SubtypeOf({AccountIdParam.class, BalanceParam.class})
public @interface ParamBottom {}
@DefaultQualifierInHierarchy
@Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
@SubtypeOf({})
public @interface ParamUnknown {}
If my number of qualifiers grows, this line on ParamBottom where I list them will become cumbersome. Any advice on that?
It's a pageHighest score (default) Trending (recent votes count more) Date modified (newest first) Date created (oldest first)
0
I dont really think you will have much trouble doing this.. just include the relative address of this php configuration file in all the pages and it should ideally work provided both the files are in the same folder and there is NO ".htaccess" file
That’s a good question. According to my knowledge, recursion in PHP works by functions calling themselves, creating a new scope each time, but unless you return the result of the deeper calls, the outer ones won’t get updated values.
Here’s a related Stack Overflow thread about limiting recursion depth in PHP: https://stackoverflow.com/questions/74205907/how-letting-services-to-limit-recursive-function-in-php