how to debug or log info in bean | Community
Skip to main content
Xena_bcn
Level 5
October 16, 2015
Solved

how to debug or log info in bean

hello here.

So one of my component java bean functions is not returning result I am expecting.

I added log.info  to trace , doesn't print anything.

 

Then used debug from Eclipse , doesn't stop on breakpoints.

 

Where and what I should do?

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
edubey
edubeyAccepted solution
Level 10
October 16, 2015

Try this snippet of code.

Resource r = resourceResolver.getResource(path); Asset a = r.adaptTo(Asset.class); Rendition rnd = a.getOriginal(); long size = rnd.getSize();

34 replies

Xena_bcn
Xena_bcnAuthor
Level 5
October 16, 2015

then inside JSP  ${ouritem.downloadText}

 

in Java:

 

public class ......Component extends AbstractComponent {

.....

.....

 

public String getDownloadText() {
    //return getStringProperty("jcr:textAsset");
    int fileSize = 0;
    String filePathName = getDownloadUrl();
    String fileType = filePathName.substring(filePathName.indexOf(".") + 1);
    
    filePathName = filePathName.replace(" ", "%20");
    
    try {
        fileSize = getFileSize(new URL(filePathName));
    } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
      
      double sizeKb = fileSize;   // 1000;
      
      DecimalFormat df = new DecimalFormat("0.00KB");
      String result = "Download (" + fileType + ", " + df.format(sizeKb) + ")";
      
      return result;
  }

Translate
Xena_bcn
Xena_bcnAuthor
Level 5
October 16, 2015

hi thank you for trying to help me.

All components of this projects have:

<jsp:useBean id="ouritem" scope="page" class="package.components.....Component"></jsp:useBean>
<jsp:setProperty name="ouritem" property="slingRequest" value="<%=slingRequest %>"/>

Translate
edubey
Level 10
October 16, 2015

its getting some confusion.

Previously you shared getFileSize() method.

and this method dosen't seems to have any logger. Can you try adding few logger in getDownloadText() before getFileSize() gets called.

Thanks

Translate
Xena_bcn
Xena_bcnAuthor
Level 5
October 16, 2015

it is calling a private method  :  getFileSize()

 

Ok i will put before 1 logger

Translate
edubey
Level 10
October 16, 2015

are you able to see logs which u added?

Translate
Xena_bcn
Xena_bcnAuthor
Level 5
October 16, 2015

It didn't print after URL url =  new URL (filepath);

 

filepath was a path to DAM like /content/project/path/filename.pdf

 

then I added localhost:4502 to it

but now it is  not printing anything....

 

so i stopped and doing another task.

 

seems bad luck, hahaha

Translate
Xena_bcn
Xena_bcnAuthor
Level 5
October 16, 2015

yes exactly dear Edubey

but only that new line before calling the private method getFileSize

 

is it because it is private?

Translate
edubey
Level 10
October 16, 2015

Methods, Variables and Constructors that are declared private can only be accessed within the declared class itself.

So as long as its in same class it should not be a problem.

Do one things , flood your getDownloadText() method with logger so that you can see where its getting break.

Translate
edubey
Level 10
October 16, 2015

Did it worked?

Translate
Xena_bcn
Xena_bcnAuthor
Level 5
October 16, 2015

HI

Today it is working...

I can see an error:

HEAD /content/dam/project/path/filename.pdf HTTP/1.1] org.apache.sling.auth.core.impl.SlingAuthenticator getAnonymousResolver: Anonymous access not allowed by configuration - requesting credentials

How can  I get DAM file size ?

Translate