Ir al contenido
Otras versiones

Cargando…

Creación de su propio plugin Option Select Values

Puede crear sus propios Option Select Values.

Condiciones:

  • La nueva clase Option Select Values debe implementar la interfaz “OptionSelectValues”.
  • La nueva clase Option Select Values debe declararse en el paquete “com.openkm.plugin.form.values”.
  • La nueva clase Option Select Values debe estar anotada con “@PluginImplementation”.
  • La nueva clase Option Select Values debe extender “BasePlugin”.

Interfaz Option Select Values:

package com.openkm.plugin.form.values;
import com.openkm.bean.form.Option;
import net.xeoh.plugins.base.Plugin;
import java.util.List;
/**
* OptionSelectValues
*/
public interface OptionSelectValues extends Plugin {
String getName();
List<Option> getOptions() throws OptionSelectException;
}

La nueva clase debe cargarse en el paquete com.openkm.plugin.form.values porque el sistema de plugins de la aplicación intentará cargarla desde ahí.

Método Tipo Descripción
getName() String Devuelve el nombre que se mostrará en la tabla de plugins.
getOptions() List Devuelve una lista de opciones.

Ejemplo de implementación de Option Select Values

Sección titulada «Ejemplo de implementación de Option Select Values»
package com.openkm.plugin.form.values;
import com.openkm.api.OKMAuth;
import com.openkm.bean.CommonUser;
import com.openkm.bean.form.Option;
import com.openkm.plugin.BasePlugin;
import com.openkm.principal.PrincipalAdapterException;
import net.xeoh.plugins.base.annotations.PluginImplementation;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList;
import java.util.List;
@PluginImplementation
public class OptionSelectUserList extends BasePlugin implements OptionSelectValues {
@Autowired
private OKMAuth okmAuth;
@Override
public String getName() {
return "User list";
}
@Override
public List<Option> getOptions() throws OptionSelectException {
List<Option> options = new ArrayList<>();
try {
List<CommonUser> userList = okmAuth.getUsers(null);
for (CommonUser user : userList) {
Option option = new Option();
option.setLabel(user.getName());
option.setValue(user.getId());
options.add(option);
}
} catch (PrincipalAdapterException e) {
throw new OptionSelectException(e);
}
return options;
}
}