Quantcast
Channel: PTC Community: Message List - Windchill
Viewing all articles
Browse latest Browse all 8876

Re: How to Disable download

$
0
0

Hi Luar,

 

Hava a look on UI Validation @customization guide. Lot of OOTB Java validator class is responsible for hiding/enabling/disabling an action. Explore it.

 

Creating a Validator

Creating a validator class should be fairly simple. All you need to do is create a

class that extends com.ptc.core.ui.validation.DefaultUIComponentValidator.

The class below represents a skeleton for a simple validator class.

package com.ptc.windchill.enterprise.myPackage.validators;

import com.ptc.core.ui.validation.DefaultUIComponentValidator;

public class MyValidator extends DefaultUIComponentValidator{

//override one or more validation methods from

DefaultUIComponentValidator

}

 

 

Implementing Pre-Validation Methods

Once you’ve created a validator class skeleton, if you’re adding pre-validation

logic for an attribute, you’ll want to implement the performLimitedPreValidation()

method. If you’re adding pre-validation logic for an action, you’ll want to

implement both the performFullPreValidation() and performLimitedPreValidation()

methods. As mentioned in the previous sections regarding limited pre-validation

and full pre-validation, the implementations of these two methods may be

identical, or they may differ. The class on the next page contains some skeleton

implementations of these methods.

public class MyValidator extends DefaultUIComponentValidator{

@Override

public UIValidationResultSet performFullPreValidation()

(UIValidationKey validationKey,

UIValidationCriteria validationCriteria, Locale

locale) throws WTException {

UIValidationResultSet resultSet =

UIValidationResult.newInstance();

// perform your business logic here

// if you want to enable the action/component, do this:

//

resultSet.addResult(UIValidationResult.newInstance(validationKey,

// UIValidationStatus.ENABLED));

// if you want to disable the action/component, do this:

//

resultSet.addResult(UIValidationResult.newInstance(validationKey,

// UIValidationStatus.DISABLED));

// if you want to hide the action/component, do this:

//

resultSet.addResult(UIValidationResult.newInstance(validationKey,

UIValidationStatus.HIDDEN));

return resultSet;

}

@Override

public UIValidationResultSet performLimitedPreValidation()

(UIValidationKey validationKey,

UIValidationCriteria validationCriteria, Locale

locale) throws WTException {

UIValidationResultSet resultSet =

UIValidationResultSet.newInstance();

// perform your business logic here

// if you want to enable the action/component, do this:

//

resultSet.addResult(UIValidationResult.newInstance(validationKey,

// UIValidationStatus.ENABLED));

// if you want to disable the action/component, do this:

//

resultSet.addResult(UIValidationResult.newInstance(validationKey,

// UIValidationStatus.DISABLED));

// if you want to hide the action/component, do this:

//

resultSet.addResult(UIValidationResult.newInstance(validationKey,

UIValidationStatus.HIDDEN));

return resultSet;

}

}

 

Basic Validator Registration

To register your validator (using only the action name for an action), you need to

add an entry to *service.properties.xconf like this:

<Service context="default"

name="com.ptc.core.ui.validation.UIComponentValidator">

<Option requestor="null" serviceClass="[your fully-qualified

Validator class]"

selector="[action name/attribute descriptor ID]" />

</Service>

Once propagated to *service.properties, it should produce an entry like this:

wt.services/svc/default/com.ptc.core.ui.vali

dation.UIComponentValidator/[action name/attribute descriptor ID]/null/0=[your fullyqualified

Validator class]/duplicate

• Note that in this case, the requestor attribute is null, meaning the action’s object

type is not used in the lookup.

 

BR

Ramanathan

 

 




Viewing all articles
Browse latest Browse all 8876

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>