What is the best infrastructure of an application?
Hello everyone,
I am a new Java learner, I don't think I'm qualified as a Java programmer so far. I try to develop a desktop application with Java, but really don't know which way to go. Could you help me please?
I have thought of two initial classes, Application and User. Should I create an instance of the Application class before adding User instance to it? Or, create an User instance and perform access control before starting the application? Any suggestion else?
Thanks very much.
Actually I know the requirement and workflow. I just want to know if there is a better way to start an application. Perhaps, let me ask in another way.
I've been using MicrosXXt visual series products in software development. That's easier, just create global variables to store the eg, user id, show a login screen, and show the main menu screen for a valid user etc. However, using Java seems to be another story. Should I write:
public class Application {
private User user = null;
public Application() {
if (setUser(""))
new Mainmenu().show();
public boolean setUser( String userId) {
if (userId.compareTo("")==0)
new LoginScreen().show();
// do some access control here.
public static void main(String[] arg) {
Application app = new Application();
}or
public class Application {
private User currentUser = null;
public Application(User user) {
currentUser = user;
new MainMenu().show();
public static void main( String[] arg) {
Application app = null;
User user = new User();
new LoginScreen( user).show();
// let the LoginScreen do the access control work and change the value of user.
if (!(user==null))
app = new Application( user);
}I think there may be a lot of better ways to start an application. Any suggestion? Thanks.
Similar Messages
-
What is the best way of accessing application module without page binding?
Hi All
I am using Jdeveloper 11g R2 (11.1.2.3) & Weblogic 10.3.5.0
What is the best way of accessing application module without page binding?
In my application after user authenticated from LDAP
I need to read some information from database and set my menues.
Thanks
MohsenHi,
if you don't have a binding the I am not sure the binding context is created. Anyway, try
BindingContext.getCurrent().findDataControl("name here as ID in DataBindings.cpx") and see if it returns a valid instance
Frank -
What is the best way to delete applications?
I am told that my Mac came with everything I need in the way of programs for basic functions. What is the best way to delete applications making sure there are no threads left in Library and other places?
Yes, but not always. An example of what I call "System" files/folders would be Quicktime or things like pre-installed print and scanner drivers. You have to be pretty confident to go rummaging through files in either /System or /Library. Most of the time there is no reason to be in there.
An example of a file that is in those system folders, that does not come pre-installed as of Lion, is Flash plug-ins. That gets installed in the /Library/Internet Plug-Ins
But your average App downloaded from the MAS, most of it's files will be in the User Folder ~/username -
What is the best practice with Jclient application
Hi all:
If we have some oracle Jclient(bc4j+swing) solution application system , how to co-work with Oracle workflow ?
what is the best solution to integrate these technology ?There are a few PDF documents about the Workflow Java API. Try to locate "Oracle Workflow and Java Technical White Paper" for 2.6.2 version.
However, please note that Workflow PL/SQL API is far richer and more flexible that its JAVA equivalent.
Also, take into account the different ways workflow engine executes an activity, if the underyling code is written in Java or PL/SQL. If you select the Java API to implement workflow activities, then 2 scripts must be running at all times so that workflows proceed. These are the Java Function Activity Agent and the Workflow Background Engine. Details are included in the above document.
Our experience has shown that:
1) Implementation of workflow activities via Java API is slower and more complex than PL/SQL API, because java classes are considered as external prcoedures.
2) Not all PL/SQL procedures are included in Java API.
3) For workflows with high throughput, the Java Function Activity Agent becomes a bottleneck.
Please note that Oracle has announced several months ago the OW4J (Oracle Workflow for Java). Check a beta version at OTN, together with some features and specs. However, a final version is still pending. -
What is the best way to deploy application that uses web services?
Hi all,
I'm having some problems figuring out the best way to deploy our app now that we've switched over to using web services.
I'm fairly new to Java and web services. From what I understand, JNLP and WebStart are methods to deploy Java clients to users and not for creating war files and the like.
Here's a little background:
We have a large PowerBuilder/Oracle application. The db consists of over 500 tables and the client consists of several thousand PB components. A user creates "transactions" which contain a series of "sub-transactions" within. Most of the data is collected and stored locally in the client in a series of datastores. When the "finalize" happens, the records are validated and sent to the database.
We are in the process of moving each of the subtransactions (currently in the PB client) into subPROCESSES on a java project. We are using the JAX-WS framework to develop the web services in Netbeans. These web services aren't much more than remote xml as the messaging technology. For writing data back to the database, we are using the Java Persistence API to function outside of an EJB container but will shortly be migrating to the Glassfish application server to use several of the EJB container frameworks including the EntityManager.
We haven't attempted any type of deployment and are unsure of where to start. Any suggestions would be so helpful and appreciated!
Thanks!
Edited by: doubleEspresso on Jan 10, 2008 8:06 AM>
I'm fairly new to Java and web services. From what I understand, JNLP and WebStart are methods to deploy Java clients to users and not for creating war files and the like. >Correct, while Java Web Start has 'web' in the name, it has little if anything to do with web applications - certainly not providing much toward their installation. It is for launching rich client GUI based (AWT, Swing, SWT..) applications onto the end-user's desktop.
There are some parts of JWS that might seem peripherally useful to the installation of a web-app., but it is really not a 'good fit'.
>
..Any suggestions would be so helpful and appreciated!>You might try the forums for the 'web tier' APIs.
<http://forum.java.sun.com/category.jspa?categoryID=20>
Or perhaps the forum 'Java Technologies for Web Services' (under 'enterprise technologies')
<http://forum.java.sun.com/forum.jspa?forumID=331>
This one in 'BigAdmin' seems particularly relevant, 'Set up and Deploy'
<http://forum.java.sun.com/forum.jspa?forumID=550> -
What is the best way to remove applications?
I would like to remove unused applications (iChat, Dashboard, iCalendar and so on...)
I am running audio software and using CPU quite heavily.
What wold be the best way to remove these types of applications completely and have as minimal running in the background possible??? (I have already turned off Bluetooth, Airport etc...)
Should I install removal software or just send them all to the Trash bin?None of those applications are running unless you launch them. Dashboard widgets only use CPU time and RAM if they are running. If you quit all widgets in the Dashboard then there's no memory footprint or use of the CPU.
If you don't want anything but essentials running then don't launch any applications and remove any Login Items from Accounts preferences.
Just because an application is installed on the computer does not mean it is running unless you launch it or configure it to launch automatically. So there is no need to remove any of these applications or utilities.
You will find some good books on Macs and computers in general at your local bookstore. Your question suggests that you could benefit by reading a few.
As for how to uninstall applications that you have installed see the following:
Uninstalling Software: The Basics
Most OS X applications are completely self-contained "packages" that can be uninstalled by simply dragging the application to the Trash. Applications may create preference files that are stored in the /Home/Library/Preferences/ folder. Although they do nothing once you delete the associated application, they do take up some disk space. If you want you can look for them in the above location and delete them, too.
Some applications may install an uninstaller program that can be used to remove the application. In some cases the uninstaller may be part of the application's installer, and is invoked by clicking on a Customize button that will appear during the install process.
Some applications may install components in the /Home/Library/Applications Support/ folder. You can also check there to see if the application has created a folder. You can also delete the folder that's in the Applications Support folder. Again, they don't do anything but take up disk space once the application is trashed.
Some applications may install a startupitem or a Log In item. Startupitems are usually installed in the /Library/StartupItems/ folder and less often in the /Home/Library/StartupItems/ folder. Log In Items are set in the Accounts preferences. Open System Preferences, click on the Accounts icon, then click on the LogIn Items tab. Locate the item in the list for the application you want to remove and click on the "-" button to delete it from the list.
If an application installs any other files the best way to track them down is to do a Finder search using the application name or the developer name as the search term. Unfortunately Spotlight will not look in certain folders by default. You can modify Spotlight's behavior or use a third-party search utility, Easy Find, instead. Download Easy Find at VersionTracker or MacUpdate.
Some applications install a receipt in the /Library/Receipts/ folder. Usually with the same name as the program or the developer. The item generally has a ".pkg" extension. Be sure you also delete this item as some programs use it to determine if it's already installed.
There are also several shareware utilities that can uninstall applications:
AppZapper
CleanApp
Yank
SuperPop
Uninstaller
Spring Cleaning
Look for them at VersionTracker or MacUpdate.
For more information visit The XLab FAQs and read the FAQ on removing software. -
What is the best way to update applications on deployment computers?
Hi everyone,
I have a development computer that is running LabVIEW 2012 where I create projects. I then build applications and installers which I load on deployment computer that do not have LabVIEW installed.
When I make changes to my VIs on my development computer, the rebuild the applications and installers and re-install them on the deployment computers. All the computers are on the same Network. Is there a cleaner and easier way to do this?
P.S. Is it necessary to have all the VIs and sub-VIs saved on the deployment computer? As of now I save the folders containing all the files on these computers hard drive as well.Put your installer in a central location and install each deployment from the server location. Or you could look into Deploy by Wire Bird Labs.
The deployment computers do not need the VIs. They just need the EXE you built, the Run-Time Engine, and any support files you may need.
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines -
What is the best way to find application issues as an email alert
Hi,
We have hotel booking system which is developed as a web application. Suppose any hotel booking failed means we have to check manually in the database.
So now we are planing to build a automatic system, if any booking failed it will gives mail alert.
We are planning to build a console application and we deploy this console application as windows service in the production server.
Is there any better options for this scenario, Please let me know.
Thanks in advance.
Thanking You, Nagendra.We are planning to build a console application and we deploy this console application as windows service in the production server.
A console application is not a Window service. Yes, you can use a Windows Service for this, but it's an entirely different type of a program that is constantly running, which would probably be better for you.
But there is nothing wrong with a Console exe or Windows form exe. With both, you can set the project's setup type to point to the Program.cs. In the Windows forms project, you would rip out everything about the form.
There are articles on both exe solutions on how to do the above and change the startup, and either way it would be a solution you can use as scheduled running program using the Windows O/S Job Scheduler.
You have to do something in the Web application to queue the messages by either dumping them as text files to a file share, using MSMQ, or MS SQL Server Service Broker Message Queue. You would have your email program go to the staging area, get the text
messages and email them. You may also want to think about archiving the messages.
You have to email some kind of way. If you have a MS Exchange Server and Outlook, the you can use the Outlook objects in C# to email the messages.
But probably the simplest thing to do is use the MS SQL Server.
http://www.sqlservercurry.com/2008/02/how-to-send-email-using-sql-server-2005.html
The email traffic you are talking about is miniscule or at beat nothing traffic to SQL Server, just call the sproc from your C# code. :)
As for your little email program, you may want to use Eventlog to log message about the email program activates, or you can use Log4Net, which has a tutorials for Log4Net.
Heck you can make Log4Net send emails, which is something else you may want to consider in your Web application. :) -
What is the best disc clean up application?
I've had my 13' mac book pro for a year and it's about time I clean the hard drive. I've heard some negative stories about "Mackeeper"
John Galt wrote:
Simmm wrote:
I'm not a fan of MacKeeper but there is nothing wrong wiht it as far as i know.
https://discussions.apple.com/message/16056085#16056085
https://discussions.apple.com/message/17805638#17805638
https://discussions.apple.com/message/17164353#17164353
https://discussions.apple.com/message/17644308#17644308
https://discussions.apple.com/message/17750782#17750782
https://discussions.apple.com/message/15910140#15910140
http://www.reedcorner.net/news.php/?p=245
shall I go on
I Stand Corrected -
I am a new mac user and I switch to mac due to the graphics that it brings. I do website in pc and I heard iweb is the best.NOW i heard that iweb will be discontinue. so what is the best application there for website using MAC OSX lion?
It is now confirmed that iWeb, and iDVD, has been discontinued by Apple. This is evidenced by the fact that new Macs are shipping with iLife 11 installed but without iWeb and iDVD.
On June 30, 2012 MobileMe will be shutdown. However, iWeb will still continue to work but without the following:
Features No Longer Available Once MobileMe is Discontinued:
◼ Password protection
◼ Blog and photo comments
◼ Blog search
◼ Hit counter
◼ MobileMe Gallery
All of these features can be replaced with 3rd party options.
I found that if I published my site to a folder on my hard drive and then uploaded with a 3rd party FTP client subscriptions to slideshows and the RSS feed were broken. If I published directly from iWeb to the FPT server those two features continued to work correctly.
There's another problem and that's with iWeb's popup slideshows. Once the MMe servers are no longer online the popup slideshow buttons will not display their images.
Click to view full size
However, Roddy McKay and I have figured out a way to modify existing sites with those slideshows and iWeb itself so that those images will display as expected once MobileMe servers are gone. How to is described in this tutorial: #26 - How to Modify iWeb So Popup Slideshows Will Work After MobileMe is Discontinued.
It now appears that the iLife suite of applications offered on disc is now a discontinued product and the remaining supported iApps will only be available thru the App Store from now on. However, the iLife 11 boxed version that is still available at the online Apple Store (Store button at the top of the page) and those still on the shelves of retailers will include iWeb and iDVD. Those two apps were listed in small, gray text on the iLife 11 box that I bought.
Personally, if I didn't already have a copy I would purchase one to have it for reinstallation purposes if ever needed.
This might be of some interest to you at this time: Life After MobileMe.
OT -
What is the best way to deploy an application ??
Hi,
Please advise me how to automate in a best way to Deploy 10 different applications(.ear/.war)
to 10 different Clusters(containing 40 Managed servers) in wls6.1......and that
too in a Production environment.
I know that we can use weblogic Console to deploy an application BUT if i have
2 unix boxes and each box contains 4-4 clusters(each containing 16-20 managed
servers) .....then i have to open up 2 Admin server consoles to deploy each of
the respective applications and that too deploying these application to 8 clusters.....OR
i can use deploy commad to do the same.
AND if i have like 100 clusters .....then i would have to "deploy" 100 times ......
is there any way that we can BEST AUTOMATE this process.
Thanks a lot.
-sangitaThanks Tommy. but i would like to know a very important point here: this is using
the weblogic.utility that you just talkd about.
Suppose iam having an ADMIN server that has say 10 clusters and 50 managed servers
underneath to take care.
1 cluster each = 5 managed server
now iam deploying a simple .war file to say a single managed server, i have found
out that it takes a looot of time to get the application deployed.
what do you say about this situation ?
what is the best approach ??????
-sangita
"Tomy Mathew" <[email protected]> wrote:
>
>
To deploy the application from the command prompt in WebLogic 6.1 you
use the
following command
$JAVA_HOME/bin/java -cp $WL_HOME/weblogic.jar weblogic.deploy -port $WEBLOGIC_PORT
-host $WL_HOST_IP $WEBLOGIC_CMD $WEBLOGIC_PWD -component $WL_Server_NAME:$WL_Server_NAME
$WL_APPLICATION_NAME YourApplication.war
$WEBLOGIC_CMD sould be DEPLOY for the first time deployment and UPDATE
for redeployment
For deploying in a cluster you better create a shell script which call
the above
command with different cluster ip address as a parameter.
Tomy
"sangita" <[email protected]> wrote:
Thanks Rob for your expertise advise. I would check to see wls8.1's
ANT tasks.....for
wls6.1, i would guess shell scripts to be a better option for us.
thanks again.
Rob Woollen <[email protected]> wrote:
If you're using 8.1, then it's pretty nice to use ant for
configuration/deployment/starting and stopping servers etc. There's
a
wlconfig task to do configuration, wldeploy to deploy applications,
wlserver to start/stop servers.
For 6.1, it's probably not a huge win to use ant. It's up to you.
If
you're more comfortable using shell scripts, that's certainly a
reasonable route.
-- Rob
sangita wrote:
Thanks Rob.
But all the stuff that ANT can do for me FOR DEPLOYMENT (ONLY) .....ican do it
from a simple shell script too.
And i understand of ANT's cross-platform environment and usage of
JAVA
.....but
can i use ANT to do something like CONFIGURING my wls6.1 managed
servers/clusters/creating
managed servers/db connection pools ......and all the other configurationthat
i do from wls console(or manually) ....????
and if yes, do you know of any examples, suggestions, ideas ?????
basically, if i need to sell(?) ANT to my juniors ......what are
the
basic reasoning
i can put forward....keeping in mind that these guys use wls6.1 &
wls8.1......and
these guys do CONFIGURATION and DEPLOYMENT only.
sorry for asking, may be these silly questions.
thanks, sangita
Rob Woollen <[email protected]> wrote:
sangita wrote:
Thanks Rob.
Rob, do you still consider or suggest using ANT for deploying say
20
applications
on a 10 clustered environment.Yes
do you see any advantages using [ANT + weblogic.deploy]..... over
simply
using
weblogic.deploy utility ???Yes. ANT essentially gives you a cross-platform environment that
allows
extensibility through java. It's very powerful.
-- Rob
-sangita
Rob Woollen <[email protected]> wrote:
sangita wrote:
Rob,
I have found the answer for my question #1 ...this is the URL:
http://edocs.bea.com/wls/docs81/admin_ref/ant_tasks.html
iam still hoping to hear back from you for #2, #3
thanks a ton.
"sangita" <[email protected]> wrote:
Thanks Rob.
quick question:
1) do you know of any example which illustrates the use of ANT
wrapper....or
please
direct me to a URL where i can find some documentation about
it.
2) does this ANT wrapper has any advantages over using weblogic.Deployer
utility
??If you're doing deployment via ant, then it's a bit more convenientto
use <wldeploy> rather than invoking a raw <java> process, but
fundamentally it's just a wrapper around weblogic.Deployer
3) i would certainly check to see weblogic.deploy for wls6.1
....can
i use ANT
for deployment purpose in wls6.1 ?You'll just need to wrap it in a <java> task
See:
http://ant.apache.org/manual/CoreTasks/java.html
-- Rob
Rob Woollen <[email protected]> wrote:
If you were using WLS 7.0 or later, you could use weblogic.Deployer.
If
you were using 8.1, you could use wldeploy which is an ant task
wrapper
for weblogic.Deployer.
In WLS 6.1, you'll have to use weblogic.deploy which is a bit
cumbersome, but it's still certainly possible to script deployment.
-- Rob
sangita wrote:
Hi,
Please advise me how to automate in a best way to Deploy
10
different
applications(.ear/.war)
to 10 different Clusters(containing 40 Managed servers) in
wls6.1......and
that
too in a Production environment.
I know that we can use weblogic Console to deploy an application
BUT
if i have
2 unix boxes and each box contains 4-4 clusters(each containing
16-20
managed
servers) .....then i have to open up 2 Admin server consoles
to
deploy
each of
the respective applications and that too deploying these applicationto 8 clusters.....OR
i can use deploy commad to do the same.
AND if i have like 100 clusters .....then i would have to "deploy"100 times ......
is there any way that we can BEST AUTOMATE this process.
Thanks a lot.
-sangita -
Hi,
VS2013, SQL Server 2012 Express LocalDB, EF 6.0, VB, desktop application with an end user database
What is a reliable method to follow when there is a schema change for an end user database used by a deployed application? In other words, each end user has their own private data, but the database needs to be expanded for additional features, etc.
I list here the steps it seems I must consider. If I've missed any, please also inform:
(1) From the first time the application is installed, it should have already moved all downloaded database files to a separate known location, most likely some sub-folder in <user>\App Data.
(2) When there's a schema change, the new database file(s) must also be moved into the location in item (1) above.
(3) The application must check to see if the new database file(s) have been loaded, and if not, transfer the data from the old database file(s) to the new database file(s).
(4) Then the application can operate using the new schema.
This may seem basic, but for those of us who haven't done it, it seems pretty complicated. Item (3) seems to be the operative issue for database schema changes. Existing user data needs to be preserved, but using the new schema. I'd like
to understand the various ways it can be done, if there are specific tools created to handle this process, and which method is considered best practice.
(1) Should we handle the transfer in a 'one-time use' application method, i.e. do it in application code.
(2) Should we handle the transfer using some type of 'one-time use' SQL query. If this is the best way, can you provide some guidance if there are different alternatives for how to perform this in SQL, and where to learn/see examples?
(3) Some other method?
Thanks.
Best Regards,
AlanHi Uri,
Thank you kindly for your response. Also thanks to Kalman Toth for showing the right forum for such questions.
To clarify the scenario, I did not mean to imply the end user 'owns' the schema. I was trying to communicate that in my scenario, an end user will have loaded their own private data into the database file originally delivered with the application.
If the schema needs to be updated for new application features, the end user's data will of course need to be preserved during the application upgrade if that upgrade includes a database schema change.
Although I listed step 3 as transferring the data, I should have made more clear I was trying to express my limited understanding of how this process "might work", since at the present time I am not an expert with this. I suspected my thinking
is limited and someone would correct me.
This is basically the reason for my post; I am hoping an expert can point me to what I need to learn about to handle database schema changes when application upgrades are deployed. For example, if an SQL script needs to be created and deployed
then I need to learn how to do that. What's the best practice, or most reliable/efficient way to make sure the end user's database is changed to the new schema after the upgraded application is deployed? Correct me if I'm wrong on this,
but updating the end user database will have to be handled totally within the deployment tool or the upgraded application when it first starts up.
If it makes a difference, I'll be deploying application upgrades initially using Click Once from Visual Studio, and eventually I may also use Windows Installer or Wix.
Again, thanks for your help.
Best Regards,
Alan -
What's the best way to erase content but not the applications?
I'm giving away my iMac to my niece. I want to erase all my content files, libraries ,etc., but not the applications. What's the best way to do this, and to do it securely?
If you have Downloaded and Upgraded to Lion See...
Here is an excerpt of the SLA; the Lion license (purchased from MAS) is NOT transferable. The SLA is quite clear:
B. If you obtained your license to the Apple Software from the Mac App Store or on Apple-branded physical media, it is not transferable. If you sell your Apple-branded hardware to athird party, you must remove the Apple Software from the Apple-branded hardware beforedoing so, and you may restore your system to the version of the Apple operating systemsoftware that originally came with your Apple hardware (the “Original Apple OS”) andpermanently transfer the Original Apple OS together with your Apple hardware, provided that:(i) the transfer must include all of the Original Apple OS, including all its component parts,printed materials and its license; (ii) you do not retain any copies of the Original Apple OS, fullor partial, including copies stored on a computer or other storage device; and (iii) the partyreceiving the Original Apple OS reads and agrees to accept the terms and conditions of theOriginal Apple OS license.
Now Proceed...
Boot from the original OS installer disk and do an Erase & Install.
When the Mac reboots into Mac Setup Assistant Quit and shut it down.
When the New Owner Boots it up it's a brand new Mac... just like when you got it.
( The Original Install Disc(s) should also be included with the sale )
http://www.ehow.com/how_5852122_restore-imac-factory-settings.html -
What is the best way of integrating rules to a J2EE (EJB 3) application ?
We are working in a J2EE(EJB3) project which we plan to validate business logic using rule engine(JBoss rule). What is the best way of integrating the rule engine to the application ?
Does rule engine good for validating a large no of data volume ? (asserted as an objects)I don't see a big switch construct. How about trying the following:
Call this method from your original method by passing the resultset obtained.
public String[] convert(ResultSet rs) {
int col = ((ResultSetMetaData) rs.getMetaData()).getColumnCount();
String[] record = new String[col];
int i=0;
while(rs.next()) {
if(rs.wasNull()) record[i] = new String();
else record[i] = rs.getString(i);
i++;
return record;
iDriZ -
What's the best duplicates finder application for Mac OS X?
What's the best duplicates finder application for Mac OS X?
Thank you both! I ended up going for DupeGuru because it was free and it worked well. Easy Duplicate Finder baited me with the promise of free download then when the search was over I got the "buy the software" if I wanted to delete more than 10 files.
DupeGuru worked well and so far I have not been asked for money.
This solves my question.
Maybe you are looking for
-
How can I get applications to detect a network scanner?
Running 27" iMac with OS-X 10.7.2, all Software Updates are installed. Epson Workforce 630 attached via ethernet network. Driver is current at 8.61. System Preferences>Print and Fax lists the printer and has a tab for the scanner. Scanning via this i
-
I have an iPod mini, 6 GB and want to use it with a Sony CD Boombox but the adapter is different. Can it still work? Don't want to try and break iPod.
-
FrameMaker produces named destinations with random names
Hi all, when I save a FM-document as PDF, the named destinations do not resemble the element IDs. Rather, the names of the destinations seem to be random numericals. This makes it impossible to link to the PDF from external HTML-documents without man
-
Web Design; Flash blocked in I.E.
I'm new to webdesign and I'm trying to use flash animation on my site. The problem is everytime I load the site the flash is blocked by internet explorer saying it's blocking activex. This doesn't happen when I load other sites with flash animation,
-
Java related processes are not comingup
Hi, We have copied our current kernel into a new library and had switched to new kernel library. There after, the processes, DISPATCHER, SERVER0, SDM AND JCONTROL are not coming up. Remaining all processes are normal. Afterwards, we had revert back t