Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

AEM 6.5 Custom OSGI Config is not visible

Avatar

Level 1

Hey guys,

I am using AEM 6.5 and I've deployed a custom OSGI service config. I was expecting to find the config under http://localhost:4502/system/console/configMgr

Here is my Service. 

MyService.java

public interface MyService {

    /**
     * This method returns the entered password into a hash equivalent with some
     * properties passed by the user
     *
     * @Param type
     * @Return {@link String}
     */
    String getPassword(String type);
}


MyServiceImpl.java

 

@Component(service = MyService.class,
property = {
"label=My Service Implementation"
}
)
@Designate(ocd = MyConfiguration.class)
public class MyServiceImpl implements MyService {

private final Logger log = LoggerFactory.getLogger(this.getClass());

// Two properties to be read
private String propertyOne;
private String propertyTwo;

@Activate
protected void activate(MyConfiguration config) {
// Reading properties from the configuration
propertyOne = config.getPropertyOne();
propertyTwo = config.getPropertyTwo();

}

@Override
public String getPassword(String type) {

// MD5 equivalent of password string
String passwordHash = null;

try {

type = type + propertyOne + propertyTwo;

log.info("Resulant password: " + type);

// Convert string to bytes - this is for the sample implementation (for show casing)
byte[] passwordByte = type.getBytes("UTF-8");

// Getting instance of MessageDigest
MessageDigest md = MessageDigest.getInstance("MD5");

// Convert bytes array to hash using MD5 algorithm
byte[] digest = md.digest(passwordByte);

passwordHash = new String(digest);

} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}

return passwordHash;
}

}



MyConfiguration.java

import org.osgi.service.metatype.annotations.AttributeDefinition;
import org.osgi.service.metatype.annotations.AttributeType;
import org.osgi.service.metatype.annotations.ObjectClassDefinition;

@ObjectClassDefinition(name = "My Configuration",
description = "This configuration will be used to read the value of properties.")
public @interface MyConfiguration {

@AttributeDefinition(name = "Property One", description = "Read property one", type = AttributeType.STRING)
public String getPropertyOne() default "Property One";

@AttributeDefinition(name = "Property Two", description = "Read property two", type = AttributeType.STRING)
public String getPropertyTwo() default "Property Two";
}

 

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi,

Could you please check if your bundle is active or not? Code looks fine, could be issue with imports.

I have a sample code you can refer just to cross check in case you missed something

https://github.com/arunpatidar02/aem63app-repo/tree/master/java/page/json/com/acc/aem64/core/service...

 



Arun Patidar

View solution in original post

1 Reply

Avatar

Correct answer by
Community Advisor

Hi,

Could you please check if your bundle is active or not? Code looks fine, could be issue with imports.

I have a sample code you can refer just to cross check in case you missed something

https://github.com/arunpatidar02/aem63app-repo/tree/master/java/page/json/com/acc/aem64/core/service...

 



Arun Patidar