Ir al contenido
Otras versiones

Cargando…

Creación de su propio plugin Suggestbox

Puede crear su propio Suggestbox.

Condiciones:

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

Interfaz Suggestbox:

package com.openkm.plugin.form.values;
import com.openkm.db.bean.KeyValue;
import net.xeoh.plugins.base.Plugin;
import java.util.List;
public interface SuggestBoxValues extends Plugin {
String getName();
List<KeyValue> getSuggestBoxValuesByFilter(String filterValue) throws SuggestBoxException;
KeyValue getExactKeyValueByClassName(String value) throws SuggestBoxException;
}

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

Method Type Description
getName() String Devuelve el nombre que se mostrará en la tabla de plugins.
getSuggestBoxValuesByFilter(String filterValue) List Devuelve una lista de objetos KeyValue.
getExactKeyValueByClassName(String value) KeyValue Devuelve un objeto KeyValue.
package com.openkm.plugin.form.values;
import net.xeoh.plugins.base.annotations.PluginImplementation;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import com.openkm.api.OKMAuth;
import com.openkm.bean.CommonUser;
import com.openkm.db.bean.KeyValue;
import com.openkm.plugin.BasePlugin;
import com.openkm.principal.PrincipalAdapterException;
@PluginImplementation
public class SuggestBoxUserList extends BasePlugin implements SuggestBoxValues {
@Autowired
private OKMAuth okmAuth;
@Override
public String getName() {
return "User list suggest box";
}
@Override
public List<KeyValue> getSuggestBoxValuesByFilter(String filterValue) throws SuggestBoxException {
List<KeyValue> list = new ArrayList<>();
try {
for (CommonUser user : okmAuth.getUsers(null)) {
if (user.getName().toLowerCase().contains(filterValue.toLowerCase())) {
KeyValue value = new KeyValue();
value.setKey(user.getId());
value.setValue(user.getName());
list.add(value);
}
}
} catch (PrincipalAdapterException e) {
throw new SuggestBoxException(e);
}
return list;
}
@Override
public KeyValue getExactKeyValueByClassName(String value) throws SuggestBoxException {
KeyValue keyValue = null;
try {
for (CommonUser user : okmAuth.getUsers(null)) {
if (user.equals(value)) {
keyValue = new KeyValue();
keyValue.setKey(user.getId());
keyValue.setValue(user.getName());
break;
}
}
} catch (PrincipalAdapterException e) {
throw new SuggestBoxException(e);
}
return keyValue;
}
}