Avoid hard coding

This following section:
boolean shownewUserLoc( JRTkNetworkInterface ajrtkNI ) throws LogicError {
         System.out.println( "####################################################" );
         System.out.println( "# Performing Action: Locations Screen (other User) #" );
         System.out.println( "####################################################" );
         System.out.println( "\t\t###################" );
         System.out.println( "\t\t# LOCATION SCREEN #" );
         System.out.println( "\t\t###################\n");
         System.out.println( "Available commands:");
         System.out.println( "\t\tSEARCH <User Name>");
         System.out.println( "\t\tNEXT or PREVIOUS");
         System.out.println( "\t\tCLOSE or CLEAR or NEW NAME or AGAIN");
         System.out.println( "\t\tSELECT\n\n\n");
         return true;occurs several times in my code, for every other boolean type, all this System.out.println stuff is repeated again. I'd say there is a way to in the above instead of all this System.out stuff refer to some txt file where all that is present, thus just let the contents of this txt be printed out?
If so, how does this referring work?

You could do it like this:
class YourClass {
    boolean shownewUserLoc( JRTkNetworkInterface ajrtkNI ) throws LogicError {
        System.out.println(Finals.ERROR);
        return true;
class Finals {
    public final static String ERROR =
            "####################################################\n"+
            "# Performing Action: Locations Screen (other User) #\n"+
             "####################################################\n"+
    // other variables
}, or use a properties file:
http://java.sun.com/docs/books/tutorial/essential/environment/properties.html

Similar Messages

  • Tips on avoiding hard coded paths and make a java app platform independent

    HI all,
    I would like to gather some tips on how to avoid hard coded file paths, which are plenty in the application I work on and which I inherited from previous programmers.
    Also, when deploying to the production server, my app goes from a Windows platform to a Linux machine.
    I am curious to know what tricks and tools other programmers find useful in similar contexts.
    I am sure many of us would benefit from the discussion.
    Thank you !

    Actually, Java does this for you; you can use unix-style paths and they will still work, even on Windoze. To wit:
    public static void main(String[] args) {
            File f = new File("/");
            System.out.println(f.getAbsolutePath());
    }Yields: C:\
    public static void main(String[] args) {
            File f = new File("/Program Files");
            System.out.println(f.getAbsolutePath());
    }Yields: C:\Program Files

  • How to avoid hard coding in Programming

    Hi,
    For preparing a Sales report we need to fetch Excise, Tax and
    Education cess.
    While doing the programming condition types of excise, tax and education cess were given to technical consultants.
    It is like hard coding the programming. In future if a new condition type is created then it wont be calculated.
    What are the ways to avoid hard coding?
    regards,
    sathya

    You can create a Z-Table that you are using for referencing your data e.g. condition type. This way this is customizable.
    In a project I worked before we even had a more sophisticated way for avoiding hardcoding. We had one generic table including Program name, "Function to be exextued" (e.g. determination of condition) and the key value. And we had a function module reading these parameters from the gerneric table. Everytime you would need a specific value from this table you called this table via the function module.This way you had a customizable table and no more hardcoding was needed, the function module provided you with the values.

  • In TOTALYTD function is it possible to avoid hard-coding year_end_date?

    Suppose you have a fiscal year of 9/30. The TOTALYTD function looks like:
      YTD Actual $:=TOTALYTD( [Actual $], 'Date'[Date], ALL('Date'), "9/30")
    But I want to avoid hard coding "9/30", and assuming I have a settings table from where I can get a date with the yearend, I tried this: 
      YTD Actual $:=TOTALYTD ([Actual $], 'Date'[Date], ALL('Date'), DISTINCT( 'Settings'[YearEndDate]))
    I get no errors but it calculates like "12/31". I tried to use Format but with no luck.
    Is there a way to make this work?

    I didn't try it, but I guess a max should work (assuming that there is only one date in the settings table).
    YTD Actual $:=TOTALYTD ([Actual $], 'Date'[Date], ALL('Date'), MAX( 'Settings'[YearEndDate])
    Can you try it out?
    Cheers,
    Jason | www.SqlJason.com
    P.S. : Please click the 'Mark as Answer' button if a post solves your problem! :)

  • Parse schema name - Avoiding hard-coded schema names

    Hi all,
    I have been trying to find a similar thread but had no luck. I want to avoid hard-coding schema names in my reports. I have tried to use a Substitution string but I don't seem to be able to reference it by just doing :default_schema. I already reference the parsing schema like this: #OWNER# which is saving me a lot of time. Is there any way to create additional variables like that one instead of those substitution strings that can't be parsed in a query?
    Thanks a lot for your help.
    Regards,
    werot.

    Werot wrote:
    I have been trying to find a similar thread but had no luck. I want to avoid hard-coding schema names in my reports. I have tried to use a Substitution string but I don't seem to be able to reference it by just doing :default_schema. I already reference the parsing schema like this: #OWNER# which is saving me a lot of time. Is there any way to create additional variables like that one instead of those substitution strings that can't be parsed in a query?
    Will you actually get any benefit from using substitution strings? They are also hard-coded at design time. You could use application items if you need something dynamic.
    Bind variable syntax (:default_schema) will not work for lexical substitution of substitution string and application item values in report queries. You have to use static text (&DEFAULT_SCHEMA.) references (and be aware of the potential for SQL injection that this exposes).
    I wouldn't recommend using schema qualifiers directly in APEX applications. I would use grants, synonyms and views at the database level.

  • How to avoid hard coding

    hello experts,
    in one of the requirements i asked to design the selection screen with some of the fields, those fields are having some constant values while filtering the data.
    to avoid that hard coding they asked me to design the selection screen with those fields can anyone suggest me how to do that...?
    thanks a lot for your anticipation...
    SRI

    hi
    good
    you can create a f4 search helo,store those hard coded values in a internal table and fetch those interal table value into that f4 help.
    thanks
    mrutyun^

  • How can I avoid hard-coding this where clause in the inner select?

    This is extremely fast, but I have to hard-code the inner-most where clause, and I obviously can't do that. I know how to work-around it by creating a function that takes the CUSTOMER_ID and returns the ORDER_ID from the most recent payment, and that's reasonably fast, but I thought it would be worthwhile to see if there was a way to do this in straight SQL. I also know that better design could make the problem go away.
    Very much appreciate it if you could take a look and let me know if there's any way to get this kind of performance without hard-coding.
    Thanks,
    create or replace view customer_view as
    select customer.customer_id,
              customer.customer_name,
                   select t.order_id
                        from (
                                  select payment.order_id
                                       from payment
                                       where payment.customer_id = 1 -- <-- Here's the line where I'm hard-coding the customer_id. Is there any way to reference the customer_id without hard-coding this?
                                       order by payment.payment_date desc
                             ) t
                        where rownum = 1
              ) as latest_order_id
         from customer
    select * from customer_view where customer_id = 1; <-- I want that inner-most select to use this customer_id, without having to hard-code it.

    Hi Matt,
    Something like this could be a possibility (Not tested)
    create or replace view customer_view as
      select customer.customer_id,
             customer.customer_name,
             (select min (t.order_id)
                       keep (dense_rank first order by payment.payment_date desc)
              from   payment
              where  payment.customer_id = customer.customer_id)
               as latest_order_id
      from   customer;Regards
    Peter

  • Is is possible to avoid hard-coding the Item in a shared Select List Query?

    I created a "Select List" in the Shared Components area as follows:
    My goal is to create a shared select list that can be used on any form for a particular Field.
    IF :P10_FK_RSTA_CODE is NULL THEN
    RETURN
              'select col_description, col_code_pk
              from CODE_TABLE
              where col_active_ind = ''Y''';
    ELSE
    RETURN
              'select col_description, col_code_pk
              from CODE_TABLE
              where col_code_pk = :P10_FK_RSTA_CODE';
    END IF
    Which works great, but how can I make the select list work for the same column on a different form?
    Because :P10_FK_RSTA_CODE is hard-coded in the function, I can't reuse this Function from a different form.
    (I could rename the Field on every form to the same name, but I'm hoping there is a better way.)
    Is there a way I can pass in a variable from the Field Item to make this dynamic where I can use it on any form?
    Also, I am very new at this, so if there is a better way to do this, I would greatly appreciate any input.
    Thanks in advance.
    MF

    >
    Welcome to the forum: please read the FAQ and forum sticky threads (if you haven't done so already), and update your profile with a real handle instead of "956902".
    When you have a problem you'll get a faster, more effective response by including as much relevant information as possible upfront. This should include:
    <li>Full APEX version
    <li>Full DB/version/edition/host OS
    <li>Web server architecture (EPG, OHS or APEX listener/host OS)
    <li>Browser(s) and version(s) used
    <li>Theme
    <li>Template(s)
    <li>Region/item type(s) (making particular distinction as to whether a "report" is a standard report, an interactive report, or in fact an "updateable report" (i.e. a tabular form)
    With APEX we're also fortunate to have a great resource in apex.oracle.com where we can reproduce and share problems. Reproducing things there is the best way to troubleshoot most issues, especially those relating to layout and visual formatting. If you expect a detailed answer then it's appropriate for you to take on a significant part of the effort by getting as far as possible with an example of the problem on apex.oracle.com before asking for assistance with specific issues, which we can then see at first hand.
    I created a "Select List" in the Shared Components area as follows:
    My goal is to create a shared select list that can be used on any form for a particular Field.
    IF :P10_FK_RSTA_CODE is NULL THEN
    RETURN
              'select col_description, col_code_pk
              from CODE_TABLE
              where col_active_ind = ''Y''';
    ELSE
    RETURN
              'select col_description, col_code_pk
              from CODE_TABLE
              where col_code_pk = :P10_FK_RSTA_CODE';
    END IF
    Which works great, but how can I make the select list work for the same column on a different form?
    Because :P10_FK_RSTA_CODE is hard-coded in the function, I can't reuse this Function from a different form.
    (I could rename the Field on every form to the same name, but I'm hoping there is a better way.)
    Is there a way I can pass in a variable from the Field Item to make this dynamic where I can use it on any form?Reference the value of an application item rather than a page item in the LOV query, setting the value using a process or computation on each form page.

  • BufferedImage type parameter -- way to avoid hard-coding?

    My situation:
    I'm creating a new BufferedImage, then populating it with the Graphics of
    a component. I'm using the Component's height and width as two of
    the paramters, but I also need to specify the type. Right now I've got
    TYPE_INT_RGB hard-coded, but I seem to recall this is a Bad Idea.
    My question:
    Is there a (more) correct way to identify/specify the type when creating my
    BufferedImage?
    final BufferedImage myImage =
        new BufferedImage(myComponent.getWidth(), myComponent.getHeight(),
            BufferedImage.TYPE_INT_RGB);
    final Graphics2D g2d = myImage.createGraphics();
    myComponent.paint(g2d);

    Hm. I totally missed that method. Unfortunately, I really need a BufferedImage. I'm invoking ImageIO.write() later on, and that requires a RenderedImage, of which BufferedImage is the only implementation.
    Thanks, though. I'll definitely keep that method in mind for later!

  • Avoiding hard coding of Font and Signature Path in RTF

    Hi All,
    I have to create a check printing program and this requires MICR font and signatures. right now i have provided the URL for signature in RTF and path where my font is kept.
    The issue is everytime i am migrating my code from one instance to other i have to change both. Is there any way so that i can avoid the hardcoding of both.
    Thanks
    Aryan

    Hi Helios,
    Thanks for the help buddy. I have gone through document earlier and here also the path hardcoding has been told. I want to avoid that.
    Regarding the Image i am using a standard Report for getting the check details and i don;t want to modify that part for getting the url value from there. I hope there is some other way to resolve this the way oracle uses for it standard reports.
    Thanks
    Aryan

  • How can I avoid hard coding this width?

    I have something like this:
    <s:SkinnableDataContainer
                                  width="200"
                                  itemRenderer="MyItemRenderer"
                                  dataProvider="{ dp }">
    If I have 4 items each 50px wide, I would set the width to 200px.
    However, I want to avoid hardcoding the width.
    How can I extract the width from the item renderer?

    You might want to try not setting a width and setting requestedColumnCount on the layout instead.
    <s:List>
        <s:layout>
            <s:HorizontalLayout requestedColumnCount="2" />
        </s:layout>
        <s:dataProvider>
            <s:ArrayList>
                <fx:String>0000</fx:String>
                <fx:String>1000</fx:String>
                <fx:String>2000</fx:String>
                <fx:String>3000</fx:String>
            </s:ArrayList>
        </s:dataProvider>
    </s:List>

  • How to get the table name in the trigger definition without hard coding.

    CREATE  TRIGGER db.mytablename
    AFTER UPDATE,INSERT
    AS
        INSERT INTO table1(col1)
        SELECT InsRec.col1   
        FROM
        INSERTED Ins
       --Below i am calling one sp for which i have to pass the table name
       EXEC myspname 'tablename'
      In the above trigger,presently i am hard coding the tablename
      but is it possible to get the table name dynamically on which the trigger is defined in order to avoid hard coding the table name

    I really liked your audit table concept.  You inspired me to modify it so that, the entire recordset gets captured and added a couple of other fields.  Wanted to share my end result.
    USE [YourDB]
    GO
    /****** Object: Trigger [dbo].[iudt_AutoAuditChanges] Script Date: 10/18/2013 12:49:55 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER TRIGGER [dbo].[iudt_AutoAuditChanges]
    ON [dbo].[YourTable]
    AFTER INSERT,DELETE,UPDATE
    AS
    BEGIN
    SET NOCOUNT ON;
    Declare @v_AuditID bigint
    IF OBJECT_ID('dbo.AutoAudit','U') IS NULL BEGIN
    CREATE TABLE [dbo].[AutoAudit]
    ( [AuditID] bigint identity,
    [AuditDate] DateTime,
    [AuditUserName] varchar(128),
    [TableName] varchar(128) NULL,
    [OldContent] XML NULL,
    [NewContent] XML NULL
    ALTER TABLE dbo.AutoAudit ADD CONSTRAINT
    PK_AutoAudit PRIMARY KEY CLUSTERED
    [AuditID]
    ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    CREATE NONCLUSTERED INDEX [idx_AutoAudit_TableName_AuditDate] ON [dbo].[AutoAudit]
    ( [TableName] ASC,
    [AuditDate] ASC
    )WITH (STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    END
    Select * Into #AuditDeleted from deleted
    Select * Into #AuditInserted from inserted
    While (Select COUNT(*) from #AuditDeleted) > 0 OR (Select COUNT(*) from #AuditInserted) > 0
    Begin
    INSERT INTO [dbo].[AutoAudit]
    ( [AuditDate], [AuditUserName], [TableName], [OldContent], [NewContent])
    SELECT
    GETDATE(),
    SUSER_NAME(),
    [TableName]=object_name([parent_obj]),
    [OldContent]=CAST((SELECT TOP 1 * FROM #AuditDeleted D FOR XML RAW) AS XML),
    [NewContent]=CAST((SELECT TOP 1 * FROM #AuditInserted I FOR XML RAW) AS XML)
    FROM sysobjects
    WHERE
    [xtype] = 'tr'
    and [name] = OBJECT_NAME(@@PROCID)
    Set @v_AuditID = SCOPE_IDENTITY()
    Delete from AutoAudit
    Where AuditID = @v_AuditID
    AND Convert(varchar(max),oldContent) = Convert(varchar(max),NewContent)
    Delete top(1) from #AuditDeleted
    Delete top(1) from #AuditInserted
    End
    END

  • Where do you store Hard coding values?

    Hi All,
    We have a requirement to call a 3rd party web service from SAP for which there are 12 - 13 attributes which are constant values and are not going to change. These can be hard coded inside the implementation methods but I do not want to do it. Say after 3 months there is a additional attribute that need to be added then in that case I need not touch the code back.
    We can store it Z tables which is one option. I would like to get ideas from experts here in the forum what would you do in this type of a scenario instead of hard coding?
    Please post in your feedback from the maintenance perspective across landscapes.
    Thanks,
    Nagarajan.

    Hello Nagarajan,
    you can create the constants in the Assistance class or create a separate interface for storing the constant values.
    If there is any change in the constant value, then you have to change the class/interface. this can't be avoided.
    BR, Saravanan

  • Replacing hard-coded strings using Netbeans

    Hi
    Iam using Netbeans 4.0 to replace all the hard-coded string with resourceBundle.getString("...") and prepare the properties file. Thing is it picks all the contents within double quotes and replaces them.
    To avoid replacing all the entire strings, there is an option with name, Non-Internationalization format, using which we can specify the regular expression that can be used for filtering/ignoring the strings that falls under that regular expression.
    For example, if we use "System.out.println" in the regular expression, then the hard-coded strings within println statements are ignored and are not replaced, as one in interested only in translating user-interface strings and not debugging strings. The problem is, the utility searches for the specified word (System.out.println) and ignores the hard-coded string present in that line and replaces the strings in all the remaining lines in the println statement. I need the entire string in the println statement to be ignored and not replaced.
    Can anyone suggest me a solution to ignore the complete string in the println statement.
    Rgds
    Jagan

    Hello Tae,
    In your specific case, i'll go with your Dev Leader since the value returned by the method is not controlled inside the program. If sometime down the line the method returns '1' instead of 'X', if you use the CONSTANT you can change it in the declaration part without bothering about where it is used.
    But you should use meaningful names while defining your CONSTANTS for e.g., instead of C_X use C_TRUE.
    Also bear in mind all organisation data(e.g., Plant, Company Code, Controlling Area etc.) should be defined as CONSTANTS & not hard-coded. In these cases i prefer using the variant tables(TVARVC) to maintain the constants.
    I don't want to start a flame-war here, but imho although use of CONSTANTS increases the maintainability but too much usage of them reduces the readability. With all due respect to those "over diligent" QA reviewers AUTHORITY-OBJECT 'S_TCODE', ASSIGN COMPONENT 'MATNR' et al. are not hard-codes, please don't ask us to declare them as constants
    BR,
    Suhas
    PS: I remember there was an SDN blog on the same topic & it was definitely an interesting read.

  • Preventing the hard-coding of an annotation

    Hello,
    I have an JPA entity which is as follows:
    @Table(name = "mySchema.Customer" )I would like for "mySchema" to be located somewhere else and avoid the hard-coded variable. Can it be a constant located somewhere else? Can it be retrieved from a web context param? How do I move it somewhere else bearing in mind it is not located "within" the class and let alone within a method?
    Do you see my problem? Any solution?
    Julien.

    Thank You I will try using the software install cd's that came with the emac to see if I can then follow the steps you outlined for me to erase the harddrive. I do not have anything that is titled just as an install CD.
    I appreciate your help. I wanted to  donate it or give this emac to my grandson to see his nursery rhymes on you tube like he does on my Imac but to no avail. Safari just quits and I keep getting message to upgrade the browser and I find out now there is no way to upgrade anything on this machine. The emac is only six years old but  I am 69 years old and very behind the times with technology.Thank You again....Donna

Maybe you are looking for

  • Wireless Router reset.  Iphones will no longer connect to Wifi.  Help?

    My wife recently reset our wireless router and now both our iphones won't connect to the WIFI? As I look into Settings it looks like it's continuously trying to connect to our network.  However it never connects......

  • DMS object link to MIGO tcode - attach to GRN

    Hi, Our scenario requires us to link documents with specific GRN number via MIGO tcode. This is a non-std object and the logic 1.Program two screens for the following module pools for the SAP object that is to be linked additionally: u2013 SAPLCV00 u

  • I click on new tab and it wont open

    I click on the + for a new tab and nothing happens no new tab.

  • Background image not displaying properly

    My site is not displaying correctly on mobiles and ipads.  I want my background image to span the width of most widescreen monitors but it's not displaying correctly.  I am sure I am doing something wrong.  Also have some problems with the map not sp

  • LoadVars in a loaded movie

    Im not totally sure how to explain this, so please bear with me... I have two movies, movie1 which loads movie2 onto level9. Movie2 has some actionscript and a dynamic text box that loads an external text file. Problem is: When i load movie2 by itsel